Skip to content

Commit 74781fb

Browse files
committed
refactor: wrapping up refactoring / fixing eslint and prettier issues in remaining UIKit JavaScript component files
1 parent 9a7bda0 commit 74781fb

8 files changed

Lines changed: 125 additions & 109 deletions

File tree

packages/uikit-workshop/src/scripts/components/modal-styleguide.js

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ export const modalStyleguide = {
1818
*/
1919
onReady() {
2020
// go through the panel toggles and add click event to the pattern extra toggle button
21-
let els = document.querySelectorAll('.pl-js-pattern-extra-toggle');
21+
const els = document.querySelectorAll('.pl-js-pattern-extra-toggle');
2222
for (let i = 0; i < els.length; ++i) {
2323
els[i].onclick = function(e) {
24-
let patternPartial = this.getAttribute('data-patternpartial');
24+
const patternPartial = this.getAttribute('data-patternpartial');
2525
modalStyleguide.toggle(patternPartial);
2626
};
2727
}
@@ -36,7 +36,7 @@ export const modalStyleguide = {
3636
modalStyleguide.active[patternPartial] === undefined ||
3737
!modalStyleguide.active[patternPartial]
3838
) {
39-
let el = document.getElementById('pl-pattern-data-' + patternPartial);
39+
const el = document.getElementById('pl-pattern-data-' + patternPartial);
4040
modalStyleguide.collectAndSend(el, true, false);
4141
} else {
4242
modalStyleguide.highlightsHide();
@@ -116,7 +116,7 @@ export const modalStyleguide = {
116116
* getting thrown when certain script tags aren't rendered with partial.patternData content.
117117
*/
118118
if (/\S/.test(el.innerHTML)) {
119-
let patternData = JSON.parse(el.innerHTML);
119+
const patternData = JSON.parse(el.innerHTML);
120120
if (patternData.patternName !== undefined) {
121121
const patternMarkupEl = document.querySelector(
122122
'#' + patternData.patternPartial + ' > .pl-js-pattern-example'
@@ -172,8 +172,10 @@ export const modalStyleguide = {
172172
iframePassback,
173173
switchText,
174174
});
175-
parent.postMessage(obj, modalStyleguide.targetOrigin);
176-
} catch (e) {}
175+
window.parent.postMessage(obj, modalStyleguide.targetOrigin);
176+
} catch (e) {
177+
// @todo: how do we want to handle exceptions here?
178+
}
177179
},
178180

179181
/**
@@ -182,8 +184,6 @@ export const modalStyleguide = {
182184
* @param {Object} event info
183185
*/
184186
receiveIframeMessage(event) {
185-
let i;
186-
187187
// does the origin sending the message match the current host? if not dev/null the request
188188
if (
189189
window.location.protocol !== 'file:' &&
@@ -196,31 +196,31 @@ export const modalStyleguide = {
196196
try {
197197
data =
198198
typeof event.data !== 'string' ? event.data : JSON.parse(event.data);
199-
} catch (e) {}
199+
} catch (e) {
200+
// @todo: how do we want to handle exceptions here?
201+
}
200202

201203
// see if it got a path to replace
202-
if (data.event !== undefined && data.event == 'patternLab.patternQuery') {
203-
let els, iframePassback, patternData, patternMarkupEl;
204-
204+
if (data.event !== undefined && data.event === 'patternLab.patternQuery') {
205205
// find all elements related to pattern info
206-
els = document.querySelectorAll('.pl-js-pattern-data');
207-
iframePassback = els.length > 1;
206+
const els = document.querySelectorAll('.pl-js-pattern-data');
207+
const iframePassback = els.length > 1;
208208

209209
// send each up to the parent to be read and compiled into panels
210210
for (let i = 0; i < els.length; i++) {
211211
modalStyleguide.collectAndSend(els[i], iframePassback, data.switchText);
212212
}
213213
} else if (
214214
data.event !== undefined &&
215-
data.event == 'patternLab.patternModalInsert'
215+
data.event === 'patternLab.patternModalInsert'
216216
) {
217217
// insert the previously rendered content being passed from the iframe
218218
modalStyleguide.open(data.patternPartial, data.modalContent);
219219
} else if (
220220
data.event !== undefined &&
221-
data.event == 'patternLab.annotationsHighlightShow'
221+
data.event === 'patternLab.annotationsHighlightShow'
222222
) {
223-
let elsToHighlight, j, item, span;
223+
let elsToHighlight, item, span;
224224

225225
// go over the supplied annotations
226226
for (let i = 0; i < data.annotations.length; i++) {
@@ -238,12 +238,12 @@ export const modalStyleguide = {
238238
if (
239239
window
240240
.getComputedStyle(elsToHighlight[j], null)
241-
.getPropertyValue('max-height') == '0px'
241+
.getPropertyValue('max-height') === '0px'
242242
) {
243243
span.style.display = 'none';
244244
}
245245

246-
annotationTip = document.querySelector(
246+
const annotationTip = document.querySelector(
247247
item.el + ' > span.pl-c-annotation-tip'
248248
);
249249
if (annotationTip === null) {
@@ -255,35 +255,37 @@ export const modalStyleguide = {
255255
annotationTip.style.display = 'inline';
256256
}
257257

258-
elsToHighlight[j].onclick = (function(item) {
258+
elsToHighlight[j].onclick = (function(el) {
259259
return function(e) {
260260
e.preventDefault();
261261
e.stopPropagation();
262-
let obj = JSON.stringify({
262+
const obj = JSON.stringify({
263263
event: 'patternLab.annotationNumberClicked',
264-
displayNumber: item.displayNumber,
264+
displayNumber: el.displayNumber,
265265
});
266-
parent.postMessage(obj, modalStyleguide.targetOrigin);
266+
window.parent.postMessage(obj, modalStyleguide.targetOrigin);
267267
};
268268
})(item);
269269
}
270270
}
271271
}
272272
} else if (
273273
data.event !== undefined &&
274-
data.event == 'patternLab.annotationsHighlightHide'
274+
data.event === 'patternLab.annotationsHighlightHide'
275275
) {
276276
modalStyleguide.highlightsHide();
277277
} else if (
278278
data.event !== undefined &&
279-
data.event == 'patternLab.patternModalClose'
279+
data.event === 'patternLab.patternModalClose'
280280
) {
281-
let keys = [];
282-
for (let k in modalStyleguide.active) {
283-
keys.push(k);
281+
const keys = [];
282+
for (const k in modalStyleguide.active) {
283+
if (k) {
284+
keys.push(k);
285+
}
284286
}
285287
for (let i = 0; i < keys.length; i++) {
286-
let patternPartial = keys[i];
288+
const patternPartial = keys[i];
287289
if (modalStyleguide.active[patternPartial]) {
288290
modalStyleguide.close(patternPartial);
289291
}

packages/uikit-workshop/src/scripts/components/modal-viewer.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export const modalViewer = {
5353
modalViewer.hide();
5454

5555
// review the query strings in case there is something the modal viewer is supposed to handle by default
56-
var queryStringVars = urlHandler.getRequestVars();
56+
const queryStringVars = urlHandler.getRequestVars();
5757

5858
// show the modal if code view is called via query string
5959
if (
@@ -108,8 +108,6 @@ export const modalViewer = {
108108
* close the modal window
109109
*/
110110
close() {
111-
let obj;
112-
113111
// note that the modal viewer is no longer active
114112
DataSaver.updateValue('modalActive', 'false');
115113
modalViewer.active = false;
@@ -125,7 +123,7 @@ export const modalViewer = {
125123
$('.pl-js-pattern-info-toggle').html('Show Pattern Info');
126124

127125
// tell the styleguide to close
128-
obj = JSON.stringify({
126+
const obj = JSON.stringify({
129127
event: 'patternLab.patternModalClose',
130128
});
131129
document
@@ -151,7 +149,7 @@ export const modalViewer = {
151149
insert(templateRendered, patternPartial, iframePassback, switchText) {
152150
if (iframePassback) {
153151
// send a message to the pattern
154-
let obj = JSON.stringify({
152+
const obj = JSON.stringify({
155153
event: 'patternLab.patternModalInsert',
156154
patternPartial,
157155
modalContent: templateRendered.outerHTML,
@@ -201,14 +199,14 @@ export const modalViewer = {
201199
*/
202200
slideToAnnotation(pos) {
203201
// remove active class
204-
els = document.querySelectorAll('.pl-js-annotations li');
205-
for (i = 0; i < els.length; ++i) {
202+
const els = document.querySelectorAll('.pl-js-annotations li');
203+
for (let i = 0; i < els.length; ++i) {
206204
els[i].classList.remove('pl-is-active');
207205
}
208206

209207
// add active class to called element and scroll to it
210208
for (let i = 0; i < els.length; ++i) {
211-
if (i + 1 == pos) {
209+
if (i + 1 === pos) {
212210
els[i].classList.add('pl-is-active');
213211
$('.pl-js-pattern-info').animate(
214212
{
@@ -240,7 +238,7 @@ export const modalViewer = {
240238
}
241239

242240
// send a message to the pattern
243-
let obj = JSON.stringify({
241+
const obj = JSON.stringify({
244242
event: 'patternLab.patternQuery',
245243
switchText,
246244
});
@@ -268,7 +266,9 @@ export const modalViewer = {
268266
try {
269267
data =
270268
typeof event.data !== 'string' ? event.data : JSON.parse(event.data);
271-
} catch (e) {}
269+
} catch (e) {
270+
// @todo: how do we want to handle exceptions here?
271+
}
272272

273273
if (data.event !== undefined && data.event === 'patternLab.pageLoad') {
274274
if (

packages/uikit-workshop/src/scripts/components/panels-util.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ export const panelsUtil = {
99
* @param {String} the pattern partial for the modal
1010
*/
1111
addClickEvents(templateRendered, patternPartial) {
12-
var els = templateRendered.querySelectorAll('.pl-js-tab-link');
12+
const els = templateRendered.querySelectorAll('.pl-js-tab-link');
1313
for (let i = 0; i < els.length; ++i) {
1414
els[i].onclick = function(e) {
1515
e.preventDefault();
1616

17-
var patternPartial = this.getAttribute('data-patternpartial');
18-
var panelID = this.getAttribute('data-panelid');
19-
panelsUtil.show(patternPartial, panelID);
17+
const partial = this.getAttribute('data-patternpartial');
18+
const panelID = this.getAttribute('data-panelid');
19+
panelsUtil.show(partial, panelID);
2020
};
2121
}
2222

packages/uikit-workshop/src/scripts/components/panels-viewer.js

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,14 @@ export const panelsViewer = {
5454
Dispatcher.addListener('checkPanels', panelsViewer.checkPanels);
5555

5656
// set-up defaults
57-
let template, templateCompiled, templateRendered, panel;
57+
let template, templateCompiled, templateRendered;
5858

5959
// get the base panels
60-
let panels = Panels.get();
60+
const panels = Panels.get();
6161

6262
// evaluate panels array and create content
6363
for (let i = 0; i < panels.length; ++i) {
64-
panel = panels[i];
64+
const panel = panels[i];
6565

6666
// catch pattern panel since it doesn't have a name defined by default
6767
if (panel.name === undefined) {
@@ -79,11 +79,13 @@ export const panelsViewer = {
7979
if (panel.templateID !== undefined && panel.templateID) {
8080
if (panel.httpRequest !== undefined && panel.httpRequest) {
8181
// need a file and then render
82-
let fileBase = urlHandler.getFileName(
82+
const fileBase = urlHandler.getFileName(
8383
patternData.patternPartial,
8484
false
8585
);
86-
let e = new XMLHttpRequest();
86+
const e = new XMLHttpRequest();
87+
// @todo: look deeper into how we can refactor this particular code block
88+
/* eslint-disable */
8789
e.onload = (function(i, panels, patternData, iframeRequest) {
8890
return function() {
8991
const prismedContent = Prism.highlight(
@@ -105,7 +107,7 @@ export const panelsViewer = {
105107
]);
106108
};
107109
})(i, panels, patternData, iframePassback);
108-
110+
/* eslint-enable */
109111
e.open(
110112
'GET',
111113
fileBase + panel.httpRequestReplace + '?' + new Date().getTime(),
@@ -135,11 +137,13 @@ export const panelsViewer = {
135137
* @param {String} the data from the pattern
136138
* @param {Boolean} if this is going to be passed back to the styleguide
137139
*/
138-
renderPanels(panels, patternData, iframePassback, switchText) {
140+
renderPanels(panels, plData, iframePassback, switchText) {
139141
// set-up defaults
140-
let template, templateCompiled, templateRendered;
141-
let annotation, comment, count, div, els, item, markup, i;
142-
let patternPartial = patternData.patternPartial;
142+
const patternData = plData; // prevents params from getting re-assigned
143+
144+
let templateRendered;
145+
let annotation, count, els, item;
146+
const patternPartial = patternData.patternPartial;
143147
patternData.panels = panels;
144148

145149
// set a default pattern description for modal pop-up
@@ -151,15 +155,15 @@ export const panelsViewer = {
151155
patternData.patternNameCaps = patternData.patternName.toUpperCase();
152156

153157
// check for annotations in the given mark-up
154-
markup = document.createElement('div');
158+
const markup = document.createElement('div');
155159
markup.innerHTML = patternData.patternMarkup;
156160

157161
count = 1;
158162
patternData.annotations = [];
159163
delete patternData.patternMarkup;
160164

161-
for (let i = 0; i < comments.comments.length; ++i) {
162-
item = comments.comments[i];
165+
for (let i = 0; i < window.comments.comments.length; ++i) {
166+
item = window.comments.comments[i];
163167
els = markup.querySelectorAll(item.el);
164168

165169
if (els.length > 0) {
@@ -176,7 +180,7 @@ export const panelsViewer = {
176180

177181
// alert the pattern that annotations should be highlighted
178182
if (patternData.annotations.length > 0) {
179-
let obj = JSON.stringify({
183+
const obj = JSON.stringify({
180184
event: 'patternLab.annotationsHighlightShow',
181185
annotations: patternData.annotations,
182186
});
@@ -234,12 +238,12 @@ export const panelsViewer = {
234238
patternData.isPatternView = iframePassback === false;
235239

236240
// render all of the panels in the base panel template
237-
template = document.querySelector('.pl-js-panel-template-base');
238-
templateCompiled = Hogan.compile(template.innerHTML);
241+
const template = document.querySelector('.pl-js-panel-template-base');
242+
const templateCompiled = Hogan.compile(template.innerHTML);
239243
templateRendered = templateCompiled.render(patternData);
240244

241245
// make sure templateRendered is modified to be an HTML element
242-
div = document.createElement('div');
246+
const div = document.createElement('div');
243247
div.className = 'pl-c-pattern-info';
244248
div.innerHTML = templateRendered;
245249
templateRendered = div;
@@ -272,7 +276,7 @@ export const panelsViewer = {
272276
// find lineage links in the rendered content and add postmessage handlers in case it's in the modal
273277
$('.pl-js-lineage-link', templateRendered).on('click', function(e) {
274278
e.preventDefault();
275-
let obj = JSON.stringify({
279+
const obj = JSON.stringify({
276280
event: 'patternLab.updatePath',
277281
path: urlHandler.getFileName($(this).attr('data-patternpartial')),
278282
});

0 commit comments

Comments
 (0)