diff --git a/app/js/directives/directive-component-select.js b/app/js/directives/directive-component-select.js
index c1402c30..8331f78a 100644
--- a/app/js/directives/directive-component-select.js
+++ b/app/js/directives/directive-component-select.js
@@ -4,13 +4,13 @@ angular.module('app').directive('componentSelect', function() {
function appendGroup(list, opts, cid, mass) {
var prevClass = null, prevRating = null;
- var count = Object.keys(opts).length;
for (var i = 0; i < opts.length; i++) {
var o = opts[i];
+ var id = o.id || (o.class + o.rating); // Common components' ID is their class and rating
list.push('
', o.class, o.rating);
+ list.push((o.maxmass && mass > o.maxmass)? ' disabled"' : '" cpid="', id, '">', o.class, o.rating);
if(o.mode) {
list.push('/' + o.mode);
if(o.missile) {
diff --git a/app/js/service-serializer.js b/app/js/service-serializer.js
index 0f70461a..f1b362c8 100644
--- a/app/js/service-serializer.js
+++ b/app/js/service-serializer.js
@@ -15,7 +15,6 @@ angular.module('app').service('Serializer', ['lodash', function (_) {
_.map(ship.hardpoints, idToStr),
_.map(ship.internal, idToStr),
];
- console.log('code',_.flatten(data).join(''));
return _.flatten(data).join('');
};
diff --git a/app/js/shipyard/factory-component-set.js b/app/js/shipyard/factory-component-set.js
index 5e6b4eb4..7b51db7d 100644
--- a/app/js/shipyard/factory-component-set.js
+++ b/app/js/shipyard/factory-component-set.js
@@ -58,7 +58,7 @@ angular.module('shipyard').factory('ComponentSet', ['lodash', function (_) {
};
function filter (data, maxClass, minClass, mass) {
- return _.filter(data, function (c) {
+ return _.filter(data, function (c, index, collection) {
return c.class <= maxClass && c.class >= minClass && (c.maxmass === undefined || mass <= c.maxmass)
});
}