Hello guys, today I installed the following plugin to my tiddlywiki file:
- http://tobibeer.github.io/tw5-plugins/#preview
Whenever I hover a link it shows me a popun with the preview of the tiddler
and works as expected.
The problem is that when I stop hovering a link it continues to show me the
popup until I left-click.
Does anybody know what lines to add/change in order to hide the popup once
the hovering is over?
Here's the current javascript code:
/*\
> title: $:/plugins/tobibeer/preview/link.js
> type: application/javascript
> module-type: startup
>
> Enhances the link widget for on-hover previews
>
> @preserve
> \*/
> (function() {
> var e, t = require("$:/core/modules/widgets/link.js").link,
> i = t.prototype.render,
> o = t.prototype.handleClickEvent;
> t.prototype.render = function() {
> i.apply(this, arguments);
> var t = this,
> o = this.wiki,
> p = this.domNodes[0],
> r = o.getTiddler(t.to),
> n = "$:/plugins/tobibeer/preview/defaults/",
> u = "$:/temp/tobibeer/preview-",
> l = $tw.utils.parseKeyDescriptorTB(o.getTextReference(n +
> "keys", "").toUpperCase()),
> s = o.getTextReference(n + "delay").toUpperCase(),
> a = function(e) {
> var i = $tw.popup.popupInfo(e),
> p = i.popupLevel;
> return o.getTextReference(u + p) && o.getTextReference(u +
> p + "-tiddler") === t.to ? null : i
> },
> f = function() {
> var i, r = a(p);
> if (r) {
> i = r.popupLevel;
> clearTimeout(t.previewTimeout);
> $tw.popup.cancel(i);
> i++;
> o.setText(u + i + "-tiddler", "text", null, t.to);
> if ($tw.popup.findPopup(u + i) === -1) {
> setTimeout(function() {
> $tw.popup.triggerPopup({
> domNode: p,
> title: u + i,
> wiki: o
> });
> e = 0
> }, 50)
> }
> }
> },
> d = function() {
> var e, i, r = 1,
> u = o.getTextReference(n + "not", "");
> if (u) {
> $tw.utils.each(u.split(" "), function(e) {
> var t = p;
> while (t && r) {
> if ($tw.utils.hasClass(t, e)) {
> r = 0;
> return false
> }
> t = t.parentNode
> }
> })
> }
> if (r) {
> i = o.getTextReference(n + "exclude", "");
> e = i ? o.filterTiddlers(i) : [];
> if (e.indexOf(t.to) >= 0) {
> r = 0
> }
> }
> return r
> };
> s = s !== undefined ? parseInt(s) : null;
> if (s !== null && isNaN(s)) {
> s = 0
> }
> if (r) {
> $tw.utils.addClass(p, "tc-popup-handle");
> $tw.utils.addClass(p, "tc-popup-absolute");
> ["mouseover", "mouseout"].forEach(function(i) {
> p.addEventListener(i, function(o) {
> var p = o || window.event;
> if (i === "mouseover") {
> if (d()) {
> if (!p.keyCode) {
> p.keyCode = 0
> }
> if ($tw.utils.checkKeyDescriptorTB(p, l)) {
> if (!e) {
> e = 1;
> f()
> }
> } else if (s !== null) {
> e = 0;
> t.previewTimeout = setTimeout(f, s)
> }
> }
> } else {
> e = 0;
> clearTimeout(t.previewTimeout)
> }
> })
> })
> }
> };
> t.prototype.handleClickEvent = function() {
> o.apply(this, arguments);
> clearTimeout(this.previewTimeout);
> $tw.popup.cancel(Math.max(0,
> $tw.popup.popupInfo(this.domNodes[0]).popupLevel))
> }
> })();
>
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/1360bf91-b66a-4903-8aad-b7d9c8b22849o%40googlegroups.com.