\r
var toggleItemViews = function(toggle) {\r
itemViews.forEach(function(view) {\r
- view.toggle(toggle);\r
+ if(!historyItems.selected(view.item))\r
+ view.toggle(toggle);\r
});\r
}\r
\r
var historyItems = {\r
_itemsById: {},\r
_selected: [],\r
- select: function(id) {\r
+ select: function(item) {\r
if(this._selected.length < 2) {\r
- this._selected.push(id);\r
+ this._selected.push(item.version);\r
if(this._selected.length === 2)\r
toggleItemViews(false);\r
return true;\r
return false;\r
},\r
unselect: function(item) {\r
- this._selected = _.without(this._selected, id);\r
+ this._selected = _.without(this._selected, item.version);\r
if(this._selected.length < 2)\r
toggleItemViews(true);\r
},\r
add: function(item) {\r
- this._itemsById[item.id] = item;\r
+ this._itemsById[item.version] = item;\r
},\r
selected: function(item) {\r
- return _.contains(_selected, item.id);\r
+ return _.contains(this._selected, item.version);\r
}\r
};\r
\r
var itemView = function(item) {\r
this.item = item;\r
this.dom = $(this.template(item));\r
- this.dom.on('click', this.onItemClicked);\r
+ this.dom.on('click', _.bind(this.onItemClicked, this));\r
};\r
itemView.prototype.template = _.template(itemTemplateSrc);\r
itemView.prototype.onItemClicked = function() {\r
- if(historyItems.selected(item)) {\r
- historyItems.unselect(item);\r
+ if(historyItems.selected(this.item)) {\r
+ historyItems.unselect(this.item);\r
this.dimItem();\r
- } else if(historyItems.select(item)) {\r
+ } else if(historyItems.select(this.item)) {\r
this.highlightItem();\r
} \r
};\r
itemView.prototype.highlightItem = function() {\r
- \r
+ this.dom.addClass('highlighted');\r
};\r
itemView.prototype.dimItem = function() {\r
- \r
+ this.dom.removeClass('highlighted');\r
};\r
itemView.prototype.toggle = function(toggle) {\r
- \r
+ this.dom.toggleClass('disabled', !toggle);\r
};\r
\r
\r
-.rng-module-documentHistory-item {\r
+.rng-module-documentHistory {\r
\r
- margin: 0 0 15px 0;\r
-\r
- .version {\r
- float: left;\r
- width: 30px;\r
- font-weight: bold;\r
+ .item {\r
+ padding: 5px 5px;\r
+ margin: 0 0 15px 0;\r
+ cursor: pointer;\r
+ \r
+ .version {\r
+ float: left;\r
+ width: 30px;\r
+ font-weight: bold;\r
+ }\r
+ \r
+ .date, .author, .description {\r
+ margin: 5px 10px 0 40px;\r
+ }\r
+ \r
+ .description {\r
+ font-size: .9em;\r
+ }\r
}\r
\r
- .date, .author, .description {\r
- margin: 5px 10px 0 40px;\r
+ .item.highlighted {\r
+ background: #ffec63;\r
}\r
\r
- .description {\r
- font-size: .9em;\r
+ .item.disabled {\r
+ cursor: default;\r
}\r
}
\ No newline at end of file