Skip to content

Commit 3309753

Browse files
committed
stub in subtype pattern if not available, extract into method
1 parent e9ed6a1 commit 3309753

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

core/lib/ui_builder.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var path = require('path');
44
var fs = require('fs-extra');
55
var ae = require('./annotation_exporter');
66
var of = require('./object_factory');
7+
var Pattern = of.Pattern;
78
var pa = require('./pattern_assembler');
89
var pattern_assembler = new pa();
910
var eol = require('os').EOL;
@@ -264,13 +265,27 @@ function buildFooterHTML(patternlab, patternPartial) {
264265
return footerHTML;
265266
}
266267

267-
function buildViewAllHTML(patternlab, patterns, patternPartial) {
268-
268+
function insertPatternSubtypeDocumentationPattern(patternlab, patterns, patternPartial) {
269269
//attempt to find a subtype pattern before rendering
270270
var subtypePattern = patternlab.subtypePatterns[patternPartial];
271271
if(subtypePattern) {
272272
patterns.unshift(subtypePattern);
273-
} // confirm else scenario
273+
} else {
274+
var stubbedSubtypePattern = Pattern.createEmpty({
275+
patternSectionSubtype: true,
276+
isPattern: false,
277+
patternPartial: 'viewall-' + patternPartial,
278+
patternName: patterns[0].patternSubGroup,
279+
patternLink: patterns[0].flatPatternPath + '/index.html'
280+
});
281+
patterns.unshift(stubbedSubtypePattern);
282+
}
283+
return patterns;
284+
}
285+
286+
function buildViewAllHTML(patternlab, patterns, patternPartial) {
287+
288+
patterns = insertPatternSubtypeDocumentationPattern(patternlab, patterns, patternPartial)
274289

275290
var viewAllHTML = pattern_assembler.renderPattern(patternlab.viewAll,
276291
{
@@ -395,7 +410,7 @@ function buildViewAllPages(mainPageHeadHtml, patternlab, patterns) {
395410
var viewAllHTML = buildViewAllHTML(patternlab, viewAllPatterns, patternPartial);
396411

397412
fs.outputFileSync(paths.public.patterns + pattern.flatPatternPath + '/index.html', mainPageHeadHtml + viewAllHTML + footerHTML);
398-
}
413+
}
399414
}
400415
}
401416

@@ -451,7 +466,6 @@ function buildFrontEnd(patternlab) {
451466
});
452467

453468
//build the styleguide
454-
455469
var styleguideHtml = pattern_assembler.renderPattern(patternlab.viewAll,
456470
{
457471
partials: styleguidePatterns,

0 commit comments

Comments
 (0)