UI Cleanup - Updated Shared and Shims subtrees.

This commit is contained in:
Taloth Saldono 2015-02-14 11:17:53 +01:00
parent 019525dd9d
commit d6079a701c
39 changed files with 686 additions and 448 deletions

View file

@ -4,59 +4,77 @@ var _ = require('underscore');
var CommandController = require('../../../Commands/CommandController');
module.exports = Marionette.ItemView.extend({
template : 'Shared/Toolbar/ButtonTemplate',
className : 'btn btn-default btn-icon-only-xs',
ui : {icon : 'i'},
events : {"click" : 'onClick'},
initialize : function(){
template : 'Shared/Toolbar/ButtonTemplate',
className : 'btn btn-default btn-icon-only-xs',
ui : {
icon : 'i'
},
events : {
'click' : 'onClick'
},
initialize : function() {
this.storageKey = this.model.get('menuKey') + ':' + this.model.get('key');
},
onRender : function(){
if(this.model.get('active')) {
onRender : function() {
if (this.model.get('active')) {
this.$el.addClass('active');
this.invokeCallback();
}
if(!this.model.get('title')) {
if (!this.model.get('title')) {
this.$el.addClass('btn-icon-only');
}
if(this.model.get('className')) {
if (this.model.get('className')) {
this.$el.addClass(this.model.get('className'));
}
var command = this.model.get('command');
if(command) {
var properties = _.extend({name : command}, this.model.get('properties'));
if (command) {
var properties = _.extend({ name : command }, this.model.get('properties'));
CommandController.bindToCommand({
command : properties,
element : this.$el
});
}
},
onClick : function(){
if(this.$el.hasClass('disabled')) {
onClick : function() {
if (this.$el.hasClass('disabled')) {
return;
}
this.invokeCallback();
this.invokeRoute();
this.invokeCommand();
},
invokeCommand : function(){
invokeCommand : function() {
var command = this.model.get('command');
if(command) {
if (command) {
CommandController.Execute(command, this.model.get('properties'));
}
},
invokeRoute : function(){
invokeRoute : function() {
var route = this.model.get('route');
if(route) {
Backbone.history.navigate(route, {trigger : true});
if (route) {
Backbone.history.navigate(route, { trigger : true });
}
},
invokeCallback : function(){
if(!this.model.ownerContext) {
invokeCallback : function() {
if (!this.model.ownerContext) {
throw 'ownerContext must be set.';
}
var callback = this.model.get('callback');
if(callback) {
if (callback) {
callback.call(this.model.ownerContext, this);
}
}