From 4c08699728fa8235aadd12e49d824a7fe4f0a68c Mon Sep 17 00:00:00 2001 From: smartapant Date: Tue, 5 Jan 2016 19:44:49 +0300 Subject: [PATCH] Personal info form. --- src/app/pages/form/wizard/wizardPage.html | 57 ++++++++++++++--------- src/app/pages/form/wizard/wizrdCtrl.js | 15 ++++-- src/sass/app/_form.scss | 7 +++ 3 files changed, 53 insertions(+), 26 deletions(-) diff --git a/src/app/pages/form/wizard/wizardPage.html b/src/app/pages/form/wizard/wizardPage.html index 776c635..cbc6f53 100644 --- a/src/app/pages/form/wizard/wizardPage.html +++ b/src/app/pages/form/wizard/wizardPage.html @@ -3,27 +3,39 @@
- - -
-
- - -
-
- - -
-
- -
- -
-
- + + +
+
+
+
+ + + Required +
+
+ + + Proper email required +
+
+
+
+ + + Required +
+
+ + + Passwords should match +
+
+
+
+
+
@@ -54,9 +66,8 @@
-
- +
diff --git a/src/app/pages/form/wizard/wizrdCtrl.js b/src/app/pages/form/wizard/wizrdCtrl.js index 9bafbb0..88818a8 100644 --- a/src/app/pages/form/wizard/wizrdCtrl.js +++ b/src/app/pages/form/wizard/wizrdCtrl.js @@ -7,7 +7,7 @@ .directive('baWizardTab', baWizardTab); /** @ngInject */ - function WizardCtrl($scope, $location, $sce) { + function WizardCtrl($scope) { var vm = this; vm.personalInfo = {}; @@ -15,6 +15,9 @@ vm.payment = {}; vm.finish = {}; + vm.arePersonalInfoPasswordsEqual = function () { + return vm.personalInfo.confirmPassword && vm.personalInfo.password == vm.personalInfo.confirmPassword; + }; } function baWizard() { @@ -39,6 +42,7 @@ $scope.$watch(angular.bind(vm, function () {return vm.tabNum;}), countProgress); vm.selectTab = function (tabNum) { + vm.tabs[vm.tabNum].submit(); if (vm.tabs[tabNum].isAvailiable()) { vm.tabNum = tabNum; vm.tabs.forEach(function (t, tIndex) { @@ -76,7 +80,7 @@ transclude: true, require: '^baWizard', scope: { - completeness: '=' + form: '=' }, templateUrl: 'app/pages/form/wizard/tab.html', link: function($scope, $element, $attrs, wizard) { @@ -85,6 +89,7 @@ var tab = { title: $attrs.title, select: select, + submit: submit, isComplete: isComplete, isAvailiable: isAvailiable, prevTab: undefined, @@ -101,8 +106,12 @@ } } + function submit() { + $scope.form && $scope.form.$setSubmitted(true); + } + function isComplete() { - return $scope.completeness; + return $scope.form ? $scope.form.$valid : true; } function isAvailiable() { diff --git a/src/sass/app/_form.scss b/src/sass/app/_form.scss index 4fd4562..018606f 100644 --- a/src/sass/app/_form.scss +++ b/src/sass/app/_form.scss @@ -380,6 +380,13 @@ label.custom-input-danger { color: $help-text; } +.help-block.error-block { + display: none; + .has-error &.basic-block { + display: block; + } +} + @mixin groupAddon($color) { background: $color; color: #ffffff;