infowindows: move layer definition model save to fields view

pull/7383/head
Carlos Matallín 8 years ago
parent 9c4f41d114
commit a8d3d116be

@ -57,13 +57,6 @@ module.exports = cdb.core.Model.extend({
if (!opts.configModel) throw new Error('configModel is required');
this._configModel = opts.configModel;
// TODO: this._initBinds();
if (this.infowindowModel) {
this.infowindowModel.bind('change', _.debounce(function () {
this.save();
}, 20), this);
}
},
toJSON: function () {

@ -9,10 +9,10 @@ module.exports = cdb.core.View.extend({
initialize: function (opts) {
if (!opts.layerDefinitionModel) throw new Error('Layer definition is required');
if (!opts.querySchemaModel) throw new Error('querySchemaModel is required');
this.layerDefinitionModel = opts.layerDefinitionModel;
this._layerDefinitionModel = opts.layerDefinitionModel;
this._querySchemaModel = opts.querySchemaModel;
this._layerInfowindowModel = this.layerDefinitionModel.infowindowModel;
this._layerTooltipModel = this.layerDefinitionModel.tooltipModel;
this._layerInfowindowModel = this._layerDefinitionModel.infowindowModel;
this._layerTooltipModel = this._layerDefinitionModel.tooltipModel;
},
render: function () {
@ -33,6 +33,7 @@ module.exports = cdb.core.View.extend({
return new InfowindowView({
querySchemaModel: self._querySchemaModel,
layerInfowindowModel: self._layerInfowindowModel,
layerDefinitionModel: self._layerDefinitionModel,
templateStyles: [
{
value: 'none',
@ -59,6 +60,7 @@ module.exports = cdb.core.View.extend({
return new TooltipView({
querySchemaModel: self._querySchemaModel,
layerInfowindowModel: self._layerTooltipModel,
layerDefinitionModel: self._layerDefinitionModel,
templateStyles: [
{
value: 'none',

@ -11,9 +11,11 @@ module.exports = cdb.core.View.extend({
if (!opts.querySchemaModel) throw new Error('querySchemaModel is required');
if (!opts.layerInfowindowModel) throw new Error('layerInfowindowModel is required');
if (!opts.templateStyles) throw new Error('templateStyles is required');
if (!opts.layerDefinitionModel) throw new Error('layerDefinitionModel is required');
this._querySchemaModel = opts.querySchemaModel;
this._layerInfowindowModel = opts.layerInfowindowModel;
this._templateStyles = opts.templateStyles;
this._layerDefinitionModel = opts.layerDefinitionModel;
},
render: function () {
@ -29,7 +31,8 @@ module.exports = cdb.core.View.extend({
var itemsView = new InfowindowContentItemsView({
querySchemaModel: this._querySchemaModel,
layerInfowindowModel: this._layerInfowindowModel
layerInfowindowModel: this._layerInfowindowModel,
layerDefinitionModel: this._layerDefinitionModel
});
this.addView(itemsView);
this.$el.append(itemsView.render().el);

@ -11,9 +11,11 @@ module.exports = cdb.core.View.extend({
initialize: function (opts) {
if (!opts.layerInfowindowModel) throw new Error('layerInfowindowModel is required');
if (!opts.querySchemaModel) throw new Error('querySchemaModel is required');
if (!opts.layerDefinitionModel) throw new Error('layerDefinitionModel is required');
this._layerInfowindowModel = opts.layerInfowindowModel;
this._querySchemaModel = opts.querySchemaModel;
this._layerDefinitionModel = opts.layerDefinitionModel;
this._columnsCollection = this._querySchemaModel.columnsCollection;
// An internal collection to keep track of the columns and their order
@ -21,6 +23,10 @@ module.exports = cdb.core.View.extend({
this._sortedFields.comparator = function (model) {
return model.get('position');
};
this._layerInfowindowModel.bind('change', _.debounce(function () {
this._layerDefinitionModel.save();
}, 20), this);
},
render: function () {

@ -7,8 +7,10 @@ module.exports = cdb.core.View.extend({
initialize: function (opts) {
if (!opts.querySchemaModel) throw new Error('querySchemaModel is required');
if (!opts.layerInfowindowModel) throw new Error('layerInfowindowModel is required');
if (!opts.layerDefinitionModel) throw new Error('layerDefinitionModel is required');
this._querySchemaModel = opts.querySchemaModel;
this._layerInfowindowModel = opts.layerInfowindowModel;
this._layerDefinitionModel = opts.layerDefinitionModel;
if (this._querySchemaModel.get('status') !== 'fetched') {
// status can be: fetched, unavailable, fetching
@ -31,7 +33,8 @@ module.exports = cdb.core.View.extend({
_initViews: function () {
this.infowindowFieldsView = new InfowindowFieldsView({
layerInfowindowModel: this._layerInfowindowModel,
querySchemaModel: this._querySchemaModel
querySchemaModel: this._querySchemaModel,
layerDefinitionModel: this._layerDefinitionModel
});
this.$('.js-content').html(this.infowindowFieldsView.render().$el);

@ -1,6 +1,6 @@
{
"name": "cartodb-ui",
"version": "3.23.81",
"version": "3.23.82",
"description": "CartoDB UI frontend",
"repository": {
"type": "git",

Loading…
Cancel
Save