xos-table component with minimal configuration
Change-Id: If1af35fcb30556c5ca34ffeb2b6e2b11fc87ffae
diff --git a/typings/globals/socket.io-client/index.d.ts b/typings/globals/socket.io-client/index.d.ts
new file mode 100644
index 0000000..db58959
--- /dev/null
+++ b/typings/globals/socket.io-client/index.d.ts
@@ -0,0 +1,663 @@
+// Generated by typings
+// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/socket.io-client/socket.io-client.d.ts
+declare var io: SocketIOClientStatic;
+
+declare module 'socket.io-client' {
+ export = io;
+}
+
+interface SocketIOClientStatic {
+
+ /**
+ * Looks up an existing 'Manager' for multiplexing. If the user summons:
+ * 'io( 'http://localhost/a' );'
+ * 'io( 'http://localhost/b' );'
+ *
+ * We reuse the existing instance based on the same scheme/port/host, and
+ * we initialize sockets for each namespace. If autoConnect isn't set to
+ * false in the options, then we'll automatically connect
+ * @param uri The uri that we'll connect to, including the namespace, where '/' is the default one (e.g. http://localhost:4000/somenamespace)
+ * @opts Any connect options that we want to pass along
+ * @return A Socket object
+ */
+ ( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
+
+ /**
+ * Auto-connects to the window location and defalt namespace.
+ * E.g. window.protocol + '//' + window.host + ':80/'
+ * @opts Any connect options that we want to pass along
+ * @return A Socket object
+ */
+ ( opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
+
+ /**
+ * @see the default constructor (io(uri, opts))
+ */
+ connect( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
+
+ /**
+ * @see the default constructor (io(opts))
+ */
+ connect( opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Socket;
+
+ /**
+ * The socket.io protocol revision number this client works with
+ * @default 4
+ */
+ protocol: number;
+
+ /**
+ * Socket constructor - exposed for the standalone build
+ */
+ Socket: SocketIOClient.Socket;
+
+ /**
+ * Manager constructor - exposed for the standalone build
+ */
+ Manager: SocketIOClient.ManagerStatic;
+}
+
+declare namespace SocketIOClient {
+
+ /**
+ * The base emiter class, used by Socket and Manager
+ */
+ interface Emitter {
+ /**
+ * Adds a listener for a particular event. Calling multiple times will add
+ * multiple listeners
+ * @param event The event that we're listening for
+ * @param fn The function to call when we get the event. Parameters depend on the
+ * event in question
+ * @return This Emitter
+ */
+ on( event: string, fn: Function ):Emitter;
+
+ /**
+ * @see on( event, fn )
+ */
+ addEventListener( event: string, fn: Function ):Emitter;
+
+ /**
+ * Adds a listener for a particular event that will be invoked
+ * a single time before being automatically removed
+ * @param event The event that we're listening for
+ * @param fn The function to call when we get the event. Parameters depend on
+ * the event in question
+ * @return This Emitter
+ */
+ once( event: string, fn: Function ):Emitter;
+
+ /**
+ * Removes a listener for a particular type of event. This will either
+ * remove a specific listener, or all listeners for this type of event
+ * @param event The event that we want to remove the listener of
+ * @param fn The function to remove, or null if we want to remove all functions
+ * @return This Emitter
+ */
+ off( event: string, fn?: Function ):Emitter;
+
+ /**
+ * @see off( event, fn )
+ */
+ removeListener( event: string, fn?: Function ):Emitter;
+
+ /**
+ * @see off( event, fn )
+ */
+ removeEventListener( event: string, fn?: Function ):Emitter;
+
+ /**
+ * Removes all event listeners on this object
+ * @return This Emitter
+ */
+ removeAllListeners():Emitter;
+
+ /**
+ * Emits 'event' with the given args
+ * @param event The event that we want to emit
+ * @param args Optional arguments to emit with the event
+ * @return Emitter
+ */
+ emit( event: string, ...args: any[] ):Emitter;
+
+ /**
+ * Returns all the callbacks for a particular event
+ * @param event The event that we're looking for the callbacks of
+ * @return An array of callback Functions, or an empty array if we don't have any
+ */
+ listeners( event: string ):Function[];
+
+ /**
+ * Returns if we have listeners for a particular event
+ * @param event The event that we want to check if we've listeners for
+ * @return True if we have listeners for this event, false otherwise
+ */
+ hasListeners( event: string ):boolean;
+ }
+
+ /**
+ * The Socket static interface
+ */
+ interface SocketStatic {
+
+ /**
+ * Creates a new Socket, used for communicating with a specific namespace
+ * @param io The Manager that's controlling this socket
+ * @param nsp The namespace that this socket is for (@default '/')
+ * @return A new Socket
+ */
+ ( io: SocketIOClient.Manager, nsp: string ): Socket;
+
+ /**
+ * Creates a new Socket, used for communicating with a specific namespace
+ * @param io The Manager that's controlling this socket
+ * @param nsp The namespace that this socket is for (@default '/')
+ * @return A new Socket
+ */
+ new ( url: string, opts: any ): SocketIOClient.Manager;
+ }
+
+ /**
+ * The Socket that we use to connect to a Namespace on the server
+ */
+ interface Socket extends Emitter {
+
+ /**
+ * The Manager that's controller this socket
+ */
+ io: SocketIOClient.Manager;
+
+ /**
+ * The namespace that this socket is for
+ * @default '/'
+ */
+ nsp: string;
+
+ /**
+ * The ID of the socket; matches the server ID and is set when we're connected, and cleared
+ * when we're disconnected
+ */
+ id: string;
+
+ /**
+ * Are we currently connected?
+ * @default false
+ */
+ connected: boolean;
+
+ /**
+ * Are we currently disconnected?
+ * @default true
+ */
+ disconnected: boolean;
+
+ /**
+ * Opens our socket so that it connects. If the 'autoConnect' option for io is
+ * true (default), then this is called automatically when the Socket is created
+ */
+ open(): Socket;
+
+ /**
+ * @see open();
+ */
+ connect(): Socket;
+
+ /**
+ * Sends a 'message' event
+ * @param args Any optional arguments that we want to send
+ * @see emit
+ * @return This Socket
+ */
+ send( ...args: any[] ):Socket;
+
+ /**
+ * An override of the base emit. If the event is one of:
+ * connect
+ * connect_error
+ * connect_timeout
+ * connecting
+ * disconnect
+ * error
+ * reconnect
+ * reconnect_attempt
+ * reconnect_failed
+ * reconnect_error
+ * reconnecting
+ * ping
+ * pong
+ * then the event is emitted normally. Otherwise, if we're connected, the
+ * event is sent. Otherwise, it's buffered.
+ *
+ * If the last argument is a function, then it will be called
+ * as an 'ack' when the response is received. The parameter(s) of the
+ * ack will be whatever data is returned from the event
+ * @param event The event that we're emitting
+ * @param args Optional arguments to send with the event
+ * @return This Socket
+ */
+ emit( event: string, ...args: any[] ):Socket;
+
+ /**
+ * Disconnects the socket manually
+ * @return This Socket
+ */
+ close():Socket;
+
+ /**
+ * @see close()
+ */
+ disconnect():Socket;
+
+ /**
+ * Sets the compress flag.
+ * @param compress If `true`, compresses the sending data
+ * @return this Socket
+ */
+ compress(compress: boolean):Socket;
+ }
+
+ /**
+ * The Manager static interface
+ */
+ interface ManagerStatic {
+ /**
+ * Creates a new Manager
+ * @param uri The URI that we're connecting to (e.g. http://localhost:4000)
+ * @param opts Any connection options that we want to use (and pass to engine.io)
+ * @return A Manager
+ */
+ ( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Manager;
+
+ /**
+ * Creates a new Manager with the default URI (window host)
+ * @param opts Any connection options that we want to use (and pass to engine.io)
+ */
+ ( opts: SocketIOClient.ConnectOpts ):SocketIOClient.Manager;
+
+ /**
+ * @see default constructor
+ */
+ new ( uri: string, opts?: SocketIOClient.ConnectOpts ): SocketIOClient.Manager;
+
+ /**
+ * @see default constructor
+ */
+ new ( opts: SocketIOClient.ConnectOpts ):SocketIOClient.Manager;
+ }
+
+ /**
+ * The Manager class handles all the Namespaces and Sockets that we're using
+ */
+ interface Manager extends Emitter {
+
+ /**
+ * All the namespaces currently controlled by this Manager, and the Sockets
+ * that we're using to communicate with them
+ */
+ nsps: { [namespace:string]: Socket };
+
+ /**
+ * The connect options that we used when creating this Manager
+ */
+ opts: SocketIOClient.ConnectOpts;
+
+ /**
+ * The state of the Manager. Either 'closed', 'opening', or 'open'
+ */
+ readyState: string;
+
+ /**
+ * The URI that this manager is for (host + port), e.g. 'http://localhost:4000'
+ */
+ uri: string;
+
+ /**
+ * The currently connected sockets
+ */
+ connecting: Socket[];
+
+ /**
+ * If we should auto connect (also used when creating Sockets). Set via the
+ * opts object
+ */
+ autoConnect: boolean;
+
+ /**
+ * Gets if we should reconnect automatically
+ * @default true
+ */
+ reconnection(): boolean;
+
+ /**
+ * Sets if we should reconnect automatically
+ * @param v True if we should reconnect automatically, false otherwise
+ * @default true
+ * @return This Manager
+ */
+ reconnection( v: boolean ): Manager;
+
+ /**
+ * Gets the number of reconnection attempts we should try before giving up
+ * @default Infinity
+ */
+ reconnectionAttempts(): number;
+
+ /**
+ * Sets the number of reconnection attempts we should try before giving up
+ * @param v The number of attempts we should do before giving up
+ * @default Infinity
+ * @return This Manager
+ */
+ reconnectionAttempts( v: number ): Manager;
+
+ /**
+ * Gets the delay in milliseconds between each reconnection attempt
+ * @default 1000
+ */
+ reconnectionDelay(): number;
+
+ /**
+ * Sets the delay in milliseconds between each reconnection attempt
+ * @param v The delay in milliseconds
+ * @default 1000
+ * @return This Manager
+ */
+ reconnectionDelay( v: number ): Manager;
+
+ /**
+ * Gets the max reconnection delay in milliseconds between each reconnection
+ * attempt
+ * @default 5000
+ */
+ reconnectionDelayMax(): number;
+
+ /**
+ * Sets the max reconnection delay in milliseconds between each reconnection
+ * attempt
+ * @param v The max reconnection dleay in milliseconds
+ * @return This Manager
+ */
+ reconnectionDelayMax( v: number ): Manager;
+
+ /**
+ * Gets the randomisation factor used in the exponential backoff jitter
+ * when reconnecting
+ * @default 0.5
+ */
+ randomizationFactor(): number;
+
+ /**
+ * Sets the randomisation factor used in the exponential backoff jitter
+ * when reconnecting
+ * @param The reconnection randomisation factor
+ * @default 0.5
+ * @return This Manager
+ */
+ randomizationFactor( v: number ): Manager;
+
+ /**
+ * Gets the timeout in milliseconds for our connection attempts
+ * @default 20000
+ */
+ timeout(): number;
+
+ /**
+ * Sets the timeout in milliseconds for our connection attempts
+ * @param The connection timeout milliseconds
+ * @return This Manager
+ */
+ timeout(v: boolean): Manager;
+
+ /**
+ * Sets the current transport socket and opens our connection
+ * @param fn An optional callback to call when our socket has either opened, or
+ * failed. It can take one optional parameter of type Error
+ * @return This Manager
+ */
+ open( fn?: (err?: any) => void ): Manager;
+
+ /**
+ * @see open( fn );
+ */
+ connect( fn?: (err?: any) => void ): Manager;
+
+ /**
+ * Creates a new Socket for the given namespace
+ * @param nsp The namespace that this Socket is for
+ * @return A new Socket, or if one has already been created for this namespace,
+ * an existing one
+ */
+ socket( nsp: string ): Socket;
+ }
+
+ /**
+ * Options we can pass to the socket when connecting
+ */
+ interface ConnectOpts {
+
+ /**
+ * Should we force a new Manager for this connection?
+ * @default false
+ */
+ forceNew?: boolean;
+
+ /**
+ * Should we multiplex our connection (reuse existing Manager) ?
+ * @default true
+ */
+ multiplex?: boolean;
+
+ /**
+ * The path to get our client file from, in the case of the server
+ * serving it
+ * @default '/socket.io'
+ */
+ path?: string;
+
+ /**
+ * Should we allow reconnections?
+ * @default true
+ */
+ reconnection?: boolean;
+
+ /**
+ * How many reconnection attempts should we try?
+ * @default Infinity
+ */
+ reconnectionAttempts?: number;
+
+ /**
+ * The time delay in milliseconds between reconnection attempts
+ * @default 1000
+ */
+ reconnectionDelay?: number;
+
+ /**
+ * The max time delay in milliseconds between reconnection attempts
+ * @default 5000
+ */
+ reconnectionDelayMax?: number;
+
+ /**
+ * Used in the exponential backoff jitter when reconnecting
+ * @default 0.5
+ */
+ randomizationFactor?: number;
+
+ /**
+ * The timeout in milliseconds for our connection attempt
+ * @default 20000
+ */
+ timeout?: number;
+
+ /**
+ * Should we automically connect?
+ * @default true
+ */
+ autoConnect?: boolean;
+
+ /**
+ * The host that we're connecting to. Set from the URI passed when connecting
+ */
+ host?: string;
+
+ /**
+ * The hostname for our connection. Set from the URI passed when connecting
+ */
+ hostname?: string;
+
+ /**
+ * If this is a secure connection. Set from the URI passed when connecting
+ */
+ secure?: boolean;
+
+ /**
+ * The port for our connection. Set from the URI passed when connecting
+ */
+ port?: string;
+
+ /**
+ * Any query parameters in our uri. Set from the URI passed when connecting
+ */
+ query?: Object;
+
+ /**
+ * `http.Agent` to use, defaults to `false` (NodeJS only)
+ */
+ agent?: string|boolean;
+
+ /**
+ * Whether the client should try to upgrade the transport from
+ * long-polling to something better.
+ * @default true
+ */
+ upgrade?: boolean;
+
+ /**
+ * Forces JSONP for polling transport.
+ */
+ forceJSONP?: boolean;
+
+ /**
+ * Determines whether to use JSONP when necessary for polling. If
+ * disabled (by settings to false) an error will be emitted (saying
+ * "No transports available") if no other transports are available.
+ * If another transport is available for opening a connection (e.g.
+ * WebSocket) that transport will be used instead.
+ * @default true
+ */
+ jsonp?: boolean;
+
+ /**
+ * Forces base 64 encoding for polling transport even when XHR2
+ * responseType is available and WebSocket even if the used standard
+ * supports binary.
+ */
+ forceBase64?: boolean;
+
+ /**
+ * Enables XDomainRequest for IE8 to avoid loading bar flashing with
+ * click sound. default to `false` because XDomainRequest has a flaw
+ * of not sending cookie.
+ * @default false
+ */
+ enablesXDR?: boolean;
+
+ /**
+ * The param name to use as our timestamp key
+ * @default 't'
+ */
+ timestampParam?: string;
+
+ /**
+ * Whether to add the timestamp with each transport request. Note: this
+ * is ignored if the browser is IE or Android, in which case requests
+ * are always stamped
+ * @default false
+ */
+ timestampRequests?: boolean;
+
+ /**
+ * A list of transports to try (in order). Engine.io always attempts to
+ * connect directly with the first one, provided the feature detection test
+ * for it passes.
+ * @default ['polling','websocket']
+ */
+ transports?: string[];
+
+ /**
+ * The port the policy server listens on
+ * @default 843
+ */
+ policyPost?: number;
+
+ /**
+ * If true and if the previous websocket connection to the server succeeded,
+ * the connection attempt will bypass the normal upgrade process and will
+ * initially try websocket. A connection attempt following a transport error
+ * will use the normal upgrade process. It is recommended you turn this on
+ * only when using SSL/TLS connections, or if you know that your network does
+ * not block websockets.
+ * @default false
+ */
+ rememberUpgrade?: boolean;
+
+ /**
+ * Are we only interested in transports that support binary?
+ */
+ onlyBinaryUpgrades?: boolean;
+
+ /**
+ * (SSL) Certificate, Private key and CA certificates to use for SSL.
+ * Can be used in Node.js client environment to manually specify
+ * certificate information.
+ */
+ pfx?: string;
+
+ /**
+ * (SSL) Private key to use for SSL. Can be used in Node.js client
+ * environment to manually specify certificate information.
+ */
+ key?: string;
+
+ /**
+ * (SSL) A string or passphrase for the private key or pfx. Can be
+ * used in Node.js client environment to manually specify certificate
+ * information.
+ */
+ passphrase?: string
+
+ /**
+ * (SSL) Public x509 certificate to use. Can be used in Node.js client
+ * environment to manually specify certificate information.
+ */
+ cert?: string;
+
+ /**
+ * (SSL) An authority certificate or array of authority certificates to
+ * check the remote host against.. Can be used in Node.js client
+ * environment to manually specify certificate information.
+ */
+ ca?: string|string[];
+
+ /**
+ * (SSL) A string describing the ciphers to use or exclude. Consult the
+ * [cipher format list]
+ * (http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT) for
+ * details on the format.. Can be used in Node.js client environment to
+ * manually specify certificate information.
+ */
+ ciphers?: string;
+
+ /**
+ * (SSL) If true, the server certificate is verified against the list of
+ * supplied CAs. An 'error' event is emitted if verification fails.
+ * Verification happens at the connection level, before the HTTP request
+ * is sent. Can be used in Node.js client environment to manually specify
+ * certificate information.
+ */
+ rejectUnauthorized?: boolean;
+
+ }
+}
diff --git a/typings/globals/socket.io-client/typings.json b/typings/globals/socket.io-client/typings.json
new file mode 100644
index 0000000..f29e7a2
--- /dev/null
+++ b/typings/globals/socket.io-client/typings.json
@@ -0,0 +1,8 @@
+{
+ "resolution": "main",
+ "tree": {
+ "src": "https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/socket.io-client/socket.io-client.d.ts",
+ "raw": "registry:dt/socket.io-client#1.4.4+20160317120654",
+ "typings": "https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/socket.io-client/socket.io-client.d.ts"
+ }
+}