diff --git a/app/Http/Requests/AnswerFormRequest.php b/app/Http/Requests/AnswerFormRequest.php
index d7c0244..41073bb 100644
--- a/app/Http/Requests/AnswerFormRequest.php
+++ b/app/Http/Requests/AnswerFormRequest.php
@@ -190,6 +190,9 @@ class AnswerFormRequest extends FormRequest
}
return $this->getRulesForDate($property);
case 'phone_number':
+ if (isset($property['use_simple_text_input']) && $property['use_simple_text_input']) {
+ return ['string'];
+ }
return ['string', 'min:6', new ValidPhoneInputRule];
default:
return [];
diff --git a/app/Rules/ValidPhoneInputRule.php b/app/Rules/ValidPhoneInputRule.php
index 9e6c728..440ed5c 100644
--- a/app/Rules/ValidPhoneInputRule.php
+++ b/app/Rules/ValidPhoneInputRule.php
@@ -13,8 +13,12 @@ class ValidPhoneInputRule implements Rule
return false;
}
- $phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
- return $phoneUtil->isValidNumber($phoneUtil->parse($value));
+ try {
+ $phoneUtil = \libphonenumber\PhoneNumberUtil::getInstance();
+ return $phoneUtil->isValidNumber($phoneUtil->parse($value));
+ } catch (\Exception $e) {
+ return false;
+ }
}
public function message()
diff --git a/resources/js/components/Navbar.vue b/resources/js/components/Navbar.vue
index d3a325e..5f766ee 100644
--- a/resources/js/components/Navbar.vue
+++ b/resources/js/components/Navbar.vue
@@ -12,7 +12,7 @@
-
+
Templates
@@ -27,7 +27,7 @@
Pricing
Help
@@ -194,6 +194,10 @@ export default {
// Redirect to login.
this.$router.push({name: 'login'})
},
+ openCrisp () {
+ window.$crisp.push(['do', 'chat:show'])
+ window.$crisp.push(['do', 'chat:open'])
+ }
}
}
diff --git a/resources/js/components/forms/PhoneInput.vue b/resources/js/components/forms/PhoneInput.vue
index 9809af0..68a16ce 100644
--- a/resources/js/components/forms/PhoneInput.vue
+++ b/resources/js/components/forms/PhoneInput.vue
@@ -13,7 +13,7 @@
-
Help
@@ -221,6 +221,10 @@ export default {
},
methods: {
+ openCrisp () {
+ window.$crisp.push(['do', 'chat:show'])
+ window.$crisp.push(['do', 'chat:open'])
+ },
showValidationErrors() {
this.showFormErrorModal = true
},
diff --git a/resources/js/components/open/forms/components/form-logic-components/ColumnCondition.vue b/resources/js/components/open/forms/components/form-logic-components/ColumnCondition.vue
index 39cbdb3..5c963dd 100644
--- a/resources/js/components/open/forms/components/form-logic-components/ColumnCondition.vue
+++ b/resources/js/components/open/forms/components/form-logic-components/ColumnCondition.vue
@@ -43,7 +43,7 @@ export default {
checkbox: 'CheckboxInput',
url: 'TextInput',
email: 'TextInput',
- phone_number: 'PhoneInput'
+ phone_number: 'TextInput'
}
}
},
@@ -57,6 +57,10 @@ export default {
required: true
}
+ if (this.property.type === 'phone_number' && !this.property.use_simple_text_input) {
+ componentData.component = 'PhoneInput'
+ }
+
if (['select', 'multi_select'].includes(this.property.type)) {
componentData.multiple = false;
componentData.options = this.property[this.property.type].options.map(option => {
diff --git a/resources/js/components/open/forms/fields/components/FieldOptions.vue b/resources/js/components/open/forms/fields/components/FieldOptions.vue
index 994ea6d..e243cab 100644
--- a/resources/js/components/open/forms/fields/components/FieldOptions.vue
+++ b/resources/js/components/open/forms/fields/components/FieldOptions.vue
@@ -193,12 +193,18 @@
label="Field Name"
/>
-
Hide field name
+
+ Use simple text input
+
+
-