Skip to content

Commit 05c5c8b

Browse files
author
David Baum
committed
Merge branch 'feature/merge_filter' into development
2 parents 3d1ec0b + 7e79260 commit 05c5c8b

27 files changed

Lines changed: 2286 additions & 121 deletions

ui/index.html

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,11 @@
5050
<script type="text/javascript" src="libs/jqwidgets/jqxcheckbox.js"></script>
5151
<script type="text/javascript" src="libs/jqwidgets/jqxcombobox.js"></script>
5252
<script type="text/javascript" src="libs/jqwidgets/jqxlistbox.js"></script>
53+
<script type="text/javascript" src="libs/jqwidgets/jqxdropdownlist.js"></script>
5354

54-
55-
<link rel="stylesheet" href="libs/jqwidgets/styles/jqx.base.css" type="text/css" />
55+
56+
57+
<link rel="stylesheet" href="libs/jqwidgets/styles/jqx.base.css" type="text/css" />
5658
<link rel="stylesheet" href="libs/jqwidgets/styles/jqx.metro.css" type="text/css" />
5759

5860
<!-- ztree -->
@@ -97,6 +99,17 @@
9799

98100
<link rel="stylesheet" href="Style.css" type="text/css" />
99101

102+
<!-- filter -->
103+
<script type="text/javascript" src="scripts/Filter/Helpers/Constants.js"></script>
104+
<script type="text/javascript" src="scripts/Filter/Helpers/DOMHelper.js"></script>
105+
<script type="text/javascript" src="scripts/Filter/Helpers/RelationHelper.js"></script>
106+
<script type="text/javascript" src="scripts/Filter/Helpers/FilterHelper.js"></script>
107+
<script type="text/javascript" src="scripts/Filter/Helpers/TransformationHelper.js"></script>
108+
<script type="text/javascript" src="scripts/Filter/Classes/Filter.js"></script>
109+
<script type="text/javascript" src="scripts/Filter/Classes/Container.js"></script>
110+
<script type="text/javascript" src="scripts/Filter/Classes/Layer.js"></script>
111+
<script type="text/javascript" src="scripts/Filter/FilterController.js"></script>
112+
100113
<!--setup-->
101114
<script type="text/javascript" src="setups/web/RD bank.js"></script>
102115
</head>

ui/scripts/Experiment/ExperimentController.js

