Skip to content

Commit ce7cde5

Browse files
committed
Decouple messages from ui (draft)
1 parent d4cd045 commit ce7cde5

6 files changed

Lines changed: 160 additions & 572 deletions

File tree

browser/directives/componentPanel.html

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<div>
2-
<div id="{{item.keyName}}-panel" class="panel panel-default panel2pxborder" ng-hide="item === undefined" ng-class="{'zero-border':item.isDetected() || (item.selectedOption === 'detected' && !item.hasOption('detected'))}">
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')}">
33
<div id="{{item.keyName}}-panel-heading" class="panel-heading panel-normal"
4-
ng-class="{'dotted-panel':item.isDetected() || (item.selectedOption === 'detected' && !item.hasOption('detected'))}">
4+
ng-class="{'dotted-panel':item.isDetected() || (item.installable === false && item.detectable === true && item.selectedOption === 'detected')}">
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>
@@ -29,27 +29,27 @@
2929
<div id="{{item.keyName}}-description">{{item.productDesc}}</div>
3030
</div>
3131
</div>
32-
<!-- <div>
33-
<div class="message-container error-message" ng-show="!confCtrl.isDisabled
34-
&& (checkboxModel.jdk.isNotDetected() || checkboxModel.jdk.isInvalidVersionDetected())
35-
&& (checkboxModel.devstudio.selectedOption == 'install' || checkboxModel.jbosseap.selectedOption == 'install') && platform == 'darwin'">
36-
<span class="pficon pficon-error-circle-o"></span>
37-
<span>You have selected
38-
<span ng-show="checkboxModel.devstudio.selectedOption != 'install' && checkboxModel.jbosseap.selectedOption == 'install'">{{checkboxModel.jbosseap.productName}}</span>
39-
<span ng-show="checkboxModel.devstudio.selectedOption == 'install'">{{checkboxModel.devstudio.productName}}</span>
40-
which requires Java SE version {{checkboxModel.jdk.minimumVersion}} or higher to run installation. Due to licence limitations we may not install Java for you.
41-
Please <span ng-show="checkboxModel.jdk.isInvalidVersionDetected()">uninstall detected Java SE, </span>install JDK version {{checkboxModel.jdk.minimumVersion}} downloaded from
42-
<a type="button" class="pointer" ng-click="confCtrl.download(checkboxModel.jdk.downloadUrl)">this location</a> and restart Installer to continue.</span>
43-
</div>
44-
</div> -->
4532
</div>
4633

47-
<div ng-show="filtered.length > 0 && !item.isConfigured()">
34+
<div class="help-block" ng-show="item.messages.info !== undefined && !item.isDetected()">
35+
<span class="pficon pficon-info"></span>
36+
<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)">
38+
{{item.messages.info.linkDescription}}</a>
39+
<span>{{item.messages.info.message.split(item.messages.info.linkDescription)[1]}}</span>
40+
</div>
41+
42+
<div class="message-container error-message" ng-show="filtered.length > 0 && !item.isConfigured() && !confCtrl.isDisabled">
4843
<span class="pficon pficon-error-circle-o"></span>
4944
<span>You have selected
50-
<ng-repeat ng-repeat="dep in filtered = (item.dependenciesOf | filter: { selectedOption: 'install'} | limitTo:1)">
45+
<ng-repeat ng-repeat="dep in filtered = (item.dependenciesOf | filter: {selectedOption: 'install'} | limitTo:1)">
5146
<span>{{dep.productName}},</span>
52-
</ng-repeat> which requires {{item.productName}}.</span>
53-
<span>{{item.messages.dependency}}</span>
47+
</ng-repeat> which requires {{item.productName}} version {{item.minimumVersion}} or higher.</span>
48+
<span ng-show="item.messages.dependency !== undefined">
49+
<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)">
51+
{{item.messages.dependency.linkDescription}}</a>
52+
<span>{{item.messages.dependency.message.split(item.messages.dependency.linkDescription)[1]}}</span>
53+
</span>
5454
</div>
5555
</div>

browser/directives/componentPanel.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
function componentPanel() {
44
return {
5+
controller: 'ConfirmController as confCtrl',
56
restrict: 'E',
67
replace: true,
78
scope: {

browser/model/installable-item.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ 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;
2022
this.targetFolderName = targetFolderName;
2123
this.installerDataSvc = installerDataSvc;
2224
this.existingInstall = false;
@@ -53,6 +55,8 @@ class InstallableItem {
5355
this.ipcRenderer = ipcRenderer;
5456
this.authRequired = authRequired;
5557
this.references = 0;
58+
59+
this.messages = require('./messages.json')[this.keyName];
5660
}
5761

5862
getProductName() {

browser/model/messages.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"jdk": {
3+
"dependency": {
4+
"message": "Due to licence limitations we may not install Java for you. Please install JDK version 1.8.0 downloaded from this location and restart the Installer to continue.",
5+
"linkDescription": "this location"
6+
}
7+
},
8+
"kompose": {
9+
"info": {
10+
"message": "For additional information and documentation visit http://kompose.io",
11+
"link": "http://kompose.io",
12+
"linkDescription": "http://kompose.io"
13+
}
14+
},
15+
"hyperv": {
16+
"info": {
17+
"message": "Follow these steps to install and enable Microsoft Hyper-V on Windows 10",
18+
"link": "https://access.redhat.com/documentation/en-us/red_hat_container_development_kit/2.4/html/installation_guide/installing_container_development_kit_on_microsoft_windows#windows-add-sw",
19+
"linkDescription": "these steps"
20+
}
21+
},
22+
"virtualbox": {
23+
"dependency": {
24+
"message": "Please uninstall detected Oracle VirtualBox and restart Installer to continue."
25+
}
26+
}
27+
}

0 commit comments

Comments
 (0)