summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.js4
-rw-r--r--package-lock.json1353
-rw-r--r--package.json2
-rw-r--r--src/admin-settings.js2
-rw-r--r--src/components/Actions/ActionCopyNtoFN.vue6
-rw-r--r--src/components/Actions/ActionToggleYear.vue4
-rw-r--r--src/components/AdminSettings.vue3
-rw-r--r--src/components/AppContent/ChartContent.vue4
-rw-r--r--src/components/AppContent/CircleContent.vue25
-rw-r--r--src/components/AppContent/ContactsContent.vue27
-rw-r--r--src/components/AppNavigation/CircleNavigationItem.vue51
-rw-r--r--src/components/AppNavigation/ContactsSettings.vue10
-rw-r--r--src/components/AppNavigation/GroupNavigationItem.vue38
-rw-r--r--src/components/AppNavigation/RootNavigation.vue82
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbook.vue34
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbookShare.vue9
-rw-r--r--src/components/AppNavigation/Settings/SettingsAddressbookSharee.vue13
-rw-r--r--src/components/AppNavigation/Settings/SettingsImportContacts.vue23
-rw-r--r--src/components/AppNavigation/Settings/SettingsNewAddressbook.vue2
-rw-r--r--src/components/AppNavigation/Settings/SettingsSortContacts.vue7
-rw-r--r--src/components/ChartTemplate.vue5
-rw-r--r--src/components/CircleDetails.vue35
-rw-r--r--src/components/CircleDetails/CircleConfigs.vue4
-rw-r--r--src/components/CircleDetails/CirclePasswordSettings.vue15
-rw-r--r--src/components/ContactDetails.vue56
-rw-r--r--src/components/ContactDetails/ContactDetailsAddNewProp.vue10
-rw-r--r--src/components/ContactDetails/ContactDetailsAvatar.vue41
-rw-r--r--src/components/ContactDetails/ContactDetailsProperty.vue14
-rw-r--r--src/components/ContactsList.vue4
-rw-r--r--src/components/ContactsList/ContactsListItem.vue5
-rw-r--r--src/components/DetailsHeader.vue2
-rw-r--r--src/components/EntityPicker/ContactsPicker.vue8
-rw-r--r--src/components/EntityPicker/EntityBubble.vue5
-rw-r--r--src/components/EntityPicker/EntityPicker.vue30
-rw-r--r--src/components/EntityPicker/EntitySearchResult.vue5
-rw-r--r--src/components/EntityPicker/NewCircleIntro.vue22
-rw-r--r--src/components/MemberList.vue36
-rw-r--r--src/components/MembersList/MembersListItem.vue31
-rw-r--r--src/components/OrgChart.vue7
-rw-r--r--src/components/ProcessingScreen.vue4
-rw-r--r--src/components/Properties/PropertyActions.vue6
-rw-r--r--src/components/Properties/PropertyDateTime.vue16
-rw-r--r--src/components/Properties/PropertyGroups.vue9
-rw-r--r--src/components/Properties/PropertyMultipleText.vue8
-rw-r--r--src/components/Properties/PropertySelect.vue11
-rw-r--r--src/components/Properties/PropertyText.vue11
-rw-r--r--src/components/Properties/PropertyTitle.vue2
-rw-r--r--src/components/Properties/PropertyTitleIcon.vue32
-rw-r--r--src/main.js10
-rw-r--r--src/mixins/CircleActionsMixin.js2
-rw-r--r--src/mixins/OrgChartsMixin.js2
-rw-r--r--src/mixins/PropertyMixin.js4
-rw-r--r--src/models/contact.js4
-rw-r--r--src/models/member.ts6
-rw-r--r--src/models/rfcProps.js8
-rw-r--r--src/router/index.js2
-rw-r--r--src/services/checks/badGenderType.js2
-rw-r--r--src/services/checks/index.js8
-rw-r--r--src/services/parseVcf.js4
-rw-r--r--src/services/validate.js4
-rw-r--r--src/store/addressbooks.js6
-rw-r--r--src/store/circles.js4
-rw-r--r--src/store/contacts.js4
-rw-r--r--src/store/index.js12
-rw-r--r--src/utils/fileUtils.js2
-rw-r--r--src/utils/url.js2
-rw-r--r--src/views/Contacts.vue33
-rw-r--r--src/views/Processing/AddToGroupView.vue4
-rw-r--r--src/views/Processing/ImportView.vue4
69 files changed, 1314 insertions, 946 deletions
diff --git a/.eslintrc.js b/.eslintrc.js
index 29134f1d..e9481cf8 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -18,4 +18,8 @@ module.exports = {
},
},
},
+
+ rules: {
+ 'vue/no-reserved-component-names': 'off', // @nextcloud/vue has Button, Content components restricted by rule
+ },
}
diff --git a/package-lock.json b/package-lock.json
index e53248c4..bf0f045f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -52,7 +52,7 @@
"@babel/preset-env": "^7.20.2",
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
- "@nextcloud/eslint-config": "^6.1.2",
+ "@nextcloud/eslint-config": "^8.1.2",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/typings": "^1.5.0",
"@nextcloud/webpack-vue-config": "~5.1.0",
@@ -1764,41 +1764,51 @@
}
},
"node_modules/@es-joy/jsdoccomment": {
- "version": "0.20.1",
- "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.20.1.tgz",
- "integrity": "sha512-oeJK41dcdqkvdZy/HctKklJNkt/jh+av3PZARrZEl+fs/8HaHeeYoAvEwOV0u5I6bArTF17JEsTZMY359e/nfQ==",
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.36.0.tgz",
+ "integrity": "sha512-u0XZyvUF6Urb2cSivSXA8qXIpT/CxkHcdtZKoWusAzgzmsTWpg0F2FpWXsolHmMUyVY3dLWaoy+0ccJ5uf2QjA==",
"dev": true,
"peer": true,
"dependencies": {
- "comment-parser": "1.3.0",
+ "comment-parser": "1.3.1",
"esquery": "^1.4.0",
- "jsdoc-type-pratt-parser": "~2.2.3"
+ "jsdoc-type-pratt-parser": "~3.1.0"
},
"engines": {
- "node": "^12 || ^14 || ^16 || ^17"
+ "node": "^14 || ^16 || ^17 || ^18 || ^19"
}
},
"node_modules/@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
+ "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
"dev": true,
"peer": true,
"dependencies": {
"ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "debug": "^4.3.2",
+ "espree": "^9.4.0",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/@eslint/eslintrc/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -1833,14 +1843,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dev": true,
"peer": true,
- "engines": {
- "node": ">= 4"
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
"node_modules/@eslint/eslintrc/node_modules/ms": {
@@ -1864,15 +1877,15 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
+ "version": "0.11.7",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz",
+ "integrity": "sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==",
"dev": true,
"peer": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
+ "@humanwhocodes/object-schema": "^1.2.1",
"debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "minimatch": "^3.0.5"
},
"engines": {
"node": ">=10.10.0"
@@ -1903,6 +1916,20 @@
"dev": true,
"peer": true
},
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
"node_modules/@humanwhocodes/object-schema": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
@@ -2781,25 +2808,25 @@
}
},
"node_modules/@nextcloud/eslint-config": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-6.1.2.tgz",
- "integrity": "sha512-KEErxReF89vuOVRvOWtky/j1UtOjBGgtDK+LjdehGah66P9se0WACtbIC+3DLZ9IIrtOP45X05LashELnXs7dg==",
+ "version": "8.1.2",
+ "resolved": "https://registry.npmjs.org/@nextcloud/eslint-config/-/eslint-config-8.1.2.tgz",
+ "integrity": "sha512-uyYBSGQrbq7VZaqv0A4RBH5c80go07Xaebc00RxPhpG7IHkry92gTYlY8YarnlEFWaeAnXGPh3OhfXGDC40EyQ==",
"dev": true,
"engines": {
- "node": "^14.0.0",
- "npm": "^7.0.0"
+ "node": "^16.0.0",
+ "npm": "^7.0.0 || ^8.0.0"
},
"peerDependencies": {
"@babel/core": "^7.13.10",
- "@babel/eslint-parser": "^7.13.10",
+ "@babel/eslint-parser": "^7.16.5",
"@nextcloud/eslint-plugin": "^2.0.0",
- "eslint": "^7.13.0",
- "eslint-config-standard": "^16.0.1",
- "eslint-plugin-import": "^2.22.1",
- "eslint-plugin-jsdoc": "^37.0.3",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^5.1.0",
- "eslint-plugin-vue": "^7.15.0",
+ "eslint": "^8.6.0",
+ "eslint-config-standard": "^17.0.0-0",
+ "eslint-plugin-import": "^2.25.4",
+ "eslint-plugin-jsdoc": "^39.2.1",
+ "eslint-plugin-n": "^15.2.3",
+ "eslint-plugin-promise": "^6.0.0",
+ "eslint-plugin-vue": "^9.1.1",
"webpack": "^5.4.0"
}
},
@@ -3154,11 +3181,12 @@
}
},
"node_modules/@nodelib/fs.scandir": {
- "version": "2.1.4",
- "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
"dependencies": {
- "@nodelib/fs.stat": "2.0.4",
+ "@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
},
"engines": {
@@ -3166,19 +3194,21 @@
}
},
"node_modules/@nodelib/fs.stat": {
- "version": "2.0.4",
- "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/@nodelib/fs.walk": {
- "version": "1.2.6",
- "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
"dependencies": {
- "@nodelib/fs.scandir": "2.1.4",
+ "@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
},
"engines": {
@@ -4249,16 +4279,6 @@
"ajv": "^6.9.1"
}
},
- "node_modules/ansi-colors": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
- "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
- "dev": true,
- "peer": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/ansi-escapes": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
@@ -4824,6 +4844,13 @@
"multicast-dns": "^7.2.5"
}
},
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
@@ -5052,6 +5079,32 @@
"dev": true,
"peer": true
},
+ "node_modules/builtins": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "semver": "^7.0.0"
+ }
+ },
+ "node_modules/builtins/node_modules/semver": {
+ "version": "7.3.8",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
+ "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -5316,9 +5369,9 @@
"peer": true
},