Skip to content

Commit cfee9ff

Browse files
committed
pushing some cleanup relevant to #428
1 parent 25bbea0 commit cfee9ff

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

core/lib/pattern_assembler.js

+18-9
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ var pattern_assembler = function () {
219219
subTypePattern.isPattern = false;
220220
subTypePattern.engine = null;
221221

222-
addSubtypePattern(subTypePattern, patternlab)
222+
addSubtypePattern(subTypePattern, patternlab);
223223
return subTypePattern;
224224
}
225225
} catch (err) {
@@ -410,21 +410,30 @@ var pattern_assembler = function () {
410410
}
411411

412412
function parseDataLinksHelper(patternlab, obj, key) {
413-
var linkRE, dataObjAsString, linkMatches, expandedLink;
413+
var linkRE, dataObjAsString, linkMatches;
414414

415415
linkRE = /link\.[A-z0-9-_]+/g;
416416
dataObjAsString = JSON5.stringify(obj);
417417
linkMatches = dataObjAsString.match(linkRE);
418418

419419
if (linkMatches) {
420420
for (var i = 0; i < linkMatches.length; i++) {
421-
expandedLink = encodeURI(patternlab.data.link[linkMatches[i].split('.')[1]]);
422-
if (expandedLink) {
423-
expandedLink = expandedLink.replace('\\', '/');
424-
if (patternlab.config.debug) {
425-
console.log('expanded data link from ' + linkMatches[i] + ' to ' + expandedLink + ' inside ' + key);
421+
var dataLink = linkMatches[i];
422+
if (dataLink && dataLink.split('.').length >= 2) {
423+
var linkPatternPartial = dataLink.split('.')[1];
424+
var pattern = getPartial(linkPatternPartial, patternlab);
425+
if (pattern !== undefined) {
426+
var fullLink = patternlab.data.link[linkPatternPartial];
427+
if (fullLink) {
428+
fullLink = path.normalize(fullLink).replace(/\\/g, '/');
429+
if (patternlab.config.debug) {
430+
console.log('expanded data link from ' + dataLink + ' to ' + fullLink + ' inside ' + key);
431+
}
432+
dataObjAsString = dataObjAsString.replace(dataLink, fullLink);
433+
}
434+
} else {
435+
console.log('pattern not found for', dataLink, 'inside', key);
426436
}
427-
dataObjAsString = dataObjAsString.replace(linkMatches[i], expandedLink);
428437
}
429438
}
430439
}
@@ -449,7 +458,7 @@ var pattern_assembler = function () {
449458

450459
//loop through all patterns
451460
for (var i = 0; i < patternlab.patterns.length; i++) {
452-
patternlab.patterns[i].jsonFileData = parseDataLinksHelper(patternlab, patternlab.patterns[i].jsonFileData, patternlab.patterns[i].partial);
461+
patternlab.patterns[i].jsonFileData = parseDataLinksHelper(patternlab, patternlab.patterns[i].jsonFileData, patternlab.patterns[i].patternPartial);
453462
}
454463
}
455464

core/lib/ui_builder.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -240,12 +240,19 @@ var ui_builder = function () {
240240
* @returns {{patternPartial: string, patternName: (*|string), patternState: string, patternSrcPath: string, patternPath: string}}
241241
*/
242242
function createPatternSubTypeItem(pattern) {
243+
var patternPath = '';
244+
if (pattern.isFlatPattern) {
245+
patternPath = pattern.flatPatternPath + '-' + pattern.fileName + '/' + pattern.flatPatternPath + '-' + pattern.fileName + '.html';
246+
} else {
247+
patternPath = pattern.flatPatternPath + '/' + pattern.flatPatternPath + '.html';
248+
}
249+
243250
return {
244251
patternPartial: pattern.patternPartial,
245252
patternName: pattern.patternName,
246253
patternState: pattern.patternState,
247-
patternSrcPath: encodeURI(pattern.subdir + pattern.filename),
248-
patternPath: encodeURI(pattern.flatPatternPath + '/' + pattern.flatPatternPath + '.html')
254+
patternSrcPath: encodeURI(pattern.subdir + '/' + pattern.fileName),
255+
patternPath: patternPath
249256
}
250257
}
251258

@@ -299,7 +306,6 @@ var ui_builder = function () {
299306
patternType.patternItems.push({
300307
patternPartial: 'viewall-' + pattern.patternGroup + '-all',
301308
patternName: 'View All',
302-
patternSrcPath: encodeURI(pattern.patternType + '/index.html'),
303309
patternPath: encodeURI(pattern.patternType + '/index.html')
304310
});
305311
}

0 commit comments

Comments
 (0)