");
}]);
'use strict';
@@ -109,188 +109,6 @@ ApplicationConfiguration.registerModule('view-form', [
'use strict';
-angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
-
- $translateProvider.translations('english', {
- FORM_SUCCESS: 'Form entry successfully submitted!',
- REVIEW: 'Review',
- 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',
- COMPLETING_NEEDED: '{{answers_not_completed}} answer(s) need completing',
- 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',
- YES: 'Yes',
- NO: 'No',
- NEWLINE: 'press SHIFT+ENTER to create a newline',
- CONTINUE: 'Continue',
- LEGAL_ACCEPT: 'I accept',
- LEGAL_NO_ACCEPT: 'I don’t accept',
- DELETE: 'Delete',
- CANCEL: 'Cancel',
- SUBMIT: 'Submit',
- UPLOAD_FILE: 'Upload your File',
- });
-
- $translateProvider.preferredLanguage('english')
- .fallbackLanguage('english')
- .useSanitizeValueStrategy('escape');
-
-}]);
-
-'use strict';
-
-angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
-
- $translateProvider.translations('french', {
- FORM_SUCCESS: 'Votre formulaire a été enregistré!',
- REVIEW: 'Incomplet',
- 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',
- COMPLETING_NEEDED: '{{answers_not_completed}} réponse(s) doive(nt) être complétée(s)',
- 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',
- YES: 'Oui',
- NO: 'Non',
- NEWLINE: 'presser SHIFT+ENTER pour créer une nouvelle ligne',
- CONTINUE: 'Continuer',
- LEGAL_ACCEPT: 'J’accepte',
- LEGAL_NO_ACCEPT: 'Je n’accepte pas',
- DELETE: 'Supprimer',
- CANCEL: 'Réinitialiser',
- SUBMIT: 'Enregistrer',
- UPLOAD_FILE: 'Envoyer un fichier',
- Y: 'O',
- N: 'N',
- });
-
-}]);
-
-'use strict';
-
-angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
-
- $translateProvider.translations('german', {
- FORM_SUCCESS: 'Ihre Angaben wurden gespeichert.',
- REVIEW: 'Unvollständig',
- BACK_TO_FORM: 'Zurück zum Formular',
- EDIT_FORM: '',
- CREATE_FORM: '',
- ADVANCEMENT: '{{done}} von {{total}} beantwortet',
- CONTINUE_FORM: 'Zum Formular',
- REQUIRED: 'verpflichtend',
- COMPLETING_NEEDED: 'Es fehlen/fehtl noch {{answers_not_completed}} Antwort(en)',
- OPTIONAL: 'fakultativ',
- ERROR_EMAIL_INVALID: 'Bitte gültige Mailadresse eingeben',
- ERROR_NOT_A_NUMBER: 'Bitte nur Zahlen eingeben',
- ERROR_URL_INVALID: 'Bitte eine gültige URL eingeben',
- OK: 'Okay',
- ENTER: 'Eingabetaste drücken',
- YES: 'Ja',
- NO: 'Nein',
- NEWLINE: 'Für eine neue Zeile SHIFT+ENTER drücken',
- CONTINUE: 'Weiter',
- LEGAL_ACCEPT: 'I accept',
- LEGAL_NO_ACCEPT: 'I don’t accept',
- DELETE: 'Entfernen',
- CANCEL: 'Canceln',
- SUBMIT: 'Speichern',
- UPLOAD_FILE: 'Datei versenden',
- Y: 'J',
- N: 'N',
- });
-
-}]);
-
-'use strict';
-
-angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
-
- $translateProvider.translations('italian', {
- FORM_SUCCESS: 'Il formulario è stato inviato con successo!',
- REVIEW: 'Incompleto',
- BACK_TO_FORM: 'Ritorna al formulario',
- EDIT_FORM: '',
- CREATE_FORM: '',
- ADVANCEMENT: '{{done}} su {{total}} completate',
- CONTINUE_FORM: 'Vai al formulario',
- REQUIRED: 'obbligatorio',
- COMPLETING_NEEDED: '{{answers_not_completed}} risposta/e deve/ono essere completata/e',
- OPTIONAL: 'opzionale',
- ERROR_EMAIL_INVALID: 'Si prega di inserire un indirizzo email valido',
- ERROR_NOT_A_NUMBER: 'Si prega di inserire solo numeri',
- ERROR_URL_INVALID: 'Grazie per inserire un URL valido',
- OK: 'OK',
- ENTER: 'premere INVIO',
- YES: 'Sì',
- NO: 'No',
- NEWLINE: 'premere SHIFT+INVIO per creare una nuova linea',
- CONTINUE: 'Continua',
- LEGAL_ACCEPT: 'I accept',
- LEGAL_NO_ACCEPT: 'I don’t accept',
- DELETE: 'Cancella',
- CANCEL: 'Reset',
- SUBMIT: 'Registra',
- UPLOAD_FILE: 'Invia un file',
- Y: 'S',
- N: 'N',
- });
-
-}]);
-
-'use strict';
-
-angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
-
- $translateProvider.translations('spanish', {
- FORM_SUCCESS: '¡El formulario ha sido enviado con éxito!',
- REVIEW: 'Revisar',
- BACK_TO_FORM: 'Regresar al formulario',
- EDIT_FORM: '',
- CREATE_FORM: '',
- ADVANCEMENT: '{{done}} de {{total}} contestadas',
- CONTINUE_FORM: 'Continuar al formulario',
- REQUIRED: 'Información requerida',
- COMPLETING_NEEDED: '{{answers_not_completed}} respuesta(s) necesita(n) ser completada(s)',
- OPTIONAL: 'Opcional',
- ERROR_EMAIL_INVALID: 'Favor de proporcionar un correo electrónico válido',
- ERROR_NOT_A_NUMBER: 'Por favor, introduzca sólo números válidos',
- ERROR_URL_INVALID: 'Favor de proporcionar un url válido',
- OK: 'OK',
- ENTER: 'pulse INTRO',
- YES: 'Si',
- NO: 'No',
- NEWLINE: 'presione SHIFT+INTRO para crear una nueva línea',
- CONTINUE: 'Continuar',
- LEGAL_ACCEPT: 'Yo acepto',
- LEGAL_NO_ACCEPT: 'Yo no acepto',
- DELETE: 'Eliminar',
- CANCEL: 'Cancelar',
- SUBMIT: 'Registrar',
- UPLOAD_FILE: 'Cargar el archivo',
- Y: 'S',
- N: 'N'
- });
-
-}]);
-
-'use strict';
-
// Setting up route
angular.module('view-form').config(['$stateProvider',
function($stateProvider) {
@@ -577,7 +395,7 @@ var __indexOf = [].indexOf || function(item) {
angular.module('view-form').directive('fieldDirective', ['$http', '$compile', '$rootScope', '$templateCache', 'supportedFields',
function($http, $compile, $rootScope, $templateCache, supportedFields) {
- var getTemplateUrl = function(fieldType) {
+ var getTemplateHtml = function(fieldType) {
var type = fieldType;
var supported_fields = [
@@ -667,7 +485,7 @@ angular.module('view-form').directive('fieldDirective', ['$http', '$compile', '$
fieldType = 'textfield';
}
- var template = getTemplateUrl(fieldType);
+ var template = getTemplateHtml(fieldType);
element.html(template).show();
var output = $compile(element.contents())(scope);
}
@@ -790,32 +608,34 @@ jsep.addBinaryOp('!begins', 10);
jsep.addBinaryOp('ends', 10);
jsep.addBinaryOp('!ends', 10);
-angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCounter', '$filter', '$rootScope', 'SendVisitorData',
- function ($http, TimeCounter, $filter, $rootScope, SendVisitorData) {
+angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCounter', '$filter', '$rootScope', 'SendVisitorData', '$translate',
+ function ($http, TimeCounter, $filter, $rootScope, SendVisitorData, $translate) {
return {
templateUrl: 'form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html',
restrict: 'E',
scope: {
- myform:'='
+ myform:'=',
+ ispreview: '='
},
controller: ["$document", "$window", "$scope", function($document, $window, $scope){
$scope.noscroll = false;
$scope.forms = {};
- TimeCounter.restartClock();
+
+ //Don't start timer if we are looking at a design preview
+ if($scope.ispreview){
+ TimeCounter.restartClock();
+ }
- var form_fields_count = $scope.myform.visible_form_fields.filter(function(field){
- if(field.fieldType === 'statement'){
- return false;
- }
- return true;
- }).length;
+ var form_fields_count = $scope.myform.visible_form_fields.filter(function(field){
+ return field.fieldType !== 'statement';
+ }).length;
- var nb_valid = $filter('formValidity')($scope.myform);
- $scope.translateAdvancementData = {
- done: nb_valid,
- total: form_fields_count,
- answers_not_completed: form_fields_count - nb_valid
- };
+ var nb_valid = $filter('formValidity')($scope.myform);
+ $scope.translateAdvancementData = {
+ done: nb_valid,
+ total: form_fields_count,
+ answers_not_completed: form_fields_count - nb_valid
+ };
$scope.reloadForm = function(){
//Reset Form
@@ -1005,7 +825,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
if (document.querySelectorAll('.activeField .focusOn')[0]) {
//FIXME: DAVID: Figure out how to set focus without scroll movement in HTML Dom
document.querySelectorAll('.activeField .focusOn')[0].focus();
- } else {
+ } else if (document.querySelectorAll('.activeField input')[0]){
document.querySelectorAll('.activeField input')[0].focus();
}
});
@@ -1111,7 +931,6 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
var geoData = getIpAndGeo();
form.ipAddr = geoData.ipAddr;
form.geoLocation = geoData.geoLocation;
- console.log(geoData);
form.timeElapsed = _timeElapsed;
form.percentageComplete = $filter('formValidity')($scope.myform) / $scope.myform.visible_form_fields.length * 100;
@@ -1139,7 +958,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun
};
//Reload our form
- $scope.reloadForm();
+ $scope.reloadForm();
}]
};
}
@@ -1299,3 +1118,185 @@ angular.module('view-form').service('TimeCounter', [
}
]);
+
+'use strict';
+
+angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
+
+ $translateProvider.translations('english', {
+ FORM_SUCCESS: 'Form entry successfully submitted!',
+ REVIEW: 'Review',
+ 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',
+ COMPLETING_NEEDED: '{{answers_not_completed}} answer(s) need completing',
+ 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',
+ YES: 'Yes',
+ NO: 'No',
+ NEWLINE: 'press SHIFT+ENTER to create a newline',
+ CONTINUE: 'Continue',
+ LEGAL_ACCEPT: 'I accept',
+ LEGAL_NO_ACCEPT: 'I don’t accept',
+ DELETE: 'Delete',
+ CANCEL: 'Cancel',
+ SUBMIT: 'Submit',
+ UPLOAD_FILE: 'Upload your File',
+ });
+
+ $translateProvider.preferredLanguage('english')
+ .fallbackLanguage('english')
+ .useSanitizeValueStrategy('escape');
+
+}]);
+
+'use strict';
+
+angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
+
+ $translateProvider.translations('french', {
+ FORM_SUCCESS: 'Votre formulaire a été enregistré!',
+ REVIEW: 'Incomplet',
+ 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',
+ COMPLETING_NEEDED: '{{answers_not_completed}} réponse(s) doive(nt) être complétée(s)',
+ 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',
+ YES: 'Oui',
+ NO: 'Non',
+ NEWLINE: 'presser SHIFT+ENTER pour créer une nouvelle ligne',
+ CONTINUE: 'Continuer',
+ LEGAL_ACCEPT: 'J’accepte',
+ LEGAL_NO_ACCEPT: 'Je n’accepte pas',
+ DELETE: 'Supprimer',
+ CANCEL: 'Réinitialiser',
+ SUBMIT: 'Enregistrer',
+ UPLOAD_FILE: 'Envoyer un fichier',
+ Y: 'O',
+ N: 'N',
+ });
+
+}]);
+
+'use strict';
+
+angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
+
+ $translateProvider.translations('german', {
+ FORM_SUCCESS: 'Ihre Angaben wurden gespeichert.',
+ REVIEW: 'Unvollständig',
+ BACK_TO_FORM: 'Zurück zum Formular',
+ EDIT_FORM: '',
+ CREATE_FORM: '',
+ ADVANCEMENT: '{{done}} von {{total}} beantwortet',
+ CONTINUE_FORM: 'Zum Formular',
+ REQUIRED: 'verpflichtend',
+ COMPLETING_NEEDED: 'Es fehlen/fehtl noch {{answers_not_completed}} Antwort(en)',
+ OPTIONAL: 'fakultativ',
+ ERROR_EMAIL_INVALID: 'Bitte gültige Mailadresse eingeben',
+ ERROR_NOT_A_NUMBER: 'Bitte nur Zahlen eingeben',
+ ERROR_URL_INVALID: 'Bitte eine gültige URL eingeben',
+ OK: 'Okay',
+ ENTER: 'Eingabetaste drücken',
+ YES: 'Ja',
+ NO: 'Nein',
+ NEWLINE: 'Für eine neue Zeile SHIFT+ENTER drücken',
+ CONTINUE: 'Weiter',
+ LEGAL_ACCEPT: 'I accept',
+ LEGAL_NO_ACCEPT: 'I don’t accept',
+ DELETE: 'Entfernen',
+ CANCEL: 'Canceln',
+ SUBMIT: 'Speichern',
+ UPLOAD_FILE: 'Datei versenden',
+ Y: 'J',
+ N: 'N',
+ });
+
+}]);
+
+'use strict';
+
+angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
+
+ $translateProvider.translations('italian', {
+ FORM_SUCCESS: 'Il formulario è stato inviato con successo!',
+ REVIEW: 'Incompleto',
+ BACK_TO_FORM: 'Ritorna al formulario',
+ EDIT_FORM: '',
+ CREATE_FORM: '',
+ ADVANCEMENT: '{{done}} su {{total}} completate',
+ CONTINUE_FORM: 'Vai al formulario',
+ REQUIRED: 'obbligatorio',
+ COMPLETING_NEEDED: '{{answers_not_completed}} risposta/e deve/ono essere completata/e',
+ OPTIONAL: 'opzionale',
+ ERROR_EMAIL_INVALID: 'Si prega di inserire un indirizzo email valido',
+ ERROR_NOT_A_NUMBER: 'Si prega di inserire solo numeri',
+ ERROR_URL_INVALID: 'Grazie per inserire un URL valido',
+ OK: 'OK',
+ ENTER: 'premere INVIO',
+ YES: 'Sì',
+ NO: 'No',
+ NEWLINE: 'premere SHIFT+INVIO per creare una nuova linea',
+ CONTINUE: 'Continua',
+ LEGAL_ACCEPT: 'I accept',
+ LEGAL_NO_ACCEPT: 'I don’t accept',
+ DELETE: 'Cancella',
+ CANCEL: 'Reset',
+ SUBMIT: 'Registra',
+ UPLOAD_FILE: 'Invia un file',
+ Y: 'S',
+ N: 'N',
+ });
+
+}]);
+
+'use strict';
+
+angular.module('view-form').config(['$translateProvider', function ($translateProvider) {
+
+ $translateProvider.translations('spanish', {
+ FORM_SUCCESS: '¡El formulario ha sido enviado con éxito!',
+ REVIEW: 'Revisar',
+ BACK_TO_FORM: 'Regresar al formulario',
+ EDIT_FORM: '',
+ CREATE_FORM: '',
+ ADVANCEMENT: '{{done}} de {{total}} contestadas',
+ CONTINUE_FORM: 'Continuar al formulario',
+ REQUIRED: 'Información requerida',
+ COMPLETING_NEEDED: '{{answers_not_completed}} respuesta(s) necesita(n) ser completada(s)',
+ OPTIONAL: 'Opcional',
+ ERROR_EMAIL_INVALID: 'Favor de proporcionar un correo electrónico válido',
+ ERROR_NOT_A_NUMBER: 'Por favor, introduzca sólo números válidos',
+ ERROR_URL_INVALID: 'Favor de proporcionar un url válido',
+ OK: 'OK',
+ ENTER: 'pulse INTRO',
+ YES: 'Si',
+ NO: 'No',
+ NEWLINE: 'presione SHIFT+INTRO para crear una nueva línea',
+ CONTINUE: 'Continuar',
+ LEGAL_ACCEPT: 'Yo acepto',
+ LEGAL_NO_ACCEPT: 'Yo no acepto',
+ DELETE: 'Eliminar',
+ CANCEL: 'Cancelar',
+ SUBMIT: 'Registrar',
+ UPLOAD_FILE: 'Cargar el archivo',
+ Y: 'S',
+ N: 'N'
+ });
+
+}]);
diff --git a/public/dist/form-application.min.js b/public/dist/form-application.min.js
index 723c05d4..fab26961 100644
--- a/public/dist/form-application.min.js
+++ b/public/dist/form-application.min.js
@@ -1,2 +1,2 @@
-"use strict";var ApplicationConfiguration=function(){var a="TellForm-Form",b=["duScroll","ui.select","ngSanitize","vButton","ngResource","TellForm-Form.form_templates","ui.router","ui.bootstrap","pascalprecht.translate"],c=function(b,c){angular.module(b,c||[]),angular.module(a).requires.push(b)};return{applicationModuleName:a,applicationModuleVendorDependencies:b,registerModule:c}}();angular.module(ApplicationConfiguration.applicationModuleName,ApplicationConfiguration.applicationModuleVendorDependencies),angular.module(ApplicationConfiguration.applicationModuleName).config(["$locationProvider",function(a){a.hashPrefix("!")}]),angular.module(ApplicationConfiguration.applicationModuleName).constant("APP_PERMISSIONS",{viewAdminSettings:"viewAdminSettings",editAdminSettings:"editAdminSettings",editForm:"editForm",viewPrivateForm:"viewPrivateForm"}),angular.module(ApplicationConfiguration.applicationModuleName).constant("USER_ROLES",{admin:"admin",normal:"user",superuser:"superuser"}),angular.module(ApplicationConfiguration.applicationModuleName).constant("FORM_URL","/forms/:formId"),angular.element(document).ready(function(){"#_=_"===window.location.hash&&(window.location.hash="#!"),angular.bootstrap(document,[ApplicationConfiguration.applicationModuleName])}),angular.module("TellForm-Form.form_templates",[]).run(["$templateCache",function(a){a.put("form_modules/forms/base/views/form-unauthorized.client.view.html",'
Not Authorized to Access Form
The form you are trying to access is currently private and not accesible publically. If you are the owner of the form, you can set it to "Public" in the "Configuration" panel in the form admin.
')}]),ApplicationConfiguration.registerModule("view-form",["ngFileUpload","ui.date","angular-input-stars"]),angular.module("view-form").config(["$translateProvider",function(a){a.translations("english",{FORM_SUCCESS:"Form entry successfully submitted!",REVIEW:"Review",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",COMPLETING_NEEDED:"{{answers_not_completed}} answer(s) need completing",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",YES:"Yes",NO:"No",NEWLINE:"press SHIFT+ENTER to create a newline",CONTINUE:"Continue",LEGAL_ACCEPT:"I accept",LEGAL_NO_ACCEPT:"I don’t accept",DELETE:"Delete",CANCEL:"Cancel",SUBMIT:"Submit",UPLOAD_FILE:"Upload your File"}),a.preferredLanguage("english").fallbackLanguage("english").useSanitizeValueStrategy("escape")}]),angular.module("view-form").config(["$translateProvider",function(a){a.translations("french",{FORM_SUCCESS:"Votre formulaire a été enregistré!",REVIEW:"Incomplet",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",COMPLETING_NEEDED:"{{answers_not_completed}} réponse(s) doive(nt) être complétée(s)",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",YES:"Oui",NO:"Non",NEWLINE:"presser SHIFT+ENTER pour créer une nouvelle ligne",CONTINUE:"Continuer",LEGAL_ACCEPT:"J’accepte",LEGAL_NO_ACCEPT:"Je n’accepte pas",DELETE:"Supprimer",CANCEL:"Réinitialiser",SUBMIT:"Enregistrer",UPLOAD_FILE:"Envoyer un fichier",Y:"O",N:"N"})}]),angular.module("view-form").config(["$translateProvider",function(a){a.translations("german",{FORM_SUCCESS:"Ihre Angaben wurden gespeichert.",REVIEW:"Unvollständig",BACK_TO_FORM:"Zurück zum Formular",EDIT_FORM:"",CREATE_FORM:"",ADVANCEMENT:"{{done}} von {{total}} beantwortet",CONTINUE_FORM:"Zum Formular",REQUIRED:"verpflichtend",COMPLETING_NEEDED:"Es fehlen/fehtl noch {{answers_not_completed}} Antwort(en)",OPTIONAL:"fakultativ",ERROR_EMAIL_INVALID:"Bitte gültige Mailadresse eingeben",ERROR_NOT_A_NUMBER:"Bitte nur Zahlen eingeben",ERROR_URL_INVALID:"Bitte eine gültige URL eingeben",OK:"Okay",ENTER:"Eingabetaste drücken",YES:"Ja",NO:"Nein",NEWLINE:"Für eine neue Zeile SHIFT+ENTER drücken",CONTINUE:"Weiter",LEGAL_ACCEPT:"I accept",LEGAL_NO_ACCEPT:"I don’t accept",DELETE:"Entfernen",CANCEL:"Canceln",SUBMIT:"Speichern",UPLOAD_FILE:"Datei versenden",Y:"J",N:"N"})}]),angular.module("view-form").config(["$translateProvider",function(a){a.translations("italian",{FORM_SUCCESS:"Il formulario è stato inviato con successo!",REVIEW:"Incompleto",BACK_TO_FORM:"Ritorna al formulario",EDIT_FORM:"",CREATE_FORM:"",ADVANCEMENT:"{{done}} su {{total}} completate",CONTINUE_FORM:"Vai al formulario",REQUIRED:"obbligatorio",COMPLETING_NEEDED:"{{answers_not_completed}} risposta/e deve/ono essere completata/e",OPTIONAL:"opzionale",ERROR_EMAIL_INVALID:"Si prega di inserire un indirizzo email valido",ERROR_NOT_A_NUMBER:"Si prega di inserire solo numeri",ERROR_URL_INVALID:"Grazie per inserire un URL valido",OK:"OK",ENTER:"premere INVIO",YES:"Sì",NO:"No",NEWLINE:"premere SHIFT+INVIO per creare una nuova linea",CONTINUE:"Continua",LEGAL_ACCEPT:"I accept",LEGAL_NO_ACCEPT:"I don’t accept",DELETE:"Cancella",CANCEL:"Reset",SUBMIT:"Registra",UPLOAD_FILE:"Invia un file",Y:"S",N:"N"})}]),angular.module("view-form").config(["$translateProvider",function(a){a.translations("spanish",{FORM_SUCCESS:"¡El formulario ha sido enviado con éxito!",REVIEW:"Revisar",BACK_TO_FORM:"Regresar al formulario",EDIT_FORM:"",CREATE_FORM:"",ADVANCEMENT:"{{done}} de {{total}} contestadas",CONTINUE_FORM:"Continuar al formulario",REQUIRED:"Información requerida",COMPLETING_NEEDED:"{{answers_not_completed}} respuesta(s) necesita(n) ser completada(s)",OPTIONAL:"Opcional",ERROR_EMAIL_INVALID:"Favor de proporcionar un correo electrónico válido",ERROR_NOT_A_NUMBER:"Por favor, introduzca sólo números válidos",ERROR_URL_INVALID:"Favor de proporcionar un url válido",OK:"OK",ENTER:"pulse INTRO",YES:"Si",NO:"No",NEWLINE:"presione SHIFT+INTRO para crear una nueva línea",CONTINUE:"Continuar",LEGAL_ACCEPT:"Yo acepto",LEGAL_NO_ACCEPT:"Yo no acepto",DELETE:"Eliminar",CANCEL:"Cancelar",SUBMIT:"Registrar",UPLOAD_FILE:"Cargar el archivo",Y:"S",N:"N"})}]),angular.module("view-form").config(["$stateProvider",function(a){a.state("submitForm",{url:"/forms/:formId",templateUrl:"/static/form_modules/forms/base/views/submit-form.client.view.html",resolve:{Forms:"Forms",myForm:["Forms","$q","$state","$stateParams",function(a,b,c,d){var e=b.defer();return console.log(a.get({formId:d.formId}).$promise),a.get({formId:d.formId}).$promise.then(function(a){return console.log(a),a},function(a){return console.log(a),c.go("unauthorizedFormAccess"),e.reject({redirectTo:"unauthorizedFormAccess"})})}]},controller:"SubmitFormController",controllerAs:"ctrl"}).state("unauthorizedFormAccess",{url:"/forms/unauthorized",templateUrl:"/static/form_modules/forms/base/views/form-unauthorized.client.view.html"})}]),function(){function a(a,b){function c(b,c,d){var e=window.navigator.userLanguage||window.navigator.language;e=e.slice(0,2);var f=navigator.userAgent,g=new MobileDetect(f),h="other";g.tablet()?h="tablet":g.mobile()?h="mobile":g.is("bot")||(h="desktop"),$.ajaxSetup({async:!1});var i=$.getJSON("https://freegeoip.net/json/").responseJSON;$.ajaxSetup({async:!0}),i||(i={ip:"",city:"",country_name:""});var j={referrer:document.referrer,isSubmitted:b.submitted,formId:b._id,lastActiveField:b.form_fields[c]._id,timeElapsed:d,language:e,deviceType:h,ipAddr:i.ip,geoLocation:{city:i.city,country:i.country_name}};a.emit("form-visitor-data",j)}function d(){a.socket||a.connect()}var e={send:c};return d(),e}angular.module("view-form").factory("SendVisitorData",a),a.$inject=["Socket","$state"]}(),angular.module("view-form").directive("keyToOption",function(){return{restrict:"A",scope:{field:"="},link:function(a,b,c,d){b.bind("keydown keypress",function(b){var c=b.which||b.keyCode,d=parseInt(String.fromCharCode(c))-1;d',restrict:"E",scope:{typeName:"@"},controller:["$scope",function(a){var b={textfield:"fa fa-pencil-square-o",dropdown:"fa fa-th-list",date:"fa fa-calendar",checkbox:"fa fa-check-square-o",radio:"fa fa-dot-circle-o",email:"fa fa-envelope-o",textarea:"fa fa-pencil-square",legal:"fa fa-legal",file:"fa fa-cloud-upload",rating:"fa fa-star-half-o",link:"fa fa-link",scale:"fa fa-sliders",stripe:"fa fa-credit-card",
-statement:"fa fa-quote-left",yes_no:"fa fa-toggle-on",number:"fa fa-slack"};a.typeIcon=b[a.typeName]}]}});var __indexOf=[].indexOf||function(a){for(var b=0,c=this.length;b=0&&(c=c+b+".html"),d.get(c)};return{template:"
{{field.title}}
",restrict:"E",scope:{field:"=",required:"&",design:"=",index:"=",forms:"="},link:function(a,d){c.chooseDefaultOption=a.chooseDefaultOption=function(b){"yes_no"===b?a.field.fieldValue="true":"rating"===b?a.field.fieldValue=0:"radio"===a.field.fieldType?(console.log(a.field),a.field.fieldValue=a.field.fieldOptions[0].option_value,console.log(a.field.fieldValue)):"legal"===b&&(a.field.fieldValue="true",c.nextField())},a.nextField=c.nextField,a.setActiveField=c.setActiveField,"date"===a.field.fieldType&&(a.dateOptions={changeYear:!0,changeMonth:!0,altFormat:"mm/dd/yyyy",yearRange:"1900:-0",defaultDate:0});var e=a.field.fieldType;if("number"===a.field.fieldType||"textfield"===a.field.fieldType||"email"===a.field.fieldType||"link"===a.field.fieldType){switch(a.field.fieldType){case"textfield":a.input_type="text";break;case"email":a.input_type="email",a.placeholder="joesmith@example.com";break;case"number":a.input_type="text",a.validateRegex=/^-?\d+$/;break;default:a.input_type="url",a.placeholder="http://example.com"}e="textfield"}var g=f(e);d.html(g).show();b(d.contents())(a)}}}]),angular.module("view-form").directive("onEnterKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode,e=!1;null!==d.onEnterKeyDisabled&&(e=d.onEnterKeyDisabled),13!==c||b.shiftKey||e||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterKey)}))})}}}]).directive("onTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabKey)}))})}}}]).directive("onEnterOrTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;13!==c&&9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterOrTabKey)}))})}}}]).directive("onTabAndShiftKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9===c&&b.shiftKey&&(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabAndShiftKey)}))})}}}]),angular.module("view-form").directive("onFinishRender",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(b,c,d){if(c.attr("ng-repeat")||c.attr("data-ng-repeat")){var e=d.onFinishRender||"ngRepeat";b.$first&&!b.$last?b.$evalAsync(function(){a.$broadcast(e+" Started")}):b.$last&&b.$evalAsync(function(){a.$broadcast(e+" Finished")})}}}}]),jsep.addBinaryOp("contains",10),jsep.addBinaryOp("!contains",10),jsep.addBinaryOp("begins",10),jsep.addBinaryOp("!begins",10),jsep.addBinaryOp("ends",10),jsep.addBinaryOp("!ends",10),angular.module("view-form").directive("submitFormDirective",["$http","TimeCounter","$filter","$rootScope","SendVisitorData",function(a,b,c,d,e){return{templateUrl:"form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",restrict:"E",scope:{myform:"="},controller:["$document","$window","$scope",function(f,g,h){h.noscroll=!1,h.forms={},b.restartClock();var i=h.myform.visible_form_fields.filter(function(a){return"statement"!==a.fieldType}).length,j=c("formValidity")(h.myform);h.translateAdvancementData={done:j,total:i,answers_not_completed:i-j},h.reloadForm=function(){h.myform.submitted=!1,h.myform.form_fields=_.chain(h.myform.visible_form_fields).map(function(a){return a.fieldValue="",a}).value(),h.loading=!1,h.error="",h.selected={_id:"",index:0},h.setActiveField(h.myform.visible_form_fields[0]._id,0,!1),b.restartClock()},g.onscroll=function(){h.scrollPos=document.body.scrollTop||document.documentElement.scrollTop||0;var a=document.getElementsByClassName("activeField")[0].getBoundingClientRect();h.fieldTop=a.top,h.fieldBottom=a.bottom;var b,c;h.noscroll||(h.selected.index===h.myform.visible_form_fields.length-1&&h.fieldBottom<200?(c=h.selected.index+1,b="submit_field",h.setActiveField(b,c,!1)):h.selected.index===h.myform.visible_form_fields.length?h.fieldTop>200&&(c=h.selected.index-1,b=h.myform.visible_form_fields[c]._id,h.setActiveField(b,c,!1)):h.fieldBottom<0?(c=h.selected.index+1,b=h.myform.visible_form_fields[c]._id,h.setActiveField(b,c,!1)):0!==h.selected.index&&h.fieldTop>0&&(c=h.selected.index-1,b=h.myform.visible_form_fields[c]._id,h.setActiveField(b,c,!1)),h.$apply())};var k=function(a){var b=a.logicJump;if(b.expressionString&&b.valueB&&a.fieldValue){var c,d,e=jsep(b.expressionString);if("field"===e.left.name?(c=a.fieldValue,d=b.valueB):(c=b.valueB,d=a.fieldValue),"number"===a.fieldType||"scale"===a.fieldType||"rating"===a.fieldType)switch(e.operator){case"==":return parseInt(c)===parseInt(d);case"!==":return parseInt(c)!==parseInt(d);case">":return parseInt(c)>parseInt(d);case">=":return parseInt(c)>parseInt(d);case"<":return parseInt(c)-1;case"!contains":return!(c.indexOf(d)>-1);case"begins":return c.startsWith(d);case"!begins":return!c.startsWith(d);case"ends":return c.endsWith(d);case"!ends":return c.endsWith(d);default:return!1}}},l=function(){if(null===h.selected)throw console.error("current active field is null"),new Error("current active field is null");return"submit_field"===h.selected._id?h.myform.form_fields.length-1:h.selected.index};h.setActiveField=d.setActiveField=function(a,d,g){if(null!==h.selected&&h.selected._id!==a){if(h.selected._id=a,h.selected.index=d,!d)for(var j=0;j-1)if(a.logicJump&&k(a))d.setActiveField(a.logicJump.jumpTo,null,!0);else{var b,c;h.selected.index0){var a=h.selected.index-1,b=h.myform.visible_form_fields[a]._id;h.setActiveField(b,a,!0)}},h.exitStartPage=function(){h.myform.startPage.showStart=!1,h.myform.visible_form_fields.length>0&&(h.selected._id=h.myform.visible_form_fields[0]._id)},d.goToInvalid=h.goToInvalid=function(){document.querySelectorAll(".ng-invalid.focusOn")[0].focus()};var m=function(){var a=new MobileDetect(window.navigator.userAgent),b="other";return a.tablet()?b="tablet":a.mobile()?b="mobile":a.is("bot")||(b="desktop"),{type:b,name:window.navigator.platform}},n=function(){$.ajaxSetup({async:!1});var a=$.getJSON("https://freegeoip.net/json/").responseJSON;return $.ajaxSetup({async:!0}),a&&a.ip||(a={ip:"Adblocker"}),{ipAddr:a.ip,geoLocation:{City:a.city,Country:a.country_name}}};d.submitForm=h.submitForm=function(){var d=b.stopClock();h.loading=!0;var f=_.cloneDeep(h.myform),g=m();f.device=g;var i=n();f.ipAddr=i.ipAddr,f.geoLocation=i.geoLocation,console.log(i),f.timeElapsed=d,f.percentageComplete=c("formValidity")(h.myform)/h.myform.visible_form_fields.length*100,delete f.visible_form_fields;for(var j=0;j
Not Authorized to Access Form
The form you are trying to access is currently private and not accesible publically. If you are the owner of the form, you can set it to "Public" in the "Configuration" panel in the form admin.
",restrict:"E",scope:{field:"=",required:"&",design:"=",index:"=",forms:"="},link:function(a,d){c.chooseDefaultOption=a.chooseDefaultOption=function(b){"yes_no"===b?a.field.fieldValue="true":"rating"===b?a.field.fieldValue=0:"radio"===a.field.fieldType?(console.log(a.field),a.field.fieldValue=a.field.fieldOptions[0].option_value,console.log(a.field.fieldValue)):"legal"===b&&(a.field.fieldValue="true",c.nextField())},a.nextField=c.nextField,a.setActiveField=c.setActiveField,"date"===a.field.fieldType&&(a.dateOptions={changeYear:!0,changeMonth:!0,altFormat:"mm/dd/yyyy",yearRange:"1900:-0",defaultDate:0});var e=a.field.fieldType;if("number"===a.field.fieldType||"textfield"===a.field.fieldType||"email"===a.field.fieldType||"link"===a.field.fieldType){switch(a.field.fieldType){case"textfield":a.input_type="text";break;case"email":a.input_type="email",a.placeholder="joesmith@example.com";break;case"number":a.input_type="text",a.validateRegex=/^-?\d+$/;break;default:a.input_type="url",a.placeholder="http://example.com"}e="textfield"}var g=f(e);d.html(g).show();b(d.contents())(a)}}}]),angular.module("view-form").directive("onEnterKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode,e=!1;null!==d.onEnterKeyDisabled&&(e=d.onEnterKeyDisabled),13!==c||b.shiftKey||e||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterKey)}))})}}}]).directive("onTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabKey)}))})}}}]).directive("onEnterOrTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;13!==c&&9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterOrTabKey)}))})}}}]).directive("onTabAndShiftKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9===c&&b.shiftKey&&(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabAndShiftKey)}))})}}}]),angular.module("view-form").directive("onFinishRender",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(b,c,d){if(c.attr("ng-repeat")||c.attr("data-ng-repeat")){var e=d.onFinishRender||"ngRepeat";b.$first&&!b.$last?b.$evalAsync(function(){a.$broadcast(e+" Started")}):b.$last&&b.$evalAsync(function(){a.$broadcast(e+" Finished")})}}}}]),jsep.addBinaryOp("contains",10),jsep.addBinaryOp("!contains",10),jsep.addBinaryOp("begins",10),jsep.addBinaryOp("!begins",10),jsep.addBinaryOp("ends",10),jsep.addBinaryOp("!ends",10),angular.module("view-form").directive("submitFormDirective",["$http","TimeCounter","$filter","$rootScope","SendVisitorData","$translate",function(a,b,c,d,e,f){return{templateUrl:"form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",restrict:"E",scope:{myform:"=",ispreview:"="},controller:["$document","$window","$scope",function(f,g,h){h.noscroll=!1,h.forms={},h.ispreview&&b.restartClock();var i=h.myform.visible_form_fields.filter(function(a){return"statement"!==a.fieldType}).length,j=c("formValidity")(h.myform);h.translateAdvancementData={done:j,total:i,answers_not_completed:i-j},h.reloadForm=function(){h.myform.submitted=!1,h.myform.form_fields=_.chain(h.myform.visible_form_fields).map(function(a){return a.fieldValue="",a}).value(),h.loading=!1,h.error="",h.selected={_id:"",index:0},h.setActiveField(h.myform.visible_form_fields[0]._id,0,!1),b.restartClock()},g.onscroll=function(){h.scrollPos=document.body.scrollTop||document.documentElement.scrollTop||0;var a=document.getElementsByClassName("activeField")[0].getBoundingClientRect();h.fieldTop=a.top,h.fieldBottom=a.bottom;var b,c;h.noscroll||(h.selected.index===h.myform.visible_form_fields.length-1&&h.fieldBottom<200?(c=h.selected.index+1,b="submit_field",h.setActiveField(b,c,!1)):h.selected.index===h.myform.visible_form_fields.length?h.fieldTop>200&&(c=h.selected.index-1,b=h.myform.visible_form_fields[c]._id,h.setActiveField(b,c,!1)):h.fieldBottom<0?(c=h.selected.index+1,b=h.myform.visible_form_fields[c]._id,h.setActiveField(b,c,!1)):0!==h.selected.index&&h.fieldTop>0&&(c=h.selected.index-1,b=h.myform.visible_form_fields[c]._id,h.setActiveField(b,c,!1)),h.$apply())};var k=function(a){var b=a.logicJump;if(b.expressionString&&b.valueB&&a.fieldValue){
+var c,d,e=jsep(b.expressionString);if("field"===e.left.name?(c=a.fieldValue,d=b.valueB):(c=b.valueB,d=a.fieldValue),"number"===a.fieldType||"scale"===a.fieldType||"rating"===a.fieldType)switch(e.operator){case"==":return parseInt(c)===parseInt(d);case"!==":return parseInt(c)!==parseInt(d);case">":return parseInt(c)>parseInt(d);case">=":return parseInt(c)>parseInt(d);case"<":return parseInt(c)-1;case"!contains":return!(c.indexOf(d)>-1);case"begins":return c.startsWith(d);case"!begins":return!c.startsWith(d);case"ends":return c.endsWith(d);case"!ends":return c.endsWith(d);default:return!1}}},l=function(){if(null===h.selected)throw console.error("current active field is null"),new Error("current active field is null");return"submit_field"===h.selected._id?h.myform.form_fields.length-1:h.selected.index};h.setActiveField=d.setActiveField=function(a,d,g){if(null!==h.selected&&h.selected._id!==a){if(h.selected._id=a,h.selected.index=d,!d)for(var j=0;j-1)if(a.logicJump&&k(a))d.setActiveField(a.logicJump.jumpTo,null,!0);else{var b,c;h.selected.index0){var a=h.selected.index-1,b=h.myform.visible_form_fields[a]._id;h.setActiveField(b,a,!0)}},h.exitStartPage=function(){h.myform.startPage.showStart=!1,h.myform.visible_form_fields.length>0&&(h.selected._id=h.myform.visible_form_fields[0]._id)},d.goToInvalid=h.goToInvalid=function(){document.querySelectorAll(".ng-invalid.focusOn")[0].focus()};var m=function(){var a=new MobileDetect(window.navigator.userAgent),b="other";return a.tablet()?b="tablet":a.mobile()?b="mobile":a.is("bot")||(b="desktop"),{type:b,name:window.navigator.platform}},n=function(){$.ajaxSetup({async:!1});var a=$.getJSON("https://freegeoip.net/json/").responseJSON;return $.ajaxSetup({async:!0}),a&&a.ip||(a={ip:"Adblocker"}),{ipAddr:a.ip,geoLocation:{City:a.city,Country:a.country_name}}};d.submitForm=h.submitForm=function(){var d=b.stopClock();h.loading=!0;var f=_.cloneDeep(h.myform),g=m();f.device=g;var i=n();f.ipAddr=i.ipAddr,f.geoLocation=i.geoLocation,f.timeElapsed=d,f.percentageComplete=c("formValidity")(h.myform)/h.myform.visible_form_fields.length*100,delete f.visible_form_fields;for(var j=0;j
Not Authorized to Access Form
The form you are trying to access is currently private and not accesible publically. If you are the owner of the form, you can set it to \"Public\" in the \"Configuration\" panel in the form admin.
'),n.attr("backdrop-class",b.backdropClass),b.animation&&n.attr("modal-animation","true"),A=l(n)(z),f.append(A));n=angular.element('');n.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,"window-top-class":b.windowTopClass,
-size:b.size,index:q.length()-1,animate:"animate"}).html(b.content);b.animation&&n.attr("modal-animation","true");n=l(n)(b.scope);q.top().value.modalDomEl=n;q.top().value.modalOpener=e;f.append(n);f.addClass(g);I.clearFocusListCache()},I.close=function(a,b){var c=q.get(a);return c&&!c.value.modalScope.$broadcast("modal.closing",b,!0).defaultPrevented?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.resolve(b),n(a,c.value.modalOpener),!0):!c},I.dismiss=function(a,b){var c=q.get(a);
-return c&&!c.value.modalScope.$broadcast("modal.closing",b,!1).defaultPrevented?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.reject(b),n(a,c.value.modalOpener),!0):!c},I.dismissAll=function(a){for(var b=this.getTop();b&&this.dismiss(b.key,a);)b=this.getTop()},I.getTop=function(){return q.top()},I.modalRendered=function(a){(a=q.get(a))&&a.value.renderDeferred.resolve()},I.focusFirstFocusableElement=function(){return 0c?h(f[b])(a.$parent):a.$parent.$eval(f[b]):e[b]});angular.forEach(["minDate","maxDate"],function(b){f[b]?a.$parent.$watch(k(f[b]),
+function(a){r[b]=a?new Date(a):null;r.refreshView()}):r[b]=e[b]?new Date(e[b]):null});angular.forEach(["minMode","maxMode"],function(b){f[b]?a.$parent.$watch(k(f[b]),function(c){r[b]=angular.isDefined(c)?c:f[b];a[b]=r[b];("minMode"==b&&r.modes.indexOf(a.datepickerMode)r.modes.indexOf(r[b]))&&(a.datepickerMode=r[b])}):(r[b]=e[b]||null,a[b]=r[b])});a.datepickerMode=a.datepickerMode||e.datepickerMode;a.uniqueId="datepicker-"+a.$id+
+"-"+Math.floor(1E4*Math.random());angular.isDefined(f.initDate)?(this.activeDate=a.$parent.$eval(f.initDate)||new Date,a.$parent.$watch(f.initDate,function(a){a&&(m.$isEmpty(m.$modelValue)||m.$invalid)&&(r.activeDate=a,r.refreshView())})):this.activeDate=new Date;a.isActive=function(b){return 0===r.compare(b.date,r.activeDate)&&(a.activeDateId=b.uid,!0)};this.init=function(a){m=a;m.$render=function(){r.render()}};this.render=function(){if(m.$viewValue){var a=new Date(m.$viewValue);isNaN(a)?g||c.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'):
+this.activeDate=a}this.refreshView()};this.refreshView=function(){if(this.element){this._refreshView();var a=m.$viewValue?new Date(m.$viewValue):null;m.$setValidity("dateDisabled",!a||this.element&&!this.isDisabled(a))}};this.createDateObject=function(a,c){var e=m.$viewValue?new Date(m.$viewValue):null;return{date:a,label:b(a,c),selected:e&&0===this.compare(a,e),disabled:this.isDisabled(a),current:0===this.compare(a,new Date),customClass:this.customClass(a)}};this.isDisabled=function(b){return this.minDate&&
+0>this.compare(b,this.minDate)||this.maxDate&&0b;b++)f[b]=angular.extend(this.createDateObject(f[b],this.formatDay),{secondary:f[b].getMonth()!==g,uid:a.uniqueId+"-"+b});a.labels=Array(7);for(g=0;7>g;g++)a.labels[g]={abbr:k(f[g].date,this.formatDayHeader),full:k(f[g].date,"EEEE")};
+if(a.title=k(this.activeDate,this.formatDayTitle),a.rows=this.split(f,7),a.showWeeks)for(a.weekNumbers=[],g=(11-this.startingDay)%7,f=a.rows.length,b=0;be;e++)f=new Date(this.activeDate),f.setFullYear(b,e,1),c[e]=angular.extend(this.createDateObject(f,this.formatMonth),{uid:a.uniqueId+"-"+e});a.title=k(this.activeDate,this.formatMonthTitle);a.rows=this.split(c,3)};this.compare=function(a,c){return new Date(a.getFullYear(),a.getMonth())-new Date(c.getFullYear(),c.getMonth())};this.handleKeyDown=function(a,c){var b=this.activeDate.getMonth();if("left"===a)--b;else if("up"===a)b-=
+3;else if("right"===a)b+=1;else if("down"===a)b+=3;else if("pageup"===a||"pagedown"===a){var e=this.activeDate.getFullYear()+("pageup"===a?-1:1);this.activeDate.setFullYear(e)}else"home"===a?b=0:"end"===a&&(b=11);this.activeDate.setMonth(b)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(a,f,k){var h;this.element=f;this.yearpickerInit=function(){h=this.yearRange;this.step={years:h}};this._refreshView=function(){for(var c,b=Array(h),e=0,g=parseInt((this.activeDate.getFullYear()-
+1)/h,10)*h+1;e
"),
+E.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":I}),G=angular.element(E.children()[0]),G.attr("template-url",J),V&&"month"===k.type&&(G.attr("datepicker-mode",'"month"'),G.attr("min-mode","month")),k.datepickerOptions)(g=a.$parent.$eval(k.datepickerOptions))&&g.initDate&&(a.initDate=g.initDate,G.attr("init-date","initDate"),delete g.initDate),angular.forEach(g,function(a,b){G.attr(x(b),a)});angular.forEach("minMode maxMode minDate maxDate datepickerMode initDate shortcutPropagation".split(" "),
+function(b){if(k[b]){var e=c(k[b]);if(a.$parent.$watch(e,function(c){a.watchData[b]=c;"minDate"!==b&&"maxDate"!==b||(P[b]=new Date(c))}),G.attr(x(b),"watchData."+b),"datepickerMode"===b){var g=e.assign;a.$watch("watchData."+b,function(b,c){angular.isFunction(g)&&b!==c&&g(a.$parent,b)})}}});k.dateDisabled&&G.attr("date-disabled","dateDisabled({ date: date, mode: mode })");k.showWeeks&&G.attr("show-weeks",k.showWeeks);k.customClass&&G.attr("custom-class","customClass({ date: date, mode: mode })");V?
+N.$formatters.push(function(b){return a.date=b,b}):(N.$$parserName="date",N.$validators.date=v,N.$parsers.unshift(q),N.$formatters.push(function(b){return a.date=b,N.$isEmpty(b)?b:r(b,B)}));N.$viewChangeListeners.push(function(){a.date=m.parse(N.$viewValue,B,a.date)});f.bind("keydown",A);K=h(E)(a);E.remove();p?b.find("body").append(K):f.after(K);a.$on("$destroy",function(){!0===a.isOpen&&(e.$$phase||a.$apply(function(){a.isOpen=!1}));K.remove();f.unbind("keydown",A);b.unbind("click",z)})};a.getText=
+function(b){return a[b+"Text"]||n[b+"Text"]};a.isDisabled=function(b){return"today"===b&&(b=new Date),a.watchData.minDate&&0>a.compare(b,P.minDate)||a.watchData.maxDate&&0c?h(f[b])(a.$parent):a.$parent.$eval(f[b]):e[b]});angular.forEach(["minDate","maxDate"],function(b){f[b]?a.$parent.$watch(k(f[b]),function(a){m[b]=a?new Date(a):null;m.refreshView()}):m[b]=e[b]?new Date(e[b]):null});angular.forEach(["minMode","maxMode"],function(b){f[b]?a.$parent.$watch(k(f[b]),function(c){m[b]=angular.isDefined(c)?c:f[b];a[b]=m[b];("minMode"==b&&m.modes.indexOf(a.datepickerMode)
+m.modes.indexOf(m[b]))&&(a.datepickerMode=m[b])}):(m[b]=e[b]||null,a[b]=m[b])});a.datepickerMode=a.datepickerMode||e.datepickerMode;a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1E4*Math.random());angular.isDefined(f.initDate)?(this.activeDate=a.$parent.$eval(f.initDate)||new Date,a.$parent.$watch(f.initDate,function(a){a&&(n.$isEmpty(n.$modelValue)||n.$invalid)&&(m.activeDate=a,m.refreshView())})):this.activeDate=new Date;a.isActive=function(b){return 0===m.compare(b.date,m.activeDate)&&(a.activeDateId=
+b.uid,!0)};this.init=function(a){n=a;n.$render=function(){m.render()}};this.render=function(){if(n.$viewValue){var a=new Date(n.$viewValue);isNaN(a)?g||c.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'):this.activeDate=a}this.refreshView()};this.refreshView=function(){if(this.element){this._refreshView();var a=n.$viewValue?new Date(n.$viewValue):null;n.$setValidity("dateDisabled",
+!a||this.element&&!this.isDisabled(a))}};this.createDateObject=function(a,c){var e=n.$viewValue?new Date(n.$viewValue):null;return{date:a,label:b(a,c),selected:e&&0===this.compare(a,e),disabled:this.isDisabled(a),current:0===this.compare(a,new Date),customClass:this.customClass(a)}};this.isDisabled=function(b){return this.minDate&&0>this.compare(b,this.minDate)||this.maxDate&&0'),
+q.dropdownMenu.replaceWith(k),q.dropdownMenu=k),b.close(v),q.selectedOption=null);angular.isFunction(A)&&A(a,c)});a.$on("$locationChangeSuccess",function(){"disabled"!==v.getAutoClose()&&(v.isOpen=!1)});c=a.$on("$destroy",function(){v.$destroy()});v.$on("$destroy",c)}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(a,f,k,h){h.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"AC",require:"?^uibDropdown",link:function(a,f,k,h){h&&!angular.isDefined(k.dropdownNested)&&
+(f.addClass("dropdown-menu"),(a=k.templateUrl)&&(h.dropdownMenuTemplateUrl=a),h.dropdownMenu||(h.dropdownMenu=f))}}}).directive("uibKeyboardNav",function(){return{restrict:"A",require:"?^uibDropdown",link:function(a,f,k,h){f.bind("keydown",function(a){if(-1!==[38,40].indexOf(a.which)){a.preventDefault();a.stopPropagation();var b=h.dropdownMenu.find("a");switch(a.which){case 40:angular.isNumber(h.selectedOption)?h.selectedOption=h.selectedOption===b.length-1?h.selectedOption:h.selectedOption+1:h.selectedOption=
+0;break;case 38:angular.isNumber(h.selectedOption)?h.selectedOption=0===h.selectedOption?0:h.selectedOption-1:h.selectedOption=b.length-1}b[h.selectedOption].focus()}})}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(a,f,k,h){if(h){f.addClass("dropdown-toggle");h.toggleElement=f;var c=function(b){b.preventDefault();f.hasClass("disabled")||k.disabled||a.$apply(function(){h.toggle()})};f.bind("click",c);f.attr({"aria-haspopup":!0,"aria-expanded":!1});a.$watch(h.isOpen,
+function(a){f.attr("aria-expanded",!!a)});a.$on("$destroy",function(){f.unbind("click",c)})}}}});
+angular.module("ui.bootstrap.dropdown").value("$dropdownSuppressWarning",!1).service("dropdownService",["$log","$dropdownSuppressWarning","uibDropdownService",function(a,f,k){f||a.warn("dropdownService is now deprecated. Use uibDropdownService instead.");angular.extend(this,k)}]).controller("DropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest","$log","$dropdownSuppressWarning",function(a,
+f,k,h,c,b,e,g,r,m,n,t,x){x||t.warn("DropdownController is now deprecated. Use UibDropdownController instead.");var q,v,z=this,A=a.$new(),B=c.openClass,F=angular.noop,p=k.onToggle?h(k.onToggle):angular.noop,u=!1,I=!1;f.addClass("dropdown");this.init=function(){k.isOpen&&(v=h(k.isOpen),F=v.assign,a.$watch(v,function(a){A.isOpen=!!a}));u=angular.isDefined(k.dropdownAppendToBody);I=angular.isDefined(k.uibKeyboardNav);u&&z.dropdownMenu&&(r.find("body").append(z.dropdownMenu),f.on("$destroy",function(){z.dropdownMenu.remove()}))};
+this.toggle=function(a){return A.isOpen=arguments.length?!!a:!A.isOpen};this.isOpen=function(){return A.isOpen};A.getToggleElement=function(){return z.toggleElement};A.getAutoClose=function(){return k.autoClose||"always"};A.getElement=function(){return f};A.isKeynavEnabled=function(){return I};A.focusDropdownEntry=function(a){var b=z.dropdownMenu?angular.element(z.dropdownMenu).find("a"):angular.element(f).find("ul").eq(0).find("a");switch(a){case 40:angular.isNumber(z.selectedOption)?z.selectedOption=
+z.selectedOption===b.length-1?z.selectedOption:z.selectedOption+1:z.selectedOption=0;break;case 38:angular.isNumber(z.selectedOption)?z.selectedOption=0===z.selectedOption?0:z.selectedOption-1:z.selectedOption=b.length-1}b[z.selectedOption].focus()};A.getDropdownElement=function(){return z.dropdownMenu};A.focusToggleElement=function(){z.toggleElement&&z.toggleElement[0].focus()};A.$watch("isOpen",function(c,k){if(u&&z.dropdownMenu){var h=g.positionElements(f,z.dropdownMenu,"bottom-left",!0),r={top:h.top+
+"px",display:c?"block":"none"};z.dropdownMenu.hasClass("dropdown-menu-right")?(r.left="auto",r.right=window.innerWidth-(h.left+f.prop("offsetWidth"))+"px"):(r.left=h.left+"px",r.right="auto");z.dropdownMenu.css(r)}(e[c?"addClass":"removeClass"](f,B).then(function(){angular.isDefined(c)&&c!==k&&p(a,{open:!!c})}),c)?(z.dropdownMenuTemplateUrl&&n(z.dropdownMenuTemplateUrl).then(function(a){q=A.$new();m(a.trim())(q,function(a){z.dropdownMenu.replaceWith(a);z.dropdownMenu=a})}),A.focusToggleElement(),
+b.open(A)):(z.dropdownMenuTemplateUrl&&(q&&q.$destroy(),h=angular.element('
'),z.dropdownMenu.replaceWith(h),z.dropdownMenu=h),b.close(A),z.selectedOption=null);angular.isFunction(F)&&F(a,c)});a.$on("$locationChangeSuccess",function(){"disabled"!==A.getAutoClose()&&(A.isOpen=!1)});c=a.$on("$destroy",function(){A.$destroy()});A.$on("$destroy",c)}]).directive("dropdown",["$log","$dropdownSuppressWarning",function(a,f){return{controller:"DropdownController",link:function(k,
+h,c,b){f||a.warn("dropdown is now deprecated. Use uib-dropdown instead.");b.init()}}}]).directive("dropdownMenu",["$log","$dropdownSuppressWarning",function(a,f){return{restrict:"AC",require:"?^dropdown",link:function(k,h,c,b){b&&!angular.isDefined(c.dropdownNested)&&(f||a.warn("dropdown-menu is now deprecated. Use uib-dropdown-menu instead."),h.addClass("dropdown-menu"),(k=c.templateUrl)&&(b.dropdownMenuTemplateUrl=k),b.dropdownMenu||(b.dropdownMenu=h))}}}]).directive("keyboardNav",["$log","$dropdownSuppressWarning",
+function(a,f){return{restrict:"A",require:"?^dropdown",link:function(k,h,c,b){f||a.warn("keyboard-nav is now deprecated. Use uib-keyboard-nav instead.");h.bind("keydown",function(a){if(-1!==[38,40].indexOf(a.which)){a.preventDefault();a.stopPropagation();var c=b.dropdownMenu.find("a");switch(a.which){case 40:angular.isNumber(b.selectedOption)?b.selectedOption=b.selectedOption===c.length-1?b.selectedOption:b.selectedOption+1:b.selectedOption=0;break;case 38:angular.isNumber(b.selectedOption)?b.selectedOption=
+0===b.selectedOption?0:b.selectedOption-1:b.selectedOption=c.length-1}c[b.selectedOption].focus()}})}}}]).directive("dropdownToggle",["$log","$dropdownSuppressWarning",function(a,f){return{require:"?^dropdown",link:function(k,h,c,b){if(f||a.warn("dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead."),b){h.addClass("dropdown-toggle");b.toggleElement=h;var e=function(a){a.preventDefault();h.hasClass("disabled")||c.disabled||k.$apply(function(){b.toggle()})};h.bind("click",e);h.attr({"aria-haspopup":!0,
+"aria-expanded":!1});k.$watch(b.isOpen,function(a){h.attr("aria-expanded",!!a)});k.$on("$destroy",function(){h.unbind("click",e)})}}}}]);
+angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(f,k){a.push({key:f,value:k})},get:function(f){for(var k=0;k
");M.attr({id:da,matches:"matches",active:"activeIdx",select:"select(activeIdx)",
-"move-in-progress":"moveInProgress",query:"query",position:"position"});angular.isDefined(h.typeaheadTemplateUrl)&&M.attr("template-url",h.typeaheadTemplateUrl);angular.isDefined(h.typeaheadPopupTemplateUrl)&&M.attr("popup-template-url",h.typeaheadPopupTemplateUrl);var qa=function(){P.matches=[];P.activeIdx=-1;f.attr("aria-expanded",!1)};P.$watch("activeIdx",function(a){0>a?f.removeAttr("aria-activedescendant"):f.attr("aria-activedescendant",da+"-option-"+a)});var ca=function(c){var e={$viewValue:c};
-J(b,!0);T(b,!1);a.when(W.source(b,e)).then(function(a){var g=c===w.$viewValue;if(g&&q)if(a&&0=E?0/g.test(c)&&h.warn("Unsafe use of typeahead please use ngSanitize"),c=a?(""+c).replace(new RegExp(a.replace(/([.?*+^$[\]\\(){}|-])/g,
-"\\$1"),"gi"),"$&"):c,l||(c=b.trustAsHtml(c)),c}}]);
-angular.module("ui.bootstrap.typeahead").value("$typeaheadSuppressWarning",!1).service("typeaheadParser",["$parse","uibTypeaheadParser","$log","$typeaheadSuppressWarning",function(b,f,h,l){return l||h.warn("typeaheadParser is now deprecated. Use uibTypeaheadParser instead."),f}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$window","$rootScope","$uibPosition","typeaheadParser","$log","$typeaheadSuppressWarning",function(b,f,h,l,c,a,e,g,t,k,n){var r=[9,13,27,38,40];return{require:["ngModel",
-"^?ngModelOptions"],link:function(y,u,w,A){function z(){M.moveInProgress||(M.moveInProgress=!0,M.$digest());ba&&l.cancel(ba);ba=l(function(){M.matches.length&&B();M.moveInProgress=!1},200)}function B(){M.position=U?g.offset(u):g.position(u);M.position.top+=u.prop("offsetHeight")}n||k.warn("typeahead is now deprecated. Use uib-typeahead instead.");var E=A[0],q=A[1],p=y.$eval(w.typeaheadMinLength);p||0===p||(p=1);var I,O,J=y.$eval(w.typeaheadWaitMs)||0,G=!1!==y.$eval(w.typeaheadEditable),N=f(w.typeaheadLoading).assign||
-angular.noop,T=f(w.typeaheadOnSelect),X=!!angular.isDefined(w.typeaheadSelectOnBlur)&&y.$eval(w.typeaheadSelectOnBlur),H=f(w.typeaheadNoResults).assign||angular.noop,R=w.typeaheadInputFormatter?f(w.typeaheadInputFormatter):void 0,U=!!w.typeaheadAppendToBody&&y.$eval(w.typeaheadAppendToBody),ha=w.typeaheadAppendToElementId||!1,K=!1!==y.$eval(w.typeaheadFocusFirst),S=!!w.typeaheadSelectOnExact&&y.$eval(w.typeaheadSelectOnExact),ka=f(w.ngModel),W=f(w.ngModel+"($$$p)"),P=function(a,b){return angular.isFunction(ka(y))&&
-q&&q.$options&&q.$options.getterSetter?W(a,{$$$p:b}):ka.assign(a,b)},da=t.parse(w.typeahead),M=y.$new();A=y.$on("$destroy",function(){M.$destroy()});M.$on("$destroy",A);var qa="typeahead-"+M.$id+"-"+Math.floor(1E4*Math.random());u.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":qa});var ca=angular.element("");ca.attr({id:qa,matches:"matches",active:"activeIdx",select:"select(activeIdx)","move-in-progress":"moveInProgress",query:"query",position:"position"});
-angular.isDefined(w.typeaheadTemplateUrl)&&ca.attr("template-url",w.typeaheadTemplateUrl);angular.isDefined(w.typeaheadPopupTemplateUrl)&&ca.attr("popup-template-url",w.typeaheadPopupTemplateUrl);var V=function(){M.matches=[];M.activeIdx=-1;u.attr("aria-expanded",!1)};M.$watch("activeIdx",function(a){0>a?u.removeAttr("aria-activedescendant"):u.attr("aria-activedescendant",qa+"-option-"+a)});var ma=function(a){var b={$viewValue:a};N(y,!0);H(y,!1);h.when(da.source(y,b)).then(function(c){var e=a===E.$viewValue;
-if(e&&I)if(c&&0=p?0/g.test(a)&&h.warn("Unsafe use of typeahead please use ngSanitize"),
-a=e?(""+a).replace(new RegExp(e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1"),"gi"),"$&"):a,c||(a=b.trustAsHtml(a)),a}}]);angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(b){b.put("template/accordion/accordion-group.html",'