cartodb-4.42/lib/assets/javascripts/cartodb/public_common/user_settings_view.js

50 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-04-06 13:25:13 +08:00
var cdb = require('cartodb.js-v3');
var SettingsDropdown = require('./user_settings/dropdown_view');
var $ = require('jquery-cdb-v3');
/**
* View to render the user settings section in the header.
* Expected to be created from existing DOM element.
*/
module.exports = cdb.core.View.extend({
events: {
'click .js-dropdown-target': '_createDropdown'
},
render: function() {
var dashboardUrl = this.model.viewUrl().dashboard();
var datasetsUrl = dashboardUrl.datasets();
var mapsUrl = dashboardUrl.maps();
this.$el.html(
cdb.templates.getTemplate('public_common/user_settings_template')({
avatarUrl: this.model.get('avatar_url'),
mapsUrl: mapsUrl,
datasetsUrl: datasetsUrl
})
);
return this;
},
_createDropdown: function(ev) {
this.killEvent(ev);
cdb.god.trigger('closeDialogs');
var view = new SettingsDropdown({
target: $(ev.target),
model: this.model, // user
horizontal_offset: 18
});
view.render();
view.on('onDropdownHidden', function() {
view.clean();
}, this);
view.open();
}
});