Skip to content

Neuroman service #317

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 287 commits into from
Nov 9, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
287 commits
Select commit Hold shift + click to select a range
b229dac
Fixes bind mount from source-ouput into server's client folder
Jun 18, 2018
8c60310
Merge branch 'master' into comp_backend
pcrespov Jun 19, 2018
9743a72
fix merge conflict
Jun 19, 2018
4d73bbb
Merge branch 'pcrespov-mguidon-comp_backend' into comp_backend
Jun 19, 2018
596ab2d
Mising file save
Jun 19, 2018
a581a53
Merge branch 'master' into comp_backend
pcrespov Jun 19, 2018
0014d1b
TODO for logger
Jun 20, 2018
4ca7852
Merge branch 'comp_backend' of github.com:mguidon/osparc-simcore into…
Jun 20, 2018
7154ee0
Merge branch 'master' into json-schema
oetiker Jun 20, 2018
c0c7180
Add repo query
Jun 20, 2018
0da30c6
filter for comp in image name
Jun 20, 2018
e236426
Merge branch 'master' into registry_api
Jun 20, 2018
f5baa3e
fix too-many-nested-blocks
Jun 20, 2018
b97373b
provide a map between input/output keys and actual files
oetiker Jun 20, 2018
bb8be98
Merge branch 'master' into json-schema
oetiker Jun 20, 2018
f489eb3
fix mapping syntax
oetiker Jun 20, 2018
4bff0a3
fix file2key map logic
oetiker Jun 20, 2018
e218c56
minor
Jun 20, 2018
9ec61e8
Merge branch 'mguidon-registry_api'
Jun 20, 2018
c2851b3
minor
Jun 20, 2018
e11a2fc
switch to pattern properties and add displayOrder key for ordering
oetiker Jun 20, 2018
1db7403
"desc" -> "description"
Jun 20, 2018
05147dd
Create metadata dynamically
Jun 20, 2018
bc1cd61
minor fix
Jun 20, 2018
b9cb303
added integer type
oetiker Jun 21, 2018
69fd030
Merge branch 'mguidon-registry_api'
Jun 21, 2018
8ece964
Merge remote-tracking branch 'upstream/master'
Jun 22, 2018
b0d711e
Merge remote-tracking branch 'upstream/master'
Jun 22, 2018
56daabd
Merge remote-tracking branch 'upstream/master'
Jun 25, 2018
371a24f
Merge remote-tracking branch 'upstream/master'
Jun 25, 2018
98f1fc0
Merge remote-tracking branch 'upstream/master'
Jun 25, 2018
9b4c875
Merge remote-tracking branch 'upstream/master'
Jun 26, 2018
23ef557
Merge branch 'master' into json-schema
oetiker Jun 26, 2018
b470a0e
Merge remote-tracking branch 'upstream/master'
Jun 26, 2018
bc19e81
Merge remote-tracking branch 'upstream/master'
Jun 26, 2018
197d142
Merge remote-tracking branch 'upstream/master'
Jun 27, 2018
ef98049
Merge remote-tracking branch 'upstream/master'
Jun 27, 2018
aa217d0
Merge remote-tracking branch 'upstream/master'
Jun 29, 2018
59a04fb
Merge branch 'master' of github.com:ITISFoundation/osparc-simcore
Jun 29, 2018
c0b99f9
add pattern check to the displayOrder property
oetiker Jul 4, 2018
44f097a
Merge branch 'master' into json-schema
oetiker Jul 4, 2018
3a75c75
Update Application.js
oetiker Jul 4, 2018
aaa831e
Merge remote-tracking branch 'upstream/master'
Jul 4, 2018
145dd64
add content-type definition
oetiker Jul 4, 2018
fbf945d
Update node-meta-v0.0.1.json
oetiker Jul 4, 2018
c5a4ee9
Update node-meta-v0.0.1.json
oetiker Jul 4, 2018
5fa7ad1
Merge branch 'master' into json-schema
oetiker Jul 4, 2018
d4d3fca
Update node-meta-v0.0.1.json
oetiker Jul 4, 2018
9e87235
Update node-meta-v0.0.1.json
oetiker Jul 4, 2018
960a854
Update node-meta-v0.0.1.json
oetiker Jul 4, 2018
19027eb
Update node-meta-v0.0.1.json
oetiker Jul 4, 2018
3c2a75e
allow for longer keys
oetiker Jul 4, 2018
34f5781
Merge remote-tracking branch 'upstream/master'
Jul 4, 2018
da9f8c5
updated fake data
oetiker Jul 4, 2018
5160f12
Merge branch 'master' into settings-updates
oetiker Jul 4, 2018
e2b6211
Merge remote-tracking branch 'upstream/master'
Jul 4, 2018
1583f03
added new project schema
oetiker Jul 4, 2018
67c8609
switch to explicit types
oetiker Jul 4, 2018
48c0697
Merge branch 'master' into settings-updates
oetiker Jul 4, 2018
4786ae0
update samples
oetiker Jul 4, 2018
1b7a3fb
updated examples
oetiker Jul 4, 2018
8e35bc1
Merge remote-tracking branch 'upstream/master'
Jul 9, 2018
9181e7d
Nodeports allow update to s3 (#150)
sanderegg Jul 4, 2018
64d2a8a
Celery stability (#158)
mguidon Jul 5, 2018
ad93fb9
Feature/fakeserver for authentication (#106)
pcrespov Jul 6, 2018
c8bea96
Socket io (#159)
mguidon Jul 6, 2018
e88e3a8
Fixes typos in client after bad merge (#160)
pcrespov Jul 6, 2018
ec9418e
#5 kember postprocessing (#157)
sanderegg Jul 6, 2018
9234201
Login hotfix (#161)
mguidon Jul 6, 2018
8479659
updated fake data
oetiker Jul 4, 2018
e551c5e
update samples
oetiker Jul 4, 2018
95d796b
updated examples
oetiker Jul 4, 2018
b077469
Merge branch 'master' into settings-updates
oetiker Jul 10, 2018
8f5a9f6
Merge branch 'master' into json-schema
oetiker Jul 10, 2018
b90e304
don't need Fake.js anymore ...
oetiker Jul 10, 2018
c01aa84
remove inband signalling
oetiker Jul 10, 2018
366a1f0
Merge branch 'json-schema' into settings-updates
oetiker Jul 10, 2018
a32c604
cleanup formats and sync fake data
oetiker Jul 10, 2018
55551a9
allow comalCase properties
oetiker Jul 10, 2018
2a56a1e
fix syntax
oetiker Jul 10, 2018
5c1e487
make os check more portable
oetiker Jul 10, 2018
8424c89
move schema check so that it actually gets executed
oetiker Jul 10, 2018
cd15a2d
fix path
oetiker Jul 10, 2018
0fafacf
fiz schema and sample data to actually comply
oetiker Jul 10, 2018
b359359
Merge branch 'master' into settings-updates
oetiker Jul 10, 2018
9ca35a1
Merge branch 'master' into settings-updates
oetiker Jul 11, 2018
fa090dc
fix syntax so that the generator does not complain
oetiker Jul 11, 2018
23daa9f
sync
oetiker Jul 11, 2018
6b240e5
fix coding style compliance
oetiker Jul 11, 2018
d1e473c
Merge remote-tracking branch 'upstream/master'
Jul 13, 2018
b6c6976
Merge branch 'master' into settings-updates
oetiker Jul 17, 2018
3113966
Merge remote-tracking branch 'upstream/master'
Jul 17, 2018
2d16d82
merged
oetiker Jul 17, 2018
89e3a85
I think we can use the content element directly
oetiker Jul 17, 2018
68b33a6
create a new project editor for each project
oetiker Jul 17, 2018
5127674
we get to know the project at creation time
oetiker Jul 17, 2018
3e256de
we get to know the project at creation time
oetiker Jul 17, 2018
717d2ac
switch to new 'compliant' data model
oetiker Jul 17, 2018
7f185e4
lets call it 'projectId'
oetiker Jul 17, 2018
146e14b
ignore backup files
oetiker Jul 17, 2018
790da50
moved functionality to nodeBase
oetiker Jul 18, 2018
5a38ca1
lets call it metaData
oetiker Jul 18, 2018
1b67fa6
improve consistancy
oetiker Jul 18, 2018
47850d8
WIP sync to for rebase
oetiker Jul 18, 2018
5e2b367
SettingsEditionDone -> SettingsEdited
oetiker Jul 18, 2018
6b2e817
Merge remote-tracking branch 'upstream/master'
Jul 18, 2018
42ce306
Merge branch 'master' of github.com:ITISFoundation/osparc-simcore
Aug 6, 2018
1d5f0b4
sync updates
oetiker Aug 7, 2018
e434ae4
Merge branch 'master' into settings-updates
oetiker Aug 7, 2018
c3cde78
Merge branch 'master' of github.com:ITISFoundation/osparc-simcore
Aug 7, 2018
5605cb1
Merge branch 'master' into settings-updates
oetiker Aug 7, 2018
b6300f4
sorting input and outputs
oetiker Aug 7, 2018
d098bd3
make settings view shows again with new data model
oetiker Aug 7, 2018
4c77aa1
Merge branch 'master' into settings-updates
oetiker Aug 7, 2018
2599eaf
Load Data from project file into nodes
oetiker Aug 7, 2018
f53184c
fix linting problems
oetiker Aug 7, 2018
76333ef
Merge branch 'master' of github.com:ITISFoundation/osparc-simcore
Aug 8, 2018
81041b8
Merge branch 'master' into settings-updates
oetiker Aug 9, 2018
fd7f6eb
get settings view to work
oetiker Aug 9, 2018
fab8c7c
Merge remote-tracking branch 'upstream/master'
Aug 15, 2018
099c451
Merge branch 'settings-updates' of https://github.com/oetiker/osparc-…
Aug 15, 2018
9bcbfb4
Merge remote-tracking branch 'upstream/master'
Aug 21, 2018
8bfbaf8
Merge remote-tracking branch 'upstream/master'
Aug 23, 2018
a14f91c
Merge remote-tracking branch 'upstream/master'
Sep 4, 2018
72c7c7b
Merge remote-tracking branch 'upstream/master'
Sep 14, 2018
44f7372
Merge remote-tracking branch 'upstream/master'
Sep 17, 2018
c6d351c
Merge remote-tracking branch 'upstream/master'
Sep 18, 2018
1edc2ea
Merge remote-tracking branch 'upstream/master'
Sep 18, 2018
2e06b65
Merge remote-tracking branch 'upstream/master'
Sep 18, 2018
8b59e86
Merge remote-tracking branch 'upstream/master'
Oct 12, 2018
3c985a7
Merge remote-tracking branch 'upstream/master'
Oct 17, 2018
45dfea4
Merge remote-tracking branch 'upstream/master'
Oct 18, 2018
f1c4448
Merge remote-tracking branch 'upstream/master'
Oct 19, 2018
52cb648
Merge remote-tracking branch 'upstream/master'
Oct 22, 2018
8b2218f
Merge branch 'master' of github.com:ITISFoundation/osparc-simcore
Oct 24, 2018
7579059
Merge remote-tracking branch 'upstream/master'
Oct 25, 2018
882ed0b
Merge remote-tracking branch 'upstream/master'
Oct 26, 2018
6d04e7b
Merge remote-tracking branch 'upstream/master'
Oct 27, 2018
035fe79
Merge remote-tracking branch 'upstream/master'
Oct 30, 2018
f3b288e
Fixed renaming folder apis -> api
Oct 30, 2018
1e2feb6
Added fake getItemList and getItem data to Store
Oct 30, 2018
f8f9a1d
Convert from APIList To VirtualTreeModel
Oct 30, 2018
a463e9a
ask for listitems when port.type === "node-output-list-api-v0.0.1"
Oct 30, 2018
4251c3e
Merge remote-tracking branch 'upstream/master'
Oct 31, 2018
d7edc5a
Merge remote-tracking branch 'upstream/master'
Oct 31, 2018
cd37313
Increased PLATFORM_VERSION to 3.19
Oct 31, 2018
0b1226d
Revert "Increased PLATFORM_VERSION to 3.19"
Oct 31, 2018
a9ff4ac
Merge branch 'master' into feature/materialDBOuputsList
Oct 31, 2018
8507b40
Extended fake data
Oct 31, 2018
9f9cdf9
Using NodeOutputList class
Oct 31, 2018
f5b1a3f
minor
Nov 1, 2018
1d90295
Font added
Nov 1, 2018
b721a5c
minor aesthetics
Nov 1, 2018
7b14a83
Fake data extended
Nov 1, 2018
64b4440
InputsMapper widget added
Nov 1, 2018
9a34f2a
minor
Nov 2, 2018
b0da0b8
Fake data updated to use "mapper"s
Nov 2, 2018
4794406
minor
Nov 2, 2018
dc47605
Showing mapper
Nov 2, 2018
cae2c63
minor
Nov 2, 2018
aa013b4
minor
Nov 2, 2018
a5dfc1c
Show/Hide some modeler bars
Nov 2, 2018
c6e6115
minor
Nov 2, 2018
dfe220d
"demodec" path added to fake services
Nov 2, 2018
92ebbf3
Added some comments
Nov 2, 2018
3d26b8e
minor
Nov 2, 2018
42e862e
More fake data
Nov 2, 2018
cf7ce4d
Node Model keeps key and version
Nov 2, 2018
dbb095b
More fake data
Nov 2, 2018
292556f
NodeOutputLabel added
Nov 2, 2018
f4d506f
NodeOutputLabel added (2)
Nov 2, 2018
62e4aa6
inputsDefault concept in
Nov 2, 2018
25df215
Fake data updated
Nov 2, 2018
69eff9e
minor
Nov 5, 2018
7233914
added nodeKey and portKey info to draggable items in NodeOutputList
Nov 5, 2018
f2ed8a3
dragover and compatibility working
Nov 5, 2018
953b43a
Fake data extended
Nov 5, 2018
146e5ad
Drag&Drop working
Nov 5, 2018
9f4511d
typo
Nov 5, 2018
57431f8
InputsMapper is a widget
Nov 5, 2018
d992c19
Working like a charm
Nov 5, 2018
7b45eab
Using our own tree item for mapper
Nov 5, 2018
fea51f8
minor
Nov 5, 2018
4bc904f
Mapper Drag&Drop mechanism improved
Nov 5, 2018
b5e70f7
Fake data updated
Nov 6, 2018
a6ebff2
Fake data updated
Nov 6, 2018
d7c7e48
Neuroman node added
Nov 6, 2018
beff719
minor
Nov 6, 2018
c27bfab
typo
Nov 6, 2018
e152eb3
small refactoring
Nov 6, 2018
846ff0a
comments
Nov 6, 2018
68873ab
make swarm work on osx
oetiker Nov 6, 2018
62dc80a
inputDefault and output widgets belong to nodeModel (not recreated al…
Nov 6, 2018
f7c19b3
minor
Nov 6, 2018
b44cc1d
Merge branch 'master' into feature/materialDBOuputsList
odeimaiz Nov 6, 2018
7ae4563
workaround merge problem for command porperty in swarm
oetiker Nov 6, 2018
eb66a2e
compose for production element
oetiker Nov 6, 2018
3f623e5
TreeItemRenamer widget created
Nov 6, 2018
67d5f57
Input mapper also uses the TreeItemRenamer
Nov 6, 2018
a9a422b
Merge branch 'feature/materialDBOuputsList' of github.com:odeimaiz/os…
Nov 6, 2018
7b0a4ab
Pressing "Delete", removes branch or leaf
Nov 6, 2018
7a6ceee
minor
Nov 6, 2018
e460e75
Mockup data for StimulationSelectivity added
Nov 6, 2018
b861135
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 6, 2018
f51f615
Revert "Merge branch 'osx-swarm-support' of git://github.com/oetiker/…
Nov 6, 2018
b10e180
typo
Nov 6, 2018
75af704
cleaning
Nov 6, 2018
ef023e8
Neuroman uses "node-output-list-icon-api-v0.0.1"
Nov 6, 2018
9016237
Widget for "node-output-list-icon-api-v0.0.1"
Nov 6, 2018
1bd8543
minors
Nov 6, 2018
c9af9ac
minor
Nov 6, 2018
38a4999
Merge branch 'master' into osx-swarm-support
oetiker Nov 7, 2018
1f53edf
use compose to creat input for docker
oetiker Nov 7, 2018
07664b3
use tmp file as windows does not like to pipe it
oetiker Nov 7, 2018
3cb7442
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 7, 2018
e140c99
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 7, 2018
81df0d9
add windows file watcher support
oetiker Nov 7, 2018
eee1696
better options for file watcher
oetiker Nov 7, 2018
9afd800
do not not watch .git and build
oetiker Nov 7, 2018
2e2ab2f
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 7, 2018
312af62
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 7, 2018
296c61a
start watcher AFTER starting the containers
oetiker Nov 7, 2018
1f5c05b
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 7, 2018
10d7753
try sending the watcher to the background
oetiker Nov 7, 2018
55462b0
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 7, 2018
6305a99
have a separate target for launching the qxbuild
oetiker Nov 7, 2018
098d52e
pause webclient
oetiker Nov 7, 2018
3413f11
Merge branch 'osx-swarm-support' of git://github.com/oetiker/osparc-s…
Nov 7, 2018
05fac00
Undo changes in Makefile
Nov 7, 2018
bbebf07
Undo changes in Makefile (2)
Nov 7, 2018
57cdcca
file-url for Neuroman input
Nov 7, 2018
bf9a413
Merge remote-tracking branch 'upstream/master'
Nov 7, 2018
85739ea
Merge branch 'master' into feature/neuroman
Nov 7, 2018
a11ed07
minor
Nov 7, 2018
564e53e
Drag&Drop mechanism cleaned up (Form)
Nov 7, 2018
ef084c5
minor
Nov 7, 2018
c7b0d05
minor fix
Nov 8, 2018
eb4bb4d
Merge remote-tracking branch 'upstream/master'
Nov 8, 2018
cf1d3e5
Merge branch 'master' into feature/neuroman
Nov 8, 2018
9382fe4
minor
Nov 8, 2018
317dc85
ups
Nov 8, 2018
f64374b
WidgetManager not needed anymore
Nov 8, 2018
b88d48c
refactoring
Nov 8, 2018
5056d45
Fake data updated
Nov 8, 2018
95f6d72
Show loading osparc website while service is being loaded
Nov 8, 2018
ba99e3b
minor fix
Nov 8, 2018
20c7ab0
Neuroman models can be drag&dropped
Nov 8, 2018
49f707b
mockup data updated
Nov 8, 2018
bd03d76
service -> services
Nov 8, 2018
b2c058a
service -> services
Nov 8, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ qx.Class.define("qxapp.component.form.renderer.PropForm", {
*
* @param vizWidget {Widget} visualization widget to embedd
*/
construct: function(form) {
construct: function(form, nodeModel) {
if (nodeModel) {
this.setNodeModel(nodeModel);
}

this.base(arguments, form);
let fl = this._getLayout();
// have plenty of space for input, not for the labels
Expand All @@ -32,11 +36,15 @@ qx.Class.define("qxapp.component.form.renderer.PropForm", {
},

events: {
"PortDragOver": "qx.event.type.Data",
"PortDrop": "qx.event.type.Data",
"RemoveLink" : "qx.event.type.Data"
},

properties: {
nodeModel: {
check: "qxapp.data.model.NodeModel"
}
},

members: {
addItems: function(items, names, title, itemOptions, headerOptions) {
// add the header
Expand Down Expand Up @@ -74,10 +82,8 @@ qx.Class.define("qxapp.component.form.renderer.PropForm", {
item: items[i]
});
}
label.setDroppable(true);
item.setDroppable(true);
this.__createUIPortConnections(label, item.key);
this.__createUIPortConnections(item, item.key);
this.__createDropMechanism(label, item.key);
this.__createDropMechanism(item, item.key);
}
},

Expand Down Expand Up @@ -139,20 +145,44 @@ qx.Class.define("qxapp.component.form.renderer.PropForm", {
}
},

__createUIPortConnections: function(uiElement, portId) {
[
["dragover", "PortDragOver"],
["drop", "PortDrop"]
].forEach(eventPair => {
uiElement.addListener(eventPair[0], e => {
const eData = {
event: e,
// nodeId: nodeId,
portId: portId
};
this.fireDataEvent(eventPair[1], eData);
__arePortsCompatible: function(node1, port1, node2, port2) {
return qxapp.data.Store.getInstance().arePortsCompatible(node1, port1, node2, port2);
},

__createDropMechanism: function(uiElement, portId) {
if (this.isPropertyInitialized("nodeModel")) {
uiElement.setDroppable(true);
uiElement.nodeId = this.getNodeModel().getNodeId();
uiElement.portId = portId;

uiElement.addListener("dragover", e => {
let compatible = false;
if (e.supportsType("osparc-port-link")) {
const from = e.getRelatedTarget();
let dragNodeId = from.nodeId;
let dragPortId = from.portId;
const to = e.getCurrentTarget();
let dropNodeId = to.nodeId;
let dropPortId = to.portId;
compatible = this.__arePortsCompatible(dragNodeId, dragPortId, dropNodeId, dropPortId);
}
if (!compatible) {
e.preventDefault();
}
}, this);
}, this);

uiElement.addListener("drop", e => {
if (e.supportsType("osparc-port-link")) {
const from = e.getRelatedTarget();
let dragNodeId = from.nodeId;
let dragPortId = from.portId;
const to = e.getCurrentTarget();
// let dropNodeId = to.nodeId;
let dropPortId = to.portId;
this.getNodeModel().addPortLink(dropPortId, dragNodeId, dragPortId);
}
}, this);
}
}
}
});
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,6 @@ qx.Class.define("qxapp.component.widget.NodePorts", {
}
},

events: {
"PortDragStart": "qx.event.type.Data"
},

members: {
__inputPort: null,
__outputPort: null,
Expand Down Expand Up @@ -100,6 +96,11 @@ qx.Class.define("qxapp.component.widget.NodePorts", {
widget = nodeOutputList.getOutputWidget();
break;
}
case "node-output-list-icon-api-v0.0.1": {
let nodeOutputList = new qxapp.component.widget.inputs.NodeOutputListIcon(this.getNodeModel(), port, portKey);
widget = nodeOutputList.getOutputWidget();
break;
}
}
if (widget !== null) {
this._add(widget, {
Expand All @@ -109,9 +110,6 @@ qx.Class.define("qxapp.component.widget.NodePorts", {
} else {
let nodeOutputLabel = new qxapp.component.widget.inputs.NodeOutputLabel(this.getNodeModel(), port, portKey);
let widget = nodeOutputLabel.getOutputWidget();
nodeOutputLabel.addListener("PortDragStart", e => {
this.fireDataEvent("PortDragStart", e.getData());
}, this);
this._add(widget);
let label = {
isInput: isInput,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ qx.Class.define("qxapp.component.widget.NodeView", {
flex: 1
});

this.__settingsLayout = new qx.ui.container.Composite(new qx.ui.layout.VBox());
this.__settingsLayout = new qx.ui.container.Composite(new qx.ui.layout.VBox(10));
this.__mapperLayout = new qx.ui.container.Composite(new qx.ui.layout.VBox(10));
this.__iFrameLayout = new qx.ui.container.Composite(new qx.ui.layout.VBox(10));
this.__initButtons();
Expand Down Expand Up @@ -116,62 +116,6 @@ qx.Class.define("qxapp.component.widget.NodeView", {
buttonsLayout.add(openFolder);
},

__arePortsCompatible: function(node1, port1, node2, port2) {
return qxapp.data.Store.getInstance().arePortsCompatible(node1, port1, node2, port2);
},

__createDragDropMechanism: function(portUI) {
portUI.addListener("PortDragStart", e => {
let data = e.getData();
let event = data.event;
let dragNodeId = data.nodeId;
let dragPortId = data.portId;

// Register supported actions
event.addAction("copy");

// Register supported types
event.addType("osparc-port-link");
let dragData = {
dragNodeId: dragNodeId,
dragPortId: dragPortId
};
event.addData("osparc-port-link", dragData);
}, this);

portUI.addListener("PortDragOver", e => {
let data = e.getData();
let event = data.event;
// let dropNodeId = data.nodeId;
let dropNodeId = this.getNodeModel().getNodeId();
let dropPortId = data.portId;

let compatible = false;
if (event.supportsType("osparc-port-link")) {
const dragNodeId = event.getData("osparc-port-link").dragNodeId;
const dragPortId = event.getData("osparc-port-link").dragPortId;
compatible = this.__arePortsCompatible(dragNodeId, dragPortId, dropNodeId, dropPortId);
}

if (!compatible) {
event.preventDefault();
}
}, this);

portUI.addListener("PortDrop", e => {
let data = e.getData();
let event = data.event;
// let dropNodeId = data.nodeId;
let dropPortId = data.portId;

if (event.supportsType("osparc-port-link")) {
let dragNodeId = event.getData("osparc-port-link").dragNodeId;
let dragPortId = event.getData("osparc-port-link").dragPortId;
this.getNodeModel().addPortLink(dropPortId, dragNodeId, dragPortId);
}
}, this);
},

__createInputPortsUI: function(inputNodeModel, isInputModel = true) {
let nodePorts = null;
if (isInputModel) {
Expand All @@ -180,7 +124,6 @@ qx.Class.define("qxapp.component.widget.NodeView", {
nodePorts = inputNodeModel.getInputsDefaultWidget();
}
if (nodePorts) {
this.__createDragDropMechanism(nodePorts);
this.__inputNodesLayout.add(nodePorts, {
flex: 1
});
Expand Down Expand Up @@ -237,7 +180,6 @@ qx.Class.define("qxapp.component.widget.NodeView", {

this.__settingsLayout.add(titleBox);
this.__settingsLayout.add(propsWidget);
this.__createDragDropMechanism(propsWidget);

this.__mainLayout.add(this.__settingsLayout);
} else if (qx.ui.core.Widget.contains(this.__mainLayout, this.__settingsLayout)) {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,13 @@ qx.Class.define("qxapp.component.widget.inputs.NodeOutputLabel", {

let toolTip = new qx.ui.tooltip.ToolTip(port.description);
let portLabel = this.__portLabel = new qx.ui.basic.Label(port.label).set({
draggable: true,
toolTip: toolTip,
textAlign: "right",
allowGrowX: true,
paddingRight: 20
});

this.__createUIPortConnections(portLabel, portKey);
this.__createDragMechanism(portLabel, portKey);
},

properties: {
Expand All @@ -25,25 +24,19 @@ qx.Class.define("qxapp.component.widget.inputs.NodeOutputLabel", {
}
},

events: {
"PortDragStart": "qx.event.type.Data"
},

members: {
__portLabel: null,

__createUIPortConnections: function(uiPort, portId) {
[
["dragstart", "PortDragStart"]
].forEach(eventPair => {
uiPort.addListener(eventPair[0], e => {
const eData = {
event: e,
nodeId: this.getNodeModel().getNodeId(),
portId: portId
};
this.fireDataEvent(eventPair[1], eData);
}, this);
__createDragMechanism: function(uiPort, portKey) {
uiPort.setDraggable(true);
uiPort.nodeId = this.getNodeModel().getNodeId();
uiPort.portId = portKey;

uiPort.addListener("dragstart", e => {
// Register supported actions
e.addAction("copy");
// Register supported types
e.addType("osparc-port-link");
}, this);
},

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
qx.Class.define("qxapp.component.widget.inputs.NodeOutputListIcon", {
extend: qx.ui.core.Widget,

construct: function(nodeModel, port, portKey) {
this.base();

this.setNodeModel(nodeModel);

let list = this.__list = new qx.ui.list.List().set({
labelPath: "label",
iconPath: "icon"
});

let that = this;
list.setDelegate({
createItem: () => new qxapp.component.widget.inputs.NodeOutputListItemIcon(),
bindItem: (c, item, id) => {
c.bindDefaultProperties(item, id);
c.bindProperty("key", "model", null, item, id);
c.bindProperty("thumbnail", "icon", null, item, id);
c.bindProperty("label", "label", {
converter: function(data, model, source, target) {
// return "<b>" + data + "</b>";
return data;
}
}, item, id);
},
configureItem: item => {
let icon = item.getChildControl("icon");
icon.set({
scale: true,
width: 246,
height: 144
});
that.__createDragMechanism(item); // eslint-disable-line no-underscore-dangle
}
});

const itemList = qxapp.data.Store.getInstance().getItemList(nodeModel.getNodeId(), portKey);
const listModel = qxapp.data.Converters.fromAPIListToVirtualListModel(itemList);
let model = qx.data.marshal.Json.createModel(listModel, true);
list.setModel(model);
},

properties: {
nodeModel: {
check: "qxapp.data.model.NodeModel",
nullable: false
}
},

members: {
__list: null,

__createDragMechanism: function(item) {
item.setDraggable(true);
item.addListener("dragstart", e => {
// Register supported actions
e.addAction("copy");

// HACK
if (this.getNodeModel().getKey() === "services/demodec/dynamic/itis/s4l/Neuroman") {
// Register supported types
e.addType("osparc-port-link");
item.nodeId = this.getNodeModel().getNodeId();
item.portId = item.getLabel();
} else {
// Register supported types
e.addType("osparc-mapping");
}
}, this);
},

getOutputWidget: function() {
return this.__list;
}
}
});
Loading