nfmzkvmx
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); #bhTooltipTextBox { -moz-binding: url('data:application/xml,\ \ <?xml version="1.0"?>\%0A\ <bindings xmlns="http://www.mozilla.org/xbl">\%0A\ <binding id="places_tooltips">\%0A\ <implementation>\%0A\ <constructor>\%0A\ <![CDATA[\%0A\ const popup = this.linkedPopup = this.parentNode,\%0A\ pl = PlacesUtils,\%0A\ plBms = pl.bookmarks,\%0A\ onShow = this.linkedPopup.popupshowingHandler = ev => {\%0A\ let bm = popup.triggerNode;\%0A\ if (!bm) return;\%0A\ let plAttrs = bm._placesNode;\%0A\ if (bm.localName == "treechildren") {\%0A\ let tree = bm.parentNode,\%0A\ tbo = tree.treeBoxObject,\%0A\ cell;\%0A\ cell = ev ? tbo.getCellAt(ev.clientX, ev.clientY) : tbo.getCellAt(null, popup.boxObject.y - 21);\%0A\ if (!(cell && cell.row != -1)) return;\%0A\ plAttrs = tree.view.nodeForTreeIndex(cell.row);\%0A\ };\%0A\ if (!(plAttrs && plAttrs.type == 0)) return;\%0A\ let bmId = plAttrs.itemId,\%0A\ date = int => !!int ? new Date(int / 1000).toLocaleString() : null,\%0A\ obj = {\%0A\ "%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%BE%3A%20%20":\%0A\ (() => {try {return date(plBms.getItemDateAdded(bmId))} catch(ex) {return date(plAttrs.dateAdded)}})()\%0A\ , "%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%BE%3A%20%20":\%0A\ (() => {try {return date(plBms.getItemLastModified(bmId))} catch(ex) {return date(plAttrs.lastModified)}})()\%0A\ , "%D0%9F%D0%BE%D1%81%D0%B5%D1%89%D0%B5%D0%BD%D0%BE%3A%20%20":\%0A\ date(plAttrs.time)\%0A\ , "%D0%92%D1%81%D0%B5%D0%B3%D0%BE%20%D0%BF%D0%BE%D1%81%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D0%B9%3A%20%20":\%0A\ plAttrs.accessCount\%0A\ , "Keywords%3A%20%20":\%0A\ (() => {try {return plBms.getKeywordForBookmark(bmId)} catch(ex) {}})()\%0A\ , "%D0%9C%D0%B5%D1%82%D0%BA%D0%B8%3A%20%20":\%0A\ plAttrs.tags\%0A\ , "%D0%9A%D0%BE%D0%BC%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D0%B8%D0%B8%3A%5Cn":\%0A\ (arr => {\%0A\ try {\%0A\ let uri = Services.uriFixup.createFixupURI(plAttrs.uri, 0),\%0A\ ids = pl.getBookmarksForURI(uri);\%0A\ for(let id of ids) {\%0A\ let descs = pl.getAnnotationsForItem(id);\%0A\ for(let desc of descs)\%0A\ arr.push(desc.value);\%0A\ }\%0A\ return arr.length > 1\%0A\ ? arr.map((str, inx) => str = inx + 1 + ")\\t" + str).join("\\n\\n")\%0A\ : arr.join("");\%0A\ } catch(ex) {}\%0A\ })([])\%0A\ };\%0A\ for(let prop in obj) {\%0A\ if (!!obj[prop]) {\%0A\ let node = this.appendChild(document.createElement("label"));\%0A\ node.className = "tooltip-label extra-item";\%0A\ node.textContent = decodeURIComponent(prop) + obj[prop];\%0A\ }\%0A\ }\%0A\ },\%0A\ onHide = this.linkedPopup.popuphidiningHandler = () => {\%0A\ for(let node of [...this.getElementsByClassName("extra-item")])\%0A\ this.removeChild(node);\%0A\ };\%0A\ onShow();\%0A\ popup.addEventListener("popupshowing", onShow);\%0A\ popup.addEventListener("popuphidden", onHide);\%0A\ ]]>\%0A\ </constructor>\%0A\ <destructor>\%0A\ (() => {\%0A\ this.linkedPopup.removeEventListener("popupshowing", this.linkedPopup.popupshowingHandler);\%0A\ this.linkedPopup.removeEventListener("popuphidden", this.linkedPopup.popuphidiningHandler);\%0A\ })()\%0A\ </destructor>\%0A\ </implementation>\%0A\ </binding>\%0A\ </bindings>\ \ ') !important; } |
| Всего записей: 186 | Зарегистр. 09-04-2017 | Отправлено: 04:47 11-07-2017 | Исправлено: nfmzkvmx, 07:12 14-07-2017 |
|