Skip to content

Commit 3febce8

Browse files
committed
factor out assembleStyleguidePatterns()
1 parent 70e5330 commit 3febce8

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

core/lib/ui_builder.js

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,37 @@ function isPatternExcluded(pattern) {
2424
return pattern.fileName.charAt(0) === '_';
2525
}
2626

27+
// Returns the array of patterns to be rendered in the styleguide view and
28+
// linked to in the pattern navigation. Checks if patterns are excluded.
29+
function assembleStyleguidePatterns(patternlab) {
30+
var styleguideExcludes = patternlab.config.styleGuideExcludes;
31+
var styleguidePatterns = [];
32+
33+
if (styleguideExcludes && styleguideExcludes.length) {
34+
for (var i = 0; i < patternlab.patterns.length; i++) {
35+
36+
// skip underscore-prefixed files
37+
if (isPatternExcluded(patternlab.patterns[i])) {
38+
if (patternlab.config.debug) {
39+
console.log('Omitting ' + patternlab.patterns[i].key + " from styleguide pattern exclusion.");
40+
}
41+
continue;
42+
}
43+
44+
var key = patternlab.patterns[i].key;
45+
var typeKey = key.substring(0, key.indexOf('-'));
46+
var isExcluded = (styleguideExcludes.indexOf(typeKey) > -1);
47+
if (!isExcluded) {
48+
styleguidePatterns.push(patternlab.patterns[i]);
49+
}
50+
}
51+
} else {
52+
styleguidePatterns = patternlab.patterns;
53+
}
54+
55+
return styleguidePatterns;
56+
}
57+
2758

2859
// MAIN BUILDER FUNCTION
2960

@@ -35,7 +66,6 @@ function buildFrontEnd(patternlab) {
3566
var mh = require('./media_hunter');
3667
var pattern_assembler = new pa();
3768
var media_hunter = new mh();
38-
var styleGuideExcludes = patternlab.config.styleGuideExcludes;
3969
var styleguidePatterns = [];
4070
var paths = patternlab.config.paths;
4171
var i;
@@ -62,27 +92,7 @@ function buildFrontEnd(patternlab) {
6292
media_hunter.find_media_queries('./source/css', patternlab);
6393

6494
// check if patterns are excluded, if not add them to styleguidePatterns
65-
if (styleGuideExcludes && styleGuideExcludes.length) {
66-
for (i = 0; i < patternlab.patterns.length; i++) {
67-
68-
// skip underscore-prefixed files
69-
if (isPatternExcluded(patternlab.patterns[i])) {
70-
if (patternlab.config.debug) {
71-
console.log('Omitting ' + patternlab.patterns[i].key + " from styleguide pattern exclusion.");
72-
}
73-
continue;
74-
}
75-
76-
var key = patternlab.patterns[i].key;
77-
var typeKey = key.substring(0, key.indexOf('-'));
78-
var isExcluded = (styleGuideExcludes.indexOf(typeKey) > -1);
79-
if (!isExcluded) {
80-
styleguidePatterns.push(patternlab.patterns[i]);
81-
}
82-
}
83-
} else {
84-
styleguidePatterns = patternlab.patterns;
85-
}
95+
styleguidePatterns = assembleStyleguidePatterns(patternlab);
8696

8797
//also add the cachebuster value. slight chance this could collide with a user that has defined cacheBuster as a value
8898
patternlab.data.cacheBuster = patternlab.cacheBuster;

0 commit comments

Comments
 (0)