From ff9d95267831bdd48832596b892d8430c5a3c987 Mon Sep 17 00:00:00 2001
From: Sam
Date: Sat, 23 Apr 2016 18:51:39 +0300
Subject: [PATCH 01/42] split form code
---
.../forms/{ => admin}/controllers/admin-form.client.controller.js | 0
.../forms/{ => admin}/controllers/list-forms.client.controller.js | 0
.../forms/{ => admin}/directives/auto-save.client.directive.js | 0
.../{ => admin}/directives/configure-form.client.directive.js | 0
.../forms/{ => admin}/directives/edit-form.client.directive.js | 0
.../directives/edit-submissions-form.client.directive.js | 0
.../forms/{ => admin}/services/submissions.client.service.js | 0
.../modules/forms/{ => admin}/views/admin-form.client.view.html | 0
public/modules/forms/{ => admin}/views/adminTabs/analyze.html | 0
public/modules/forms/{ => admin}/views/adminTabs/configure.html | 0
public/modules/forms/{ => admin}/views/adminTabs/create.html | 0
public/modules/forms/{ => admin}/views/adminTabs/design.html | 0
.../views/directiveViews/cgBusy/update-form-message-TypeA.html | 0
.../views/directiveViews/cgBusy/update-form-message-TypeB.html | 0
.../views/directiveViews/form/configure-form.client.view.html | 0
.../views/directiveViews/form/edit-form.client.view.html | 0
.../directiveViews/form/edit-submissions-form.client.view.html | 0
.../modules/forms/{ => admin}/views/list-forms.client.view.html | 0
.../forms/{ => base}/controllers/submit-form.client.controller.js | 0
public/modules/forms/{ => base}/css/form.css | 0
.../forms/{ => base}/directives/field-icon.client.directive.js | 0
.../modules/forms/{ => base}/directives/field.client.directive.js | 0
.../forms/{ => base}/directives/on-enter-key.client.directive.js | 0
.../{ => base}/directives/on-finish-render.client.directive.js | 0
.../forms/{ => base}/directives/submit-form.client.directive.js | 0
.../forms/{ => base}/services/current-form.client.service.js | 0
.../forms/{ => base}/services/form-fields.client.service.js | 0
public/modules/forms/{ => base}/services/forms.client.service.js | 0
.../forms/{ => base}/services/time-counter.client.service.js | 0
.../{ => base}/views/directiveViews/entryPage/startPage.html | 0
.../modules/forms/{ => base}/views/directiveViews/field/date.html | 0
.../forms/{ => base}/views/directiveViews/field/dropdown.html | 0
.../forms/{ => base}/views/directiveViews/field/hidden.html | 0
.../forms/{ => base}/views/directiveViews/field/legal.html | 0
.../forms/{ => base}/views/directiveViews/field/radio.html | 0
.../forms/{ => base}/views/directiveViews/field/rating.html | 0
.../forms/{ => base}/views/directiveViews/field/statement.html | 0
.../forms/{ => base}/views/directiveViews/field/textarea.html | 0
.../forms/{ => base}/views/directiveViews/field/textfield.html | 0
.../forms/{ => base}/views/directiveViews/field/yes_no.html | 0
.../views/directiveViews/form/submit-form.client.view.html | 0
.../modules/forms/{ => base}/views/submit-form.client.view.html | 0
42 files changed, 0 insertions(+), 0 deletions(-)
rename public/modules/forms/{ => admin}/controllers/admin-form.client.controller.js (100%)
rename public/modules/forms/{ => admin}/controllers/list-forms.client.controller.js (100%)
rename public/modules/forms/{ => admin}/directives/auto-save.client.directive.js (100%)
rename public/modules/forms/{ => admin}/directives/configure-form.client.directive.js (100%)
rename public/modules/forms/{ => admin}/directives/edit-form.client.directive.js (100%)
rename public/modules/forms/{ => admin}/directives/edit-submissions-form.client.directive.js (100%)
rename public/modules/forms/{ => admin}/services/submissions.client.service.js (100%)
rename public/modules/forms/{ => admin}/views/admin-form.client.view.html (100%)
rename public/modules/forms/{ => admin}/views/adminTabs/analyze.html (100%)
rename public/modules/forms/{ => admin}/views/adminTabs/configure.html (100%)
rename public/modules/forms/{ => admin}/views/adminTabs/create.html (100%)
rename public/modules/forms/{ => admin}/views/adminTabs/design.html (100%)
rename public/modules/forms/{ => admin}/views/directiveViews/cgBusy/update-form-message-TypeA.html (100%)
rename public/modules/forms/{ => admin}/views/directiveViews/cgBusy/update-form-message-TypeB.html (100%)
rename public/modules/forms/{ => admin}/views/directiveViews/form/configure-form.client.view.html (100%)
rename public/modules/forms/{ => admin}/views/directiveViews/form/edit-form.client.view.html (100%)
rename public/modules/forms/{ => admin}/views/directiveViews/form/edit-submissions-form.client.view.html (100%)
rename public/modules/forms/{ => admin}/views/list-forms.client.view.html (100%)
rename public/modules/forms/{ => base}/controllers/submit-form.client.controller.js (100%)
rename public/modules/forms/{ => base}/css/form.css (100%)
rename public/modules/forms/{ => base}/directives/field-icon.client.directive.js (100%)
rename public/modules/forms/{ => base}/directives/field.client.directive.js (100%)
rename public/modules/forms/{ => base}/directives/on-enter-key.client.directive.js (100%)
rename public/modules/forms/{ => base}/directives/on-finish-render.client.directive.js (100%)
rename public/modules/forms/{ => base}/directives/submit-form.client.directive.js (100%)
rename public/modules/forms/{ => base}/services/current-form.client.service.js (100%)
rename public/modules/forms/{ => base}/services/form-fields.client.service.js (100%)
rename public/modules/forms/{ => base}/services/forms.client.service.js (100%)
rename public/modules/forms/{ => base}/services/time-counter.client.service.js (100%)
rename public/modules/forms/{ => base}/views/directiveViews/entryPage/startPage.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/date.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/dropdown.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/hidden.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/legal.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/radio.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/rating.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/statement.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/textarea.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/textfield.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/field/yes_no.html (100%)
rename public/modules/forms/{ => base}/views/directiveViews/form/submit-form.client.view.html (100%)
rename public/modules/forms/{ => base}/views/submit-form.client.view.html (100%)
diff --git a/public/modules/forms/controllers/admin-form.client.controller.js b/public/modules/forms/admin/controllers/admin-form.client.controller.js
similarity index 100%
rename from public/modules/forms/controllers/admin-form.client.controller.js
rename to public/modules/forms/admin/controllers/admin-form.client.controller.js
diff --git a/public/modules/forms/controllers/list-forms.client.controller.js b/public/modules/forms/admin/controllers/list-forms.client.controller.js
similarity index 100%
rename from public/modules/forms/controllers/list-forms.client.controller.js
rename to public/modules/forms/admin/controllers/list-forms.client.controller.js
diff --git a/public/modules/forms/directives/auto-save.client.directive.js b/public/modules/forms/admin/directives/auto-save.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/auto-save.client.directive.js
rename to public/modules/forms/admin/directives/auto-save.client.directive.js
diff --git a/public/modules/forms/directives/configure-form.client.directive.js b/public/modules/forms/admin/directives/configure-form.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/configure-form.client.directive.js
rename to public/modules/forms/admin/directives/configure-form.client.directive.js
diff --git a/public/modules/forms/directives/edit-form.client.directive.js b/public/modules/forms/admin/directives/edit-form.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/edit-form.client.directive.js
rename to public/modules/forms/admin/directives/edit-form.client.directive.js
diff --git a/public/modules/forms/directives/edit-submissions-form.client.directive.js b/public/modules/forms/admin/directives/edit-submissions-form.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/edit-submissions-form.client.directive.js
rename to public/modules/forms/admin/directives/edit-submissions-form.client.directive.js
diff --git a/public/modules/forms/services/submissions.client.service.js b/public/modules/forms/admin/services/submissions.client.service.js
similarity index 100%
rename from public/modules/forms/services/submissions.client.service.js
rename to public/modules/forms/admin/services/submissions.client.service.js
diff --git a/public/modules/forms/views/admin-form.client.view.html b/public/modules/forms/admin/views/admin-form.client.view.html
similarity index 100%
rename from public/modules/forms/views/admin-form.client.view.html
rename to public/modules/forms/admin/views/admin-form.client.view.html
diff --git a/public/modules/forms/views/adminTabs/analyze.html b/public/modules/forms/admin/views/adminTabs/analyze.html
similarity index 100%
rename from public/modules/forms/views/adminTabs/analyze.html
rename to public/modules/forms/admin/views/adminTabs/analyze.html
diff --git a/public/modules/forms/views/adminTabs/configure.html b/public/modules/forms/admin/views/adminTabs/configure.html
similarity index 100%
rename from public/modules/forms/views/adminTabs/configure.html
rename to public/modules/forms/admin/views/adminTabs/configure.html
diff --git a/public/modules/forms/views/adminTabs/create.html b/public/modules/forms/admin/views/adminTabs/create.html
similarity index 100%
rename from public/modules/forms/views/adminTabs/create.html
rename to public/modules/forms/admin/views/adminTabs/create.html
diff --git a/public/modules/forms/views/adminTabs/design.html b/public/modules/forms/admin/views/adminTabs/design.html
similarity index 100%
rename from public/modules/forms/views/adminTabs/design.html
rename to public/modules/forms/admin/views/adminTabs/design.html
diff --git a/public/modules/forms/views/directiveViews/cgBusy/update-form-message-TypeA.html b/public/modules/forms/admin/views/directiveViews/cgBusy/update-form-message-TypeA.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/cgBusy/update-form-message-TypeA.html
rename to public/modules/forms/admin/views/directiveViews/cgBusy/update-form-message-TypeA.html
diff --git a/public/modules/forms/views/directiveViews/cgBusy/update-form-message-TypeB.html b/public/modules/forms/admin/views/directiveViews/cgBusy/update-form-message-TypeB.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/cgBusy/update-form-message-TypeB.html
rename to public/modules/forms/admin/views/directiveViews/cgBusy/update-form-message-TypeB.html
diff --git a/public/modules/forms/views/directiveViews/form/configure-form.client.view.html b/public/modules/forms/admin/views/directiveViews/form/configure-form.client.view.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/form/configure-form.client.view.html
rename to public/modules/forms/admin/views/directiveViews/form/configure-form.client.view.html
diff --git a/public/modules/forms/views/directiveViews/form/edit-form.client.view.html b/public/modules/forms/admin/views/directiveViews/form/edit-form.client.view.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/form/edit-form.client.view.html
rename to public/modules/forms/admin/views/directiveViews/form/edit-form.client.view.html
diff --git a/public/modules/forms/views/directiveViews/form/edit-submissions-form.client.view.html b/public/modules/forms/admin/views/directiveViews/form/edit-submissions-form.client.view.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/form/edit-submissions-form.client.view.html
rename to public/modules/forms/admin/views/directiveViews/form/edit-submissions-form.client.view.html
diff --git a/public/modules/forms/views/list-forms.client.view.html b/public/modules/forms/admin/views/list-forms.client.view.html
similarity index 100%
rename from public/modules/forms/views/list-forms.client.view.html
rename to public/modules/forms/admin/views/list-forms.client.view.html
diff --git a/public/modules/forms/controllers/submit-form.client.controller.js b/public/modules/forms/base/controllers/submit-form.client.controller.js
similarity index 100%
rename from public/modules/forms/controllers/submit-form.client.controller.js
rename to public/modules/forms/base/controllers/submit-form.client.controller.js
diff --git a/public/modules/forms/css/form.css b/public/modules/forms/base/css/form.css
similarity index 100%
rename from public/modules/forms/css/form.css
rename to public/modules/forms/base/css/form.css
diff --git a/public/modules/forms/directives/field-icon.client.directive.js b/public/modules/forms/base/directives/field-icon.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/field-icon.client.directive.js
rename to public/modules/forms/base/directives/field-icon.client.directive.js
diff --git a/public/modules/forms/directives/field.client.directive.js b/public/modules/forms/base/directives/field.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/field.client.directive.js
rename to public/modules/forms/base/directives/field.client.directive.js
diff --git a/public/modules/forms/directives/on-enter-key.client.directive.js b/public/modules/forms/base/directives/on-enter-key.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/on-enter-key.client.directive.js
rename to public/modules/forms/base/directives/on-enter-key.client.directive.js
diff --git a/public/modules/forms/directives/on-finish-render.client.directive.js b/public/modules/forms/base/directives/on-finish-render.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/on-finish-render.client.directive.js
rename to public/modules/forms/base/directives/on-finish-render.client.directive.js
diff --git a/public/modules/forms/directives/submit-form.client.directive.js b/public/modules/forms/base/directives/submit-form.client.directive.js
similarity index 100%
rename from public/modules/forms/directives/submit-form.client.directive.js
rename to public/modules/forms/base/directives/submit-form.client.directive.js
diff --git a/public/modules/forms/services/current-form.client.service.js b/public/modules/forms/base/services/current-form.client.service.js
similarity index 100%
rename from public/modules/forms/services/current-form.client.service.js
rename to public/modules/forms/base/services/current-form.client.service.js
diff --git a/public/modules/forms/services/form-fields.client.service.js b/public/modules/forms/base/services/form-fields.client.service.js
similarity index 100%
rename from public/modules/forms/services/form-fields.client.service.js
rename to public/modules/forms/base/services/form-fields.client.service.js
diff --git a/public/modules/forms/services/forms.client.service.js b/public/modules/forms/base/services/forms.client.service.js
similarity index 100%
rename from public/modules/forms/services/forms.client.service.js
rename to public/modules/forms/base/services/forms.client.service.js
diff --git a/public/modules/forms/services/time-counter.client.service.js b/public/modules/forms/base/services/time-counter.client.service.js
similarity index 100%
rename from public/modules/forms/services/time-counter.client.service.js
rename to public/modules/forms/base/services/time-counter.client.service.js
diff --git a/public/modules/forms/views/directiveViews/entryPage/startPage.html b/public/modules/forms/base/views/directiveViews/entryPage/startPage.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/entryPage/startPage.html
rename to public/modules/forms/base/views/directiveViews/entryPage/startPage.html
diff --git a/public/modules/forms/views/directiveViews/field/date.html b/public/modules/forms/base/views/directiveViews/field/date.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/date.html
rename to public/modules/forms/base/views/directiveViews/field/date.html
diff --git a/public/modules/forms/views/directiveViews/field/dropdown.html b/public/modules/forms/base/views/directiveViews/field/dropdown.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/dropdown.html
rename to public/modules/forms/base/views/directiveViews/field/dropdown.html
diff --git a/public/modules/forms/views/directiveViews/field/hidden.html b/public/modules/forms/base/views/directiveViews/field/hidden.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/hidden.html
rename to public/modules/forms/base/views/directiveViews/field/hidden.html
diff --git a/public/modules/forms/views/directiveViews/field/legal.html b/public/modules/forms/base/views/directiveViews/field/legal.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/legal.html
rename to public/modules/forms/base/views/directiveViews/field/legal.html
diff --git a/public/modules/forms/views/directiveViews/field/radio.html b/public/modules/forms/base/views/directiveViews/field/radio.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/radio.html
rename to public/modules/forms/base/views/directiveViews/field/radio.html
diff --git a/public/modules/forms/views/directiveViews/field/rating.html b/public/modules/forms/base/views/directiveViews/field/rating.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/rating.html
rename to public/modules/forms/base/views/directiveViews/field/rating.html
diff --git a/public/modules/forms/views/directiveViews/field/statement.html b/public/modules/forms/base/views/directiveViews/field/statement.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/statement.html
rename to public/modules/forms/base/views/directiveViews/field/statement.html
diff --git a/public/modules/forms/views/directiveViews/field/textarea.html b/public/modules/forms/base/views/directiveViews/field/textarea.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/textarea.html
rename to public/modules/forms/base/views/directiveViews/field/textarea.html
diff --git a/public/modules/forms/views/directiveViews/field/textfield.html b/public/modules/forms/base/views/directiveViews/field/textfield.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/textfield.html
rename to public/modules/forms/base/views/directiveViews/field/textfield.html
diff --git a/public/modules/forms/views/directiveViews/field/yes_no.html b/public/modules/forms/base/views/directiveViews/field/yes_no.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/field/yes_no.html
rename to public/modules/forms/base/views/directiveViews/field/yes_no.html
diff --git a/public/modules/forms/views/directiveViews/form/submit-form.client.view.html b/public/modules/forms/base/views/directiveViews/form/submit-form.client.view.html
similarity index 100%
rename from public/modules/forms/views/directiveViews/form/submit-form.client.view.html
rename to public/modules/forms/base/views/directiveViews/form/submit-form.client.view.html
diff --git a/public/modules/forms/views/submit-form.client.view.html b/public/modules/forms/base/views/submit-form.client.view.html
similarity index 100%
rename from public/modules/forms/views/submit-form.client.view.html
rename to public/modules/forms/base/views/submit-form.client.view.html
From dd1aab9f0c9fd6ef51e18d7823b3a4a4e105f36a Mon Sep 17 00:00:00 2001
From: Sam
Date: Wed, 27 Apr 2016 17:09:04 +0300
Subject: [PATCH 02/42] add form build
---
.../forms/base/controllers/submit-form.client.controller.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/public/modules/forms/base/controllers/submit-form.client.controller.js b/public/modules/forms/base/controllers/submit-form.client.controller.js
index 1e321fba..c2919531 100644
--- a/public/modules/forms/base/controllers/submit-form.client.controller.js
+++ b/public/modules/forms/base/controllers/submit-form.client.controller.js
@@ -21,4 +21,4 @@ angular.module('forms').controller('SubmitFormController', ['$scope', '$rootScop
}
}
-]);
\ No newline at end of file
+]);
From f870d4c1390cfb8f6be32cfcaa41c5adf8286495 Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 28 Apr 2016 00:38:56 +0300
Subject: [PATCH 03/42] wip
---
public/application.js | 2 ++
.../forms/base/config/forms.client.config.js | 29 +++++++++++++++++++
.../base/directives/field.client.directive.js | 2 +-
.../submit-form.client.directive.js | 3 +-
.../base/services/forms.client.service.js | 6 ++--
.../forms/config/forms.client.routes.js | 4 +--
6 files changed, 38 insertions(+), 8 deletions(-)
create mode 100644 public/modules/forms/base/config/forms.client.config.js
diff --git a/public/application.js b/public/application.js
index 5b024e0f..25c2ca36 100755
--- a/public/application.js
+++ b/public/application.js
@@ -23,6 +23,8 @@ angular.module(ApplicationConfiguration.applicationModuleName).constant('USER_RO
normal: 'user',
superuser: 'superuser'
});
+//form url
+angular.module(ApplicationConfiguration.applicationModuleName).constant('FORM_URL', '/forms/:formId');
angular.module(ApplicationConfiguration.applicationModuleName).run(['$rootScope', 'Auth', '$state', '$stateParams',
function($rootScope, Auth, $state, $stateParams) {
diff --git a/public/modules/forms/base/config/forms.client.config.js b/public/modules/forms/base/config/forms.client.config.js
new file mode 100644
index 00000000..b08eebd7
--- /dev/null
+++ b/public/modules/forms/base/config/forms.client.config.js
@@ -0,0 +1,29 @@
+'use strict';
+
+// Configuring the Forms drop-down menus
+angular.module('forms').filter('formValidity',
+function(){
+ return function(formObj){
+ if(formObj && formObj.form_fields && formObj.visible_form_fields){
+
+ //get keys
+ var formKeys = Object.keys(formObj);
+
+ //we only care about things that don't start with $
+ var fieldKeys = formKeys.filter(function(key){
+ return key[0] !== '$';
+ });
+
+ var fields = formObj.form_fields;
+
+ var valid_count = fields.filter(function(field){
+ if(typeof field === 'object' && field.fieldType !== 'statement' && field.fieldType !== 'rating'){
+ return !!(field.fieldValue);
+ }
+
+ }).length;
+ return valid_count - (formObj.form_fields.length - formObj.visible_form_fields.length);
+ }
+ return 0;
+ };
+});
diff --git a/public/modules/forms/base/directives/field.client.directive.js b/public/modules/forms/base/directives/field.client.directive.js
index b92c5c48..1881e217 100644
--- a/public/modules/forms/base/directives/field.client.directive.js
+++ b/public/modules/forms/base/directives/field.client.directive.js
@@ -13,7 +13,7 @@ angular.module('forms').directive('fieldDirective', ['$http', '$compile', '$root
var getTemplateUrl = function(fieldType) {
var type = fieldType;
- var templateUrl = 'modules/forms/views/directiveViews/field/';
+ var templateUrl = 'modules/forms/base/views/directiveViews/field/';
var supported_fields = [
'textfield',
'textarea',
diff --git a/public/modules/forms/base/directives/submit-form.client.directive.js b/public/modules/forms/base/directives/submit-form.client.directive.js
index b9c368e6..12037bcc 100644
--- a/public/modules/forms/base/directives/submit-form.client.directive.js
+++ b/public/modules/forms/base/directives/submit-form.client.directive.js
@@ -3,8 +3,7 @@
angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter', '$filter', '$rootScope', 'Auth', 'SendVisitorData',
function ($http, TimeCounter, $filter, $rootScope, Auth, SendVisitorData) {
return {
- templateUrl: 'modules/forms/views/directiveViews/form/submit-form.client.view.html',
- restrict: 'E',
+ templateUrl: 'modules/forms/base/views/directiveViews/form/submit-form.client.view.html', restrict: 'E',
scope: {
myform:'='
},
diff --git a/public/modules/forms/base/services/forms.client.service.js b/public/modules/forms/base/services/forms.client.service.js
index 3cb4fc94..5c82341a 100644
--- a/public/modules/forms/base/services/forms.client.service.js
+++ b/public/modules/forms/base/services/forms.client.service.js
@@ -1,9 +1,9 @@
'use strict';
//Forms service used for communicating with the forms REST endpoints
-angular.module('forms').factory('Forms', ['$resource',
- function($resource) {
- return $resource('/forms/:formId', {
+angular.module('forms').factory('Forms', ['$resource', 'FORM_URL',
+ function($resource, FORM_URL) {
+ return $resource(FORM_URL, {
formId: '@_id'
}, {
'query' : {
diff --git a/public/modules/forms/config/forms.client.routes.js b/public/modules/forms/config/forms.client.routes.js
index 5e5f44c6..a1142d33 100644
--- a/public/modules/forms/config/forms.client.routes.js
+++ b/public/modules/forms/config/forms.client.routes.js
@@ -8,11 +8,11 @@ angular.module('forms').config(['$stateProvider',
$stateProvider.
state('listForms', {
url: '/forms',
- templateUrl: 'modules/forms/views/list-forms.client.view.html'
+ templateUrl: 'modules/forms/admin/views/list-forms.client.view.html'
}).
state('submitForm', {
url: '/forms/:formId',
- templateUrl: 'modules/forms/views/submit-form.client.view.html',
+ templateUrl: 'modules/forms/base/views/submit-form.client.view.html',
data: {
hideNav: true
},
From 30f702e0bf7d68661606c4edadd1376f21691d26 Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 28 Apr 2016 15:58:16 +0300
Subject: [PATCH 04/42] add base build + demo
---
public/modules/forms/base/.bowerrc | 4 ++
public/modules/forms/base/.gitignore | 2 +
public/modules/forms/base/bower.json | 41 +++++++++++++
public/modules/forms/base/demo/boot.js | 51 ++++++++++++++++
public/modules/forms/base/demo/index.html | 74 +++++++++++++++++++++++
public/modules/forms/base/gruntfile.js | 47 ++++++++++++++
public/modules/forms/base/package.json | 33 ++++++++++
7 files changed, 252 insertions(+)
create mode 100644 public/modules/forms/base/.bowerrc
create mode 100644 public/modules/forms/base/.gitignore
create mode 100755 public/modules/forms/base/bower.json
create mode 100644 public/modules/forms/base/demo/boot.js
create mode 100644 public/modules/forms/base/demo/index.html
create mode 100644 public/modules/forms/base/gruntfile.js
create mode 100644 public/modules/forms/base/package.json
diff --git a/public/modules/forms/base/.bowerrc b/public/modules/forms/base/.bowerrc
new file mode 100644
index 00000000..dc56168b
--- /dev/null
+++ b/public/modules/forms/base/.bowerrc
@@ -0,0 +1,4 @@
+{
+ "directory": "demo/lib",
+ "analytics": false
+}
diff --git a/public/modules/forms/base/.gitignore b/public/modules/forms/base/.gitignore
new file mode 100644
index 00000000..1b246098
--- /dev/null
+++ b/public/modules/forms/base/.gitignore
@@ -0,0 +1,2 @@
+dist
+demo/lib
diff --git a/public/modules/forms/base/bower.json b/public/modules/forms/base/bower.json
new file mode 100755
index 00000000..f7fdb071
--- /dev/null
+++ b/public/modules/forms/base/bower.json
@@ -0,0 +1,41 @@
+{
+ "name": "tellform Form UI",
+ "description": "Opensource alternative to TypeForm",
+ "version": "1.2.1",
+ "homepage": "https://github.com/whitef0x0/tellform",
+ "authors": [
+ "David Baldwynn (http://baldwynn.me)",
+ "Samuel Laulhau (https://samuellaulhau.fr)"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "bootstrap": "~3",
+ "angular": "~1.4.7",
+ "angular-resource": "~1.4.7",
+ "angular-bootstrap": "~1.3.2",
+ "angular-ui-utils": "~3.0.0",
+ "ng-file-upload": "~10.0.2",
+ "angular-ui-date": "~0.0.8",
+ "lodash": "~3.10.0",
+ "angular-input-stars": "*",
+ "file-saver.js": "~1.20150507.2",
+ "angular-scroll": "^1.0.0",
+ "ui-select": "angular-ui-select#^0.16.1",
+ "angular-sanitize": "^1.5.3",
+ "v-button": "^1.1.1",
+ "angular-busy": "^4.1.3",
+ "font-awesome": "~4.6.1",
+ "components-font-awesome": "~4.6.1",
+ "angular-strap": "~2.3.8",
+ "restangular": "~1.5.2"
+ },
+ "resolutions": {
+ "angular-bootstrap": "^0.14.0",
+ "angular": "1.4.x"
+ },
+ "overrides": {
+ "BOWER-PACKAGE": {
+ "main": "**/*.min.js"
+ }
+ }
+}
diff --git a/public/modules/forms/base/demo/boot.js b/public/modules/forms/base/demo/boot.js
new file mode 100644
index 00000000..2d6811e8
--- /dev/null
+++ b/public/modules/forms/base/demo/boot.js
@@ -0,0 +1,51 @@
+
+angular.module('NodeForm', [
+ 'duScroll', 'ui.select', 'cgBusy', 'ngSanitize', 'vButton', 'ngResource',
+ 'ui.router', 'ui.bootstrap', 'ui.utils', 'ngRaven'
+]);
+angular.module('forms', ['ngResource', 'NodeForm.templates']);
+angular.module('NodeForm').requires.push('forms');
+
+angular.module('forms').factory('Auth', [
+ function() {
+ var service = {
+ _currentUser: null,
+ get currentUser(){
+ return this._currentUser;
+ },
+ ensureHasCurrentUser: function() {
+ return null;
+ },
+ isAuthenticated: function() {
+ return false;
+ },
+ getUserState: function() {
+ return '';
+ },
+ login: function() {
+ },
+ logout: function() {
+ },
+ };
+ return service;
+ }
+]);
+angular.module('forms').factory('$state', [function() {
+ return {
+ go: function() {}
+ };
+}]);
+angular.module('forms').factory('myForm', ['Forms', function(Forms) {
+ var form = window.form;
+ form.visible_form_fields = _.filter(form.form_fields, function(field){
+ return (field.deletePreserved === false);
+ });
+ return form;
+}]);
+angular.module('forms').constant('FORM_URL', '/form/:formId');
+
+
+angular.element(document).ready(function() {
+ //Then init the app
+ angular.bootstrap(document, ['forms']);
+});
diff --git a/public/modules/forms/base/demo/index.html b/public/modules/forms/base/demo/index.html
new file mode 100644
index 00000000..6bb63bae
--- /dev/null
+++ b/public/modules/forms/base/demo/index.html
@@ -0,0 +1,74 @@
+
+
+
+
+ Mes avis
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/modules/forms/base/gruntfile.js b/public/modules/forms/base/gruntfile.js
new file mode 100644
index 00000000..2de89827
--- /dev/null
+++ b/public/modules/forms/base/gruntfile.js
@@ -0,0 +1,47 @@
+'use strict';
+
+module.exports = function(grunt) {
+ require('jit-grunt')(grunt);
+
+ // Project Configuration
+ grunt.initConfig({
+ ngAnnotate: {
+ production: {
+ files: {
+ 'dist/form.js': [
+ 'config/**/*.js', 'controllers/**/*.js',
+ 'directives/**/*.js', 'services/**/*.js',
+ 'dist/template.js'
+ ]
+ }
+ }
+ },
+ html2js: {
+ options: {
+ base: '',
+ module: 'NodeForm.templates',
+ singleModule: true,
+ rename: function (moduleName) {
+ return 'modules/forms/base/' + moduleName;
+ }
+ },
+ form: {
+ src: ['views/**/*.html'],
+ dest: 'dist/template.js'
+ }
+ },
+ cssmin: {
+ combine: {
+ files: {
+ 'dist/form.css': 'css/**/*.css'
+ }
+ }
+ },
+ });
+
+ // Making grunt default to force in order not to break the project.
+ grunt.option('force', true);
+
+ // Default task(s).
+ grunt.registerTask('default', ['html2js:form', 'ngAnnotate', 'cssmin']);
+};
diff --git a/public/modules/forms/base/package.json b/public/modules/forms/base/package.json
new file mode 100644
index 00000000..889b300f
--- /dev/null
+++ b/public/modules/forms/base/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "angular-tellform",
+ "description": "Opensource alternative to TypeForm",
+ "version": "1.3.0",
+ "homepage": "https://github.com/whitef0x0/tellform",
+ "authors": [
+ "David Baldwynn (http://baldwynn.me)",
+ "Samuel Laulhau (https://samuellaulhau.fr)"
+ ],
+ "private": true,
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/tellform/angular-tellform.git"
+ },
+ "engines": {
+ "node": "~5.0.0",
+ "npm": "~2.11.2"
+ },
+ "scripts": {
+ "postinstall": "node node_modules/.bin/bower install --config.interactive=false; node node_modules/.bin/grunt build"
+ },
+ "dependencies": {
+ "bower": "~1.6.5",
+ "grunt": "~0.4.1",
+ "grunt-cli": "~0.1.13",
+ "grunt-contrib-cssmin": "~0.14.0",
+ "grunt-contrib-uglify": "~0.11.0",
+ "grunt-html2js": "~0.3.5",
+ "grunt-ng-annotate": "~1.0.1",
+ "jit-grunt": "^0.10.0"
+ }
+}
From c52909e4f2b9edb8605200cece7a23ebbe5970f0 Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 28 Apr 2016 16:13:47 +0300
Subject: [PATCH 05/42] add readme
---
public/modules/forms/base/README.md | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 public/modules/forms/base/README.md
diff --git a/public/modules/forms/base/README.md b/public/modules/forms/base/README.md
new file mode 100644
index 00000000..3bb9f1b5
--- /dev/null
+++ b/public/modules/forms/base/README.md
@@ -0,0 +1,6 @@
+This is a readonly split of the tellform project.
+This repository contain the form ui as a standalone component.
+
+To see it in action clone this repos, run `npm install` and open the file `demo/index.html`.
+
+This is a largely work in progress, use it at your own risk.
From df7da6843bcdb12a43bef147493006c387d68266 Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 28 Apr 2016 16:14:08 +0300
Subject: [PATCH 06/42] demo title
---
public/modules/forms/base/demo/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/public/modules/forms/base/demo/index.html b/public/modules/forms/base/demo/index.html
index 6bb63bae..d94659ce 100644
--- a/public/modules/forms/base/demo/index.html
+++ b/public/modules/forms/base/demo/index.html
@@ -2,7 +2,7 @@
- Mes avis
+ tellform demo
From 760c25e528298f83f2c50815cf6d50a6be63c78d Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 28 Apr 2016 16:27:14 +0300
Subject: [PATCH 07/42] add license
---
public/modules/forms/base/LICENSE | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 public/modules/forms/base/LICENSE
diff --git a/public/modules/forms/base/LICENSE b/public/modules/forms/base/LICENSE
new file mode 100644
index 00000000..5bbaddbd
--- /dev/null
+++ b/public/modules/forms/base/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 tellform
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
From 1af24d096f37ac67163c76241666d9e423ae7a84 Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 28 Apr 2016 16:27:40 +0300
Subject: [PATCH 08/42] ignore node_modules
---
public/modules/forms/base/.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/public/modules/forms/base/.gitignore b/public/modules/forms/base/.gitignore
index 1b246098..6b667241 100644
--- a/public/modules/forms/base/.gitignore
+++ b/public/modules/forms/base/.gitignore
@@ -1,2 +1,3 @@
dist
demo/lib
+node_modules
From 431c76ee2dcb6a6b1e1314b33e195391ba5d414c Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 28 Apr 2016 16:29:02 +0300
Subject: [PATCH 09/42] add presentation to readme
---
public/modules/forms/base/README.md | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/public/modules/forms/base/README.md b/public/modules/forms/base/README.md
index 3bb9f1b5..b01f16e1 100644
--- a/public/modules/forms/base/README.md
+++ b/public/modules/forms/base/README.md
@@ -1,6 +1,12 @@
+# angular-tellform
+Tellform Angular Form UI Module
+
+##About
+This module gives you the standalone front-end of tellform. It handles form rendering and form ui. For you to use this module you must have an API endpoint, such as (Formkeep)[https://formkeep.com].
+
This is a readonly split of the tellform project.
-This repository contain the form ui as a standalone component.
To see it in action clone this repos, run `npm install` and open the file `demo/index.html`.
+##Disclaimer
This is a largely work in progress, use it at your own risk.
From d5c6fc959bb45c49c97928811f368b2ecf6efac7 Mon Sep 17 00:00:00 2001
From: Sam
Date: Sat, 30 Apr 2016 13:19:58 +0300
Subject: [PATCH 10/42] reorder dependencies
---
public/modules/forms/base/demo/boot.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/public/modules/forms/base/demo/boot.js b/public/modules/forms/base/demo/boot.js
index 2d6811e8..7f9c368f 100644
--- a/public/modules/forms/base/demo/boot.js
+++ b/public/modules/forms/base/demo/boot.js
@@ -1,10 +1,10 @@
+angular.module('forms', ['duScroll', 'ngResource', 'NodeForm.templates']);
+
angular.module('NodeForm', [
- 'duScroll', 'ui.select', 'cgBusy', 'ngSanitize', 'vButton', 'ngResource',
- 'ui.router', 'ui.bootstrap', 'ui.utils', 'ngRaven'
+ 'ui.select', 'cgBusy', 'ngSanitize', 'vButton', 'ngResource',
+ 'ui.router', 'ui.bootstrap', 'ui.utils', 'ngRaven', 'forms'
]);
-angular.module('forms', ['ngResource', 'NodeForm.templates']);
-angular.module('NodeForm').requires.push('forms');
angular.module('forms').factory('Auth', [
function() {
From a1d65447e07d22e764ed751b748e9dbc70e0ad2c Mon Sep 17 00:00:00 2001
From: Sam
Date: Sun, 1 May 2016 12:03:55 +0300
Subject: [PATCH 11/42] exclude form gruntfile from build
---
gruntfile.js | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/gruntfile.js b/gruntfile.js
index 11f3d26c..3acdb21a 100755
--- a/gruntfile.js
+++ b/gruntfile.js
@@ -10,7 +10,7 @@ module.exports = function(grunt) {
serverViews: ['app/views/**/*.*'],
serverJS: ['gruntfile.js', 'server.js', 'config/**/*.js', 'app/**/*.js', '!app/tests/'],
clientViews: ['public/modules/**/views/**/*.html'],
- clientJS: ['public/js/*.js', 'public/modules/**/*.js'],
+ clientJS: ['public/js/*.js', 'public/modules/**/*.js', '!public/modules/**/gruntfile.js'],
clientCSS: ['public/modules/**/*.css'],
serverTests: ['app/tests/**/*.js'],
clientTests: ['public/modules/**/tests/*.js'],
@@ -95,7 +95,7 @@ module.exports = function(grunt) {
files: {
'public/dist/application.min.js': 'public/dist/application.js'
}
- }
+ }
},
cssmin: {
combine: {
@@ -125,27 +125,27 @@ module.exports = function(grunt) {
'stack-trace-limit': 50,
'hidden': []
}
- }
+ }
},
ngAnnotate: {
production: {
files: {
'public/dist/application.js': '<%= applicationJavaScriptFiles %>'
- }
- }
- },
+ }
+ }
+ },
concurrent: {
default: ['nodemon', 'watch'],
debug: ['nodemon', 'watch', 'node-inspector'],
- options: {
+ options: {
logConcurrentOutput: true,
- limit: 10
- }
+ limit: 10
+ }
},
env: {
test: {
NODE_ENV: 'test',
- src: '.env'
+ src: '.env'
},
secure: {
NODE_ENV: 'secure',
From abe605590a26d096c068af1ab37d1a026e627e15 Mon Sep 17 00:00:00 2001
From: Sam
Date: Sun, 1 May 2016 12:04:44 +0300
Subject: [PATCH 12/42] colorpicker tmp hack
---
public/modules/forms/forms.client.module.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/public/modules/forms/forms.client.module.js b/public/modules/forms/forms.client.module.js
index e8c72d95..c0cfddb8 100644
--- a/public/modules/forms/forms.client.module.js
+++ b/public/modules/forms/forms.client.module.js
@@ -1,4 +1,4 @@
'use strict';
// Use Application configuration module to register a new module
-ApplicationConfiguration.registerModule('forms', ['ngFileUpload', 'ui.router.tabs', 'colorpicker.module', 'ui.date', 'ui.sortable', 'angular-input-stars', 'users']);
\ No newline at end of file
+ApplicationConfiguration.registerModule('forms', ['ngFileUpload', 'ui.router.tabs', 'ui.date', 'ui.sortable', 'angular-input-stars', 'users']);//, 'colorpicker.module' @TODO reactivate this module
From 013a560da631af0cf5586afce78b062f13c269be Mon Sep 17 00:00:00 2001
From: Sam
Date: Tue, 3 May 2016 11:04:10 +0300
Subject: [PATCH 13/42] =?UTF-8?q?exclude=20form=E2=80=99s=20demo,=20lib=20?=
=?UTF-8?q?and=20dist=20from=20general=20build?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
gruntfile.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gruntfile.js b/gruntfile.js
index 3acdb21a..fdf35e2a 100755
--- a/gruntfile.js
+++ b/gruntfile.js
@@ -10,7 +10,7 @@ module.exports = function(grunt) {
serverViews: ['app/views/**/*.*'],
serverJS: ['gruntfile.js', 'server.js', 'config/**/*.js', 'app/**/*.js', '!app/tests/'],
clientViews: ['public/modules/**/views/**/*.html'],
- clientJS: ['public/js/*.js', 'public/modules/**/*.js', '!public/modules/**/gruntfile.js'],
+ clientJS: ['public/js/*.js', 'public/modules/**/*.js', '!public/modules/**/gruntfile.js', '!public/modules/**/demo/**/*.js', '!public/modules/**/dist/**/*.js', '!public/modules/**/lib/**/*.js'],
clientCSS: ['public/modules/**/*.css'],
serverTests: ['app/tests/**/*.js'],
clientTests: ['public/modules/**/tests/*.js'],
From df10d8e3fe9b17eb9b620a4261a8efd1126d780e Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 5 May 2016 13:00:24 +0300
Subject: [PATCH 14/42] export supportedFields in injector
---
config/express.js | 1 +
docker-compose.yml | 2 ++
.../forms/base/config/forms.client.config.js | 16 ++++++++++++++
.../base/directives/field.client.directive.js | 22 ++++---------------
4 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/config/express.js b/config/express.js
index dfe88bf9..a167474a 100755
--- a/config/express.js
+++ b/config/express.js
@@ -127,6 +127,7 @@ module.exports = function(db) {
app.use(cookieParser());
// Express MongoDB session storage
+
app.use(session({
saveUninitialized: true,
resave: true,
diff --git a/docker-compose.yml b/docker-compose.yml
index ce08992e..a2fc97bb 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -7,12 +7,14 @@ services:
build: .
volumes:
- .:/usr/src/app
+ command: node server.js
ports:
- "3000:3000"
- "35729:35729"
environment:
DB_1_PORT_27017_TCP_ADDR: db
PORT: 3000
+ BASE_URL: http://192.168.99.100:3000/
links:
- db
volumes:
diff --git a/public/modules/forms/base/config/forms.client.config.js b/public/modules/forms/base/config/forms.client.config.js
index b08eebd7..8bd182e9 100644
--- a/public/modules/forms/base/config/forms.client.config.js
+++ b/public/modules/forms/base/config/forms.client.config.js
@@ -27,3 +27,19 @@ function(){
return 0;
};
});
+
+angular.module('forms').value('supportedFields', [
+ 'textfield',
+ 'textarea',
+ 'date',
+ 'dropdown',
+ 'hidden',
+ 'password',
+ 'radio',
+ 'legal',
+ 'statement',
+ 'rating',
+ 'yes_no',
+ 'number',
+ 'natural'
+]);
diff --git a/public/modules/forms/base/directives/field.client.directive.js b/public/modules/forms/base/directives/field.client.directive.js
index 1881e217..5d10b613 100644
--- a/public/modules/forms/base/directives/field.client.directive.js
+++ b/public/modules/forms/base/directives/field.client.directive.js
@@ -8,28 +8,14 @@ var __indexOf = [].indexOf || function(item) {
return -1;
};
-angular.module('forms').directive('fieldDirective', ['$http', '$compile', '$rootScope', '$templateCache',
- function($http, $compile, $rootScope, $templateCache) {
+angular.module('forms').directive('fieldDirective', ['$http', '$compile', '$rootScope', '$templateCache', 'supportedFields',
+ function($http, $compile, $rootScope, $templateCache, supportedFields) {
var getTemplateUrl = function(fieldType) {
var type = fieldType;
var templateUrl = 'modules/forms/base/views/directiveViews/field/';
- var supported_fields = [
- 'textfield',
- 'textarea',
- 'date',
- 'dropdown',
- 'hidden',
- 'password',
- 'radio',
- 'legal',
- 'statement',
- 'rating',
- 'yes_no',
- 'number',
- 'natural'
- ];
- if (__indexOf.call(supported_fields, type) >= 0) {
+
+ if (__indexOf.call(supportedFields, type) >= 0) {
templateUrl = templateUrl+type+'.html';
}
return $templateCache.get('../public/'+templateUrl);
From 0266dd119b78b92ae5b2bd24d8f8ab1e616362be Mon Sep 17 00:00:00 2001
From: Sam
Date: Thu, 5 May 2016 16:00:58 +0300
Subject: [PATCH 15/42] translate app + add french translation
---
.../forms/base/config/forms.client.config.js | 4 +--
.../modules/forms/base/config/i18n/english.js | 32 +++++++++++++++++++
.../modules/forms/base/config/i18n/french.js | 27 ++++++++++++++++
.../submit-form.client.controller.js | 8 +++--
public/modules/forms/base/demo/boot.js | 2 +-
public/modules/forms/base/demo/index.html | 30 ++++++++++++++++-
.../base/directives/field.client.directive.js | 2 +-
.../submit-form.client.directive.js | 12 ++++++-
.../directiveViews/entryPage/startPage.html | 6 ++--
.../base/views/directiveViews/field/date.html | 4 +--
.../views/directiveViews/field/dropdown.html | 6 ++--
.../views/directiveViews/field/legal.html | 18 +++++------
.../views/directiveViews/field/radio.html | 8 ++---
.../views/directiveViews/field/rating.html | 2 +-
.../views/directiveViews/field/statement.html | 4 +--
.../views/directiveViews/field/textarea.html | 4 +--
.../views/directiveViews/field/textfield.html | 26 +++++++--------
.../views/directiveViews/field/yes_no.html | 29 ++++++++++-------
.../form/submit-form.client.view.html | 27 ++++++++--------
19 files changed, 179 insertions(+), 72 deletions(-)
create mode 100644 public/modules/forms/base/config/i18n/english.js
create mode 100644 public/modules/forms/base/config/i18n/french.js
diff --git a/public/modules/forms/base/config/forms.client.config.js b/public/modules/forms/base/config/forms.client.config.js
index 8bd182e9..6b04a479 100644
--- a/public/modules/forms/base/config/forms.client.config.js
+++ b/public/modules/forms/base/config/forms.client.config.js
@@ -1,8 +1,8 @@
'use strict';
// Configuring the Forms drop-down menus
-angular.module('forms').filter('formValidity',
-function(){
+angular.module('forms')
+.filter('formValidity', function(){
return function(formObj){
if(formObj && formObj.form_fields && formObj.visible_form_fields){
diff --git a/public/modules/forms/base/config/i18n/english.js b/public/modules/forms/base/config/i18n/english.js
new file mode 100644
index 00000000..d5a9c7c1
--- /dev/null
+++ b/public/modules/forms/base/config/i18n/english.js
@@ -0,0 +1,32 @@
+'use strict';
+
+angular.module('forms').config(['$translateProvider', function ($translateProvider) {
+
+ $translateProvider.translations('english', {
+ FORM_SUCCESS: 'Form entry successfully submitted!',
+ BACK_TO_FORM: 'Go back to Form',
+ EDIT_FORM: 'Edit this TellForm',
+ CREATE_FORM: 'Create this TellForm',
+ ADVANCEMENT: '{{done}} out of {{total}} answered',
+ CONTINUE_FORM: 'Continue to Form',
+ REQUIRED: 'required',
+ OPTIONAL: 'optional',
+ ERROR_EMAIL_INVALID: 'Please enter a valid email address',
+ ERROR_NOT_A_NUMBER: 'Please enter valid numbers only',
+ ERROR_URL_INVALID: 'Please a valid url',
+ OK: 'OK',
+ ENTER: 'press ENTER',
+ CONTINUE: 'Continue',
+ LEGAL_ACCEPT: 'I accept',
+ LEGAL_NO_ACCEPT: 'I don’t accept',
+ DELETE: 'Delete',
+ CANCEL: 'Cancel',
+ UPLOAD_FILE: 'Upload your File'
+
+ });
+
+ $translateProvider.preferredLanguage('english')
+ .fallbackLanguage('english')
+ .useSanitizeValueStrategy('escape');
+
+}]);
diff --git a/public/modules/forms/base/config/i18n/french.js b/public/modules/forms/base/config/i18n/french.js
new file mode 100644
index 00000000..3a346b8c
--- /dev/null
+++ b/public/modules/forms/base/config/i18n/french.js
@@ -0,0 +1,27 @@
+'use strict';
+
+angular.module('forms').config(['$translateProvider', function ($translateProvider) {
+
+ $translateProvider.translations('french', {
+ FORM_SUCCESS: 'Votre formulaire a été enregistré!',
+ BACK_TO_FORM: 'Retourner au formulaire',
+ EDIT_FORM: 'Éditer le Tellform',
+ CREATE_FORM: 'Créer un TellForm',
+ ADVANCEMENT: '{{done}} complétés sur {{total}}',
+ CONTINUE_FORM: 'Aller au formulaire',
+ REQUIRED: 'obligatoire',
+ OPTIONAL: 'facultatif',
+ ERROR_EMAIL_INVALID: 'Merci de rentrer une adresse mail valide',
+ ERROR_NOT_A_NUMBER: 'Merce de ne rentrer que des nombres',
+ ERROR_URL_INVALID: 'Merci de rentrer une url valide',
+ OK: 'OK',
+ ENTER: 'presser ENTRÉE',
+ CONTINUE: 'Continuer',
+ LEGAL_ACCEPT: 'J’accepte',
+ LEGAL_NO_ACCEPT: 'Jen n’accepte pas',
+ DELETE: 'Supprimer',
+ CANCEL: 'Réinitialiser',
+ UPLOAD_FILE: 'Envoyer des fichier'
+ });
+
+}]);
diff --git a/public/modules/forms/base/controllers/submit-form.client.controller.js b/public/modules/forms/base/controllers/submit-form.client.controller.js
index c2919531..e15df9e6 100644
--- a/public/modules/forms/base/controllers/submit-form.client.controller.js
+++ b/public/modules/forms/base/controllers/submit-form.client.controller.js
@@ -1,10 +1,13 @@
'use strict';
// SubmitForm controller
-angular.module('forms').controller('SubmitFormController', ['$scope', '$rootScope', '$state', 'myForm', 'Auth',
- function($scope, $rootScope, $state, myForm, Auth) {
+angular.module('forms').controller('SubmitFormController', [
+ '$scope', '$rootScope', '$state', '$translate', 'myForm', 'Auth',
+ function($scope, $rootScope, $state, $translate, myForm, Auth) {
$scope.authentication = Auth;
$scope.myform = myForm;
+ console.log(myForm);
+ $translate.use(myForm.language);
if(!$scope.myform.isLive){
// Show navbar if form is not public AND user IS loggedin
@@ -19,6 +22,5 @@ angular.module('forms').controller('SubmitFormController', ['$scope', '$rootScop
}else{
$scope.hideNav = $rootScope.hideNav = true;
}
-
}
]);
diff --git a/public/modules/forms/base/demo/boot.js b/public/modules/forms/base/demo/boot.js
index 7f9c368f..a889417d 100644
--- a/public/modules/forms/base/demo/boot.js
+++ b/public/modules/forms/base/demo/boot.js
@@ -1,5 +1,5 @@
-angular.module('forms', ['duScroll', 'ngResource', 'NodeForm.templates']);
+angular.module('forms', ['duScroll', 'ngResource', 'NodeForm.templates', 'pascalprecht.translate']);
angular.module('NodeForm', [
'ui.select', 'cgBusy', 'ngSanitize', 'vButton', 'ngResource',
diff --git a/public/modules/forms/base/demo/index.html b/public/modules/forms/base/demo/index.html
index d94659ce..61083082 100644
--- a/public/modules/forms/base/demo/index.html
+++ b/public/modules/forms/base/demo/index.html
@@ -39,7 +39,34 @@
@@ -68,6 +95,7 @@
+
diff --git a/public/modules/forms/base/directives/field.client.directive.js b/public/modules/forms/base/directives/field.client.directive.js
index 5d10b613..6ec0726e 100644
--- a/public/modules/forms/base/directives/field.client.directive.js
+++ b/public/modules/forms/base/directives/field.client.directive.js
@@ -18,7 +18,7 @@ angular.module('forms').directive('fieldDirective', ['$http', '$compile', '$root
if (__indexOf.call(supportedFields, type) >= 0) {
templateUrl = templateUrl+type+'.html';
}
- return $templateCache.get('../public/'+templateUrl);
+ return $templateCache.get(templateUrl);
};
return {
diff --git a/public/modules/forms/base/directives/submit-form.client.directive.js b/public/modules/forms/base/directives/submit-form.client.directive.js
index 12037bcc..440fc997 100644
--- a/public/modules/forms/base/directives/submit-form.client.directive.js
+++ b/public/modules/forms/base/directives/submit-form.client.directive.js
@@ -11,12 +11,17 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
$scope.authentication = $rootScope.authentication;
$scope.noscroll = false;
$scope.forms = {};
- $scope.form_fields_count = $scope.myform.visible_form_fields.filter(function(field){
+
+ var form_fields_count = $scope.myform.visible_form_fields.filter(function(field){
if(field.fieldType === 'statement' || field.fieldType === 'rating'){
return false;
}
return true;
}).length;
+ $scope.translateAdvancementData = {
+ done: $filter('formValidity')($scope.myform),
+ total: form_fields_count
+ };
$scope.reloadForm = function(){
//Reset Form
@@ -109,6 +114,11 @@ angular.module('forms').directive('submitFormDirective', ['$http', 'TimeCounter'
$scope.selected._id = field_id;
$scope.selected.index = field_index;
+ $scope.translateAdvancementData = {
+ done: $filter('formValidity')($scope.myform),
+ total: form_fields_count
+ };
+
if(animateScroll){
$scope.noscroll=true;
setTimeout(function() {
diff --git a/public/modules/forms/base/views/directiveViews/entryPage/startPage.html b/public/modules/forms/base/views/directiveViews/entryPage/startPage.html
index 212a9d7e..d13f1715 100644
--- a/public/modules/forms/base/views/directiveViews/entryPage/startPage.html
+++ b/public/modules/forms/base/views/directiveViews/entryPage/startPage.html
@@ -9,7 +9,7 @@
diff --git a/public/modules/forms/base/views/directiveViews/field/date.html b/public/modules/forms/base/views/directiveViews/field/date.html
index 5000ccb9..e7f02391 100755
--- a/public/modules/forms/base/views/directiveViews/field/date.html
+++ b/public/modules/forms/base/views/directiveViews/field/date.html
@@ -6,8 +6,8 @@
{{index+1}}
- {{field.title}}
- optional
+ {{field.title}}
+ {{ 'OPTIONAL' | translate }}
{{field.description}}
diff --git a/public/modules/forms/base/views/directiveViews/field/dropdown.html b/public/modules/forms/base/views/directiveViews/field/dropdown.html
index 4908c365..ec5cba2c 100755
--- a/public/modules/forms/base/views/directiveViews/field/dropdown.html
+++ b/public/modules/forms/base/views/directiveViews/field/dropdown.html
@@ -6,8 +6,8 @@
{{index+1}}
- {{field.title}}
- optional
+ {{field.title}}
+ {{ 'OPTIONAL' | translate }}
{{field.description}}
@@ -30,7 +30,7 @@
ng-class="{'active': option.option_value === field.fieldValue }">
-
+
diff --git a/public/modules/forms/base/views/directiveViews/field/legal.html b/public/modules/forms/base/views/directiveViews/field/legal.html
index edcc53f2..04fff652 100644
--- a/public/modules/forms/base/views/directiveViews/field/legal.html
+++ b/public/modules/forms/base/views/directiveViews/field/legal.html
@@ -1,14 +1,14 @@
-
+
-
I don't accept
+
{{ 'LEGAL_NO_ACCEPT' | translate }}
-
+
diff --git a/public/modules/forms/base/views/directiveViews/field/radio.html b/public/modules/forms/base/views/directiveViews/field/radio.html
index 0aa34660..92c50a7e 100755
--- a/public/modules/forms/base/views/directiveViews/field/radio.html
+++ b/public/modules/forms/base/views/directiveViews/field/radio.html
@@ -9,7 +9,7 @@
{{field.title}}
- optional
+ {{ 'OPTIONAL' | translate }}
{{field.description}}
@@ -28,12 +28,12 @@
type="radio" class="focusOn"
ng-focus="setActiveField(field._id, index, true)"
value="{{option.option_value}}"
- ng-model="field.fieldValue"
- ng-model-options="{ debounce: 250 }"
+ ng-model="field.fieldValue"
+ ng-model-options="{ debounce: 250 }"
ng-required="field.required"
ng-disabled="field.disabled"
ng-change="$root.nextField()"/>
-
+
diff --git a/public/modules/forms/base/views/directiveViews/field/rating.html b/public/modules/forms/base/views/directiveViews/field/rating.html
index c449c482..23a6c0b0 100644
--- a/public/modules/forms/base/views/directiveViews/field/rating.html
+++ b/public/modules/forms/base/views/directiveViews/field/rating.html
@@ -7,7 +7,7 @@
{{field.title}}
- optional
+ {{ 'OPTIONAL' | translate }}
{{field.description}}
diff --git a/public/modules/forms/base/views/directiveViews/field/statement.html b/public/modules/forms/base/views/directiveViews/field/statement.html
index 5ca40295..99e8045e 100644
--- a/public/modules/forms/base/views/directiveViews/field/statement.html
+++ b/public/modules/forms/base/views/directiveViews/field/statement.html
@@ -13,11 +13,11 @@
{{field.description}}
-
diff --git a/public/modules/forms/base/views/directiveViews/field/textarea.html b/public/modules/forms/base/views/directiveViews/field/textarea.html
index 7a7d656d..5280d88a 100755
--- a/public/modules/forms/base/views/directiveViews/field/textarea.html
+++ b/public/modules/forms/base/views/directiveViews/field/textarea.html
@@ -37,11 +37,11 @@
ng-click="$root.nextField()"
class="btn col-sm-5 col-xs-5">
- OK
+ {{ 'OK' | translate }}
- press ENTER
+ {{ 'ENTER' | translate }}
diff --git a/public/modules/forms/base/views/directiveViews/field/textfield.html b/public/modules/forms/base/views/directiveViews/field/textfield.html
index cff51f5c..fc281d65 100755
--- a/public/modules/forms/base/views/directiveViews/field/textfield.html
+++ b/public/modules/forms/base/views/directiveViews/field/textfield.html
@@ -10,7 +10,7 @@
{{field.title}}
- (optional)
+ ({{ 'OPTIONAL' | translate }})
@@ -19,15 +19,15 @@
-
-
+
Error:
- Please enter a valid email address
- Please enter valid numbers only
- Please a valid url
+ {{ 'ERROR_EMAIL_INVALID' | translate }}
+ {{ 'ERROR_NOT_A_NUMBER' | translate }}
+ {{ 'ERROR_URL_INVALID' | translate }}
-
- press ENTER
+ {{ 'ENTER' | translate }}
diff --git a/public/modules/forms/base/views/directiveViews/field/yes_no.html b/public/modules/forms/base/views/directiveViews/field/yes_no.html
index 32b77cf4..244d8d4b 100644
--- a/public/modules/forms/base/views/directiveViews/field/yes_no.html
+++ b/public/modules/forms/base/views/directiveViews/field/yes_no.html
@@ -10,7 +10,7 @@
{{field.title}}
- optional
+ {{ 'OPTIONAL' | translate }}
@@ -22,35 +22,42 @@
Yes
-
+