ds/PresentationStructure.js

/**
 * @fileoverview Exposed data type for use outside of DsClient.
 *               All properties should be exposed to allow use from uncompiled
 *               code. Unfortunately @export is not allowed on object properties
 *               which force us to use @expose instead.
 *
 * @author kim.simmons@spark-vision.com (Kim Simmons)
 */

goog.provide('spv.ds.PresentationStructure');
goog.require('spv.ds.ItemState');
goog.require('spv.ds.PresentationStructureQuery');

/**
 * Result data from sessionGetPresentationStructure
 *
 * @export
 * @constructor
 *
 * @param {string} filter_name
 * @param {spv.ds.PresentationStructureQuery} query
 * @param {Object<string, Array<string>>} nodes
 * @param {Object<string, spv.ds.ItemState>} items
 */
spv.ds.PresentationStructure = function(
	filter_name,
	query,
	nodes,
	items)
{
	/**
	 * @type {string}
	 * @nocollapse
	 */
	this.filter = filter_name;

	/**
	 * @type {spv.ds.PresentationStructureQuery}
	 * @nocollapse
	 */
	this.query = query;

	/**
	 * @type {Object<string, Array<string>>}
	 * @nocollapse
	 */
	this.nodes = nodes;

	/**
	 * @type {Object<string, spv.ds.ItemState>}
	 * @nocollapse
	 */
	this.items = items;
};