Skip to content

Commit 9741265

Browse files
committed
good wip for tonight
1 parent 8c66f73 commit 9741265

File tree

1 file changed

+43
-11
lines changed

1 file changed

+43
-11
lines changed

core/lib/ui_builder.js

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ var ui_builder = function() {
149149
name: pattern.flatPatternPath,
150150
patternDesc: '',
151151
patternPartial: 'viewall-' + pattern.patternGroup + (isSubtypePattern ? '-' + pattern.patternSubGroup : ''),
152-
patternSectionSubtype : true,
152+
patternSectionSubtype : isSubtypePattern,
153153
patternLink: pattern.flatPatternPath + path.sep + 'index.html',
154154
isPattern: false,
155155
engine: null,
@@ -158,7 +158,6 @@ var ui_builder = function() {
158158
isDocPattern: true
159159
}
160160
);
161-
162161
return docPattern;
163162
}
164163

@@ -178,11 +177,14 @@ var ui_builder = function() {
178177
if (pattern.omitFromStyleguide) { return; }
179178

180179
if (!groupedPatterns.patternGroups[pattern.patternGroup]) {
180+
pattern.isSubtypePattern = false;
181+
181182
groupedPatterns.patternGroups[pattern.patternGroup] = {};
182183
//todo: test this
183184
//groupedPatterns.patternGroups[pattern.patternGroup]['viewall-' + pattern.patternGroup] = injectDocumentationBlock(pattern, patternlab, false);
184185
}
185186
if (!groupedPatterns.patternGroups[pattern.patternGroup][pattern.patternSubGroup]) {
187+
pattern.isSubtypePattern = true;
186188
groupedPatterns.patternGroups[pattern.patternGroup][pattern.patternSubGroup] = {};
187189
groupedPatterns.patternGroups[pattern.patternGroup][pattern.patternSubGroup]['viewall-' + pattern.patternGroup + '-' + pattern.patternSubGroup] = injectDocumentationBlock(pattern, patternlab, true);
188190
}
@@ -385,13 +387,18 @@ var ui_builder = function() {
385387
return patterns;
386388
}
387389

388-
function buildViewAllHTML(patternlab, patterns, patternPartial) {
390+
function buildViewAllHTML(patternlab, patterns, patternPartial, isPatternType) {
391+
392+
console.log('building viewall HTML for ', patternPartial);
393+
394+
if(isPatternType){
395+
patternPartial = patternPartial.substring(patternPartial.indexOf('viewall-'));
396+
}
389397

390-
var patternsPlusSubtpe = insertPatternSubtypeDocumentationPattern(patternlab, patterns, patternPartial);
391398

392399
var viewAllHTML = pattern_assembler.renderPattern(patternlab.viewAll,
393400
{
394-
partials: patternsPlusSubtpe,
401+
partials: patterns,
395402
patternPartial: patternPartial,
396403
cacheBuster: patternlab.cacheBuster
397404
}, {
@@ -520,11 +527,16 @@ var ui_builder = function() {
520527

521528
var paths = patternlab.config.paths;
522529

530+
var patterns = [];
531+
523532
//loop through the grouped styleguide patterns, building at each level
524533
_.forEach(styleguidePatterns.patternGroups, function (patternTypeObj, patternType) {
525534

526535
console.log(1, patternType);
527536

537+
var p;
538+
var typePatterns = [];
539+
528540
_.forOwn(patternTypeObj, function(patternSubtypes, patternSubtype) {
529541

530542
console.log(2, patternSubtype);
@@ -537,13 +549,16 @@ var ui_builder = function() {
537549

538550
//render the viewall template
539551
var subtypePatterns = _.values(patternSubtypes);
552+
typePatterns = typePatterns.concat(subtypePatterns);
540553
var viewAllHTML = buildViewAllHTML(patternlab, subtypePatterns, patternPartial);
541554

542-
var p = _.find(subtypePatterns, function(pat) {
555+
p = _.find(subtypePatterns, function(pat) {
543556
return pat.isDocPattern;
544557
});
545558

546559
console.log(4, 'about to write view all file to patterns/', p.flatPatternPath);
560+
writeFile(paths.public.patterns + p.flatPatternPath + '/subtypePatterns.json', JSON.stringify(subtypePatterns));
561+
547562

548563
console.log('------');
549564
writeFile(paths.public.patterns + p.flatPatternPath + '/index.html', mainPageHeadHtml + viewAllHTML + footerHTML);
@@ -553,7 +568,24 @@ var ui_builder = function() {
553568

554569
console.log('~~~~~~');
555570

571+
//render the footer needed for the viewall template
572+
var footerHTML = buildFooterHTML(patternlab, patternType);
573+
574+
//render the viewall template
575+
var viewAllHTML = buildViewAllHTML(patternlab, typePatterns, patternType, true);
576+
577+
writeFile(paths.public.patterns + p.subdir + '/index.json', JSON.stringify(typePatterns));
578+
console.log(5, 'trying to write view all file to patterns/', p.subdir );
579+
580+
writeFile(paths.public.patterns + p.subdir + '/index.html', mainPageHeadHtml + viewAllHTML + footerHTML);
581+
582+
patterns = patterns.concat(typePatterns);
583+
556584
});
585+
586+
writeFile(paths.public.patterns + '/patterns.json', JSON.stringify(patterns));
587+
588+
return patterns;
557589
}
558590

559591
function sortPatterns(patternsArray) {
@@ -712,20 +744,20 @@ var ui_builder = function() {
712744

713745
//build the viewall pages
714746
//todo so close
715-
buildViewAllPages2(headerHTML, patternlab, styleguidePatterns);
747+
var patterns = buildViewAllPages2(headerHTML, patternlab, styleguidePatterns);
716748

717749
//build the main styleguide page
718750
//todo broken
719751
var styleguideHtml = pattern_assembler.renderPattern(patternlab.viewAll,
720752
{
721-
partials: _.values(styleguidePatterns),
753+
partials: patterns,
722754
cacheBuster: patternlab.cacheBuster
723755
}, {
724756
patternSection: patternlab.patternSection,
725757
patternSectionSubType: patternlab.patternSectionSubType
726758
});
727759

728-
//writeFile(path.resolve(paths.public.styleguide, 'html/styleguide.html'), headerHTML + styleguideHtml + footerHTML);
760+
writeFile(path.resolve(paths.public.styleguide, 'html/styleguide.html'), headerHTML + styleguideHtml + footerHTML);
729761

730762
//build the patternlab navigation
731763
//todo
@@ -739,10 +771,10 @@ var ui_builder = function() {
739771
console.log("\nERROR: Could not load one or more styleguidekit assets from", paths.source.styleguide, '\n');
740772
process.exit(1);
741773
}
742-
//writeFile(path.resolve(paths.public.root, 'index.html'), patternlabSiteHtml);
774+
writeFile(path.resolve(paths.public.root, 'index.html'), patternlabSiteHtml);
743775

744776
//write out patternlab.data object to be read by the client
745-
//exportData(patternlab);
777+
exportData(patternlab);
746778
}
747779

748780
return {

0 commit comments

Comments
 (0)