Skip to content

EqContext class

Encapsulates all information about EasyQuery components on some webpage and provides some basic operation over those components Each context includes the following main components:

  • one data model,
  • one query,
  • one result set
  • several UI widgets.

⊕ new EqContext(): EqContext



● calcTotals: boolean = false


● clientListRequestHandler: (data: any, callback: (list: any) => void) => boolean


● dataLoader: EasyQueryDataLoader


● defaultModelId?: string


● defaultQueryId?: string


● initialQuery?: QueryData


● loadModelOnStart: boolean = true


● loadQueryOnStart: boolean = false


● resultContent?: string


● resultStatement?: string


● resultTable: EasyDataTable


● useBootstrap: boolean = false



▸ addDefaultExporters(): void

Returns void


Adds event listener for event type.

▸ addEventListener(eventType: "ready" | "loadModel" | "initialModelLoad" | "loadQuery" | "syncQuery" | "fetchData" | "exportResult",handler: (context: EqContext) => void): string

  • eventType: "ready" | "loadModel" | "initialModelLoad" | "loadQuery" | "syncQuery" | "fetchData" | "exportResult" - The event type
  • handler: (context: EqContext) => void - The handler for event

Returns string

▸ addEventListener(eventType: "processStart" | "processEnd",handler: (context: EqContext, status: ActionStatus) => void): string

Returns string

▸ addEventListener(eventType: "error",handler: (context: EqContext, status: ActionStatus) => void): string

Returns string


Adds the translations of the EasyQuery messages for some locale

▸ addLocale(locale: string,localeInfo: LocaleInfo): void

  • locale: string - the ISO code of the locale (like en or uk)
  • localeInfo: LocaleInfo - Locale settings and translations of EasyQuery texts and messages. We expected an object with the struture of LocaleInfo interface here.

Returns void


Register a new handler for ‘query changed’ event

▸ addQueryChangedCallback(callback: any): void

  • callback: any -

Returns void


Add a new widget to the context. After that the widget will start to receive messages from other context components.

▸ addWidget(widget: Widget): void

Returns void


▸ callWhenModelLoaded(callFunc: any): void

  • callFunc: any

Returns void


Clears the content of the current query

▸ clearQuery(): void

Returns void


Clears all query results (the data set and the statement, if any)

▸ clearResult(): void

Returns void


Creates a new query object using the current instance of EqServices

▸ createQuery(): Query

Returns Query


Notifies all context components about the finishing of some long process

▸ endProcess(action: ActionStatus,groups?: WidgetGroup): void

Returns void


Fetches the data for defined by this context and exports them to the specified format.

▸ exportResult(options?: ContextExportResultOptions): void

  • options: ContextExportResultOptions, Optional - The content of the options parameter depends on EqExporter implementation. Usually it contains format property which defines the format of the exported data (e.g. csv), and success and error callbacks

Returns void

context.exportResult({
format: csv
});

Fetches the data (usuall by executing current query) and processes the result.

▸ fetchData(options?: ContextFetchDataOptions): void

  • options: ContextFetchDataOptions, Optional - The options parameter in addition to the options defined in ExecuteQueryOptions structure may also contain success and error callbacks.

Returns void

context.fetchData({ success: function(result) {
//do whatever you want with the result
}})

▸ fetchDataChunk(options?: ContextFetchDataOptions): void

Returns void


Fetches the data for a drill-down query (if defined) and processes the result.

▸ fetchDrillDownData(options: ContextFetchDataOptions): void

Returns void


Fires event.

▸ fireEvent(eventType: "ready" | "loadModel" | "initialModelLoad" | "loadQuery" | "syncQuery" | "fetchData" | "exportResult"): any

  • eventType: "ready" | "loadModel" | "initialModelLoad" | "loadQuery" | "syncQuery" | "fetchData" | "exportResult" - The event type.

Returns any

▸ fireEvent(eventType: "processStart" | "processEnd",data: ActionStatus): any

  • eventType: "processStart" | "processEnd"
  • data: ActionStatus

Returns any

▸ fireEvent(eventType: "error",data: Error): any

  • eventType: "error"
  • data: Error

Returns any


Returns all widgets with current type.

▸ getAllWidgetsByType(widgetType: string): Widget[]

  • widgetType: string - The widget type

Returns Widget[]


▸ getBaseEndpoint(): string

Returns string


▸ getDefaultTotalsSettings(): TotalsOptions

Returns TotalsOptions


▸ getExportFormats(): string[]

Returns string[]


▸ getExporter(format: string): EqExporter | null

  • format: string

Returns EqExporter | null


Gets the handler for ‘GetList’ requests

▸ getListRequestHandler(): any

Returns any


Gets the current data model

▸ getModel(): DataModel

Returns DataModel


Gets the current query

▸ getQuery(): Query

Returns Query


▸ getQueryFile(options?: ContextGetQueryFileOptions): void

Returns void


▸ getServices(): EqServiceProvider

Returns EqServiceProvider


▸ getTotalsSettings(): TotalsOptions

Returns TotalsOptions


Returns first registerd widget with current type

▸ getWidgetByType(widgetType: string): Widget | null

  • widgetType: string - The widget type

Returns Widget | null


Initializes the context

