Added cross browser support of Array.indexOf method

https://fedorahosted.org/freeipa/ticket/2151
This commit is contained in:
Petr Vobornik 2011-12-01 10:31:05 +01:00 committed by Endi S. Dewata
parent 8956fdbf40
commit fd43a625a2
3 changed files with 63 additions and 0 deletions

View File

@ -12,6 +12,7 @@ app_DATA = \
add.js \
association.js \
automount.js \
browser.js \
certificate.js \
details.js \
dialog.js \

61
install/ui/browser.js Normal file
View File

@ -0,0 +1,61 @@
/* Authors:
* Petr Vobornik <pvoborni@redhat.com>
*
* Copyright (C) 2010 Red Hat
* see file 'COPYING' for use and warranty information
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* This file should contain functionality to support UI accross all major
* browsers.
*/
/*
* Add support of Array.indexOf method if missing.
* Source:
* https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf
*/
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
"use strict";
if (this === undefined || this === null) {
throw new TypeError();
}
var t = Object(this);
var len = t.length >>> 0;
if (len === 0) {
return -1;
}
var n = 0;
if (arguments.length > 0) {
n = Number(arguments[1]);
if (n !== n) { // shortcut for verifying if it's NaN
n = 0;
} else if (n !== 0 && n !== Infinity && n !== -Infinity) {
n = (n > 0 || -1) * Math.floor(Math.abs(n));
}
}
if (n >= len) {
return -1;
}
var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
for (; k < len; k++) {
if (k in t && t[k] === searchElement) {
return k;
}
}
return -1;
};
}

View File

@ -9,6 +9,7 @@
<script type="text/javascript" src="jquery-ui.js"></script>
<script type="text/javascript" src="jquery.ba-bbq.js"></script>
<script type="text/javascript" src="jquery.ordered-map.js"></script>
<script type="text/javascript" src="browser.js"></script>
<script type="text/javascript" src="ipa.js"></script>
<script type="text/javascript" src="widget.js"></script>