X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=roojs-core-debug.js;h=991ce719a922a328f77da43cff35a83e4bb68cc6;hb=a35776a62e4bcafaef66ff2f66e5bb4775a49b7a;hp=82fe4290d7c951a25e764956b6d743bacb8acb55;hpb=84b1c42aed0e844a4257707890999cda8d3008c2;p=roojs1 diff --git a/roojs-core-debug.js b/roojs-core-debug.js index 82fe4290d7..991ce719a9 100644 --- a/roojs-core-debug.js +++ b/roojs-core-debug.js @@ -5949,12 +5949,15 @@ Roo.util.Observable.prototype = { relayEvents : function(o, events){ var createHandler = function(ename){ return function(){ + return this.fireEvent.apply(this, Roo.combine(ename, Array.prototype.slice.call(arguments, 0))); }; }; for(var i = 0, len = events.length; i < len; i++){ var ename = events[i]; - if(!this.events[ename]){ this.events[ename] = true; }; + if(!this.events[ename]){ + this.events[ename] = true; + }; o.on(ename, createHandler(ename), this); } }, @@ -6299,6 +6302,7 @@ Roo.EventManager = function(){ } } + var listen = function(element, ename, opt, fn, scope){ var o = (!opt || typeof opt == "boolean") ? {} : opt; @@ -8229,7 +8233,32 @@ if(opt.anim.isAnimated()){ if (this.dom) { Roo.EventManager.on(this.dom, eventName, fn, scope || this, options); } + if (eventName == 'dblclick') { + this.addListener('touchstart', this.onTapHandler, this); + } }, + tapedTwice : false, + onTapHandler : function(event) + { + if(!this.tapedTwice) { + this.tapedTwice = true; + var s = this; + setTimeout( function() { + s.tapedTwice = false; + }, 300 ); + return; + } + event.preventDefault(); + var revent = new MouseEvent('dblclick', { + view: window, + bubbles: true, + cancelable: true + }); + + this.dom.dispatchEvent(revent); + //action on double tap goes below + + }, /** * Removes an event handler from this element @@ -9361,7 +9390,7 @@ if(opt.anim.isAnimated()){ /** * @private */ - fitToParentDelegate : Roo.emptyFn, // keep a reference to the fitToParent delegate + fitToParentDelegate : Roo.emptyFn, // keep a reference to the fitToParent delegate /** * Sizes this element to its parent element's dimensions performing @@ -13961,7 +13990,26 @@ Roo.util.Format = function(){ */ stripTags : function(v){ return !v ? v : String(v).replace(this.stripTagsRE, ""); + }, + + /** + * Size in Mb,Gb etc. + * @param {Number} value The number to be formated + * @param {number} decimals how many decimal places + * @return {String} the formated string + */ + size : function(value, decimals) + { + var sizes = ['b', 'k', 'M', 'G', 'T']; + if (value == 0) { + return 0; + } + var i = parseInt(Math.floor(Math.log(value) / Math.log(1024))); + return Roo.util.Format.number(value/ Math.pow(1024, i) ,decimals) + ' ' + sizes[i]; } + + + }; }(); Roo.util.Format.defaults = { @@ -14476,7 +14524,44 @@ Roo.extend(Roo.util.ClickRepeater, Roo.util.Observable, { this.el.removeClass(this.pressClass); this.fireEvent("mouseup", this); } -});/* +});/** + * @class Roo.util.Clipboard + * @static + * + * Clipboard UTILS + * + **/ +Roo.util.Clipboard = { + /** + * Writes a string to the clipboard - using the Clipboard API if https, otherwise using text area. + * @param {String} text to copy to clipboard + */ + write : function(text) { + // navigator clipboard api needs a secure context (https) + if (navigator.clipboard && window.isSecureContext) { + // navigator clipboard api method' + navigator.clipboard.writeText(text); + return ; + } + // text area method + var ta = document.createElement("textarea"); + ta.value = text; + // make the textarea out of viewport + ta.style.position = "fixed"; + ta.style.left = "-999999px"; + ta.style.top = "-999999px"; + document.body.appendChild(ta); + ta.focus(); + ta.select(); + document.execCommand('copy'); + (function() { + ta.remove(); + }).defer(100); + + } + +} + /* * Based on: * Ext JS Library 1.1.1 * Copyright(c) 2006-2007, Ext JS, LLC. @@ -22564,7 +22649,7 @@ Roo.dd.DropTarget = function(el, config){ * target. This default implementation adds the CSS class specified by overClass (if any) to the drop element * and returns the dropAllowed config value. This method should be overridden if drop validation is required. * - * IMPORTANT : it should set this.overClass and this.dropAllowed + * IMPORTANT : it should set this.valid to true|false * * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target * @param {Event} e The event @@ -22578,7 +22663,7 @@ Roo.dd.DropTarget = function(el, config){ * This method will be called on every mouse movement while the drag source is over the drop target. * This default implementation simply returns the dropAllowed config value. * - * IMPORTANT : it should set this.dropAllowed + * IMPORTANT : it should set this.valid to true|false * * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target * @param {Event} e The event @@ -22592,6 +22677,7 @@ Roo.dd.DropTarget = function(el, config){ * out of the target without dropping. This default implementation simply removes the CSS class specified by * overClass (if any) from the drop element. * + * * @param {Roo.dd.DragSource} source The drag source that was dragged over this drop target * @param {Event} e The event * @param {Object} data An object containing arbitrary data supplied by the drag source