▸ init(options?: EqContextOptions): void

Returns void


If defaultModelId property is define - this method calls loadModel function in the broker to load the model with such ID.

▸ loadDefaultModel(): void

Returns void


Starts the process of the model loading. This method can initiate a request to EasyQueryServer backend or get the model from OData or GraphQL endpoint The content of the options parameter depends on concrete loader implementation.

▸ loadModel(options?: ContextLoadModelOptions): Promise<DataModel>

Returns Promise<DataModel>

context.loadModel()
.then(model => {
alert("Model loaded!");
});

Sets the content of the current data model

▸ loadModelFromData(modelPlainData: ModelPlainData): void

Returns void


Loads the query

▸ loadQuery(options?: ContextLoadQueryOptions): void

  • options: ContextLoadQueryOptions, Optional - The content of the options parameter depends on QueryStorage implementation. Usually it contains success, error callbacks and queryId property of the query to load.

Returns void

context.loadQuery({
queryId: "query-id"
});

Loads the list of queries available for the current user.

▸ loadQueryList(options?: ContextLoadQueryListOptions): void

  • options: ContextLoadQueryListOptions, Optional - The content of the options parameter depends on QueryStorage implementation. Usually it contains success, error callbacks

Returns void


Sends a loadValueList requesthe server and processes the response.

▸ loadValueList(options?: ContextLoadValueListOptions): void

Returns void


Creates a new query and returns its content back to the client-side.

▸ newQuery(options?: ContextNewQueryOptions): Query

  • options: ContextNewQueryOptions, Optional - The content of the options parameter depends on QueryStorage implementation. Usually it contains success, error callbacks and silent option

Returns Query

context.newQuery({
silent: true
});

This method is called automatically when some change was made either in context’s data model or query

▸ refreshWidgets(groups?: WidgetGroup): void

  • groups: WidgetGroup, Default value = WidgetGroup.All -

Returns void


▸ registerExporter(format: string,resolver: EqExporterResolver): void

  • format: string
  • resolver: EqExporterResolver

Returns void


▸ registerServerExporter(format: string,responseType: XMLHttpRequestResponseType): void

  • format: string
  • responseType: XMLHttpRequestResponseType

Returns void


Remove event handler for event type .

▸ removeEventListener(eventType: string,handlerId: string): void

  • eventType: string - The event type.
  • handlerId: string - The handler id.

Returns void


Removes the current query from some storage on the server-side.

▸ removeQuery(options?: ContextRemoveQueryOptions): void

  • options: ContextRemoveQueryOptions, Optional - The content of the options parameter depends on QueryStorage implementation. Usually it contains success and error callbacks

Returns void


Removes the function from the list of registerd handlers for ‘query changed’ event

▸ removeQueryChangedCallback(callback: any): void

  • callback: any -

Returns void


Clears the current list cache.

▸ resetListCache(): void

Returns void


▸ resolveEndpoint(endpointKey: EqEndpointKey,options?: any): string

  • endpointKey: EqEndpointKey
  • options: any, Optional

Returns string


Saves the current query to some storage on the server-side.

▸ saveQuery(options?: ContextSaveQueryOptions): void

  • options: ContextSaveQueryOptions, Optional - The content of the options parameter depends on QueryStorage implementation. Usually it contains success and error callbacks

Returns void


Sets the ID of the default model

▸ setDefaultModelId(modelId: string): void

  • modelId: string -

Returns void


▸ setEndpoint(key: EqEndpointKey,value: string): void

  • key: EqEndpointKey
  • value: string

Returns void


▸ setEnpointIfNotExist(key: EqEndpointKey,value: string): void

  • key: EqEndpointKey
  • value: string

Returns void


Sets the external ‘list cache’ provider - an object which implements ExternalListCache inteface

▸ setExternalListCache(cache: ExternalListCache): void

Returns void


▸ setTotalsSettings(settings: TotalsOptions,silent?: boolean): void

  • settings: TotalsOptions
  • silent: boolean, Default value = false

Returns void


Notifies context components about starting of some long process (e.g. model loading) This method raises onProcessStart event in the context and all its widgets

▸ startProcess(message: ActionStatus,groups?: WidgetGroup): void

Returns void


Syncronizes the current query.

▸ syncQuery(options?: ContextSyncQueryOptions): void

  • options: ContextSyncQueryOptions, Optional - The content of the options parameter depends on QuerySyncronizer implementation. Usually it contains success and error callbacks

Returns void


Throws the error passed in the function parameter. If onError event handler is defined - we call that method. Otherwise - just place the error message to the browser console.

▸ throwError(action: ActionStatus): void

Returns void


▸ uploadQueryFile(options?: ContextUploadQueryFileOptions): void

Returns void


Sets endpoint for all EasyQuery actions. Should be called before init and useEnterprise methods

▸ useEndpoint(endpoint: string): EqContext

  • endpoint: string

Returns EqContext

view.getContext() .useEndpoint(‘/api/easyquery’) .useEnterprise(function () { view.init(); });


▸ wereTotalsColumnsChanged(settings?: TotalsOptions): boolean

  • settings: TotalsOptions, Optional

Returns boolean



▸ startQueryListLoading(options?: ContextLoadQueryListOptions): void

Returns void