Lines changed: 79 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ var experimentController = (function() {
22

33
var experimentControllerDiv;
44

5-
var config;
6-
75
var stepOrder;
86
var stepOrderIterator = 0;
97

@@ -12,25 +10,31 @@ var experimentController = (function() {
1210

1311
var stepTime = 0;
1412
var stepTextTime = 0;
15-
16-
function initialize(controllerConfig){
1713

18-
var cssLink = document.createElement("link");
14+
var controllerConfig = {
15+
showBackButton: false,
16+
showSureButton: true,
17+
showPopup: true,
18+
};
19+
20+
21+
function initialize(setupConfig){
22+
23+
application.transferConfigParams(setupConfig, controllerConfig);
24+
25+
var cssLink = document.createElement("link");
1926
cssLink.type = "text/css";
2027
cssLink.rel = "stylesheet";
2128
cssLink.href = "scripts/Experiment/ec.css";
2229
document.getElementsByTagName("head")[0].appendChild(cssLink);
2330

2431
//interactionLogger.logConfig(config.clickConnector, config.clickTransparency, config.taskOrder.toString());
32+
33+
stepOrder = setupConfig.stepOrder;
34+
steps = setupConfig.steps;
2535

26-
//parse config
27-
config = controllerConfig;
28-
29-
stepOrder = controllerConfig.stepOrder;
30-
steps = controllerConfig.steps;
31-
32-
stepTextTime = controllerConfig.taskTextButtonTime;
33-
stepTime = controllerConfig.taskTime;
36+
stepTextTime = setupConfig.taskTextButtonTime;
37+
stepTime = setupConfig.taskTime;
3438

3539
//events
3640
events.marked.on.subscribe(onEntityMarked);
@@ -51,10 +55,17 @@ var experimentController = (function() {
5155

5256
var taskSolvedButton = document.createElement("INPUT");
5357
taskSolvedButton.id = "taskSolvedButton";
54-
taskSolvedButton.value = "Done";
58+
taskSolvedButton.value = "Next";
5559
taskSolvedButton.type = "button";
5660
experimentHeaderDiv.appendChild(taskSolvedButton);
57-
61+
62+
if(controllerConfig.showBackButton) {
63+
var backButton = document.createElement('INPUT');
64+
backButton.id = 'backButton';
65+
backButton.value = 'Back';
66+
backButton.type = 'button';
67+
experimentHeaderDiv.appendChild(backButton);
68+
}
5869

5970
//taskdialog
6071
var taskDialogDiv = document.createElement("DIV");
@@ -88,8 +99,13 @@ var experimentController = (function() {
8899
parent.appendChild(experimentControllerDiv);
89100

90101
//taskFieldText and solvedButton
91-
$("#taskSolvedButton").jqxButton({ theme: "metro"});
92-
$("#taskSolvedButton").click(taskSolvedButtonClick);
102+
$('#taskSolvedButton').jqxButton({ theme: 'metro' });
103+
$('#taskSolvedButton').click(taskSolvedButtonClick);
104+
105+
if(controllerConfig.showBackButton) {
106+
$('#backButton').jqxButton({theme: 'metro'});
107+
$('#backButton').click(backButtonClick);
108+
}
93109

94110
//taskdialog
95111
$("#taskDialog").jqxWindow({ height: 1000, width: 700, theme: 'metro', isModal: true, autoOpen: false, resizable: false, showCloseButton: false, okButton: $('#button_ok') });
@@ -109,14 +125,23 @@ var experimentController = (function() {
109125
}
110126

111127

112-
function taskSolvedButtonClick(event){
113-
114-
if($("#taskSolvedButton")[0].value == "Done"){
115-
$("#taskSolvedButton")[0].value = "Sure?"
116-
setTimeout(resetSolvedButton, 3000);
117-
} else {
118-
nextStep();
119-
}
128+
function taskSolvedButtonClick(event) {
129+
130+
if ($("#taskSolvedButton")[0].value == "Next" && controllerConfig.showSureButton) {
131+
$("#taskSolvedButton")[0].value = "Sure?"
132+
setTimeout(resetSolvedButton, 3000);
133+
} else {
134+
135+
nextStep();
136+
}
137+
}
138+
139+
function backButtonClick(event) {
140+
previousStep();
141+
}
142+
143+
function resetSolvedButton() {
144+
if ($('#taskSolvedButton')[0].value !== 'Next') $('#taskSolvedButton')[0].value = 'Next';
120145
}
121146

122147
function nextStep(){
@@ -126,8 +151,14 @@ var experimentController = (function() {
126151
setNextStep();
127152

128153
setStepTexts(currentStep.text, 100, 100, 1000, 300, stepTextTime);
154+
}
129155

130-
application.loadUIConfig(currentStep.ui);
156+
function previousStep() {
157+
stopTaskTimer();
158+
159+
setPreviousStep();
160+
161+
setStepTexts(currentStep.text, 100, 100, 1000, 300, stepTextTime);
131162
}
132163

133164
function setNextStep(){
@@ -144,6 +175,20 @@ var experimentController = (function() {
144175
});
145176
}
146177

178+
function setPreviousStep() {
179+
if (stepOrderIterator > 1) {
180+
stepOrderIterator = stepOrderIterator - 1;
181+
182+
var nextStepByStepOrder = stepOrder[stepOrderIterator - 1];
183+
184+
steps.forEach(function(step) {
185+
if (step.number == nextStepByStepOrder) {
186+
currentStep = step;
187+
return;
188+
}
189+
});
190+
}
191+
}
147192

148193
function setStepTexts(textArray, posx, posy, width, height, time){
149194

@@ -152,8 +197,9 @@ var experimentController = (function() {
152197
textArray.forEach(function(text){
153198
fullText = fullText + text + "<br/>";
154199
});
155-
156-
showPopup(fullText, posx, posy, width, height, time);
200+
if(controllerConfig.showPopup) {
201+
showPopup(fullText, posx, posy, width, height, time);
202+
}
157203
setText(fullText);
158204
}
159205

@@ -193,9 +239,9 @@ var experimentController = (function() {
193239
}
194240

195241

196-
function resetSolvedButton(){
197-
$("#taskSolvedButton")[0].value = "Done";
198-
}
242+
//function resetSolvedButton(){
243+
// $("#taskSolvedButton")[0].value = "Next";
244+
//}
199245

200246

201247

@@ -285,6 +331,7 @@ var experimentController = (function() {
285331
initialize: initialize,
286332
activate: activate
287333
};
288-
})();
334+
}
335+
)();
289336

290337

ui/scripts/Experiment/ec.css

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,46 @@
1-
2-
#taskField {
1+
#taskField {
32
width: 100%;
43
height: 140px;
5-
padding-top: 0px;
4+
padding-top: 0px;
65
}
76

8-
#taskFieldText{
7+
#taskFieldText {
98
position: absolute;
10-
left: 10px;
11-
right: 200px;
9+
left: 0px;
10+
right: 300px;
1211
line-height: 1;
13-
white-space: normal;
12+
white-space: normal;
1413
font-size: 15px;
15-
vertical-align: middle;
16-
text-transform: uppercase;
17-
margin: 0px;
18-
height: 140px;
14+
vertical-align: middle;
15+
text-transform: uppercase;
16+
margin: 0px;
17+
padding: 10px;
18+
height: 125px;
1919
}
2020

21-
#taskSolvedButton{
21+
#taskSolvedButton {
2222
position: absolute;
2323
top: 0px;
24-
right: 0px;
24+
right: 100px;
2525
width: 200px;
26-
height: 140px;
26+
height: 125px;
2727
}
2828

29-
#taskTable{
30-
border-spacing:0; border-collapse: collapse;
29+
#backButton {
30+
position: absolute;
31+
top: 0px;
32+
right: 0px;
33+
width: 100px;
34+
height: 125px;
35+
}
36+
37+
#taskTable {
38+
border-spacing: 0;
39+
border-collapse: collapse;
3140

32-
table-layout: auto;
33-
border-collapse: collapse;
41+
table-layout: auto;
42+
border-collapse: collapse;
3443
border-spacing: 0;
3544
padding: 0;
3645
margin: 0;
37-
}
46+
}
113 Bytes
Loading
108 Bytes
Loading

ui/scripts/Filter/Assets/close.png

235 Bytes
Loading
191 Bytes
Loading
171 Bytes
Loading
533 Bytes
Loading
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
class Container {
2+
constructor(id, transformation) {
3+
this.id = id;
4+
this.transformation = transformation;
5+
this.transformations = Object.keys(Constants.transformations).map(key => Constants.transformations[key]);
6+
this.layers = [];
7+
this.expanded = true;
8+
this.activated = true;
9+
this.inverted = false;
10+
this.relations = false;
11+
this.availableSuggestions;
12+
}
13+
14+
addLayer(layer) {
15+
this.layers.push(layer);
16+
}
17+
18+
removeLayer(layer) {
19+
this.layers.splice(this.layers.indexOf(layer), 1);
20+
}
21+
22+
switchExpanded() {
23+
this.expanded = !this.expanded;
24+
}
25+
26+
switchActivated() {
27+
this.activated = !this.activated;
28+
}
29+
}

0 commit comments

Comments
 (0)