fixed editform field title bug

This commit is contained in:
David Baldwynn 2016-04-22 15:36:34 -04:00
parent 2955a9034b
commit a5776c6dc8
11 changed files with 80 additions and 63 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -22,7 +22,8 @@ angular.module('forms').config(['$stateProvider',
return Forms.get({formId: $stateParams.formId}).$promise; return Forms.get({formId: $stateParams.formId}).$promise;
}, },
}, },
controller: 'SubmitFormController' controller: 'SubmitFormController',
controllerAs: 'ctrl'
}).state('viewForm', { }).state('viewForm', {
url: '/forms/:formId/admin', url: '/forms/:formId/admin',
templateUrl: 'modules/forms/views/admin-form.client.view.html', templateUrl: 'modules/forms/views/admin-form.client.view.html',

View file

@ -21,6 +21,11 @@
bottom: 0; bottom: 0;
} }
.dropzone h4.panel-title {
height: 17px;
overflow: hidden;
}
.container.admin-form { .container.admin-form {
margin-top: 70px; margin-top: 70px;
} }

View file

@ -58,7 +58,9 @@ angular.module('forms').directive('fieldDirective', ['$http', '$compile', '$root
defaultDate: 0, defaultDate: 0,
}; };
} }
var fieldType = scope.field.fieldType;
if(scope.field.fieldType === 'number' || scope.field.fieldType === 'textfield' || scope.field.fieldType === 'email' || scope.field.fieldType === 'link'){ if(scope.field.fieldType === 'number' || scope.field.fieldType === 'textfield' || scope.field.fieldType === 'email' || scope.field.fieldType === 'link'){
switch(scope.field.fieldType){ switch(scope.field.fieldType){
case 'textfield': case 'textfield':
@ -76,9 +78,9 @@ angular.module('forms').directive('fieldDirective', ['$http', '$compile', '$root
scope.field.placeholder = 'http://example.com'; scope.field.placeholder = 'http://example.com';
break; break;
} }
scope.field.fieldType = 'textfield'; fieldType = 'textfield';
} }
var template = getTemplateUrl(scope.field.fieldType); var template = getTemplateUrl(fieldType);
element.html(template).show(); element.html(template).show();
$compile(element.contents())(scope); $compile(element.contents())(scope);
}, },

View file

