mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 11:50:00 +00:00
Prevent getModules() selectors from returning duplicate entries.
This commit is contained in:
parent
1f558d46a4
commit
c81db752f6
@ -2,6 +2,11 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
## Unpublished
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Prevent `getModules()` selectors from returning duplicate entries.
|
||||||
|
|
||||||
## [2.0.3] - 2016-07-12
|
## [2.0.3] - 2016-07-12
|
||||||
### Added
|
### Added
|
||||||
- Add max newsitems parameter to the newsfeed module.
|
- Add max newsitems parameter to the newsfeed module.
|
||||||
|
45
js/main.js
45
js/main.js
@ -1,4 +1,5 @@
|
|||||||
/* global Log, Loader, Module, config, defaults */
|
/* global Log, Loader, Module, config, defaults */
|
||||||
|
/* jshint -W020 */
|
||||||
|
|
||||||
/* Magic Mirror
|
/* Magic Mirror
|
||||||
* Main System
|
* Main System
|
||||||
@ -225,25 +226,24 @@ var MM = (function() {
|
|||||||
* return array - Filtered collection of modules.
|
* return array - Filtered collection of modules.
|
||||||
*/
|
*/
|
||||||
var withClass = function(className) {
|
var withClass = function(className) {
|
||||||
var newModules = [];
|
|
||||||
|
|
||||||
var searchClasses = className;
|
var searchClasses = className;
|
||||||
if (typeof className === "string") {
|
if (typeof className === "string") {
|
||||||
searchClasses = className.split(" ");
|
searchClasses = className.split(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var m in modules) {
|
var newModules = modules.filter(function(module) {
|
||||||
var module = modules[m];
|
|
||||||
var classes = module.data.classes.toLowerCase().split(" ");
|
var classes = module.data.classes.toLowerCase().split(" ");
|
||||||
|
|
||||||
for (var c in searchClasses) {
|
for (var c in searchClasses) {
|
||||||
var searchClass = searchClasses[c];
|
var searchClass = searchClasses[c];
|
||||||
if (classes.indexOf(searchClass.toLowerCase()) !== -1) {
|
if (classes.indexOf(searchClass.toLowerCase()) !== -1) {
|
||||||
newModules.push(module);
|
return true;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
setSelectionMethodsForModules(newModules);
|
setSelectionMethodsForModules(newModules);
|
||||||
return newModules;
|
return newModules;
|
||||||
};
|
};
|
||||||
@ -256,29 +256,24 @@ var MM = (function() {
|
|||||||
* return array - Filtered collection of modules.
|
* return array - Filtered collection of modules.
|
||||||
*/
|
*/
|
||||||
var exceptWithClass = function(className) {
|
var exceptWithClass = function(className) {
|
||||||
var newModules = [];
|
|
||||||
|
|
||||||
var searchClasses = className;
|
var searchClasses = className;
|
||||||
if (typeof className === "string") {
|
if (typeof className === "string") {
|
||||||
searchClasses = className.split(" ");
|
searchClasses = className.split(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var m in modules) {
|
var newModules = modules.filter(function(module) {
|
||||||
var module = modules[m];
|
|
||||||
var classes = module.data.classes.toLowerCase().split(" ");
|
var classes = module.data.classes.toLowerCase().split(" ");
|
||||||
var foundClass = false;
|
|
||||||
for (var c in searchClasses) {
|
for (var c in searchClasses) {
|
||||||
var searchClass = searchClasses[c];
|
var searchClass = searchClasses[c];
|
||||||
if (classes.indexOf(searchClass.toLowerCase()) !== -1) {
|
if (classes.indexOf(searchClass.toLowerCase()) !== -1) {
|
||||||
foundClass = true;
|
return false;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!foundClass) {
|
|
||||||
newModules.push(module);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
setSelectionMethodsForModules(newModules);
|
setSelectionMethodsForModules(newModules);
|
||||||
return newModules;
|
return newModules;
|
||||||
};
|
};
|
||||||
@ -291,14 +286,9 @@ var MM = (function() {
|
|||||||
* return array - Filtered collection of modules.
|
* return array - Filtered collection of modules.
|
||||||
*/
|
*/
|
||||||
var exceptModule = function(module) {
|
var exceptModule = function(module) {
|
||||||
var newModules = [];
|
var newModules = modules.filter(function(mod) {
|
||||||
|
return mod.identifier !== module.identifier;
|
||||||
for (var m in modules) {
|
});
|
||||||
var mod = modules[m];
|
|
||||||
if (mod.identifier !== module.identifier) {
|
|
||||||
newModules.push(mod);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setSelectionMethodsForModules(newModules);
|
setSelectionMethodsForModules(newModules);
|
||||||
return newModules;
|
return newModules;
|
||||||
@ -310,10 +300,9 @@ var MM = (function() {
|
|||||||
* argument callback function - The function to execute with the module as an argument.
|
* argument callback function - The function to execute with the module as an argument.
|
||||||
*/
|
*/
|
||||||
var enumerate = function(callback) {
|
var enumerate = function(callback) {
|
||||||
for (var m in modules) {
|
modules.map(function(module) {
|
||||||
var module = modules[m];
|
|
||||||
callback(module);
|
callback(module);
|
||||||
}
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
if (typeof modules.withClass === "undefined") { Object.defineProperty(modules, "withClass", {value: withClass, enumerable: false}); }
|
if (typeof modules.withClass === "undefined") { Object.defineProperty(modules, "withClass", {value: withClass, enumerable: false}); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user