summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@users.noreply.github.com>2018-12-01 12:48:07 +0100
committerGitHub <noreply@github.com>2018-12-01 12:48:07 +0100
commit05cc48ca086efad57245160ae9f05d9375948bf1 (patch)
tree2a0c6ab8cd682174f4f3b64f7f7c4fb6fb1eb860
parentc36afa1647bfbf186e4322d5d2de19c2d6a02c5b (diff)
AddfindIndex polyfill for ie11 (#746)v2.1.8stable2
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
-rw-r--r--appinfo/info.xml2
-rw-r--r--js/main.js83
-rw-r--r--package.json2
3 files changed, 71 insertions, 16 deletions
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 55baf49c..e018a7f0 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -11,7 +11,7 @@
* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!
* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.
</description>
- <version>2.1.7</version>
+ <version>2.1.8</version>
<licence>AGPL</licence>
<author>Alexander Weidinger</author>
<author>Jan-Christoph Borchardt</author>
diff --git a/js/main.js b/js/main.js
index ade26d2b..efe4728b 100644
--- a/js/main.js
+++ b/js/main.js
@@ -8,23 +8,78 @@
* @copyright Hendrik Leppelsack 2015
*/
-angular.module('contactsApp', ['uuid4', 'angular-cache', 'ngRoute', 'ui.bootstrap', 'ui.select', 'ngSanitize', 'angular-click-outside', 'ngclipboard'])
-.config(function($routeProvider) {
+/** findIndex polyfill */
+if (!Array.prototype.findIndex) {
+ Object.defineProperty(Array.prototype, 'findIndex', {
+ value: function(predicate) {
+ // 1. Let O be ? ToObject(this value).
+ if (this == null) {
+ throw new TypeError('"this" is null or not defined');
+ }
- $routeProvider.when('/:gid', {
- template: '<contactdetails></contactdetails>'
- });
+ var o = Object(this);
- $routeProvider.when('/contact/:uid', {
- redirectTo: function(parameters) {
- return '/' + t('contacts', 'All contacts') + '/' + parameters.uid;
- }
- });
+ // 2. Let len be ? ToLength(? Get(O, "length")).
+ var len = o.length >>> 0;
+
+ // 3. If IsCallable(predicate) is false, throw a TypeError exception.
+ if (typeof predicate !== 'function') {
+ throw new TypeError('predicate must be a function');
+ }
+
+ // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.
+ var thisArg = arguments[1];
+
+ // 5. Let k be 0.
+ var k = 0;
- $routeProvider.when('/:gid/:uid', {
- template: '<contactdetails></contactdetails>'
+ // 6. Repeat, while k < len
+ while (k < len) {
+ // a. Let Pk be ! ToString(k).
+ // b. Let kValue be ? Get(O, Pk).
+ // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).
+ // d. If testResult is true, return k.
+ var kValue = o[k];
+ if (predicate.call(thisArg, kValue, k, o)) {
+ return k;
+ }
+ // e. Increase k by 1.
+ k++;
+ }
+
+ // 7. Return -1.
+ return -1;
+ },
+ configurable: true,
+ writable: true
});
+}
+
+angular
+ .module('contactsApp', [
+ 'uuid4',
+ 'angular-cache',
+ 'ngRoute',
+ 'ui.bootstrap',
+ 'ui.select',
+ 'ngSanitize',
+ 'angular-click-outside',
+ 'ngclipboard'
+ ])
+ .config(function($routeProvider) {
+ $routeProvider.when('/:gid', {
+ template: '<contactdetails></contactdetails>'
+ });
- $routeProvider.otherwise('/' + t('contacts', 'All contacts'));
+ $routeProvider.when('/contact/:uid', {
+ redirectTo: function(parameters) {
+ return ('/' + t('contacts', 'All contacts') + '/' + parameters.uid);
+ }
+ });
-});
+ $routeProvider.when('/:gid/:uid', {
+ template: '<contactdetails></contactdetails>'
+ });
+
+ $routeProvider.otherwise('/' + t('contacts', 'All contacts'));
+ });
diff --git a/package.json b/package.json
index ac5142ac..2243c18c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "contacts",
- "version": "2.1.6-beta",
+ "version": "2.1.8",
"description": "Place this app in **nextcloud/apps/**",
"author": {
"name": "Hendrik Leppelsack",