goog.provide('M.control.WMCSelector'); goog.require('M.Control'); goog.require('M.template'); goog.require('M.utils'); goog.require('M.exception'); (function() { /** * @classdesc * Main constructor of the class. Creates a WMCSelector * control to provides a way to select an specific WMC * * @constructor * @extends {M.Control} * @api stable */ M.control.WMCSelector = (function() { // checks if the implementation can create WMC layers if (M.utils.isUndefined(M.impl.control.WMCSelector)) { M.exception('La implementación usada no puede crear controles WMCSelector'); } // implementation of this control var impl = new M.impl.control.WMCSelector(); // calls the super constructor goog.base(this, impl, 'wmcselector'); }); goog.inherits(M.control.WMCSelector, M.Control); /** * This function creates the view to the specified map * * @public * @function * @param {M.Map} map to add the control * @api stable */ M.control.WMCSelector.prototype.createView = function(map) { // compiles the template return M.template.compile(M.control.WMCSelector.TEMPLATE, { 'jsonp': true, 'vars': { 'layers': map.getWMC() } }); }; /** * This function checks if an object is equals * to this control * * @function * @api stable */ M.control.WMCSelector.prototype.equals = function(obj) { var equals = false; if (obj instanceof M.control.WMCSelector) { equals = (this.name === obj.name); } return equals; }; /** * Template for this controls * @const * @type {string} * @public * @api stable */ M.control.WMCSelector.TEMPLATE = 'wmcselector.html'; })();