summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBart Visscher <bartv@thisnet.nl>2013-02-14 06:10:00 -0800
committerBart Visscher <bartv@thisnet.nl>2013-02-14 06:10:00 -0800
commitf4c9d4c06797a5c9e2f30d20a8e13686e98dd7f9 (patch)
treeaf8caa963a78089ad8d8716aac0625acfd13c4c4
parentae172ce7de767096b83f2626f889bc402c5a27c3 (diff)
parent022993c09865b90993c869053a3217e2700a6f22 (diff)
downloadnextcloud-server-f4c9d4c06797a5c9e2f30d20a8e13686e98dd7f9.tar.gz
nextcloud-server-f4c9d4c06797a5c9e2f30d20a8e13686e98dd7f9.zip
Merge pull request #1682 from owncloud/fix-ie8-master
Fix ie8 master
-rw-r--r--apps/files/js/jquery-visibility.js13
-rw-r--r--core/js/compatibility.js32
-rw-r--r--core/js/eventsource.js10
-rw-r--r--lib/base.php1
-rw-r--r--settings/js/users.js7
5 files changed, 50 insertions, 13 deletions
diff --git a/apps/files/js/jquery-visibility.js b/apps/files/js/jquery-visibility.js
index a824bf68730..18f57d1f2bd 100644
--- a/apps/files/js/jquery-visibility.js
+++ b/apps/files/js/jquery-visibility.js
@@ -3,7 +3,7 @@
var prefix,
property,
-// In Opera, `'onfocusin' in document == true`, hence the extra `hasFocus` check to detect IE-like behavior
+ // In Opera, `'onfocusin' in document == true`, hence the extra `hasFocus` check to detect IE-like behavior
eventName = 'onfocusin' in document && 'hasFocus' in document ? 'focusin focusout' : 'focus blur',
prefixes = ['', 'moz', 'ms', 'o', 'webkit'],
$support = $.support,
@@ -19,12 +19,11 @@
$(/blur$/.test(eventName) ? window : document).on(eventName, function (event) {
var type = event.type,
- originalEvent = event.originalEvent,
- toElement = originalEvent.toElement;
-// If it’s a `{focusin,focusout}` event (IE), `fromElement` and `toElement` should both be `null` or `undefined`;
-// else, the page visibility hasn’t changed, but the user just clicked somewhere in the doc.
-// In IE9, we need to check the `relatedTarget` property instead.
- if (!/^focus./.test(type) || (toElement == undefined && originalEvent.fromElement == undefined && originalEvent.relatedTarget == undefined)) {
+ originalEvent = event.originalEvent;
+ // If it’s a `{focusin,focusout}` event (IE), `fromElement` and `toElement` should both be `null` or `undefined`;
+ // else, the page visibility hasn’t changed, but the user just clicked somewhere in the doc.
+ // In IE9, we need to check the `relatedTarget` property instead.
+ if (!/^focus./.test(type) || originalEvent == undefined || (originalEvent.toElement == undefined && originalEvent.fromElement == undefined && originalEvent.relatedTarget == undefined)) {
$event.trigger((property && document[property] || /^(?:blur|focusout)$/.test(type) ? 'hide' : 'show') + '.visibility');
}
});
diff --git a/core/js/compatibility.js b/core/js/compatibility.js
new file mode 100644
index 00000000000..0cfeefab871
--- /dev/null
+++ b/core/js/compatibility.js
@@ -0,0 +1,32 @@
+
+//https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind
+if (!Function.prototype.bind) {
+ Function.prototype.bind = function (oThis) {
+ if (typeof this !== "function") {
+ // closest thing possible to the ECMAScript 5 internal IsCallable function
+ throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
+ }
+
+ var aArgs = Array.prototype.slice.call(arguments, 1),
+ fToBind = this,
+ fNOP = function () {},
+ fBound = function () {
+ return fToBind.apply(this instanceof fNOP && oThis
+ ? this
+ : oThis,
+ aArgs.concat(Array.prototype.slice.call(arguments)));
+ };
+
+ fNOP.prototype = this.prototype;
+ fBound.prototype = new fNOP();
+
+ return fBound;
+ };
+}
+
+//https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/Trim
+if(!String.prototype.trim) {
+ String.prototype.trim = function () {
+ return this.replace(/^\s+|\s+$/g,'');
+ };
+} \ No newline at end of file
diff --git a/core/js/eventsource.js b/core/js/eventsource.js
index f783ade7ae9..ce8c8387c8e 100644
--- a/core/js/eventsource.js
+++ b/core/js/eventsource.js
@@ -87,8 +87,10 @@ OC.EventSource.prototype={
useFallBack:false,
fallBackCallBack:function(type,data){
if(type){
- for(var i=0;i<this.listeners[type].length;i++){
- this.listeners[type][i](data);
+ if (typeof this.listeners['done'] != 'undefined') {
+ for(var i=0;i<this.listeners[type].length;i++){
+ this.listeners[type][i](data);
+ }
}
}else{
for(var i=0;i<this.typelessListeners.length;i++){
@@ -117,6 +119,8 @@ OC.EventSource.prototype={
}
},
close:function(){
- this.source.close();
+ if (typeof this.source !='undefined') {
+ this.source.close();
+ }
}
}
diff --git a/lib/base.php b/lib/base.php
index c60a97100f4..fd9a1d41121 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -278,6 +278,7 @@ class OC {
OC_Util::addScript("jquery-showpassword");
OC_Util::addScript("jquery.infieldlabel");
OC_Util::addScript("jquery-tipsy");
+ OC_Util::addScript("compatibility");
OC_Util::addScript("oc-dialogs");
OC_Util::addScript("js");
OC_Util::addScript("eventsource");
diff --git a/settings/js/users.js b/settings/js/users.js
index a70cf18ead3..da18b4be836 100644
--- a/settings/js/users.js
+++ b/settings/js/users.js
@@ -92,11 +92,12 @@ var UserList = {
UserList.applyMultiplySelect(subadminSelect);
}
if (tr.find('td.remove img').length == 0 && OC.currentUser != username) {
- var rm_img = $('<img>', {
- class: 'svg action',
+ var rm_img = $('<img class="svg action">').attr({
src: OC.imagePath('core', 'actions/delete')
});
- var rm_link = $('<a>', { class: 'action delete', href: '#', 'original-title': t('settings', 'Delete')}).append(rm_img);
+ var rm_link = $('<a class="action delete">')
+ .attr({ href: '#', 'original-title': t('settings', 'Delete')})
+ .append(rm_img);
tr.find('td.remove').append(rm_link);
} else if (OC.currentUser == username) {
tr.find('td.remove a').remove();