Module: DeviceSet

DeviceSet

DeviceSet Provider
Author:
  • Marco Lehmann <marco.lehmann (at) kiwigrid.com>
Source:

Classes

DeviceSet
DeviceSetInstance
ketaDeviceSetProvider

Methods

<inner> create(eventBus) → {DeviceSetInstance}

Creates a DeviceSetInstance with given EventBus instance.

Parameters:
Name Type Description
eventBus EventBus EventBus instance to use for communication
Source:
Returns:
DeviceSetInstance DeviceSetInstance created
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        var deviceSet = ketaDeviceSet.create(eventBus);
    });

<inner> filter(filter) → {DeviceSetInstance}

Adds a filter before DeviceSet query is sent to EventBus.

Parameters:
Name Type Description
filter Object filter to use
Source:
Returns:
DeviceSetInstance DeviceSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus)
            .filter({
                guid: 'guid'
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> get(set, index) → {DeviceInstance}

Returns device in given DeviceSet by specified index.

Parameters:
Name Type Description
set DeviceSetInstance DeviceSetInstance to search in
index number Index of device to return
Source:
Returns:
DeviceInstance DeviceInstance retrieved from set
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus).query()
            .then(function(reply) {
                // device equals first item after the call
                var device = ketaDeviceSet.get(reply, 0);
            });
    });

<inner> getAll(set) → {Array}

Returns all devices in given DeviceSet.

Parameters:
Name Type Description
set DeviceSetInstance DeviceSetInstance to search in
Source:
Returns:
Array All DeviceInstances retrieved from set
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus).query()
            .then(function(reply) {
                var devices = ketaDeviceSet.getAll(reply);
            });
    });

<inner> indexOf(set, device) → {number}

Returns index of given Device in DeviceSet by comparing GUIDs.

Parameters:
Name Type Description
set DeviceSetInstance DeviceSetInstance to search in
device DeviceInstance DeviceInstance to search for
Source:
Returns:
number index
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus).query()
            .then(function(reply) {
                // index equals 0 after the call
                var index = ketaDeviceSet.indexOf(reply, reply.result.items[0]);
            });
    });

<inner> length(set) → {number}

Returns number of devices in given DeviceSet.

Parameters:
Name Type Description
set DeviceSetInstance DeviceSetInstance to search in
Source:
Returns:
number number of devices
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus).query()
            .then(function(reply) {
                // length equals number of devices in DeviceSet
                var length = ketaDeviceSet.length(reply);
            });
    });

<inner> live() → {promise}

Adds live update capabilities by registering a DeviceSetListener.

Source:
Returns:
promise DeviceSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus)
            .live()
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });

<inner> paginate(pagination) → {DeviceSetInstance}

Adds a pagination before DeviceSet query is sent to EventBus.

Parameters:
Name Type Description
pagination Object pagination to use
Source:
Returns:
DeviceSetInstance DeviceSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus)
            .paginate({
                offset: 0,
                limit: 50
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> project(projection) → {DeviceSetInstance}

Adds a projection before DeviceSet query is sent to EventBus.

Parameters:
Name Type Description
projection Object projection to use
Source:
Returns:
DeviceSetInstance DeviceSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus)
            .project({
                guid: 1,
                tagValues: {
                    IdName: 1
                }
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> query() → {promise}

Finally executes DeviceSet query by sending it to the associated EventBus instance.

Source:
Returns:
promise Promise which is resolved when query is returned
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus)
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> sort(sorting) → {DeviceSetInstance}

Adds a sorting before DeviceSet query is sent to EventBus.

Parameters:
Name Type Description
sorting Object sorting to use
Source:
Returns:
DeviceSetInstance DeviceSetInstance to chain
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet) {
        ketaDeviceSet.create(eventBus)
            .sort({
                'tagValue.IdName.value': 1
            })
            .query()
            .then(function(reply) {
                // success handler
                // ...
            }, function(reply) {
                // error handler
                // ...
            });
    });

<inner> sync(set, event, eventBus) → {void}

Synchronizes given DeviceSet with given DeviceEvent.

Parameters:
Name Type Description
set DeviceSetInstance DeviceSetInstance to sync
event DeviceEventInstance DeviceEventInstance to process
eventBus EventBus EventBus instance to use for communication
Source:
Returns:
void returns nothing
Example
angular.module('exampleApp', ['keta.services.DeviceSet'])
    .controller('ExampleController', function(ketaDeviceSet, ketaDeviceEvent, ketaDevice) {
        ketaDeviceSet.sync(
            ketaDeviceSet.create().query(),
            ketaDeviceEvent.create({
                type: ketaDeviceEvent.CREATED,
                device: ketaDevice.create(eventBus, {
                    guid: 'guid'
                });
            });
        );
    });