summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Hamann <kontakt+github@arne.email>2019-09-05 22:49:40 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2019-09-19 22:29:18 +0200
commit0b3bbddde1e381b3762b6d9da6f89f7f0fa7a5d5 (patch)
tree3e93c1ca2d1ed82c67180fc613c8748a4eb50bfb
parentccb6828f693fdf102c5a14a8284e46c8fd69d7c7 (diff)
Added posibility to show and edit vCard Geo attibutes
Signed-off-by: Arne Hamann <kontakt+github@arne.email>
-rw-r--r--src/components/ContactDetails/ContactDetailsAddNewProp.vue16
-rw-r--r--src/models/rfcProps.js10
2 files changed, 22 insertions, 4 deletions
diff --git a/src/components/ContactDetails/ContactDetailsAddNewProp.vue b/src/components/ContactDetails/ContactDetailsAddNewProp.vue
index 1400d624..abb2985a 100644
--- a/src/components/ContactDetails/ContactDetailsAddNewProp.vue
+++ b/src/components/ContactDetails/ContactDetailsAddNewProp.vue
@@ -39,6 +39,7 @@
import rfcProps from 'Models/rfcProps'
import Contact from 'Models/contact'
import PropertyTitle from 'Components/Properties/PropertyTitle'
+import ICAL from 'ical.js'
export default {
name: 'ContactDetailsAddNewProp',
@@ -101,10 +102,17 @@ export default {
* @param {string} data.id the id of the property. e.g fn
*/
addProp({ id }) {
- let defaultData = this.properties[id].defaultValue
- let property = this.contact.vCard.addPropertyWithValue(id, defaultData ? defaultData.value : '')
- if (defaultData && defaultData.type) {
- property.setParameter('type', defaultData.type)
+ if (this.properties[id] && this.properties[id].defaultjCal
+ && this.properties[id].defaultjCal[this.contact.version]) {
+ let defaultjCal = this.properties[id].defaultjCal[this.contact.version]
+ let property = new ICAL.Property([id, ...defaultjCal])
+ this.contact.vCard.addProperty(property)
+ } else {
+ let defaultData = this.properties[id].defaultValue
+ let property = this.contact.vCard.addPropertyWithValue(id, defaultData ? defaultData.value : '')
+ if (defaultData && defaultData.type) {
+ property.setParameter('type', defaultData.type)
+ }
}
}
}
diff --git a/src/models/rfcProps.js b/src/models/rfcProps.js
index 16c766a2..1f5e4bae 100644
--- a/src/models/rfcProps.js
+++ b/src/models/rfcProps.js
@@ -55,6 +55,15 @@ const properties = {
readableName: t('contacts', 'Website'),
icon: 'icon-public'
},
+ geo: {
+ multiple: true,
+ readableName: t('contacts', 'Location'),
+ icon: 'icon-address',
+ defaultjCal: {
+ '3.0': [{}, 'FLOAT', '90.000;0.000'],
+ '4.0': [{}, 'URI', 'geo:90.000,0.000']
+ }
+ },
cloud: {
multiple: true,
icon: 'icon-public',
@@ -288,6 +297,7 @@ const fieldOrder = [
'tel',
'email',
'adr',
+ 'geo',
'impp',
'nick',
'cloud',