summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@users.noreply.github.com>2018-11-09 16:05:45 +0100
committerGitHub <noreply@github.com>2018-11-09 16:05:45 +0100
commit38ea18f362d5c506582cfa715f30789fb85beae3 (patch)
treea033f254d219d750ff90487a2665f4265905f096
parentf78f8cde14fb59a35fa8d5801b22acd121b5eef6 (diff)
parentf281eaa71ff915370c0d9c1975fb46b7510f110d (diff)
Merge pull request #700 from nextcloud/dependabot/npm_and_yarn/nextcloud-vue-0.4.0
Bump nextcloud-vue from 0.3.1 to 0.4.0
-rw-r--r--.eslintrc.js15
-rw-r--r--css/Settings/SettingsAddressbookShares.scss2
-rw-r--r--package-lock.json89
-rw-r--r--package.json5
-rw-r--r--src/components/ContactDetails.vue11
-rw-r--r--src/components/ContactDetails/ContactDetailsAddNewProp.vue9
-rw-r--r--src/components/ContactDetails/ContactDetailsProperty.vue10
-rw-r--r--src/components/ContentList.vue6
-rw-r--r--src/components/ImportScreen.vue5
-rw-r--r--src/components/Properties/PropertyDateTime.vue12
-rw-r--r--src/components/Properties/PropertyGroups.vue7
-rw-r--r--src/components/Properties/PropertyMultipleText.vue8
-rw-r--r--src/components/Properties/PropertySelect.vue8
-rw-r--r--src/components/Properties/PropertyText.vue8
-rw-r--r--src/components/Settings/SettingsAddressbook.vue13
-rw-r--r--src/components/Settings/SettingsAddressbookShare.vue13
-rw-r--r--src/components/Settings/SettingsAddressbookSharee.vue10
-rw-r--r--src/components/Settings/SettingsImportContacts.vue15
-rw-r--r--src/components/Settings/SettingsNewAddressbook.vue8
-rw-r--r--src/components/Settings/SettingsSortContacts.vue12
-rw-r--r--src/components/SettingsSection.vue8
-rw-r--r--src/main.js14
-rw-r--r--src/router/index.js2
-rw-r--r--src/store/addressbooks.js6
-rw-r--r--src/store/index.js4
-rw-r--r--src/views/Contacts.vue19
-rw-r--r--tests/unit/specs/Contacts.spec.js2
-rw-r--r--webpack.common.js6
28 files changed, 178 insertions, 149 deletions
diff --git a/.eslintrc.js b/.eslintrc.js
index 6c62cc72..4df12943 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -16,15 +16,28 @@ module.exports = {
},
parserOptions: {
parser: 'babel-eslint',
- ecmaVersion: 6
+ ecmaVersion: 8
},
extends: [
'eslint:recommended',
+ 'plugin:import/errors',
+ 'plugin:import/warnings',
'plugin:node/recommended',
'plugin:vue/essential',
'plugin:vue/recommended',
'standard'
],
+ settings: {
+ 'import/resolver': {
+ webpack: {
+ config: 'webpack.common.js'
+ },
+ node: {
+ paths: ['src'],
+ extensions: ['.js', '.vue']
+ }
+ }
+ },
plugins: ['vue', 'node'],
rules: {
// space before function ()
diff --git a/css/Settings/SettingsAddressbookShares.scss b/css/Settings/SettingsAddressbookShares.scss
index dae91720..9a311bb6 100644
--- a/css/Settings/SettingsAddressbookShares.scss
+++ b/css/Settings/SettingsAddressbookShares.scss
@@ -41,7 +41,7 @@
width: 14px;
}
- .multiselect.multiselect-vue {
+ .multiselect {
width: inherit;
.multiselect__tags:focus-within,
.multiselect__tags:hover {
diff --git a/package-lock.json b/package-lock.json
index b6420acc..eabbe7dd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2907,6 +2907,12 @@
"integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
"dev": true
},
+ "array-find": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-find/-/array-find-1.0.0.tgz",
+ "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=",
+ "dev": true
+ },
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
@@ -4983,6 +4989,49 @@
"resolve": "^1.5.0"
}
},
+ "eslint-import-resolver-webpack": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.10.1.tgz",
+ "integrity": "sha512-RN49nnyQpBCP3TqVhct+duJjH8kaVg08fFevWvA+4Cr1xeN7OFQRse4wMvzBto9/4VmOJWvqPfdmNTEG3jc8SQ==",
+ "dev": true,
+ "requires": {
+ "array-find": "^1.0.0",
+ "debug": "^2.6.8",
+ "enhanced-resolve": "~0.9.0",
+ "find-root": "^1.1.0",
+ "has": "^1.0.1",
+ "interpret": "^1.0.0",
+ "lodash": "^4.17.4",
+ "node-libs-browser": "^1.0.0 || ^2.0.0",
+ "resolve": "^1.4.0",
+ "semver": "^5.3.0"
+ },
+ "dependencies": {
+ "enhanced-resolve": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz",
+ "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.2.0",
+ "tapable": "^0.1.8"
+ }
+ },
+ "memory-fs": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz",
+ "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
+ "dev": true
+ },
+ "tapable": {
+ "version": "0.1.10",
+ "resolved": "http://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz",
+ "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
+ "dev": true
+ }
+ }
+ },
"eslint-loader": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.1.1.tgz",
@@ -5622,6 +5671,12 @@
"pkg-dir": "^2.0.0"
}
},
+ "find-root": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+ "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
+ "dev": true
+ },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -5787,12 +5842,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -5807,17 +5864,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -5934,7 +5994,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -5946,6 +6007,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -5960,6 +6022,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -5967,12 +6030,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -5991,6 +6056,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -6071,7 +6137,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -6083,6 +6150,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -6204,6 +6272,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -8300,9 +8369,9 @@
}
},
"nextcloud-vue": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/nextcloud-vue/-/nextcloud-vue-0.3.1.tgz",
- "integrity": "sha512-cMPtVfTU2hN0O2TQMHK4/IX3vXBYiSTSnekg8n8rxL9T1ihrzE8ZOsYiwC8iR40wcVqMDda60kQzi9PzqRu19A==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/nextcloud-vue/-/nextcloud-vue-0.4.0.tgz",
+ "integrity": "sha512-v0zF+z3COv7Dxbz0fKd+8oCy/Wx6K7iFcnzPUPQnRlRY2xfbPymE7CtPGcYjso70iA/GbspFZh7wX0PFL30z5A==",
"requires": {
"@babel/polyfill": "^7.0.0",
"md5": "^2.2.1",
diff --git a/package.json b/package.json
index 28817dfa..c56690ad 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
"debounce": "^1.2.0",
"ical.js": "^1.3.0",
"moment": "^2.22.2",
- "nextcloud-vue": "^0.3.1",
+ "nextcloud-vue": "^0.4.0",
"p-limit": "^2.0.0",
"uuid": "^3.3.2",
"v-tooltip": "^2.0.0-rc.33",
@@ -58,7 +58,7 @@
"ie >= 11"
],
"engines": {
- "node": ">=10.0.0"
+ "node": ">=11.0.0"
},
"devDependencies": {
"@babel/core": "^7.1.5",
@@ -72,6 +72,7 @@
"eslint": "^4.19.1",
"eslint-config-standard": "^11.0.0",
"eslint-friendly-formatter": "^4.0.1",
+ "eslint-import-resolver-webpack": "^0.10.1",
"eslint-loader": "^2.1.1",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-node": "^8.0.0",
diff --git a/src/components/ContactDetails.vue b/src/components/ContactDetails.vue
index 0d50248a..3517b24e 100644
--- a/src/components/ContactDetails.vue
+++ b/src/components/ContactDetails.vue
@@ -107,10 +107,6 @@
</template>
<script>
-import { PopoverMenu } from 'nextcloud-vue'
-import ClickOutside from 'vue-click-outside'
-import Vue from 'vue'
-import VTooltip from 'v-tooltip'
import debounce from 'debounce'
import rfcProps from '../models/rfcProps.js'
@@ -121,13 +117,10 @@ import PropertySelect from './Properties/PropertySelect'
import PropertyGroups from './Properties/PropertyGroups'
import ContactAvatar from './ContactDetails/ContactDetailsAvatar'
-Vue.use(VTooltip)
-
export default {
name: 'ContactDetails',
components: {
- PopoverMenu,
ContactProperty,
PropertySelect,
PropertyGroups,
@@ -135,10 +128,6 @@ export default {
ContactAvatar
},
- directives: {
- ClickOutside
- },
-
props: {
loading: {
type: Boolean,
diff --git a/src/components/ContactDetails/ContactDetailsAddNewProp.vue b/src/components/ContactDetails/ContactDetailsAddNewProp.vue
index 404e1a14..c9d5404c 100644
--- a/src/components/ContactDetails/ContactDetailsAddNewProp.vue
+++ b/src/components/ContactDetails/ContactDetailsAddNewProp.vue
@@ -30,7 +30,7 @@
<div class="property__label" />
<!-- type selector -->
- <multiselect :options="availableProperties" :placeholder="t('contacts', 'Choose property type')" class="multiselect-vue property__value"
+ <multiselect :options="availableProperties" :placeholder="t('contacts', 'Choose property type')" class="property__value"
track-by="id" label="name" @input="addProp" />
</div>
</div>
@@ -39,16 +39,13 @@
<script>
import rfcProps from '../../models/rfcProps.js'
import Contact from '../../models/contact'
-import propertyTitle from '../Properties/PropertyTitle'
-
-import Multiselect from 'vue-multiselect'
+import PropertyTitle from 'Components/Properties/PropertyTitle'
export default {
name: 'ContactDetailsAddNewProp',
components: {
- propertyTitle,
- Multiselect
+ PropertyTitle
},
props: {
diff --git a/src/components/ContactDetails/ContactDetailsProperty.vue b/src/components/ContactDetails/ContactDetailsProperty.vue
index 3a4df0c2..e2eee5b6 100644
--- a/src/components/ContactDetails/ContactDetailsProperty.vue
+++ b/src/components/ContactDetails/ContactDetailsProperty.vue
@@ -35,11 +35,11 @@ import { Property } from 'ical.js'
import rfcProps from '../../models/rfcProps.js'
import Contact from '../../models/contact'
-import PropertyText from '../Properties/PropertyText'
-import PropertyMultipleText from '../Properties/PropertyMultipleText'
-import PropertyDateTime from '../Properties/PropertyDateTime'
-import propertyGroups from '../Properties/PropertyGroups'
-import PropertySelect from '../Properties/PropertySelect'
+import PropertyText from 'Components/Properties/PropertyText'
+import PropertyMultipleText from 'Components/Properties/PropertyMultipleText'
+import PropertyDateTime from 'Components/Properties/PropertyDateTime'
+import propertyGroups from 'Components/Properties/PropertyGroups'
+import PropertySelect from 'Components/Properties/PropertySelect'
export default {
name: 'ContactDetailsProperty',
diff --git a/src/components/ContentList.vue b/src/components/ContentList.vue
index 891c9502..92941911 100644
--- a/src/components/ContentList.vue
+++ b/src/components/ContentList.vue
@@ -31,13 +31,15 @@
</template>
<script>
-import contentListItem from './ContentList/ContentListItem'
+import ContentListItem from './ContentList/ContentListItem'
export default {
name: 'ContentList',
+
components: {
- 'content-list-item': contentListItem
+ ContentListItem
},
+
props: {
list: {
type: Array,
diff --git a/src/components/ImportScreen.vue b/src/components/ImportScreen.vue
index 954b165b..e8566438 100644
--- a/src/components/ImportScreen.vue
+++ b/src/components/ImportScreen.vue
@@ -33,11 +33,6 @@
</template>
<script>
-import Vue from 'vue'
-import VTooltip from 'v-tooltip'
-
-Vue.use(VTooltip)
-
export default {
name: 'ImportScreen',
computed: {
diff --git a/src/components/Properties/PropertyDateTime.vue b/src/components/Properties/PropertyDateTime.vue
index e912c192..4a68f594 100644
--- a/src/components/Properties/PropertyDateTime.vue
+++ b/src/components/Properties/PropertyDateTime.vue
@@ -30,7 +30,7 @@
<!-- type selector -->
<multiselect v-if="propModel.options" v-model="localType"
:options="options" :searchable="false" :placeholder="t('contacts', 'Select type')"
- class="multiselect-vue property__label" track-by="id" label="name"
+ class="property__label" track-by="id" label="name"
@input="updateType" />
<!-- if we do not support any type on our model but one is set anyway -->
@@ -51,13 +51,12 @@
</template>
<script>
-import Multiselect from 'vue-multiselect'
-import { DatetimePicker } from 'nextcloud-vue'
import debounce from 'debounce'
import moment from 'moment'
+import { DatetimePicker } from 'nextcloud-vue'
import { VCardTime } from 'ical.js'
-import propertyTitle from './PropertyTitle'
+import PropertyTitle from './PropertyTitle'
/**
* Format time with locale to display only
@@ -134,9 +133,8 @@ export default {
name: 'PropertyDateTime',
components: {
- Multiselect,
- propertyTitle,
- DatetimePicker
+ DatetimePicker,
+ PropertyTitle
},
props: {
diff --git a/src/components/Properties/PropertyGroups.vue b/src/components/Properties/PropertyGroups.vue
index 7675bbf1..b4de6185 100644
--- a/src/components/Properties/PropertyGroups.vue
+++ b/src/components/Properties/PropertyGroups.vue
@@ -29,7 +29,7 @@
<!-- multiselect taggable groups with a limit to 3 groups shown -->
<multiselect v-model="localValue" :options="groups" :placeholder="t('contacts', 'Add contact in group')"
:limit="3" :multiple="true" :taggable="true"
- :close-on-select="false" tag-placeholder="create" class="multiselect-vue property__value"
+ :close-on-select="false" tag-placeholder="create" class="property__value"
@input="updateValue" @tag="validateGroup" @select="addContactToGroup"
@remove="removeContactToGroup">
@@ -42,17 +42,12 @@
</template>
<script>
-import Multiselect from 'vue-multiselect'
import debounce from 'debounce'
import Contact from '../../models/contact'
export default {
name: 'PropertyGroups',
- components: {
- Multiselect
- },
-
props: {
propModel: {
type: Object,
diff --git a/src/components/Properties/PropertyMultipleText.vue b/src/components/Properties/PropertyMultipleText.vue
index 50e2b71e..79386ba2 100644
--- a/src/components/Properties/PropertyMultipleText.vue
+++ b/src/components/Properties/PropertyMultipleText.vue
@@ -30,7 +30,7 @@
<!-- type selector -->
<multiselect v-if="propModel.options" v-model="localType"
:options="options" :searchable="false" :placeholder="t('contacts', 'Select type')"
- class="multiselect-vue property__label" track-by="id" label="name"
+ class="property__label" track-by="id" label="name"
@input="updateType" />
<!-- if we do not support any type on our model but one is set anyway -->
@@ -69,16 +69,14 @@
</template>
<script>
-import Multiselect from 'vue-multiselect'
-import propertyTitle from './PropertyTitle'
+import PropertyTitle from './PropertyTitle'
import debounce from 'debounce'
export default {
name: 'PropertyText',
components: {
- Multiselect,
- propertyTitle
+ PropertyTitle
},
props: {
diff --git a/src/components/Properties/PropertySelect.vue b/src/components/Properties/PropertySelect.vue
index 6f2e3e42..f7b7b0bb 100644
--- a/src/components/Properties/PropertySelect.vue
+++ b/src/components/Properties/PropertySelect.vue
@@ -38,23 +38,21 @@
<button :title="t('contacts', 'Delete')" class="property__delete icon-delete" @click="deleteProperty" />
<multiselect v-model="matchedOptions" :options="propModel.options" :placeholder="t('contacts', 'Select option')"
- class="multiselect-vue property__value" track-by="id" label="name"
+ class="property__value" track-by="id" label="name"
@input="updateValue" />
</div>
</div>
</template>
<script>
-import Multiselect from 'vue-multiselect'
-import propertyTitle from './PropertyTitle'
+import PropertyTitle from './PropertyTitle'
import debounce from 'debounce'
export default {
name: 'PropertySelect',
components: {
- Multiselect,
- propertyTitle
+ PropertyTitle
},
props: {
diff --git a/src/components/Properties/PropertyText.vue b/src/components/Properties/PropertyText.vue
index d2681784..b67514f0 100644
--- a/src/components/Properties/PropertyText.vue
+++ b/src/components/Properties/PropertyText.vue
@@ -30,7 +30,7 @@
<!-- type selector -->
<multiselect v-if="propModel.options" v-model="localType"
:options="options" :searchable="false" :placeholder="t('contacts', 'Select type')"
- class="multiselect-vue property__label" track-by="id" label="name"
+ class="property__label" track-by="id" label="name"
@input="updateType" />
<!-- if we do not support any type on our model but one is set anyway -->
@@ -55,16 +55,14 @@
</template>
<script>
-import Multiselect from 'vue-multiselect'
-import propertyTitle from './PropertyTitle'
+import PropertyTitle from './PropertyTitle'
import debounce from 'debounce'
export default {
name: 'PropertyText',
components: {
- Multiselect,
- propertyTitle
+ PropertyTitle
},
props: {
diff --git a/src/components/Settings/SettingsAddressbook.vue b/src/components/Settings/SettingsAddressbook.vue
index 26931977..aaf9cd4c 100644
--- a/src/components/Settings/SettingsAddressbook.vue
+++ b/src/components/Settings/SettingsAddressbook.vue
@@ -42,24 +42,15 @@
</template>
<script>
-import Vue from 'vue'
-import { PopoverMenu } from 'nextcloud-vue'
-import ClickOutside from 'vue-click-outside'
-import VueClipboard from 'vue-clipboard2'
-
import ShareAddressBook from './SettingsAddressbookShare'
-Vue.use(VueClipboard)
-
export default {
name: 'SettingsAddressbook',
+
components: {
- PopoverMenu,
ShareAddressBook
},
- directives: {
- ClickOutside
- },
+
props: {
addressbook: {
type: Object,
diff --git a/src/components/Settings/SettingsAddressbookShare.vue b/src/components/Settings/SettingsAddressbookShare.vue
index 12bbc921..0c87d799 100644
--- a/src/components/Settings/SettingsAddressbookShare.vue
+++ b/src/components/Settings/SettingsAddressbookShare.vue
@@ -34,7 +34,6 @@
:placeholder="placeholder"
:class="{ 'showContent': inputGiven, 'icon-loading': isLoading }"
open-direction="bottom"
- class="multiselect-vue"
@search-change="asyncFind"
@input="shareAddressbook">
<template slot="singleLabel" slot-scope="props">
@@ -57,23 +56,17 @@
</template>
<script>
-import clickOutside from 'vue-click-outside'
-import api from '../../services/api'
-import Multiselect from 'vue-multiselect'
+
+import api from 'Services/api'
+
import addressBookSharee from './SettingsAddressbookSharee'
import debounce from 'debounce'
export default {
name: 'SettingsShareAddressbook',
components: {
- clickOutside,
- Multiselect,
addressBookSharee
},
- directives: {
- clickOutside,
- debounce
- },
props: {
addressbook: {
type: Object,
diff --git a/src/components/Settings/SettingsAddressbookSharee.vue b/src/components/Settings/SettingsAddressbookSharee.vue
index c9a4870d..613bd301 100644
--- a/src/components/Settings/SettingsAddressbookSharee.vue
+++ b/src/components/Settings/SettingsAddressbookSharee.vue
@@ -40,27 +40,23 @@
</template>
<script>
-import clickOutside from 'vue-click-outside'
export default {
name: 'SettingsShareSharee',
- components: {
- clickOutside
- },
- directives: {
- clickOutside
- },
+
props: {
sharee: {