|
1 | 1 | (function () { |
2 | | - |
| 2 | + |
| 3 | + // helper methods for filling gaps less capable browsers |
3 | 4 | var util =
8000
{ |
4 | 5 | getOuterHTML: function(el){ |
5 | 6 |
|
|
16 | 17 | temp = null |
17 | 18 |
|
18 | 19 | return outerHTML |
| 20 | + }, |
| 21 | + |
| 22 | + getDataAttr: function(el, attr){ |
| 23 | + return (el.dataset) ? el.dataset[attr] : el.getAttribute("data-" + attr) |
| 24 | + }, |
| 25 | + |
| 26 | + toggleClass: function(el, className){ |
| 27 | + if (el.classList){ |
| 28 | + el.classList.toggle(className) |
| 29 | + } |
| 30 | + else{ |
| 31 | + var classList = el.className.split(" "), |
| 32 | + index = classList.indexOf(className) |
| 33 | + |
| 34 | + if (index > -1){ |
| 35 | + classList.splice(index, 1) |
| 36 | + } |
| 37 | + else{ |
| 38 | + classList.push(className) |
| 39 | + } |
| 40 | + |
| 41 | + el.className = classList.join(" ") |
| 42 | + } |
19 | 43 | } |
20 | 44 | } |
21 | | - |
| 45 | + |
22 | 46 | function IssueDashboard(){ |
23 | 47 | var _dashboard = document.createElement("div"), |
24 | 48 | _offlineIssues = {}, |
|
41 | 65 |
|
42 | 66 | function toggleDashboard(e){ |
43 | 67 | e.preventDefault() |
44 | | - _dashboard.classList.toggle("open") |
| 68 | + util.toggleClass(_dashboard, "open") |
45 | 69 | } |
46 | 70 |
|
47 | 71
77F4
code> | function getNewIssues(){ |
|
123 | 147 | toggle.addEventListener("click", function(parent){ |
124 | 148 |
|
125 | 149 | return function(e){ |
126 | | - e.preventDefault() |
127 | | - parent.classList.toggle("showMarkup") |
| 150 | + e.preventDefault() |
| 151 | + util.toggleClass(parent, "showMarkup") |
128 | 152 | } |
129 | 153 |
|
130 | 154 | }(issueItem)) |
|
205 | 229 | // pluck out the bug data from the DOM object |
206 | 230 | issues.forEach(function (issue) { |
207 | 231 |
|
208 | | - var bugId = issue.dataset["bug_id"]; |
| 232 | + var bugId = util.getDataAttr(issue, "bug_id") |
209 | 233 |
|
210 | 234 | if (bugId){ |
211 | 235 | list[bugId] = { |
212 | | - "bug_status": issue.dataset["bug_status"], |
| 236 | + "bug_status": util.getDataAttr(issue, "bug_status"), |
213 | 237 | "short_desc": issue.querySelector(".short-desc").textContent.replace(/\n?\s+/g, " ") |
214 | 238 | } |
215 | 239 | } |
|
0 commit comments