added routable tabs for configure panel
This commit is contained in:
parent
86d8b88231
commit
798d28d92d
|
@ -20,7 +20,7 @@ angular.module('forms').config(['$translateProvider', function ($translateProvid
|
||||||
EMAIL_NOTIFICATION_RECIPIENTS: 'Email Notification Recipients',
|
EMAIL_NOTIFICATION_RECIPIENTS: 'Email Notification Recipients',
|
||||||
GENERAL_TAB: 'General',
|
GENERAL_TAB: 'General',
|
||||||
SELF_NOTIFICATIONS_TAB: 'Self notifications',
|
SELF_NOTIFICATIONS_TAB: 'Self notifications',
|
||||||
RESPONDANT_NOTIFICATIONS_TAB: 'Respondent notifications',
|
RESPONDENT_NOTIFICATIONS_TAB: 'Respondent notifications',
|
||||||
|
|
||||||
//List Forms View
|
//List Forms View
|
||||||
CREATE_A_NEW_FORM: 'Create a new form',
|
CREATE_A_NEW_FORM: 'Create a new form',
|
||||||
|
|
|
@ -50,7 +50,7 @@ angular.module('forms').controller('AdminFormController', ['$rootScope', '$windo
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
heading: $filter('translate')('CONFIGURE_TAB'),
|
heading: $filter('translate')('CONFIGURE_TAB'),
|
||||||
route: 'viewForm.configure'
|
route: 'viewForm.configure.general'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
heading: $filter('translate')('ANALYZE_TAB'),
|
heading: $filter('translate')('ANALYZE_TAB'),
|
||||||
|
|
|
@ -1,23 +1,36 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
angular.module('forms').directive('configureFormDirective', ['$rootScope', '$http', 'Upload', 'CurrentForm',
|
angular.module('forms').directive('configureFormDirective', ['$rootScope', '$filter',
|
||||||
function ($rootScope, $http, Upload, CurrentForm) {
|
function ($rootScope, $filter) {
|
||||||
return {
|
return {
|
||||||
templateUrl: 'modules/forms/admin/views/directiveViews/form/configure-form.client.view.html',
|
templateUrl: 'modules/forms/admin/views/directiveViews/form/configure-form.client.view.html',
|
||||||
restrict: 'E',
|
restrict: 'E',
|
||||||
scope: {
|
scope: {
|
||||||
myform:'=',
|
myform:'='
|
||||||
user:'=',
|
|
||||||
pdfFields:'@',
|
|
||||||
formFields:'@'
|
|
||||||
},
|
},
|
||||||
controller: function($scope){
|
controller: function($scope){
|
||||||
$scope.log = '';
|
|
||||||
$scope.languages = $rootScope.languages;
|
$scope.languages = $rootScope.languages;
|
||||||
|
|
||||||
$scope.resetForm = $rootScope.resetForm;
|
$scope.resetForm = $rootScope.resetForm;
|
||||||
$scope.update = $rootScope.update;
|
$scope.update = $rootScope.update;
|
||||||
|
|
||||||
|
$scope.configureTabs = [
|
||||||
|
{
|
||||||
|
heading: $filter('translate')('GENERAL_TAB'),
|
||||||
|
route: 'viewForm.configure.general'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: $filter('translate')('SELF_NOTIFICATIONS_TAB'),
|
||||||
|
route: 'viewForm.configure.self_notifications'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
heading: $filter('translate')('RESPONDENT_NOTIFICATIONS_TAB'),
|
||||||
|
route: 'viewForm.configure.respondent_notifications'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
$scope.go = function(route){
|
||||||
|
$state.go(route);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,165 @@
|
||||||
|
<!-- Settings -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-offset-2 col-sm-4">
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'FORM_NAME' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.title"
|
||||||
|
value="{{myform.title}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
ng-minlength="4"
|
||||||
|
ng-pattern="/^[a-zA-Z0-9 \-.]*$/">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'FORM_STATUS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.isLive" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'PUBLIC' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.isLive" ng-required="true" />
|
||||||
|
<span>{{ 'PRIVATE' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'ENABLE_EMAIL_NOTIFICATIONS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.emailNotifications.enabled" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.emailNotifications.enabled" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field" ng-if="myform.emailNotifications.enabled">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'EMAIL_NOTIFICATION_RECIPIENTS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.emailNotifications.recipients"
|
||||||
|
value="{{myform.emailNotifications.recipients}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
placeholder="email@domain.com,email2@domain2.com,etc">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="col-sm-12 field-title">{{ 'LANGUAGE' | translate }}</div>
|
||||||
|
<div class="col-sm-12 field-input">
|
||||||
|
<select ng-model="myform.language">
|
||||||
|
<option ng-repeat="language in languages"
|
||||||
|
ng-selected="language == myform.language"
|
||||||
|
value="{{language}}">
|
||||||
|
{{language}}
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<span class="required-error" ng-show="field.required && !field.fieldValue">* {{ 'REQUIRED_FIELD' | translate }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'GA_TRACKING_CODE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.analytics.gaCode"
|
||||||
|
value="{{myform.analytics.gaCode}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
ng-minlength="4"
|
||||||
|
placeholder="UA-XXXXX-Y"
|
||||||
|
ng-pattern="/\bUA-\d{4,10}-\d{1,4}\b/">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_FOOTER' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.hideFooter" ng-required="true" />
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.hideFooter" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_START_PAGE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.startPage.showStart" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.startPage.showStart" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_END_PAGE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.endPage.showEnd" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.endPage.showEnd" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,164 @@
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-offset-2 col-sm-4">
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'FORM_NAME' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.title"
|
||||||
|
value="{{myform.title}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
ng-minlength="4"
|
||||||
|
ng-pattern="/^[a-zA-Z0-9 \-.]*$/">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'FORM_STATUS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.isLive" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'PUBLIC' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.isLive" ng-required="true" />
|
||||||
|
<span>{{ 'PRIVATE' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'ENABLE_EMAIL_NOTIFICATIONS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.emailNotifications.enabled" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.emailNotifications.enabled" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field" ng-if="myform.emailNotifications.enabled">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'EMAIL_NOTIFICATION_RECIPIENTS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.emailNotifications.recipients"
|
||||||
|
value="{{myform.emailNotifications.recipients}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
placeholder="email@domain.com,email2@domain2.com,etc">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="col-sm-12 field-title">{{ 'LANGUAGE' | translate }}</div>
|
||||||
|
<div class="col-sm-12 field-input">
|
||||||
|
<select ng-model="myform.language">
|
||||||
|
<option ng-repeat="language in languages"
|
||||||
|
ng-selected="language == myform.language"
|
||||||
|
value="{{language}}">
|
||||||
|
{{language}}
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<span class="required-error" ng-show="field.required && !field.fieldValue">* {{ 'REQUIRED_FIELD' | translate }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'GA_TRACKING_CODE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.analytics.gaCode"
|
||||||
|
value="{{myform.analytics.gaCode}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
ng-minlength="4"
|
||||||
|
placeholder="UA-XXXXX-Y"
|
||||||
|
ng-pattern="/\bUA-\d{4,10}-\d{1,4}\b/">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_FOOTER' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.hideFooter" ng-required="true" />
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.hideFooter" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_START_PAGE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.startPage.showStart" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.startPage.showStart" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_END_PAGE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.endPage.showEnd" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.endPage.showEnd" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,165 @@
|
||||||
|
<!-- Settings -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-offset-2 col-sm-4">
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'FORM_NAME' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.title"
|
||||||
|
value="{{myform.title}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
ng-minlength="4"
|
||||||
|
ng-pattern="/^[a-zA-Z0-9 \-.]*$/">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'FORM_STATUS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.isLive" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'PUBLIC' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.isLive" ng-required="true" />
|
||||||
|
<span>{{ 'PRIVATE' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'ENABLE_EMAIL_NOTIFICATIONS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.emailNotifications.enabled" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.emailNotifications.enabled" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field" ng-if="myform.emailNotifications.enabled">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'EMAIL_NOTIFICATION_RECIPIENTS' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.emailNotifications.recipients"
|
||||||
|
value="{{myform.emailNotifications.recipients}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
placeholder="email@domain.com,email2@domain2.com,etc">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="col-sm-12 field-title">{{ 'LANGUAGE' | translate }}</div>
|
||||||
|
<div class="col-sm-12 field-input">
|
||||||
|
<select ng-model="myform.language">
|
||||||
|
<option ng-repeat="language in languages"
|
||||||
|
ng-selected="language == myform.language"
|
||||||
|
value="{{language}}">
|
||||||
|
{{language}}
|
||||||
|
</option>
|
||||||
|
</select>
|
||||||
|
<span class="required-error" ng-show="field.required && !field.fieldValue">* {{ 'REQUIRED_FIELD' | translate }}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4">
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'GA_TRACKING_CODE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<input class="form-control"
|
||||||
|
type="text"
|
||||||
|
ng-model="myform.analytics.gaCode"
|
||||||
|
value="{{myform.analytics.gaCode}}"
|
||||||
|
style="width: 100%;"
|
||||||
|
ng-minlength="4"
|
||||||
|
placeholder="UA-XXXXX-Y"
|
||||||
|
ng-pattern="/\bUA-\d{4,10}-\d{1,4}\b/">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_FOOTER' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.hideFooter" ng-required="true" />
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.hideFooter" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_START_PAGE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.startPage.showStart" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.startPage.showStart" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row field">
|
||||||
|
<div class="field-title col-sm-12">
|
||||||
|
<h5>{{ 'DISPLAY_END_PAGE' | translate }}</h5>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-input col-sm-12">
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="true" ng-model="myform.endPage.showEnd" ng-required="true" style="background-color:#33CC00;"/>
|
||||||
|
<span>{{ 'YES' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style="display: inline-block;">
|
||||||
|
<input type="radio" data-ng-value="false" ng-model="myform.endPage.showEnd" ng-required="true" />
|
||||||
|
<span>{{ 'NO' | translate }}</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -1,180 +1,12 @@
|
||||||
<div class="config-form container">
|
<div class="config-form container">
|
||||||
|
|
||||||
<uib-tabset active="activePill" vertical="true" type="pills">
|
<div class="row">
|
||||||
<uib-tab index="0" heading="{{ 'GENERAL_TAB' | translate }}">
|
<uib-tabset active="activePill" type="pills">
|
||||||
<!-- Settings -->
|
<uib-tab ng-repeat="tab in configureTabs" index="$index" heading="{{tab.heading}}" select="go(tab.route)">
|
||||||
<div class="row">
|
<div ui-view></div>
|
||||||
<div class="col-sm-offset-2 col-sm-4">
|
</uib-tab>
|
||||||
<div class="row field">
|
</uib-tabset>
|
||||||
<div class="field-title col-sm-12">
|
</div>
|
||||||
<h5>{{ 'FORM_NAME' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-sm-12">
|
|
||||||
<input class="form-control"
|
|
||||||
type="text"
|
|
||||||
ng-model="myform.title"
|
|
||||||
value="{{myform.title}}"
|
|
||||||
style="width: 100%;"
|
|
||||||
ng-minlength="4"
|
|
||||||
ng-pattern="/^[a-zA-Z0-9 \-.]*$/">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row field">
|
|
||||||
<div class="field-title col-sm-12">
|
|
||||||
<h5>{{ 'FORM_STATUS' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="field-input col-sm-12">
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="true" ng-model="myform.isLive" ng-required="true" style="background-color:#33CC00;"/>
|
|
||||||
<span>{{ 'PUBLIC' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="false" ng-model="myform.isLive" ng-required="true" />
|
|
||||||
<span>{{ 'PRIVATE' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row field">
|
|
||||||
<div class="field-title col-sm-12">
|
|
||||||
<h5>{{ 'ENABLE_EMAIL_NOTIFICATIONS' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="field-input col-sm-12">
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="true" ng-model="myform.emailNotifications.enabled" ng-required="true" style="background-color:#33CC00;"/>
|
|
||||||
<span>{{ 'YES' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="false" ng-model="myform.emailNotifications.enabled" ng-required="true" />
|
|
||||||
<span>{{ 'NO' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row field" ng-if="myform.emailNotifications.enabled">
|
|
||||||
<div class="field-title col-sm-12">
|
|
||||||
<h5>{{ 'EMAIL_NOTIFICATION_RECIPIENTS' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-sm-12">
|
|
||||||
<input class="form-control"
|
|
||||||
type="text"
|
|
||||||
ng-model="myform.emailNotifications.recipients"
|
|
||||||
value="{{myform.emailNotifications.recipients}}"
|
|
||||||
style="width: 100%;"
|
|
||||||
placeholder="email@domain.com,email2@domain2.com,etc">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row field">
|
|
||||||
<div class="col-sm-12 field-title">{{ 'LANGUAGE' | translate }}</div>
|
|
||||||
<div class="col-sm-12 field-input">
|
|
||||||
<select ng-model="myform.language">
|
|
||||||
<option ng-repeat="language in languages"
|
|
||||||
ng-selected="language == myform.language"
|
|
||||||
value="{{language}}">
|
|
||||||
{{language}}
|
|
||||||
</option>
|
|
||||||
</select>
|
|
||||||
<span class="required-error" ng-show="field.required && !field.fieldValue">* {{ 'REQUIRED_FIELD' | translate }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-4">
|
|
||||||
<div class="row field">
|
|
||||||
<div class="field-title col-sm-12">
|
|
||||||
<h5>{{ 'GA_TRACKING_CODE' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-sm-12">
|
|
||||||
<input class="form-control"
|
|
||||||
type="text"
|
|
||||||
ng-model="myform.analytics.gaCode"
|
|
||||||
value="{{myform.analytics.gaCode}}"
|
|
||||||
style="width: 100%;"
|
|
||||||
ng-minlength="4"
|
|
||||||
placeholder="UA-XXXXX-Y"
|
|
||||||
ng-pattern="/\bUA-\d{4,10}-\d{1,4}\b/">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row field">
|
|
||||||
<div class="field-title col-sm-12">
|
|
||||||
<h5>{{ 'DISPLAY_FOOTER' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="field-input col-sm-12">
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="false" ng-model="myform.hideFooter" ng-required="true" />
|
|
||||||
<span>{{ 'YES' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="true" ng-model="myform.hideFooter" ng-required="true" />
|
|
||||||
<span>{{ 'NO' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row field">
|
|
||||||
<div class="field-title col-sm-12">
|
|
||||||
<h5>{{ 'DISPLAY_START_PAGE' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="field-input col-sm-12">
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="true" ng-model="myform.startPage.showStart" ng-required="true" style="background-color:#33CC00;"/>
|
|
||||||
<span>{{ 'YES' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="false" ng-model="myform.startPage.showStart" ng-required="true" />
|
|
||||||
<span>{{ 'NO' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row field">
|
|
||||||
<div class="field-title col-sm-12">
|
|
||||||
<h5>{{ 'DISPLAY_END_PAGE' | translate }}</h5>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="field-input col-sm-12">
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="true" ng-model="myform.endPage.showEnd" ng-required="true" style="background-color:#33CC00;"/>
|
|
||||||
<span>{{ 'YES' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
<label style="display: inline-block;">
|
|
||||||
<input type="radio" data-ng-value="false" ng-model="myform.endPage.showEnd" ng-required="true" />
|
|
||||||
<span>{{ 'NO' | translate }}</span>
|
|
||||||
</label>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</uib-tab>
|
|
||||||
|
|
||||||
<uib-tab index="1" heading="{{ 'SELF_NOTIFICATIONS' | translate }}">
|
|
||||||
</uib-tab>
|
|
||||||
|
|
||||||
<uib-tab index="2" heading="{{ 'RESPONDANT_NOTIFICATIONS' | translate }}">
|
|
||||||
</uib-tab>
|
|
||||||
</uib-tabset>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-offset-4 col-sm-2">
|
<div class="col-sm-offset-4 col-sm-2">
|
||||||
|
|
|
@ -64,10 +64,24 @@ angular.module('forms').config(['$stateProvider',
|
||||||
}).state('viewForm.create', {
|
}).state('viewForm.create', {
|
||||||
url: '/create',
|
url: '/create',
|
||||||
templateUrl: 'modules/forms/admin/views/adminTabs/create.html'
|
templateUrl: 'modules/forms/admin/views/adminTabs/create.html'
|
||||||
}).state('viewForm.configure', {
|
})
|
||||||
|
|
||||||
|
.state('viewForm.configure', {
|
||||||
|
abstract: true,
|
||||||
url: '/configure',
|
url: '/configure',
|
||||||
templateUrl: 'modules/forms/admin/views/adminTabs/configure.html'
|
templateUrl: 'modules/forms/admin/views/adminTabs/configure.html'
|
||||||
}).state('viewForm.design', {
|
}).state('viewForm.configure.general', {
|
||||||
|
url: '/general',
|
||||||
|
templateUrl: 'modules/forms/admin/views/adminTabs/configureTabs/general.html'
|
||||||
|
}).state('viewForm.configure.self_notifications', {
|
||||||
|
url: '/self_notifications',
|
||||||
|
templateUrl: 'modules/forms/admin/views/adminTabs/configureTabs/self_notifications.html'
|
||||||
|
}).state('viewForm.configure.respondent_notifications', {
|
||||||
|
url: '/respondent_notifications',
|
||||||
|
templateUrl: 'modules/forms/admin/views/adminTabs/configureTabs/respondent_notifications.html'
|
||||||
|
})
|
||||||
|
|
||||||
|
.state('viewForm.design', {
|
||||||
url: '/design',
|
url: '/design',
|
||||||
templateUrl: 'modules/forms/admin/views/adminTabs/design.html'
|
templateUrl: 'modules/forms/admin/views/adminTabs/design.html'
|
||||||
}).state('viewForm.share', {
|
}).state('viewForm.share', {
|
||||||
|
|
Loading…
Reference in a new issue