Properties Methods Events Direct Link
Observable
  Direct

Class CQ.Ext.Direct

Package:CQ.Ext
Class:Direct
Extends:CQ.Ext.util.Observable
Clientlib:cq.widgets

Overview

CQ.Ext.Direct aims to streamline communication between the client and server by providing a single interface that reduces the amount of common code typically required to validate data and handle returned data packets (reading data, error conditions, etc).

The CQ.Ext.direct namespace includes several classes for a closer integration with the server-side. The CQ.Ext.data namespace also includes classes for working with CQ.Ext.data.Stores which are backed by data from an CQ.Ext.Direct method.

Specification

For additional information consult the CQ.Ext.Direct Specification.

Providers

CQ.Ext.Direct uses a provider architecture, where one or more providers are used to transport data to and from the server. There are several providers that exist in the core at the moment:

A provider does not need to be invoked directly, providers are added via CQ.Ext.Direct.add.

Router

CQ.Ext.Direct utilizes a "router" on the server to direct requests from the client to the appropriate server-side method. Because the CQ.Ext.Direct API is completely platform-agnostic, you could completely swap out a Java based server solution and replace it with one that uses C# without changing the client side JavaScript at all.

Server side events

Custom events from the server may be handled by the client by adding listeners, for example:

{"type":"event","name":"message","data":"Successfully polled at: 11:19:30 am"}

// add a handler for a 'message' event sent by the server
CQ.Ext.Direct.on('message', function(e){
    out.append(String.format('<p><i>{0}</i></p>', e.data));
            out.el.scrollTo('t', 100000, true);
});


This class is a singleton and cannot be created directly.

Public Properties

Property Defined By

Public Methods

Method Defined By

Public Events

Event Defined By