added submit validation message
This commit is contained in:
parent
690865fa08
commit
ac73db734b
@ -100,16 +100,10 @@
|
||||
<script type="text/javascript" src="http://{{request.hostname}}:35729/livereload.js"></script>
|
||||
{% endif %}
|
||||
|
||||
<script src="https://cdn.ravenjs.com/2.3.0/angular/raven.min.js"></script>
|
||||
|
||||
<script>
|
||||
/*Raven.config('http://825fefd6b4ed4a4da199c1b832ca845c@sentry.tellform.com/2', {
|
||||
// Raven settings
|
||||
})
|
||||
.setUser({
|
||||
"id": "SERVER_RENDERED_ID",
|
||||
"email": "SERVER_RENDERED_EMAIL"
|
||||
})
|
||||
.install()
|
||||
*/
|
||||
Raven.config('http://825fefd6b4ed4a4da199c1b832ca845c@sentry.tellform.com/2').install();
|
||||
</script>
|
||||
|
||||
<!-- [if lt IE 9]>
|
||||
|
@ -31,7 +31,8 @@
|
||||
"angular-sanitize": "^1.5.3",
|
||||
"v-button": "^1.1.1",
|
||||
"angular-busy": "^4.1.3",
|
||||
"angular-input-stars": "https://github.com/whitef0x0/angular-input-stars.git#master"
|
||||
"angular-input-stars": "https://github.com/whitef0x0/angular-input-stars.git#master",
|
||||
"raven-js": "^3.0.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"angular-bootstrap": "^0.14.0",
|
||||
|
2
config/env/development.js
vendored
2
config/env/development.js
vendored
@ -3,7 +3,7 @@
|
||||
module.exports = {
|
||||
baseUrl: process.env.BASE_URL || 'http://localhost:3000',
|
||||
db: {
|
||||
uri: 'mongodb://localhost/mean-dev',
|
||||
uri: 'mongodb://localhost/mean',
|
||||
options: {
|
||||
user: '',
|
||||
pass: ''
|
||||
|
14
public/dist/application.js
vendored
14
public/dist/application.js
vendored
@ -2335,14 +2335,20 @@ angular.module('users').config(['$stateProvider',
|
||||
url: '/access_denied',
|
||||
templateUrl: 'modules/users/views/authentication/access-denied.client.view.html'
|
||||
}).
|
||||
state('resendVerifyEmail', {
|
||||
url: '/verify',
|
||||
templateUrl: 'modules/users/views/verify/resend-verify-email.client.view.html'
|
||||
}).
|
||||
state('verify', {
|
||||
resolve: {
|
||||
isDisabled: checkSignupDisabled
|
||||
},
|
||||
url: '/verify/:token',
|
||||
templateUrl: 'modules/users/views/verify/verify-account.client.view.html'
|
||||
}).
|
||||
state('resendVerifyEmail', {
|
||||
resolve: {
|
||||
isDisabled: checkSignupDisabled
|
||||
},
|
||||
url: '/verify',
|
||||
templateUrl: 'modules/users/views/verify/resend-verify-email.client.view.html'
|
||||
}).
|
||||
state('forgot', {
|
||||
url: '/password/forgot',
|
||||
templateUrl: 'modules/users/views/password/forgot-password.client.view.html'
|
||||
|
2
public/dist/application.min.js
vendored
2
public/dist/application.min.js
vendored
File diff suppressed because one or more lines are too long
@ -149,7 +149,11 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
|
||||
}
|
||||
};
|
||||
|
||||
$scope.submitForm = function() {
|
||||
$scope.goToInvalid = function() {
|
||||
document.querySelectorAll('.ng-invalid.focusOn')[0].focus();
|
||||
};
|
||||
|
||||
$scope.submitForm = function() {
|
||||
var _timeElapsed = TimeCounter.stopClock();
|
||||
$scope.loading = true;
|
||||
var form = _.cloneDeep($scope.myform);
|
||||
|
@ -1,4 +1,5 @@
|
||||
<div class="field row" ng-click="setActiveField(field._id, index, true)">
|
||||
<div class="field row"
|
||||
ng-click="setActiveField(field._id, index, true)">
|
||||
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}">
|
||||
<h3>
|
||||
<small class="field-number">
|
||||
@ -11,8 +12,9 @@
|
||||
</div>
|
||||
<div class="col-xs-12 field-input">
|
||||
<div class="control-group input-append">
|
||||
<input ng-focus="setActiveField(field._id, index, true)"
|
||||
:ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}"
|
||||
<input ng-focus="setActiveField(field._id, index, true)"
|
||||
class="focusOn"
|
||||
ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}"
|
||||
ng-class="{ 'no-border': !!field.fieldValue }"
|
||||
ui-date="dateOptions"
|
||||
ng-model="field.fieldValue"
|
||||
|
@ -1,4 +1,6 @@
|
||||
<div class="field row dropdown" ng-click="setActiveField(field._id, index, true)" ng-if="field.fieldOptions.length > 0">
|
||||
<div class="field row dropdown"
|
||||
ng-click="setActiveField(field._id, index, true)"
|
||||
ng-if="field.fieldOptions.length > 0">
|
||||
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}">
|
||||
<h3>
|
||||
<small class="field-number">
|
||||
|
@ -18,6 +18,7 @@
|
||||
<label class="btn col-md-5 col-xs-12"
|
||||
ng-class="{activeBtn: field.fieldValue == 'true'}">
|
||||
<input class="focusOn"
|
||||
ng-focus="setActiveField(field._id, index, true)"
|
||||
ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}"
|
||||
type="radio" value="true"
|
||||
ng-model="field.fieldValue"
|
||||
|
@ -23,7 +23,8 @@
|
||||
</div>
|
||||
<input ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}"
|
||||
type="radio" class="focusOn"
|
||||
value="{{option.option_value}}"
|
||||
ng-focus="setActiveField(field._id, index, true)"
|
||||
value="{{option.option_value}}"
|
||||
ng-model="field.fieldValue"
|
||||
ng-model-options="{ debounce: 250 }"
|
||||
ng-required="field.required"
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div class="textfield field row"
|
||||
on-enter-key="nextField()">
|
||||
on-enter-key="nextField()"
|
||||
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}">
|
||||
<h3>
|
||||
<small class="field-number">
|
||||
@ -12,6 +12,7 @@
|
||||
</div>
|
||||
<div class="col-xs-12 field-input">
|
||||
<input-stars max="5"
|
||||
ng-init="field.fieldValue = 1"
|
||||
on-star-click="$root.nextField()"
|
||||
icon-full="fa-star"
|
||||
icon-base="fa fa-3x"
|
||||
|
@ -1,5 +1,6 @@
|
||||
<div class="statement field row"
|
||||
on-enter-key="$root.nextField()">
|
||||
on-enter-key="$root.nextField()"
|
||||
ng-focus="setActiveField(field._id, index, true)">
|
||||
<div class="row field-title field-title">
|
||||
<div class="col-xs-1"><i class="fa fa-quote-left fa-1"></i></div>
|
||||
<h2 class="text-left col-xs-9">{{field.title}}</h2>
|
||||
|
@ -1,4 +1,5 @@
|
||||
<div class="field row" ng-click="setActiveField(field._id, index, true)">
|
||||
<div class="field row" ng-click="setActiveField(field._id, index, true)"
|
||||
ng-focus="setActiveField(field._id, index, true)">
|
||||
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}">
|
||||
<h3>
|
||||
<small class="field-number">
|
||||
|
@ -1,5 +1,6 @@
|
||||
<div class="textfield field row" ng-click="setActiveField(field._id, index, true)">
|
||||
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}">
|
||||
<div class="textfield field row"
|
||||
ng-click="setActiveField(field._id, index, true)">
|
||||
<div class="col-xs-12 field-title" ng-style="{'color': design.colors.questionColor}">
|
||||
<h3>
|
||||
<small class="field-number">
|
||||
{{index+1}}
|
||||
|
@ -41,32 +41,41 @@ ng-style="{'color':button.color}">
|
||||
<!-- Form Fields View -->
|
||||
<div class="form-fields" ng-show="!myform.submitted && !myform.startPage.showStart"
|
||||
ng-style="{ 'border-color': myform.design.colors.buttonTextColor }">
|
||||
<div class="row">
|
||||
<form name="forms.myForm"
|
||||
novalidate
|
||||
class="submission-form col-sm-12 col-md-offset-1 col-md-10">
|
||||
<div ng-repeat="field in myform.form_fields"
|
||||
ng-if="!field.deletePreserved"
|
||||
data-index="{{$index}}"
|
||||
data-id="{{field._id}}"
|
||||
ng-class="{activeField: selected._id == field._id }"
|
||||
class="row field-directive">
|
||||
<field-directive field="field" design="myform.design" index="$index" forms="forms">
|
||||
</field-directive>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="row">
|
||||
<form name="forms.myForm"
|
||||
novalidate
|
||||
class="submission-form col-sm-12 col-md-offset-1 col-md-10">
|
||||
|
||||
<div ng-repeat="field in myform.form_fields"
|
||||
ng-if="!field.deletePreserved"
|
||||
data-index="{{$index}}"
|
||||
data-id="{{field._id}}"
|
||||
ng-class="{activeField: selected._id == field._id }"
|
||||
class="row field-directive">
|
||||
<field-directive field="field" design="myform.design" index="$index" forms="forms">
|
||||
</field-directive>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="row form-actions" id="submit_field"
|
||||
ng-click="setActiveField('submit_field', myform.form_fields.length)"
|
||||
|
||||
<div class="row form-actions" id="submit_field"
|
||||
ng-class="{activeField: selected._id == 'submit_field' }"
|
||||
ng-style="{ 'background-color':myform.design.colors.buttonColor}"
|
||||
style="border-top: 1px solid #ddd; margin-right: -13%; margin-left: -13%; padding-bottom: 100vh;">
|
||||
|
||||
<button ng-focus="setActiveField('submit_field', myform.form_fields.length)"
|
||||
<div class="col-xs-12 text-left"
|
||||
style="background-color:#990000; color:white;"
|
||||
ng-if="forms.myForm.$invalid">
|
||||
{{form_fields_count - (myform | formValidity)}} answer(s) need completing
|
||||
</div>
|
||||
|
||||
<button ng-if="!forms.myForm.$invalid"
|
||||
class="Button btn col-sm-2 col-xs-8 focusOn"
|
||||
v-busy="loading" v-busy-label="Please wait" v-pressable
|
||||
ng-disabled="loading || forms.myForm.$invalid"
|
||||
ng-disabled="loading"
|
||||
ng-click="submitForm()"
|
||||
ng-style="{'background-color':myform.design.colors.buttonColor, 'color':myform.design.colors.buttonTextColor}"
|
||||
style="font-size: 1.6em; margin-left: 1em; margin-top: 1em;">
|
||||
@ -74,6 +83,13 @@ class="row field-directive">
|
||||
Submit
|
||||
</button>
|
||||
|
||||
<button ng-if="forms.myForm.$invalid"
|
||||
class="Button btn col-sm-2 col-xs-8"
|
||||
ng-click="goToInvalid()"
|
||||
style="font-size: 1.6em; margin-left: 1em; margin-top: 1em; background-color:#990000; color:white">
|
||||
Review
|
||||
</button>
|
||||
|
||||
<div class="col-sm-2 hidden-xs" style="font-size: 75%; margin-top:3.25em">
|
||||
<small>
|
||||
press ENTER
|
||||
|
@ -1,4 +1,4 @@
|
||||
<section class="public-form" ng-style="{ 'background-color': myform.design.colors.backgroundColor }">
|
||||
√<section class="public-form" ng-style="{ 'background-color': myform.design.colors.backgroundColor }">
|
||||
<submit-form-directive myform="myform"></submit-form-directive>
|
||||
</section>
|
||||
|
||||
|
@ -83,14 +83,20 @@ angular.module('users').config(['$stateProvider',
|
||||
url: '/access_denied',
|
||||
templateUrl: 'modules/users/views/authentication/access-denied.client.view.html'
|
||||
}).
|
||||
state('resendVerifyEmail', {
|
||||
url: '/verify',
|
||||
templateUrl: 'modules/users/views/verify/resend-verify-email.client.view.html'
|
||||
}).
|
||||
state('verify', {
|
||||
resolve: {
|
||||
isDisabled: checkSignupDisabled
|
||||
},
|
||||
url: '/verify/:token',
|
||||
templateUrl: 'modules/users/views/verify/verify-account.client.view.html'
|
||||
}).
|
||||
state('resendVerifyEmail', {
|
||||
resolve: {
|
||||
isDisabled: checkSignupDisabled
|
||||
},
|
||||
url: '/verify',
|
||||
templateUrl: 'modules/users/views/verify/resend-verify-email.client.view.html'
|
||||
}).
|
||||
state('forgot', {
|
||||
url: '/password/forgot',
|
||||
templateUrl: 'modules/users/views/password/forgot-password.client.view.html'
|
||||
|
Loading…
Reference in New Issue
Block a user