noalyss-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Noalyss-commit] [noalyss] 04/04: reverse to prototype.js due to a still


From: Dany De Bontridder
Subject: [Noalyss-commit] [noalyss] 04/04: reverse to prototype.js due to a still existing bug with autocomplete and div = absolute
Date: Mon, 29 Feb 2016 12:03:10 +0000

sparkyx pushed a commit to branch master
in repository noalyss.

commit 379fdb1f643022ae0c1d5444ade01aa0bb985a07
Author: Dany De Bontridder <address@hidden>
Date:   Mon Feb 29 12:50:25 2016 +0100

    reverse to prototype.js due to a still existing bug with autocomplete and 
div = absolute
---
 html/js/prototype.js |  184 ++++++++++++++-----------------------------------
 1 files changed, 53 insertions(+), 131 deletions(-)

diff --git a/html/js/prototype.js b/html/js/prototype.js
index cc89daf..5c7ed2b 100644
--- a/html/js/prototype.js
+++ b/html/js/prototype.js
@@ -1,4 +1,4 @@
-/*  Prototype JavaScript framework, version 1.7.3
+/*  Prototype JavaScript framework, version 1.7.2
  *  (c) 2005-2010 Sam Stephenson
  *
  *  Prototype is freely distributable under the terms of an MIT-style license.
@@ -8,7 +8,7 @@
 
 var Prototype = {
 
-  Version: '1.7.3',
+  Version: '1.7.2',
 
   Browser: (function(){
     var ua = navigator.userAgent;
@@ -621,7 +621,7 @@ Object.extend(String.prototype, (function() {
   }
 
   function stripTags() {
-    return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?(\/)?>|<\/\w+>/gi, 
'');
+    return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, '');
   }
 
   function stripScripts() {
@@ -734,7 +734,7 @@ Object.extend(String.prototype, (function() {
 
   function evalJSON(sanitize) {
     var json = this.unfilterJSON(),
-        cx = 
/[\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff\u0000]/g;
+        cx = 
/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
     if (cx.test(json)) {
       json = json.replace(cx, function (a) {
         return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
@@ -1332,9 +1332,10 @@ Array.from = $A;
   }
 
   if (arrayProto.some) {
-    some = wrapNative(Array.prototype.some);
+    var some = wrapNative(Array.prototype.some);
   }
 
+
   function every(iterator) {
     if (this == null) throw new TypeError();
     iterator = iterator || Prototype.K;
@@ -1351,16 +1352,22 @@ Array.from = $A;
   }
 
   if (arrayProto.every) {
-    every = wrapNative(Array.prototype.every);
+    var every = wrapNative(Array.prototype.every);
   }
 
+  var _reduce = arrayProto.reduce;
+  function inject(memo, iterator) {
+    iterator = iterator || Prototype.K;
+    var context = arguments[2];
+    return _reduce.call(this, iterator.bind(context), memo);
+  }
 
-  Object.extend(arrayProto, Enumerable);
-
-  if (arrayProto.entries === Enumerable.entries) {
-    delete arrayProto.entries;
+  if (!arrayProto.reduce) {
+    var inject = Enumerable.inject;
   }
 
+  Object.extend(arrayProto, Enumerable);
+
   if (!arrayProto._reverse)
     arrayProto._reverse = arrayProto.reverse;
 
@@ -1376,6 +1383,7 @@ Array.from = $A;
     any:       some,
     every:     every,
     all:       every,
+    inject:    inject,
 
     clear:     clear,
     first:     first,
@@ -2138,12 +2146,12 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
 
 
   function visible(element) {
-    return $(element).getStyle('display') !== 'none';
+    return $(element).style.display !== 'none';
   }
 
   function toggle(element, bool) {
     element = $(element);
-    if (typeof bool !== 'boolean')
+    if (Object.isUndefined(bool))
       bool = !Element.visible(element);
     Element[bool ? 'show' : 'hide'](element);
 
@@ -2675,7 +2683,6 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
 
   function descendantOf_DOM(element, ancestor) {
     element = $(element), ancestor = $(ancestor);
-    if (!element || !ancestor) return false;
     while (element = element.parentNode)
       if (element === ancestor) return true;
     return false;
@@ -2683,14 +2690,12 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
 
   function descendantOf_contains(element, ancestor) {
     element = $(element), ancestor = $(ancestor);
-    if (!element || !ancestor) return false;
     if (!ancestor.contains) return descendantOf_DOM(element, ancestor);
     return ancestor.contains(element) && ancestor !== element;
   }
 
   function descendantOf_compareDocumentPosition(element, ancestor) {
     element = $(element), ancestor = $(ancestor);
-    if (!element || !ancestor) return false;
     return (element.compareDocumentPosition(ancestor) & 8) === 8;
   }
 
@@ -2795,10 +2800,8 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
     for (var attr in attributes) {
       name = table.names[attr] || attr;
       value = attributes[attr];
-      if (table.values[attr]) {
-        value = table.values[attr](element, value);
-        if (Object.isUndefined(value)) continue;
-      }
+      if (table.values[attr])
+        name = table.values[attr](element, value) || name;
       if (value === false || value === null)
         element.removeAttribute(name);
       else if (value === true)
@@ -2976,9 +2979,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
 
     values: {
       checked: function(element, value) {
-        value = !!value;
-        element.checked = value;
-        return value ? 'checked' : null;
+        element.checked = !!value;
       },
 
       style: function(element, value) {
@@ -3123,11 +3124,8 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
       value = element.currentStyle[style];
     }
 
-    if (style === 'opacity') {
-      if (!STANDARD_CSS_OPACITY_SUPPORTED)
-        return getOpacity_IE(element);
-      else return value ? parseFloat(value) : 1.0;
-    }
+    if (style === 'opacity' && !STANDARD_CSS_OPACITY_SUPPORTED)
+      return getOpacity_IE(element);
 
     if (value === 'auto') {
       if ((style === 'width' || style === 'height') && 
Element.visible(element))
@@ -3179,7 +3177,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
     if (value < 0.00001) value = 0;
 
     style.filter = stripAlphaFromFilter_IE(filter) +
-     ' alpha(opacity=' + (value * 100) + ')';
+     'alpha(opacity=' + (value * 100) + ')';
 
     return element;
   }
@@ -3195,7 +3193,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
 
     var filter = Element.getStyle(element, 'filter');
     if (filter.length === 0) return 1.0;
-    var match = (filter || '').match(/alpha\(opacity=(.*)\)/i);
+    var match = (filter || '').match(/alpha\(opacity=(.*)\)/);
     if (match && match[1]) return parseFloat(match[1]) / 100;
     return 1.0;
   }
@@ -3521,7 +3519,7 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
     return boxWidth - bl - br - pl - pr;
   }
 
-  if (!Object.isUndefined(document.documentElement.currentStyle) && 
!Prototype.Browser.Opera) {
+  if ('currentStyle' in document.documentElement) {
     getRawStyle = getRawStyle_IE;
   }
 
@@ -4049,19 +4047,15 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
   function getOffsetParent(element) {
     element = $(element);
 
-    function selfOrBody(element) {
-      return isHtml(element) ? $(document.body) : $(element);
-    }
-
     if (isDocument(element) || isDetached(element) || isBody(element) || 
isHtml(element))
       return $(document.body);
 
     var isInline = (Element.getStyle(element, 'display') === 'inline');
-    if (!isInline && element.offsetParent) return 
selfOrBody(element.offsetParent);
+    if (!isInline && element.offsetParent) return $(element.offsetParent);
 
     while ((element = element.parentNode) && element !== document.body) {
       if (Element.getStyle(element, 'position') !== 'static') {
-        return selfOrBody(element);
+        return isHtml(element) ? $(document.body) : $(element);
       }
     }
 
@@ -4099,8 +4093,8 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
       }
     } while (element);
 
-    valueL -= layout.get('margin-left');
-    valueT -= layout.get('margin-top');
+    valueL -= layout.get('margin-top');
+    valueT -= layout.get('margin-left');
 
     return new Element.Offset(valueL, valueT);
   }
@@ -4271,8 +4265,6 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
       offsetLeft: 0
     }, options || {});
 
-    var docEl = document.documentElement;
-
     source  = $(source);
     element = $(element);
     var p, delta, layout, styles = {};
@@ -4286,41 +4278,19 @@ Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
       }
     }
 
-    function pageScrollXY() {
-      var x = 0, y = 0;
-      if (Object.isNumber(window.pageXOffset)) {
-        x = window.pageXOffset;
-        y = window.pageYOffset;
-      } else if (document.body && (document.body.scrollLeft || 
document.body.scrollTop)) {
-        x = document.body.scrollLeft;
-        y = document.body.scrollTop;
-      } else if (docEl && (docEl.scrollLeft || docEl.scrollTop)) {
-        x = docEl.scrollLeft;
-        y = docEl.scrollTop;
-      }
-      return { x: x, y: y };
-    }
-
-    var pageXY = pageScrollXY();
-
-
     if (options.setWidth || options.setHeight) {
       layout = Element.getLayout(source);
     }
 
     if (options.setLeft)
-      styles.left = (p[0] + pageXY.x - delta[0] + options.offsetLeft) + 'px';
+      styles.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
     if (options.setTop)
-      styles.top  = (p[1] + pageXY.y - delta[1] + options.offsetTop)  + 'px';
-
-    var currentLayout = element.getLayout();
+      styles.top  = (p[1] - delta[1] + options.offsetTop)  + 'px';
 
-    if (options.setWidth) {
-      styles.width = layout.get('width')  + 'px';
-    }
-    if (options.setHeight) {
-      styles.height = layout.get('height') + 'px';
-    }
+    if (options.setWidth)
+      styles.width  = layout.get('border-box-width')  + 'px';
+    if (options.setHeight)
+      styles.height = layout.get('border-box-height') + 'px';
 
     return Element.setStyle(element, styles);
   }
@@ -4518,29 +4488,15 @@ Prototype.Selector = (function() {
   };
 })();
 Prototype._original_property = window.Sizzle;
-
-;(function () {
-  function fakeDefine(fn) {
-    Prototype._actual_sizzle = fn();
-  }
-  fakeDefine.amd = true;
-
-  if (typeof define !== 'undefined' && define.amd) {
-    Prototype._original_define = define;
-    Prototype._actual_sizzle = null;
-    window.define = fakeDefine;
-  }
-})();
-
 /*!
- * Sizzle CSS Selector Engine v1.10.18
+ * Sizzle CSS Selector Engine address@hidden
  * http://sizzlejs.com/
  *
  * Copyright 2013 jQuery Foundation, Inc. and other contributors
  * Released under the MIT license
  * http://jquery.org/license
  *
- * Date: 2014-02-05
+ * Date: @DATE
  */
 (function( window ) {
 
@@ -6273,22 +6229,6 @@ if ( typeof define === "function" && define.amd ) {
 
 })( window );
 
-;(function() {
-  if (typeof Sizzle !== 'undefined') {
-    return;
-  }
-
-  if (typeof define !== 'undefined' && define.amd) {
-    window.Sizzle = Prototype._actual_sizzle;
-    window.define = Prototype._original_define;
-    delete Prototype._actual_sizzle;
-    delete Prototype._original_define;
-  } else if (typeof module !== 'undefined' && module.exports) {
-    window.Sizzle = module.exports;
-    module.exports = {};
-  }
-})();
-
 ;(function(engine) {
   var extendElements = Prototype.Selector.extendElements;
 
@@ -6930,7 +6870,7 @@ Form.EventObserver = Class.create(Abstract.EventObserver, 
{
 
   Event._isCustomEvent = isCustomEvent;
 
-  function getOrCreateRegistryFor(element, uid) {
+  function getRegistryForElement(element, uid) {
     var CACHE = GLOBAL.Event.cache;
     if (Object.isUndefined(uid))
       uid = getUniqueElementID(element);
@@ -6946,7 +6886,7 @@ Form.EventObserver = Class.create(Abstract.EventObserver, 
{
 
 
   function register(element, eventName, handler) {
-    var registry = getOrCreateRegistryFor(element);
+    var registry = getRegistryForElement(element);
     if (!registry[eventName]) registry[eventName] = [];
     var entries = registry[eventName];
 
@@ -6966,8 +6906,9 @@ Form.EventObserver = Class.create(Abstract.EventObserver, 
{
   }
 
   function unregister(element, eventName, handler) {
-    var registry = getOrCreateRegistryFor(element);
-    var entries = registry[eventName] || [];
+    var registry = getRegistryForElement(element);
+    var entries = registry[eventName];
+    if (!entries) return;
 
     var i = entries.length, entry;
     while (i--) {
@@ -6977,16 +6918,10 @@ Form.EventObserver = 
Class.create(Abstract.EventObserver, {
       }
     }
 
-    if (entry) {
-      var index = entries.indexOf(entry);
-      entries.splice(index, 1);
-    }
+    if (!entry) return;
 
-    if (entries.length === 0) {
-      delete registry[eventName];
-      if (Object.keys(registry).length === 1 && ('element' in registry))
-        destroyRegistryForElement(element);
-    }
+    var index = entries.indexOf(entry);
+    entries.splice(index, 1);
 
     return entry;
   }
@@ -7085,24 +7020,14 @@ Form.EventObserver = 
Class.create(Abstract.EventObserver, {
   }
 
   function stopObservingEventName(element, eventName) {
-    var registry = getOrCreateRegistryFor(element);
+    var registry = getRegistryForElement(element);
     var entries = registry[eventName];
-    if (entries) {
-      delete registry[eventName];
-    }
-
-    entries = entries || [];
+    if (!entries) return;
+    delete registry[eventName];
 
     var i = entries.length;
     while (i--)
       removeEvent(element, eventName, entries[i].responder);
-
-    for (var name in registry) {
-      if (name === 'element') continue;
-      return; // There is another registered event
-    }
-
-    destroyRegistryForElement(element);
   }
 
 
@@ -7269,8 +7194,7 @@ Form.EventObserver = Class.create(Abstract.EventObserver, 
{
 
   function createResponderForCustomEvent(uid, eventName, handler) {
     return function(event) {
-      var cache = Event.cache[uid];
-      var element =  cache && cache.element;
+      var element = Event.cache[uid].element;
 
       if (Object.isUndefined(event.eventName))
         return false;
@@ -7359,9 +7283,7 @@ Hash.toQueryString = Object.toQueryString;
 
 var Toggle = { display: Element.toggle };
 
-Element.addMethods({
-  childOf: Element.Methods.descendantOf
-});
+Element.Methods.childOf = Element.Methods.descendantOf;
 
 var Insertion = {
   Before: function(element, content) {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]