Initial commit
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
var Backbone = require('backbone');
|
||||
|
||||
module.exports = Backbone.Collection.extend({
|
||||
initialize: function (models, opts) {
|
||||
if (!opts.configModel) throw new Error('configModel is required');
|
||||
if (!opts.visId) throw new Error('visId is required');
|
||||
|
||||
this._configModel = opts.configModel;
|
||||
this._visId = opts.visId;
|
||||
},
|
||||
|
||||
url: function () {
|
||||
var baseUrl = this._configModel.get('base_url');
|
||||
var version = this._configModel.urlVersion('overlays');
|
||||
return baseUrl + '/api/' + version + '/viz/' + this._visId + '/overlays';
|
||||
},
|
||||
|
||||
hasFetched: function () {
|
||||
return this.length > 0;
|
||||
},
|
||||
|
||||
removeOverlay: function (type) {
|
||||
var overlay = this.findWhere({type: type});
|
||||
overlay && overlay.destroy();
|
||||
},
|
||||
|
||||
createOverlay: function (type) {
|
||||
var types = {
|
||||
'fullscreen': this._createFullScreenOverlay,
|
||||
'layer_selector': this._createLayerSelectorOverlay,
|
||||
'search': this._createSearchOverlay,
|
||||
'zoom': this._createZoomOverlay,
|
||||
'logo': this._createLogoOverlay
|
||||
};
|
||||
var fn = types[type];
|
||||
fn && fn.call(this);
|
||||
},
|
||||
|
||||
_createZoomOverlay: function () {
|
||||
var options = {
|
||||
type: 'zoom',
|
||||
order: 6,
|
||||
display: true,
|
||||
x: 20,
|
||||
y: 20
|
||||
};
|
||||
this.create(options);
|
||||
},
|
||||
|
||||
_createLogoOverlay: function () {
|
||||
var options = {
|
||||
type: 'logo',
|
||||
order: 10,
|
||||
display: true,
|
||||
x: 10,
|
||||
y: 40
|
||||
};
|
||||
this.create(options);
|
||||
},
|
||||
|
||||
_createSearchOverlay: function () {
|
||||
var options = {
|
||||
type: 'search',
|
||||
order: 3,
|
||||
display: true,
|
||||
x: 60,
|
||||
y: 20
|
||||
};
|
||||
this.create(options);
|
||||
},
|
||||
|
||||
_createFullScreenOverlay: function () {
|
||||
var options = {
|
||||
type: 'fullscreen',
|
||||
order: 7,
|
||||
display: true,
|
||||
x: 20,
|
||||
y: 172
|
||||
};
|
||||
|
||||
this.create(options);
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user