-
-
-
-
- Make beautiful forms in a snap.
-
-
-
- Signup now
-
-
+
+
+
+
+
+
+
+
+ MedForms
+
+
+
+
+ Craft beautiful forms in seconds.
+
+
+ Medforms is an opensource form builder that can create stunning forms from PDFs or from scratch
+
+
+
+
-
Enjoy & Keep Us Updated,
-
The MedForms Team.
+
+
diff --git a/public/modules/forms/config/forms.client.config.js b/public/modules/forms/config/forms.client.config.js
index e1d242ac..fe459902 100644
--- a/public/modules/forms/config/forms.client.config.js
+++ b/public/modules/forms/config/forms.client.config.js
@@ -4,9 +4,7 @@
angular.module('forms').run(['Menus',
function(Menus) {
// Set top bar menu items
- Menus.addMenuItem('topbar', 'Forms', 'forms', 'dropdown', '/forms(/create)?');
- Menus.addSubMenuItem('topbar', 'forms', 'List Forms', 'forms');
- Menus.addSubMenuItem('topbar', 'forms', 'Create Form', 'forms/create');
+ Menus.addMenuItem('topbar', 'My Forms', 'forms', '', '/forms', false);
}
]).filter('formValidity',
function(){
diff --git a/public/modules/forms/controllers/create-form.client.controller.js b/public/modules/forms/controllers/create-form.client.controller.js
index d2946dc1..e3df4c96 100644
--- a/public/modules/forms/controllers/create-form.client.controller.js
+++ b/public/modules/forms/controllers/create-form.client.controller.js
@@ -91,8 +91,8 @@ angular.module('forms').controller('EditFormController', ['$scope', '$state', '$
// Redirect after save
$scope.goToWithId('viewForm', $scope.form._id);
}).error(function(errorResponse){
- console.log(errorResponse.data.message);
- $scope.error = errorResponse.data.message;
+ console.log(errorResponse);
+ $scope.error = errorResponse;
});
} else{
$scope.update();
diff --git a/public/modules/forms/controllers/view-form.client.controller.js b/public/modules/forms/controllers/view-form.client.controller.js
index f18e4de3..cc53587f 100644
--- a/public/modules/forms/controllers/view-form.client.controller.js
+++ b/public/modules/forms/controllers/view-form.client.controller.js
@@ -4,15 +4,55 @@
angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope', '$stateParams', '$state', 'Forms', 'CurrentForm','$http',
function($rootScope, $scope, $stateParams, $state, Forms, CurrentForm, $http) {
- // view form submissions
- $scope.form = CurrentForm.getForm();
+ $scope.myform = CurrentForm.getForm();
$scope.submissions = undefined;
$scope.viewSubmissions = false;
+ $scope.showCreateModal = false;
$scope.table = {
masterChecker: true,
rows: []
};
+ $scope.setForm = function (form) {
+ $scope.myForm = form;
+ };
+
+ $scope.openCreateModal = function(){
+ if(!$scope.showCreateModal){
+ $scope.showCreateModal = true;
+ }
+ };
+ $scope.closeCreateModal = function(){
+ if($scope.showCreateModal){
+ $scope.showCreateModal = false;
+ }
+ };
+
+ //Create new form
+ $scope.createNew = function(){
+ var form = {};
+ form.title = $scope.myForm.name.$modelValue;
+ form.language = $scope.myForm.language.$modelValue;
+ console.log(form);
+ $scope.showCreateModal = true;
+
+ console.log($scope.myForm);
+ if($scope.myForm.$valid && $scope.myForm.$dirty){
+ $http.post('/forms', {form: form})
+ .success(function(data, status, headers){
+ console.log('form created');
+
+ // Clear form fields
+ $scope.myForm = {};
+ // Redirect after save
+ $scope.goToWithId('viewForm', $scope.myform._id);
+ }).error(function(errorResponse){
+ console.log(errorResponse);
+ // $scope.error = errorResponse.data.message;
+ });
+ }
+ };
+
$scope.saveInProgress = false;
$scope.update = function() {
if(!$scope.saveInProgress){
@@ -20,31 +60,31 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
console.log('start update()');
- $http.put('/forms/'+$scope.form._id, {form: $scope.form})
+ $http.put('/forms/'+$scope.myform._id, {form: $scope.myform})
.then(function(response){
console.log('form updated successfully');
console.log('$scope.saveInProgress: '+$scope.saveInProgress);
- // $rootScope.goToWithId('viewForm', $scope.form._id);
+ // $rootScope.goToWithId('viewForm', $scope.myform._id);
}).catch(function(response){
console.log('Error occured during form UPDATE.\n');
console.log(response.data);
}).finally(function() {
$scope.saveInProgress = false;
});
- };
- }
+ }
+ };
//Table Functions
$scope.toggleAllCheckers = function(){
console.log('toggleAllCheckers');
for(var i=0; i<$scope.table.rows.length; i++){
- table.rows[i].selected = $scope.table.masterChecker;
+ $scope.table.rows[i].selected = $scope.table.masterChecker;
}
- }
+ };
$scope.toggleObjSelection = function($event, description) {
$event.stopPropagation();
console.log('checkbox clicked');
- }
+ };
$scope.rowClicked = function(obj) {
console.log('row clicked');
@@ -55,7 +95,7 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
$scope.showSubmissions = function(){
$scope.viewSubmissions = true;
if(!$scope.table.rows.length){
- $http.get('/forms/'+$scope.form._id+'/submissions')
+ $http.get('/forms/'+$scope.myform._id+'/submissions')
.success(function(data, status, headers){
console.log(data);
$scope.submissions = data;
@@ -66,7 +106,7 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
console.log('Could not fetch form submissions.\nError: '+err);
});
} else if(!$scope.submissions.length){
- $http.get('/forms/'+$scope.form._id+'/submissions')
+ $http.get('/forms/'+$scope.myform._id+'/submissions')
.success(function(data, status, headers){
$scope.submissions = data;
$scope.table.rows = data;
@@ -87,29 +127,42 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
// Return all user's Forms
$scope.findAll = function() {
- $scope.forms = Forms.query();
- console.log($scope.forms);
+ $scope.myforms = Forms.query();
};
// Find a specific Form
$scope.findOne = function() {
- $scope.form = Forms.get({
+ $scope.myform = Forms.get({
formId: $stateParams.formId
});
- CurrentForm.setForm($scope.form);
+ CurrentForm.setForm($scope.myform);
};
// Remove existing Form
- $scope.remove = function() {
+ $scope.remove = function(form_id) {
+ var form = {};
+ if(!form_id){
+ form = CurrentForm.getForm();
+ if(!form) form = $scope.myform;
+ }else {
+ form._id = form_id;
+ }
- var form = CurrentForm.getForm();
- if(!form) form = $scope.form;
+
- $http.delete('/forms/'+$scope.form._id)
+ $http.delete('/forms/'+form._id)
.success(function(data, status, headers){
console.log('form deleted successfully');
- alert('Form deleted..');
- $state.go('listForms');
+
+ if(!form_id){
+ $state.go('listForms');
+ }
+ if($scope.myforms.length > 0){
+ $scope.myforms = _.filter($scope.myforms, function(myform){
+ return myform._id !== form._id;
+ });
+ }
+
}).error(function(error){
console.log('ERROR: Form could not be deleted.');
console.error(error);
@@ -124,16 +177,16 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
$rootScope.createOrUpdate = function() {
if($scope.isNewForm){
// Create new Form object
- var form = new Forms($scope.form);
+ var form = new Forms($scope.myform);
- $http.post('/forms', {form: $scope.form})
+ $http.post('/forms', {form: $scope.myform})
.success(function(data, status, headers){
console.log('form created');
// Clear form fields
- $scope.form = {};
+ $scope.myform = {};
// Redirect after save
- $scope.goToWithId('viewForm', $scope.form._id);
+ $scope.goToWithId('viewForm', $scope.myform._id);
}).error(function(errorResponse){
console.log(errorResponse.data.message);
$scope.error = errorResponse.data.message;
@@ -156,7 +209,7 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
$rootScope.saveInProgress = true;
console.log('update form');
- $http.put('/forms/'+$scope.form._id, {form: $scope.form})
+ $http.put('/forms/'+$scope.myform._id, {form: $scope.myform})
.then(function(response){
console.log('form updated successfully');
}).catch(function(response){
@@ -169,10 +222,10 @@ angular.module('forms').controller('ViewFormController', ['$rootScope', '$scope'
};
$rootScope.resetForm = function(){
- $scope.form = Forms.get({
+ $scope.myform = Forms.get({
formId: $stateParams.formId
});
- }
+ };
}
]);
\ No newline at end of file
diff --git a/public/modules/forms/css/form.css b/public/modules/forms/css/form.css
index 6e85f312..57579b6e 100644
--- a/public/modules/forms/css/form.css
+++ b/public/modules/forms/css/form.css
@@ -150,6 +150,31 @@ section > section.ng-scope {
color: white;
}
+/*MODAL CSS */
+.form-item.row.create-new.new-form {
+ background-color: rgb(300,131,131);
+ z-index: 11;
+}
+.form-item.row.create-new.new-form:hover {
+ background-color: rgb(300,100,100);
+}
+
+ .form-item.new-form a.btn {
+ font-size: 0.95em;
+ }
+
+ /*Modal overlay (for lightbox effect)*/
+ .overlay {
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 193%;
+ width: inherit;
+ background-color: rgba(0,0,0,0.5);
+ z-index: 10;
+ }
+
+
.form-item.row:hover, .form-item.row.create-new:hover {
border-bottom: 8px inset #ccc;
background-color: #d9d9d9;
@@ -183,7 +208,7 @@ section > section.ng-scope {
margin-top: 3.2em;
}
.form-item.row > .details-row small {
- font-size: 0.65em;
+ font-size: 0.6em;
}
.form-item.row.create-new > .details-row small {
font-size: 0.95em;
diff --git a/public/modules/forms/views/list-forms.client.view.html b/public/modules/forms/views/list-forms.client.view.html
index 41eb7193..ee6e3cdb 100644
--- a/public/modules/forms/views/list-forms.client.view.html
+++ b/public/modules/forms/views/list-forms.client.view.html
@@ -1,13 +1,15 @@
-