Skip to content
This repository was archived by the owner on Apr 4, 2025. It is now read-only.

Commit 491a0a7

Browse files
author
Erin Altenhof-Long
committed
feat(hintBootstrapping): add inclusive and exclusive hints
Load hint modules based on inclusive and exclusive commands or all modules by default when ng-hint is used. #6
1 parent 14bb413 commit 491a0a7

File tree

1 file changed

+35
-6
lines changed

1 file changed

+35
-6
lines changed

hint.js

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,49 @@
66
require('angular-hint-dom');
77
require('angular-hint-directives');
88

9-
var defaultModules = ['ngHintDirectives', 'ngHintDom'];
9+
var allModules = ['ngHintDirectives', 'ngHintDom'];
1010

1111
window.name = 'NG_DEFER_BOOTSTRAP!';
1212

1313
// determine which modules to load and resume bootstrap
1414
angular.element(document).ready(function() {
1515
var selectedModules;
16-
var elts = document.querySelectorAll('[ng-hint]');
16+
var elts;
17+
elts = document.querySelectorAll('[ng-hint-include]');
1718
if(elts.length > 0) {
18-
selectedModules = elts[0].attributes['ng-hint'].value.split(' ').map(function(name) {
19+
console.log('include');
20+
selectedModules = elts[0].attributes['ng-hint-include'].value.split(' ').map(function(name) {
1921
return 'ngHint' + name[0].toUpperCase() + name.substring(1);
2022
});
21-
} else {
22-
selectedModules = defaultModules;
2323
}
24-
angular.resumeBootstrap(selectedModules)
24+
else {
25+
elts = document.querySelectorAll('[ng-hint-exclude]');
26+
if(elts.length > 0) {
27+
elts = elts[0].attributes['ng-hint-exclude'].value.split(' ');
28+
selectedModules = allModules.filter(function(name) {
29+
var notFound = true;
30+
elts.forEach(function(element) {
31+
if(('ngHint' + element[0].toUpperCase() + element.substring(1)) == name)
32+
{
33+
notFound = false;
34+
}
35+
});
36+
if(notFound) {
37+
return name;
38+
}
39+
});
40+
}
41+
else {
42+
elts = document.querySelectorAll('[ng-hint]');
43+
if(elts.length > 0) {
44+
selectedModules = allModules;
45+
}
46+
}
47+
}
48+
if(selectedModules != undefined) {
49+
angular.resumeBootstrap(selectedModules);
50+
}
51+
else {
52+
angular.resumeBootstrap();
53+
}
2554
});

0 commit comments

Comments
 (0)