Skip to content
This repository was archived by the owner on Feb 7, 2023. It is now read-only.

Commit e2570f5

Browse files
committed
adding viewall support for pattern types with subtypes
1 parent 5e2a91a commit e2570f5

File tree

4 files changed

+41
-3
lines changed

4 files changed

+41
-3
lines changed

core/lib/PatternLab/Builder.php

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,29 @@ protected function generateViewAllPages() {
189189

190190
$partials["patternPartial"] = "viewall-".$patternStoreData["typeDash"]."-".$patternStoreData["nameDash"];
191191

192-
$viewAllHead = Helper::$htmlLoader->render(Helper::$mainPageHead,Data::$store);
193-
$viewAllFoot = Helper::$htmlLoader->render(Helper::$mainPageFoot,Data::$store);
192+
$viewAllPage = $viewAllHead.Helper::$filesystemLoader->render("viewall",$partials).$viewAllFoot;
193+
194+
// if the pattern directory doesn't exist create it
195+
$patternPath = $patternStoreData["pathDash"];
196+
if (!is_dir(__DIR__.Config::$options["patternPublicDir"].$patternPath)) {
197+
mkdir(__DIR__.Config::$options["patternPublicDir"].$patternPath);
198+
file_put_contents(__DIR__.Config::$options["patternPublicDir"].$patternPath."/index.html",$viewAllPage);
199+
} else {
200+
file_put_contents(__DIR__.Config::$options["patternPublicDir"].$patternPath."/index.html",$viewAllPage);
201+
}
202+
203+
}
204+
205+
} else if (($patternStoreData["category"] == "patternType") && PatternData::hasPatternSubtype($patternStoreData["nameDash"])) {
206+
207+
// grab the partials into a data object for the style guide
208+
$ppExporter = new PatternPartialsExporter();
209+
$partials = $ppExporter->run($patternStoreData["name"]);
210+
211+
if (!empty($partials["partials"])) {
212+
213+
$partials["patternPartial"] = "viewall-".$patternStoreData["nameDash"]."-all";
214+
194215
$viewAllPage = $viewAllHead.Helper::$filesystemLoader->render("viewall",$partials).$viewAllFoot;
195216

196217
// if the pattern directory doesn't exist create it

core/lib/PatternLab/PatternData/Exporters/NavItemsExporter.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,17 @@ public function run() {
136136
$reset = false;
137137
}
138138

139+
// add an overall view all link to the menus with sub-menus
140+
if (!empty($navItems["patternTypes"][$patternTypeKey]["patternTypeItems"])) {
141+
142+
$navItems["patternTypes"][$patternTypeKey]["patternItems"][] = array("patternPath" => $patternType."/index.html",
143+
"patternName" => "View All",
144+
"patternType" => $patternType,
145+
"patternSubtype" => "all",
146+
"patternPartial" => "viewall-".$patternTypeDash."-all");
147+
148+
}
149+
139150
}
140151

141152
return $navItems;

core/lib/PatternLab/PatternData/Exporters/PatternPartialsExporter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function run($type = "", $subtype = "") {
4040

4141
if (($patternStoreData["category"] == "pattern") && (!$patternStoreData["hidden"]) && ($patternStoreData["depth"] == 2) && (!in_array($patternStoreData["type"],Config::$options["styleGuideExcludes"]))) {
4242

43-
if ((empty($type) && empty($subtype)) || (($patternStoreData["type"] == $type) && ($patternStoreData["subtype"] == $subtype))) {
43+
if ((($patternStoreData["type"] == $type) && empty($subtype)) || (empty($type) && empty($subtype)) || (($patternStoreData["type"] == $type) && ($patternStoreData["subtype"] == $subtype))) {
4444

4545
$patternPartialData = array();
4646
$patternPartialData["patternName"] = ucwords($patternStoreData["nameClean"]);

core/lib/PatternLab/PatternData/Exporters/ViewAllPathsExporter.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ public function run($navItems) {
5353

5454
}
5555

56+
if (strpos($patternSubtypeItemValues["patternPartial"],"viewall-") !== false) {
57+
58+
$viewAllPaths[$patternTypeDash]["all"] = $patternType;
59+
60+
}
61+
5662
}
5763

5864
}

0 commit comments

Comments
 (0)