1
0

fixed duplicateField() 'ng-repeat dupes' error

This commit is contained in:
David Baldwynn 2015-11-12 16:52:14 -08:00
parent e5386c41ee
commit 763bb472ad
5 changed files with 17 additions and 8 deletions

View File

@ -215,6 +215,15 @@ exports.update = function(req, res) {
//Unless we have 'admin' priviledges, updating form admin is disabled
if(req.user.roles.indexOf('admin') === -1) delete req.body.form.admin;
//Do this so we can create duplicate fields
var checkForValidId = new RegExp("^[0-9a-fA-F]{24}$");
for(var i=0; i<req.body.form.form_fields.length; i++){
var field = req.body.form.form_fields[i];
if(!checkForValidId.exec(field._id+'')){
delete field._id;
}
}
form = _.extend(form, req.body.form);
form.save(function(err, form) {

View File

@ -8,6 +8,6 @@ Maybe password hint would be nice, like if you needed a capital letter or number
I'm on iOS mobile and the grey title is too big compared to everything else
Home page is not centre aligned
I would use a different background image.. Shows up strange on small screen, thought it was palm trees at first
Cute logo smile emoticon
Cute logo :)
Also in the "sign in" forgot password doesn't do anything
I haven't gotten the confirmation email yet

View File

@ -110,9 +110,8 @@ angular.module('forms').controller('AdminFormController', ['$rootScope', '$scope
continueUpdate = !$rootScope.saveInProgress;
}
//Update form if we **are not currently updating** or if **shouldUpdateNow flag is set**
//Update form **if we are not currently updating** or if **shouldUpdateNow flag is set**
if(continueUpdate){
// console.log('begin updating form');
var err = null;
if(!updateImmediately){ $rootScope.saveInProgress = true; }

View File

@ -110,7 +110,8 @@ angular.module('forms').directive('editFormDirective', ['$rootScope', 'FormField
};
$scope.duplicateField = function (field_index){
var currField = _.cloneDeep($scope.myform.form_fields[field_index]);
currField._id = '';
currField._id = 'cloned'+_.uniqueId();
currField.title += ' copy';
//Insert field at selected index
$scope.myform.form_fields.splice(field_index+1, 0, currField);

View File

@ -157,7 +157,7 @@
<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-group data-ng-repeat="field in myform.form_fields" 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 field._id" is-open="accordion[$index].isOpen" on-finish-render="editFormFields" ng-if="!field.deletePreserved">
<accordion-heading>
@ -281,7 +281,7 @@
<div class="col-md-1 hidden-xs hidden-sm" style="padding:0 5px;" >
<div class="panel-group tool-panel text-center">
<div class="panel panel-default" ng-repeat="field in myform.form_fields" ng-if="!field.deletePreserved">
<div class="panel panel-default" ng-repeat="field in myform.form_fields track by field._id" ng-if="!field.deletePreserved">
<div class="panel-heading" style="padding: 10px 10px; height: 37px;" ng-click="deleteField($index)">
<span class="text-center">
<a href="" class="fa fa-trash-o"></a>
@ -292,7 +292,7 @@
</div>
<div class="col-md-1 hidden-xs hidden-sm" style="padding:0 5px;">
<div class="panel-group tool-panel text-center">
<div class="panel panel-default" ng-repeat="field in myform.form_fields" ng-if="!field.deletePreserved">
<div class="panel panel-default" ng-repeat="field in myform.form_fields track by field._id" ng-if="!field.deletePreserved">
<div class="panel-heading" style="padding: 10px 10px; height: 37px;" ng-click="duplicateField($index)">
<span class="text-center">
<a href="" class="fa fa-files-o"></a>
@ -304,7 +304,7 @@
<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 panel-default" ng-repeat="field in myform.form_fields" ng-if="!field.deletePreserved" style="border: none;">
<div class="panel panel-default" ng-repeat="field in myform.form_fields track by field._id" ng-if="!field.deletePreserved" style="border: none;">
<select ng-model="myform.plugins.oscarhost.settings.fieldMap[field._id]" style="height:39.2px">
<option value="">N/A</option>