Skip to content

Commit f296b72

Browse files
committed
Convert wizard review page to component
1 parent 1fd71c3 commit f296b72

File tree

8 files changed

+64
-61
lines changed

8 files changed

+64
-61
lines changed

src/wizard/wizard-directive.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
<file name="summary.html">
130130
<div ng-controller="SummaryController">
131131
<pf-wizard-substep step-title="Summary" step-id="review-summary" step-priority="0" next-enabled="true" prev-enabled="true" ok-to-nav-away="true" wz-disabled="false" on-show="onShow">
132-
<div pf-wizard-review-page shown="pageShown" wizard-data="data"></div>
132+
<pf-wizard-review-page shown="pageShown" wizard-data="data"></pf-wizard-review-page>
133133
</pf-wizard-substep>
134134
</div>
135135
</file>
@@ -261,7 +261,7 @@
261261
if (angular.isUndefined(next)) {
262262
$scope.data = {};
263263
} else {
264-
$scope.data = next.wizardData;
264+
$scope.data = next.$ctrl.wizardData;
265265
}
266266
}
267267
}

src/wizard/wizard-review-page-directive.js

Lines changed: 0 additions & 49 deletions
This file was deleted.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/**
2+
* @ngdoc directive
3+
* @name patternfly.wizard.component:pfWizardReviewPage
4+
* @restrict E
5+
*
6+
* @description
7+
* Component for rendering a Wizard Review Page - should only be used within a wizard.
8+
*
9+
* @param {boolean} shown Value watched internally by the wizard review page to know when it is visible.
10+
* @param {object} wizardData Sets the internal content of the review page to apply wizard data to the review templates.
11+
*
12+
*/
13+
angular.module('patternfly.wizard').component('pfWizardReviewPage', {
14+
bindings: {
15+
shown: '<',
16+
wizardData: "<"
17+
},
18+
require: {
19+
wizard: '^pfWizard'
20+
},
21+
templateUrl: 'wizard/wizard-review-page.html',
22+
controller: function () {
23+
'use strict';
24+
var ctrl = this;
25+
26+
ctrl.toggleShowReviewDetails = function (step) {
27+
if (step.showReviewDetails === true) {
28+
step.showReviewDetails = false;
29+
} else {
30+
step.showReviewDetails = true;
31+
}
32+
};
33+
ctrl.getSubStepNumber = function (step, substep) {
34+
return step.getStepDisplayNumber(substep);
35+
};
36+
ctrl.getReviewSubSteps = function (reviewStep) {
37+
return reviewStep.getReviewSteps();
38+
};
39+
ctrl.reviewSteps = [];
40+
ctrl.updateReviewSteps = function () {
41+
ctrl.reviewSteps = ctrl.wizard.getReviewSteps();
42+
};
43+
44+
ctrl.$onChanges = function (changesObj) {
45+
if (changesObj.shown) {
46+
if (changesObj.shown.currentValue) {
47+
ctrl.updateReviewSteps();
48+
}
49+
}
50+
};
51+
}
52+
});

src/wizard/wizard-review-page.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<div class="wizard-pf-review-page">
22
<div class="wizard-pf-review-steps">
33
<ul class="list-group">
4-
<li class="list-group-item" ng-repeat="reviewStep in reviewSteps track by $index">
5-
<a class="apf-form-collapse" ng-class="{'collapsed': !reviewStep.showReviewDetails}" ng-click="toggleShowReviewDetails(reviewStep)">
4+
<li class="list-group-item" ng-repeat="reviewStep in $ctrl.reviewSteps track by $index">
5+
<a class="apf-form-collapse" ng-class="{'collapsed': !reviewStep.showReviewDetails}" ng-click="$ctrl.toggleShowReviewDetails(reviewStep)">
66
{{reviewStep.stepTitle}}
77
</a>
88
<div class="wizard-pf-review-substeps" ng-class="{'collapse': !reviewStep.showReviewDetails}">
99
<ul class="list-group" ng-if="reviewStep.substeps" >
1010
<li class="list-group-item" ng-repeat="substep in reviewStep.getReviewSteps()">
11-
<a class="apf-form-collapse" ng-class="{'collapsed': !substep.showReviewDetails}" ng-click="toggleShowReviewDetails(substep)">
12-
<span class="wizard-pf-substep-number">{{getSubStepNumber(reviewStep, substep)}}</span>
11+
<a class="apf-form-collapse" ng-class="{'collapsed': !substep.showReviewDetails}" ng-click="$ctrl.toggleShowReviewDetails(substep)">
12+
<span class="wizard-pf-substep-number">{{$ctrl.getSubStepNumber(reviewStep, substep)}}</span>
1313
<span class="wizard-pf-substep-title">{{substep.stepTitle}}</span>
1414
</a>
1515
<div class="wizard-pf-review-content" ng-class="{'collapse': !substep.showReviewDetails}">

test/wizard/review-second-template.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<form class="form">
33
<div class="wizard-pf-review-item">
44
<span class="wizard-pf-review-item-label">Lorem:</span>
5-
<span class="wizard-pf-review-item-value">{{data.lorem}}</span>
5+
<span class="wizard-pf-review-item-value">{{$ctrl.data.lorem}}</span>
66
</div>
77
<div class="wizard-pf-review-item">
88
<span class="wizard-pf-review-item-label">Ipsum:</span>
9-
<span class="wizard-pf-review-item-value">{{data.ipsum}}</span>
9+
<span class="wizard-pf-review-item-value">{{$ctrl.data.ipsum}}</span>
1010
</div>
1111
</form>
1212
</div>

test/wizard/review-template.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<form class="form">
33
<div class="wizard-pf-review-item">
44
<span class="wizard-pf-review-item-label">Name:</span>
5-
<span class="wizard-pf-review-item-value">{{data.name}}</span>
5+
<span class="wizard-pf-review-item-value">{{$ctrl.data.name}}</span>
66
</div>
77
<div class="wizard-pf-review-item">
88
<span class="wizard-pf-review-item-label">Description:</span>
9-
<span class="wizard-pf-review-item-value">{{data.description}}</span>
9+
<span class="wizard-pf-review-item-value">{{$ctrl.data.description}}</span>
1010
</div>
1111
</form>
1212
</div>

test/wizard/script.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ angular.module('patternfly.wizard').controller('DetailsReviewController', ['$roo
2525
if (angular.isUndefined(next)) {
2626
$scope.data = {};
2727
} else {
28-
$scope.data = next.wizardData;
28+
$scope.data = next.$ctrl.wizardData;
2929
}
3030
}
3131
}

test/wizard/summary.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div ng-controller="SummaryController">
22
<pf-wizard-substep step-title="Summary" step-id="review-summary" step-priority="0" next-enabled="true" prev-enabled="true" ok-to-nav-away="true" wz-disabled="false" on-show="onShow">
3-
<div pf-wizard-review-page shown="pageShown" wizard-data="data"></div>
3+
<pf-wizard-review-page shown="pageShown" wizard-data="data"></pf-wizard-review-page>
44
</pf-wizard-substep>
55
</div>

0 commit comments

Comments
 (0)