@ -11,7 +11,7 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
controller: function($document, $window, $scope){ controller: function($document, $window, $scope){
$scope.authentication = $rootScope.authentication; $scope.authentication = $rootScope.authentication;
$scope.noscroll = false; $scope.noscroll = false;
$scope.forms = {};
$scope.form_fields_count = $scope.myform.visible_form_fields.filter(function(field){ $scope.form_fields_count = $scope.myform.visible_form_fields.filter(function(field){
if(field.fieldType === 'statement' || field.fieldType === 'rating'){ if(field.fieldType === 'statement' || field.fieldType === 'rating'){
return false; return false;
@ -43,7 +43,11 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
var elemBox = document.getElementsByClassName('activeField')[0].getBoundingClientRect(); var elemBox = document.getElementsByClassName('activeField')[0].getBoundingClientRect();
$scope.fieldTop = elemBox.top; $scope.fieldTop = elemBox.top;
$scope.fieldBottom = elemBox.bottom; $scope.fieldBottom = elemBox.bottom;
console.log($scope.forms.myForm);
if(!$scope.noscroll){ if(!$scope.noscroll){
//Focus on submit button //Focus on submit button
if( $scope.selected.index === $scope.myform.form_fields.length-1 && $scope.fieldBottom < 200){ if( $scope.selected.index === $scope.myform.form_fields.length-1 && $scope.fieldBottom < 200){
@ -67,8 +71,8 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
var field_id = $scope.myform.form_fields[field_index]._id; var field_id = $scope.myform.form_fields[field_index]._id;
$scope.setActiveField(field_id, field_index, false); $scope.setActiveField(field_id, field_index, false);
} }
console.log('$scope.selected.index: '+$scope.selected.index); //console.log('$scope.selected.index: '+$scope.selected.index);
console.log('scroll pos: '+$scope.scrollPos+' fieldTop: '+$scope.fieldTop+' fieldBottom: '+$scope.fieldBottom); //console.log('scroll pos: '+$scope.scrollPos+' fieldTop: '+$scope.fieldTop+' fieldBottom: '+$scope.fieldBottom);
$scope.$apply(); $scope.$apply();
} }
}; };

View file

@ -10,7 +10,7 @@
<div class="col-xs-12 field-input"> <div class="col-xs-12 field-input">
<input ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}" <input ng-style="{'color': design.colors.answerColor, 'border-color': design.colors.answerColor}"
ng-focus="setActiveField(field._id, index, true)" ng-focus="setActiveField(field._id, index, true)"
name="{{field._id}}" name="{{field.fieldType}}{{index}}"
type="{{field.input_type}}" type="{{field.input_type}}"
placeholder="{{field.placeholder}}" placeholder="{{field.placeholder}}"
ng-class="{ 'no-border': !!field.fieldValue }" ng-class="{ 'no-border': !!field.fieldValue }"
@ -24,7 +24,7 @@
on-enter-key="nextField()"> on-enter-key="nextField()">
</div> </div>
<div class="col-xs-12"> <div class="col-xs-12">
<div ng-show="myForm[{{field._id}}].$invalid" class="alert alert-danger" role="alert"> <div ng-show="forms.myForm.{{field.fieldType}}{{index}}.$invalid" class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
<span class="sr-only">Error:</span> <span class="sr-only">Error:</span>
Enter a valid email address Enter a valid email address
@ -34,7 +34,7 @@
<div class="col-xs-12 row"> <div class="col-xs-12 row">
<div class="btn btn-lg btn-default row-fluid" <div class="btn btn-lg btn-default row-fluid"
style="padding: 4px; margin-top:8px; background: rgba(255,255,255,0.5)"> style="padding: 4px; margin-top:8px; background: rgba(255,255,255,0.5)">
<button ng-disabled="!field.fieldValue || myForm.{{field._id}}.$invalid" <button ng-disabled="!field.fieldValue || forms.myForm.{{field.fieldType}}{{$index}}.$invalid"
ng-style="{'background-color':design.colors.buttonColor, 'color':design.colors.buttonTextColor}" ng-style="{'background-color':design.colors.buttonColor, 'color':design.colors.buttonTextColor}"
ng-click="$root.nextField()" ng-click="$root.nextField()"
class="btn col-sm-5 col-xs-5"> class="btn col-sm-5 col-xs-5">

View file

@ -165,16 +165,16 @@
<div class="col-sm-12 col-md-8 dropzoneContainer"> <div class="col-sm-12 col-md-8 dropzoneContainer">
<accordion close-others="accordion.oneAtATime" ui-sortable="dropzone" ng-model="myform.form_fields" class="dropzone"> <accordion close-others="accordion.oneAtATime" ui-sortable="dropzone" ng-model="myform.form_fields" class="dropzone">
<accordion-group data-ng-repeat="field in myform.form_fields track by field._id" is-open="accordion[$index].isOpen" on-finish-render="editFormFields" ng-if="!field.deletePreserved"> <accordion-group data-ng-repeat="field in myform.form_fields track by $index" is-open="accordion[$index].isOpen" on-finish-render="editFormFields" ng-if="!field.deletePreserved">
<accordion-heading> <accordion-heading>
<div class="handle"> <div class="handle">
<span class="pull-left" ng-switch="field.fieldType"> <span class="col-xs-1" ng-switch="field.fieldType">
<field-icon-directive type-name="{{field.fieldType}}"></field-icon-directive> <field-icon-directive type-name="{{field.fieldType}}"></field-icon-directive>
</span> </span>
<span style="padding-left:1.2em;"> <span class="col-xs-10">
{{field.title}} {{field.title}}
<span ng-show="field.required">*</span> <span ng-show="field.required">*</span>
</span> </span>
@ -289,7 +289,7 @@
<div class="col-md-1 hidden-xs hidden-sm" style="padding:0 5px;" > <div class="col-md-1 hidden-xs hidden-sm" style="padding:0 5px;" >
<div class="panel-group tool-panel text-center"> <div class="panel-group tool-panel text-center">
<div class="panel panel-default" ng-repeat="field in myform.form_fields track by field._id" ng-if="!field.deletePreserved"> <div class="panel panel-default" ng-repeat="field in myform.form_fields track by $index" ng-if="!field.deletePreserved">
<div class="panel-heading" style="padding: 10px 10px; height: 37px;" ng-click="deleteField($index)"> <div class="panel-heading" style="padding: 10px 10px; height: 37px;" ng-click="deleteField($index)">
<span class="text-center"> <span class="text-center">
<a href="" class="fa fa-trash-o"></a> <a href="" class="fa fa-trash-o"></a>
@ -300,7 +300,7 @@
</div> </div>
<div class="col-md-1 hidden-xs hidden-sm" style="padding:0 5px;"> <div class="col-md-1 hidden-xs hidden-sm" style="padding:0 5px;">
<div class="panel-group tool-panel text-center"> <div class="panel-group tool-panel text-center">
<div class="panel panel-default" ng-repeat="field in myform.form_fields track by field._id" ng-if="!field.deletePreserved"> <div class="panel panel-default" ng-repeat="field in myform.form_fields track by $index" ng-if="!field.deletePreserved">
<div class="panel-heading" style="padding: 10px 10px; height: 37px;" ng-click="duplicateField($index)"> <div class="panel-heading" style="padding: 10px 10px; height: 37px;" ng-click="duplicateField($index)">
<span class="text-center"> <span class="text-center">
<a href="" class="fa fa-files-o"></a> <a href="" class="fa fa-files-o"></a>
@ -312,7 +312,7 @@
<div class="col-md-2 hidden-xs hidden-sm" style="padding:0 5px;" ng-if="myform.plugins.oscarhost.baseUrl"> <div class="col-md-2 hidden-xs hidden-sm" style="padding:0 5px;" ng-if="myform.plugins.oscarhost.baseUrl">
<div class="panel-group text-center"> <div class="panel-group text-center">
<div class="panel panel-default" ng-repeat="field in myform.form_fields track by field._id" ng-if="!field.deletePreserved" style="border: none;"> <div class="panel panel-default" ng-repeat="field in myform.form_fields track by $index" ng-if="!field.deletePreserved" style="border: none;">
<select ng-model="myform.plugins.oscarhost.settings.fieldMap[field._id]" style="height:39.2px"> <select ng-model="myform.plugins.oscarhost.settings.fieldMap[field._id]" style="height:39.2px">
<option value="">N/A</option> <option value="">N/A</option>

View file

@ -42,8 +42,7 @@ ng-style="{'color':button.color}">
<div class="form-fields" ng-show="!myform.submitted && !myform.startPage.showStart" <div class="form-fields" ng-show="!myform.submitted && !myform.startPage.showStart"
ng-style="{ 'border-color': myform.design.colors.buttonTextColor }"> ng-style="{ 'border-color': myform.design.colors.buttonTextColor }">
<div class="row"> <div class="row">
<form name="myForm" <form name="forms.myForm"
du-scroll-container
novalidate novalidate
class="submission-form col-sm-12 col-md-offset-1 col-md-10"> class="submission-form col-sm-12 col-md-offset-1 col-md-10">
<div ng-repeat="field in myform.form_fields" <div ng-repeat="field in myform.form_fields"

File diff suppressed because one or more lines are too long