Skip to content

Commit 69994ab

Browse files
committed
Move some logic from template to items
1 parent ce7cde5 commit 69994ab

5 files changed

Lines changed: 31 additions & 11 deletions

File tree

browser/directives/componentPanel.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
<div>
2-
<div id="{{item.keyName}}-panel" class="panel panel-default panel2pxborder" ng-hide="item === undefined" ng-class="{'zero-border':item.isDetected() || (item.installable === false && item.detectable === true && item.selectedOption === 'detected')}">
1+
<div ng-hide="item === undefined || item.hidden === true">
2+
<div id="{{item.keyName}}-panel" class="panel panel-default panel2pxborder" ng-class="{'zero-border':item.isDetected()}">
33
<div id="{{item.keyName}}-panel-heading" class="panel-heading panel-normal"
4-
ng-class="{'dotted-panel':item.isDetected() || (item.installable === false && item.detectable === true && item.selectedOption === 'detected')}">
4+
ng-class="{'dotted-panel':item.isDetected()}">
55
<div class="checkbox-container verticalLine">
66
<input id="{{item.keyName}}-checkbox" type="checkbox" ng-disabled="item.isDisabled()" ng-model="item.selectedOption" aria-label="Toggle ngHide" class="vallign-middle" ng-true-value="'install'" ng-false-value="'detected'">
77
</div>
@@ -34,20 +34,20 @@
3434
<div class="help-block" ng-show="item.messages.info !== undefined && !item.isDetected()">
3535
<span class="pficon pficon-info"></span>
3636
<span>{{item.messages.info.message.split(item.messages.info.linkDescription)[0]}}</span>
37-
<a type="button" class="pointer" ng-click="confCtrl.download(item.messages.info.link ? item.messages.info.link : item.downloadUrl)">
37+
<a type="button" class="pointer" ng-click="openUrl(item.messages.info.link ? item.messages.info.link : item.downloadUrl)">
3838
{{item.messages.info.linkDescription}}</a>
3939
<span>{{item.messages.info.message.split(item.messages.info.linkDescription)[1]}}</span>
4040
</div>
4141

42-
<div class="message-container error-message" ng-show="filtered.length > 0 && !item.isConfigured() && !confCtrl.isDisabled">
42+
<div class="message-container error-message" ng-show="filtered.length > 0 && !item.isConfigured()">
4343
<span class="pficon pficon-error-circle-o"></span>
4444
<span>You have selected
4545
<ng-repeat ng-repeat="dep in filtered = (item.dependenciesOf | filter: {selectedOption: 'install'} | limitTo:1)">
4646
<span>{{dep.productName}},</span>
4747
</ng-repeat> which requires {{item.productName}} version {{item.minimumVersion}} or higher.</span>
4848
<span ng-show="item.messages.dependency !== undefined">
4949
<span>{{item.messages.dependency.message.split(item.messages.dependency.linkDescription)[0]}}</span>
50-
<a type="button" class="pointer" ng-click="confCtrl.download(item.messages.dependency.link ? item.messages.dependency.link : item.downloadUrl)">
50+
<a type="button" class="pointer" ng-click="openUrl(item.messages.dependency.link ? item.messages.dependency.link : item.downloadUrl)">
5151
{{item.messages.dependency.linkDescription}}</a>
5252
<span>{{item.messages.dependency.message.split(item.messages.dependency.linkDescription)[1]}}</span>
5353
</span>

browser/directives/componentPanel.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22

33
function componentPanel() {
44
return {
5-
controller: 'ConfirmController as confCtrl',
5+
controller: ('componentController', ['$scope', 'electron', function($scope, electron) {
6+
$scope.openUrl = function(url) {
7+
electron.shell.openExternal(url);
8+
}
9+
}]),
610
restrict: 'E',
711
replace: true,
812
scope: {
913
item: '='
1014
},
15+
transclude: true,
1116
templateUrl: 'directives/componentPanel.html'
1217
};
1318
}

browser/model/hyperv.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class HypervInstall extends InstallableItem {
2020
this.addOption('detected', '', '', detected);
2121
}
2222
this.hypervstatus = detected;
23+
this.hidden = this.hypervstatus === undefined;
2324
this.selectedOption = 'detected';
2425
return Promise.resolve(detected);
2526
}).then((detected)=> {
@@ -47,6 +48,14 @@ class HypervInstall extends InstallableItem {
4748
return Platform.OS == 'win32' && this.option.detected != undefined;
4849
}
4950

51+
isDetected() {
52+
if (Platform.getOS() === 'win32') {
53+
return this.hypervstatus || this.hypervstatus === false;
54+
} else {
55+
return false;
56+
}
57+
}
58+
5059
isSkipped() {
5160
if (Platform.OS === 'win32') {
5261
return super.isSkipped();

browser/model/installable-item.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ class InstallableItem {
1717
this.productName = requirement.name;
1818
this.productVersion = requirement.version;
1919
this.productDesc = requirement.description;
20-
this.detectable = requirement.detectable;
21-
this.installable = requirement.installable;
2220
this.targetFolderName = targetFolderName;
2321
this.installerDataSvc = installerDataSvc;
2422
this.existingInstall = false;

browser/model/jdk-install.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,20 @@ class JdkInstall extends InstallableItem {
197197
}
198198

199199
isConfigured() {
200-
if (Platform.OS === 'darwin') {
201-
return this.isDetected() && this.option['detected'].valid;
200+
if (Platform.getOS() === 'darwin') {
201+
return this.isDetected() && this.option.detected && this.option.detected.valid;
202202
}
203203
return super.isConfigured();
204204
}
205205

206+
isDetected() {
207+
if (Platform.getOS() === 'darwin') {
208+
return true;
209+
} else {
210+
return super.isDetected();
211+
}
212+
}
213+
206214
isNotDetected() {
207215
if (Platform.getOS() === 'darwin') {
208216
return false;

0 commit comments

Comments
 (0)