Personal info form.
							parent
							
								
									be1d2e00f8
								
							
						
					
					
						commit
						4c08699728
					
				| 
						 | 
				
			
			@ -3,27 +3,39 @@
 | 
			
		|||
    <div class="row">
 | 
			
		||||
        <div class="col-md-12">
 | 
			
		||||
            <blur-panel title="Form Wizard" class-container="with-scroll">
 | 
			
		||||
              <ba-wizard>
 | 
			
		||||
                  <ba-wizard-tab title="Personal info" completeness="vm.personalInfoForm.$valid">
 | 
			
		||||
                      <form name="vm.personalInfoForm" novalidate>
 | 
			
		||||
                          <div class="form-group">
 | 
			
		||||
                              <label for="exampleInputEmail1">Email address</label>
 | 
			
		||||
                              <input type="email" class="form-control" id="exampleInputEmail1" name="email" placeholder="Email" ng-model="vm.personalInfo.email" required>
 | 
			
		||||
                          </div>
 | 
			
		||||
                          <div class="form-group">
 | 
			
		||||
                              <label for="exampleInputPassword1">Password</label>
 | 
			
		||||
                              <input type="password" class="form-control" id="exampleInputPassword1" name="password" placeholder="Password" ng-model="vm.personalInfo.password" required>
 | 
			
		||||
                          </div>
 | 
			
		||||
                          <div class="checkbox">
 | 
			
		||||
                              <label class="custom-checkbox">
 | 
			
		||||
                                  <input type="checkbox">
 | 
			
		||||
                                  <span>Check me out</span>
 | 
			
		||||
                              </label>
 | 
			
		||||
                          </div>
 | 
			
		||||
                          <button type="submit" class="btn btn-danger">Submit</button>
 | 
			
		||||
                      </form>
 | 
			
		||||
                  </ba-wizard-tab>
 | 
			
		||||
                  <ba-wizard-tab title="Product Info" completeness="vm.productInfoForm.$valid">
 | 
			
		||||
                <ba-wizard>
 | 
			
		||||
                    <ba-wizard-tab title="Personal info" form="vm.personalInfoForm">
 | 
			
		||||
                        <form name="vm.personalInfoForm" novalidate>
 | 
			
		||||
                            <div class="row">
 | 
			
		||||
                                <div class="col-md-6">
 | 
			
		||||
                                    <div class="form-group has-feedback"
 | 
			
		||||
                                         ng-class="{'has-error': vm.personalInfoForm.username.$invalid && (vm.personalInfoForm.username.$dirty || vm.personalInfoForm.$submitted)}">
 | 
			
		||||
                                        <label for="exampleUsername1">Username</label>
 | 
			
		||||
                                        <input type="text" class="form-control" id="exampleUsername1" name="username" placeholder="Username" ng-model="vm.personalInfo.username" required>
 | 
			
		||||
                                        <span class="help-block error-block basic-block">Required</span>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                    <div class="form-group" ng-class="{'has-error': vm.personalInfoForm.email.$invalid && (vm.personalInfoForm.email.$dirty || vm.personalInfoForm.$submitted)}">
 | 
			
		||||
                                        <label for="exampleInputEmail1">Email address</label>
 | 
			
		||||
                                        <input type="email" class="form-control" id="exampleInputEmail1" name="email" placeholder="Email" ng-model="vm.personalInfo.email" required>
 | 
			
		||||
                                        <span class="help-block error-block basic-block">Proper email required</span>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div class="col-md-6">
 | 
			
		||||
                                    <div class="form-group" ng-class="{'has-error': vm.personalInfoForm.password.$invalid && (vm.personalInfoForm.password.$dirty || vm.personalInfoForm.$submitted)}">
 | 
			
		||||
                                        <label for="exampleInputPassword1">Password</label>
 | 
			
		||||
                                        <input type="password" class="form-control" id="exampleInputPassword1" name="password" placeholder="Password" ng-model="vm.personalInfo.password" required>
 | 
			
		||||
                                        <span class="help-block error-block basic-block">Required</span>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                    <div class="form-group"  ng-class="{'has-error': !vm.arePersonalInfoPasswordsEqual() && (vm.personalInfoForm.confirmPassword.$dirty || vm.personalInfoForm.$submitted)}">
 | 
			
		||||
                                        <label for="exampleInputConfirmPassword1">Confirm Password</label>
 | 
			
		||||
                                        <input type="password" class="form-control" id="exampleInputConfirmPassword1" name="confirmPassword" placeholder="Confirm Password" ng-model="vm.personalInfo.confirmPassword" required>
 | 
			
		||||
                                        <span class="help-block error-block basic-block">Passwords should match</span>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </form>
 | 
			
		||||
                    </ba-wizard-tab>
 | 
			
		||||
                  <ba-wizard-tab title="Product Info" form="vm.productInfoForm">
 | 
			
		||||
                      <form name="vm.productInfoForm" novalidate>
 | 
			
		||||
                          <div class="row">
 | 
			
		||||
                              <div class="col-sm-6">
 | 
			
		||||
| 
						 | 
				
			
			@ -54,9 +66,8 @@
 | 
			
		|||
                              </div>
 | 
			
		||||
                          </div>
 | 
			
		||||
                      </form>
 | 
			
		||||
                      <button type="submit" class="btn btn-primary">Submit</button>
 | 
			
		||||
                  </ba-wizard-tab>
 | 
			
		||||
                  <ba-wizard-tab title="Payment"  completeness="vm.paymentForm.$valid">
 | 
			
		||||
                  <ba-wizard-tab title="Payment"  form="vm.paymentForm">
 | 
			
		||||
                      <form class="row form-inline" name="vm.paymentForm" novalidate>
 | 
			
		||||
                          <div class="form-group col-sm-3 col-xs-6">
 | 
			
		||||
                              <input type="text" class="form-control" id="exampleInputName2" placeholder="Name" ng-model="vm.payment.name" required>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue