@@ -14,12 +14,13 @@
14 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Options:
15 15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
16 16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
.refresh: callback which is called just before the tooltip is
17 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
revealed or moved. It must refresh the contents of the tooltip,
18 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if needed, by applying the content to/within this.e, which is the
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- base DOM element for the tooltip. If the contents are static and
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set up via the .init option then this callback is not needed.
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ base DOM element for the tooltip (and is a child of
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ document.body). If the contents are static and set up via the
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ .init option then this callback is not needed.
21 22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
22 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
.adjustX: an optional callback which is called when the tooltip
23 24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
is to be displayed at a given position and passed the X
24 25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
viewport-relative coordinate. This routine must either return its
25 26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
argument as-is or return an adjusted value. The intent is to
@@ -144,11 +145,11 @@
144 145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Sidebar: showing/hiding the widget is, as is conventional for
145 146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
this framework, done by removing/adding the 'hidden' CSS class
146 147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
to it, so that class must be defined appropriately.
147 148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
148 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
show: function(){
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var x = 0, y = 0, showIt;
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var x = undefined, y = undefined, showIt;
150 151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if(2===arguments.length){
151 152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x = arguments[0];
152 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
y = arguments[1];
153 154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
showIt = true;
154 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if(1===arguments.length){
@@ -167,15 +168,63 @@
167 168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x = this.options.adjustX.call(this,x);
168 169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
y = this.options.adjustY.call(this,y);
169 170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
x += window.pageXOffset;
170 171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
y += window.pageYOffset;
171 172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- D[showIt ? 'removeClass' : 'addClass'](this.e, 'hidden');
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if(x || y){
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.e.style.left = x+"px";
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.e.style.top = y+"px";
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ console.debug("showIt?",showIt,x,y);
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(showIt){
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if('number'===typeof x && 'number'===typeof y){
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.e.style.left = x+"px";
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.e.style.top = y+"px";
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.removeClass(this.e, 'hidden');
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.addClass(this.e, 'hidden');
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ delete this.e.style.removeProperty('left');
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ delete this.e.style.removeProperty('top');
176 184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
177 185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return this;
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ },
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ hide: function(){return this.show(false)}
179 189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}/*F.PopupWidget.prototype*/;
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Convenience wrapper around a PopupWidget which pops up a shared
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ PopupWidget instance to show toast-style messages (commonly seen
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ on Android). Its arguments may be anything suitable for passing
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ to fossil.dom.append(), and each argument is first append()ed to
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ the toast widget, then the widget is shown for
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.toast.config.displayTimeMs milliseconds. This is called while
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ a toast is currently being displayed, the first will be overwritten
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ and the time until the message is hidden will be reset.
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ The toast is always shown at the viewport-relative coordinates
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ defined by the F.toast.config.position.
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ The toaster's DOM element has the CSS classes fossil-tooltip
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ and fossil-toast, so can be style via those.
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.toast = function f(/*...*/){
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!f.toast){
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ f.toast = function ff(argsObject){
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!ff.toaster) ff.toaster = new F.PopupWidget({
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cssClass: ['fossil-tooltip', 'fossil-toast']
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(f._timer) clearTimeout(f._timer);
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.clearElement(ff.toaster.e);
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var i = 0;
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for( ; i < argsObject.length; ++i ){
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(ff.toaster.e, argsObject[i]);
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ff.toaster.show(f.config.position.x, f.config.position.y);
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ f._timer = setTimeout(()=>ff.toaster.hide(), f.config.displayTimeMs);
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ f.toast(arguments);
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ F.toast.config = {
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ position: { x: 5, y: 5 /*viewport-relative, pixels*/ },
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ displayTimeMs: 2500
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
181 230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
})(window.fossil);
182 231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!