| @@ -94,8 +94,6 @@ class app.views.DocList extends app.View · 93 unmodified lines |
| 94 | $.stopEvent(event) | 94 | $.stopEvent(event) |
| 95 | doc = app.docs.findBy 'slug', event.target.getAttribute('data-slug') | 95 | doc = app.docs.findBy 'slug', event.target.getAttribute('data-slug') |
| 96 | | 96 | |
| 97 | @setFaviconForDoc(doc) | | |
| 98 | | | |
| 99 | if doc and not @lists[doc.slug] | 97 | if doc and not @lists[doc.slug] |
| 100 | @lists[doc.slug] = if doc.types.isEmpty() | 98 | @lists[doc.slug] = if doc.types.isEmpty() |
| 101 | new app.views.EntryList doc.entries.all() | 99 | new app.views.EntryList doc.entries.all() |
| @@ -113,29 +111,6 @@ class app.views.DocList extends app.View · 11 unmodified lines |
| 113 | delete @lists[doc.slug] | 111 | delete @lists[doc.slug] |
| 114 | return | 112 | return |
| 115 | | 113 | |
| 116 | setFaviconForDoc: (doc) -> | | |
| 117 | link = $("a._list-item[data-slug='#{doc.slug}']") | | |
| 118 | styles = window.getComputedStyle(link, ':before') | | |
| 119 | | | |
| 120 | bgUrl = styles['background-image'].slice(5, -2) | | |
| 121 | bgSize = if bgUrl.includes('@2x') then 32 else 16 | | |
| 122 | bgPositions = styles['background-position'].split(' ') | | |
| 123 | bgX = parseInt(bgPositions[0].slice(0, -2)) | | |
| 124 | bgY = parseInt(bgPositions[1].slice(0, -2)) | | |
| 125 | | | |
| 126 | img = new Image() | | |
| 127 | img.src = bgUrl | | |
| 128 | img.onload = () => | | |
| 129 | canvas = document.createElement('canvas') | | |
| 130 | | | |
| 131 | canvas.width = bgSize | | |
| 132 | canvas.height = bgSize | | |
| 133 | canvas.getContext('2d').drawImage(img, bgX, bgY) | | |
| 134 | | | |
| 135 | $('link[rel="icon"]').href = canvas.toDataURL() | | |
| 136 | return | | |
| 137 | return | | |
| 138 | | | |
| 139 | select: (model) -> | 114 | select: (model) -> |
| 140 | @listSelect.selectByHref model?.fullPath() | 115 | @listSelect.selectByHref model?.fullPath() |
| 141 | return | 116 | return |