diff --git a/ayanova/src/api/ayanova-version.js b/ayanova/src/api/ayanova-version.js index 52a53724..97e19a4f 100644 --- a/ayanova/src/api/ayanova-version.js +++ b/ayanova/src/api/ayanova-version.js @@ -1,4 +1,4 @@ export default { - version: "8.0.0-alpha.90", + version: "8.0.0-alpha.93", copyright: "© 1999-2020, Ground Zero Tech-Works Inc." }; diff --git a/ayanova/src/api/gzutil.js b/ayanova/src/api/gzutil.js index 7be39f27..8172622f 100644 --- a/ayanova/src/api/gzutil.js +++ b/ayanova/src/api/gzutil.js @@ -737,7 +737,7 @@ export default { "View map: error - no matching mapurl / address / geo coordinates set for display, nothing to view" ); } - + window.open(mapUrl, "map"); //This is not valid to do as some platforms don't open a new web browser window //but rather a map application in which case this is null and throws up the exception even though it's working // if (window.open(mapUrl, "map") == null) { diff --git a/ayanova/src/components/email-control.vue b/ayanova/src/components/email-control.vue new file mode 100644 index 00000000..dfc6d5e4 --- /dev/null +++ b/ayanova/src/components/email-control.vue @@ -0,0 +1,25 @@ + + diff --git a/ayanova/src/components/phone-control.vue b/ayanova/src/components/phone-control.vue index f09db34c..ac52e563 100644 --- a/ayanova/src/components/phone-control.vue +++ b/ayanova/src/components/phone-control.vue @@ -4,17 +4,21 @@ v-on="$listeners" type="tel" prepend-icon="$ayiPhoneAlt" - @click:prepend="dial" + @click:prepend="openUrl" > diff --git a/ayanova/src/main.js b/ayanova/src/main.js index 9e24470d..ba6a562b 100644 --- a/ayanova/src/main.js +++ b/ayanova/src/main.js @@ -43,6 +43,8 @@ import customFieldsControl from "./components/custom-fields-control.vue"; import currencyControl from "./components/currency-control.vue"; import decimalControl from "./components/decimal-control.vue"; import phoneControl from "./components/phone-control.vue"; +import emailControl from "./components/email-control.vue"; +import urlControl from "./components/url-control.vue"; import roleControl from "./components/role-control.vue"; import durationControl from "./components/duration-control.vue"; import errorControl from "./components/error-control.vue"; @@ -188,6 +190,8 @@ Vue.component("gz-custom-fields", customFieldsControl); Vue.component("gz-currency", currencyControl); Vue.component("gz-decimal", decimalControl); Vue.component("gz-phone", phoneControl); +Vue.component("gz-email", emailControl); +Vue.component("gz-url", urlControl); Vue.component("gz-role-picker", roleControl); Vue.component("gz-duration-picker", durationControl); Vue.component("gz-error", errorControl); diff --git a/ayanova/src/plugins/vuetify.js b/ayanova/src/plugins/vuetify.js index c5db82a9..dab26104 100644 --- a/ayanova/src/plugins/vuetify.js +++ b/ayanova/src/plugins/vuetify.js @@ -68,6 +68,7 @@ import { faExclamation, faExclamationCircle, faExclamationTriangle, + faExternalLinkAlt, faEye, faEyeSlash, faFan, @@ -231,6 +232,7 @@ library.add( faExclamation, faExclamationCircle, faExclamationTriangle, + faExternalLinkAlt, faEye, faEyeSlash, faFan, @@ -591,6 +593,12 @@ const CUSTOM_ICONS = { icon: ["fas", "exclamation-triangle"] } }, + ayiExternalLinkAlt: { + component: FontAwesomeIcon, + props: { + icon: ["fas", "external-link-alt"] + } + }, ayiEye: { component: FontAwesomeIcon, props: { diff --git a/ayanova/src/views/cust-customer.vue b/ayanova/src/views/cust-customer.vue index 60cc96aa..9021cd4c 100644 --- a/ayanova/src/views/cust-customer.vue +++ b/ayanova/src/views/cust-customer.vue @@ -67,6 +67,25 @@ > + + + + - + > -