mff-uk / odcs

ODCleanStore
1 stars 11 forks source link

Panel for editing pipelines cannot be scrolled for larger pipelines #1258

Closed martinnec closed 10 years ago

martinnec commented 10 years ago

See pipeline [ehealth] SUKL - KLK - it is larger than the component in which it is displayed. However, it is not possible to scroll it.

tomas-knap commented 10 years ago

Bohuslave, can you please look on that? It is enough to look on that on Thursday/Friday and have an update only in git rep, not on CD.

Regarding the canvas, the best would be to automatically increase its size when the user is close to the end. But I think, it would be enough to have a "+space" icon next to zooming icons. When pressing that icon, the size of canvas is increased in all directions.

  1. When opening the pipeline detail, you have to be able to prepare the proper size of canvas. For that, either when saving the pipeline detail, you have to store to db also information about the actual size of the canvas. Or , when opening pipeline detail, you have to be able to compute the needed size from the positions of DPUs.
  2. Also you have to keep in mind that when you increase canvas to top/left, you have to immediately adjust scrollbars properly so that user can see his DPUs and not the added new space. Also when re-opening the pipeline, the scrollbars should be adjusted automatically, so that at the top left corner (next to DPU tree) is the topmost, leftmost DPU (and not lots of empty space)
martinnec commented 10 years ago

Please, it is necessary to have standard UI. I.e. automated increasing of the size of the canvas + scroll bars. Bohuslav should be able to do that. Otherwise, UI is not acceptable part of the software project.

skodapetr commented 10 years ago

@bogo777 Just to be sure that Bohuslav get the email notification, as Tomas is still the one assigned for this issue.

tomas-knap commented 10 years ago

Bohuslav, so please think about an automatic increase. So when user places DPU close to the end, extra space is prepared (only) in that direction. It should work well also when expanding to the left/top. The points 1) 2) I wrote remain valid.

tomas-knap commented 10 years ago

Another motivation: When copying DPU being at the end of canvas, it may be copied out of the canvas space

tomas-knap commented 10 years ago

Od Bohuslava:

Requirements

When opening the pipeline detail, you have to be able to prepare the proper size of canvas. For that, either when saving the pipeline detail, you have to store to db also information about the actual size of the canvas. Or , when opening pipeline detail, you have to be able to compute the needed size from the positions of DPUs.

Also you have to keep in mind that when you increase canvas to top/left, you have to immediately adjust scrollbars properly so that user can see his DPUs and not the added new space. Also when re-opening the pipeline, the scrollbars should be adjusted automatically, so that at the top left corner (next to DPU tree) is the topmost, leftmost DPU (and not lots of empty space)

Automatic increase. So when user places DPU close to the end, extra space is prepared (only) in that direction. It should work well also when expanding to the left/top.

Úpravy 1) Horizontální scrollbar bude na browser window = pořád vidět(jen pokud bude potřeba) 2) Pro novou pipeline canvas vyplní okno, ale nebude větší A) co s headerem?(vyplní místo zbylé pod settings X vyplní celé okno tak, aby při skrytí, odscrollování settings zabral canvas celé okno) B) jaký výchozí zoom?

3) Pro existující pipeline se rozměr canvasu spočítá při otevření, minimální rozměr bude jako po novou pipeline 4) Canvas se otevře tak, aby bylo vidět most top-left DPU “vidět” = mimo DPU tree? 5) Při přidání DPU na canvas na okraj( < X pixelů od kraje), se v daném směru(směrech) canvas zvětší o Y pixelů současně se překreslí všechna DPU na nové souřadnice a canvas se nascroluje tak, aby se pohled nezměnil(na obrazovce DPU zůstanou na stejných místech, jen přibude místo v daném směru mimo obrazovku)

Možné problémy rychlost překreslení canvasu při zvětšení rychlost canvasu při velkých rozměrech další problémy související s úpravu canvasu

Postup práce vyzkoušet chování při zvětšení canvasu - rychlost zvětšení canvasu při přidání DPU na okraj počítání výchozí velikosti při otevření DPU, scrollbary , zbytek...

tomas-knap commented 10 years ago

Upravy, ad 1) Tak to ted uz je, ne? Nebo v cem to bude nove?

ad 2) ano, canvas muze byt libovolne velky, ale videt by z nej mela byt vzdy jen cast ktera odpovida prostoru na obrazovace. Tedy viewport se vzdy upravi podle dostupneho prostoru.

ad 2A) tim headerem myslis ty zakladni udaje o pipeline? Asi nejlepsi by bylo, kdyby pri schovani headeru (zakladni info o pipeline) se znovu prepocetl dostupny prostor a viewport se zvetsil smerem dolu. Obecne velikost viewportu by se mela menit kdykoliv, kdyz se zmeni dostupny prostor (zmensi se okno prohlizece atd.)

ad 2B - zoom nech stredni, aby slo prizoomovat i odzoomovat.

4B) ano, videt znamena mimo DPU tree

add 5) jj, jen by to melo fungovat tak, ze se budou prepocitavat positions jen tehdy, pokud to bude nutne - kdyz pribude prostor doprava/dolu, tak imho neni nutne nic prepocitavat.

Jeste klidne muzes udelat to, ze kdyz si uzivatel otevre novou pipeline, tak neuvidi levy horni roh canvasu, ale uvidi stred canvasu. Tedy viewport bude centrovany na stred canvasu.

tomas-knap commented 10 years ago

Proberu jeste pozdejc odpoledne s Martinem, at to ma na miru

tomas-knap commented 10 years ago

Honza: Proc by jsi rozsiroval nahoru/doleva? Spis pokud jeste neni bych pridal tlacitko "select all" a posunul celou pipeline kam chci...to je jednodussi ne? A takhle bych i cekal ze to bude fungovat.

tomas-knap commented 10 years ago

Nejlepsi by bylo, kdyby slo mysi vybrat vicero DPU (klidne vsechny), podobne jako na plose windows. Pak bychom skutecne nepotrebovali rozsirovat do leva a nahoru, resit nejaky prepocet. Nicmene, @bogo777, jde ten vyber mysi nejak rozumne udelat? To by samozrejme resilo i pohodlnejsi vyber DPUs pro formatovani atd.

tomas-knap commented 10 years ago

Tedy pokud budes vedet, jak udelat ten vyber mysi (jako na plose windows), tak by to stacilo a netreba rozsirovani doleva/nahoru. A do budoucna by to usnadnilo i dalsi operace s canvasem.

tomas-knap commented 10 years ago

@bogo777, dej mi prosim vedet, jestli pujde rozumne udelat ten vyber DPUs na canvasu mysi. To by resilo radu problemu. Na zaklade toho uzavrem to zadani pro toto issue

bogo777 commented 10 years ago

Zatím mám rozpracovanou úpravu velikosti canvasu, když je potřeba.

K výběru DPUs myší jsem našel článek, jak to v KineticJS implementovat, mělo by to tedy jít. A další článek o tom, jak pohybovat více objekty najednou. Jediný možný problém tedy vidím v rychlosti, ale to asi nezjistíme, dokud to nezkusíme...

tomas-knap commented 10 years ago

Ok, diky za info. Zkus kdyztak tu mys nejdriv, bo kdyz by to fungovalo, tak bychom nepotrebovali zvetsovat canvas doleva/nahoru a usetrili si nejakou logiku. A zvetsoval by se jen doprava/dolu a kdyztak by si uzivatel vybral vsechna DPU a posunul.

Pokud by to s tou mysi nejak rozumne neslo, tak bychom holt museli umet rozsirovat i doleva/nahoru.

Tom

2014-02-27 13:11 GMT+01:00 bogo777 notifications@github.com:

Zatím mám rozpracovanou úpravu velikosti canvasu, když je potřeba.

K výběru DPUs myší jsem našel článek, jak to v KineticJS implementovat, mělo by to tedy jít. A další článek o tom, jak pohybovat více objekty najednou. Jediný možný problém tedy vidím v rychlosti, ale to asi nezjistíme, dokud to nezkusíme...

Reply to this email directly or view it on GitHubhttps://github.com/mff-uk/ODCS/issues/1258#issuecomment-36235685 .

bogo777 commented 10 years ago

Mergnul jsem branch, ve ktere jsem udelal vyber vice DPU pomoci mysi. (Vyber musi zahrnovat cele DPU aby se vybralo, odebirat/pridavat DPU lze klikanim se stisknutou klavesou CTRL)

Vybrana DPU lze posunovat(pri posune se zobrazuje pouze schematicky obdelnik, po dokonceni presunu se pipeline prekresli)

Pri posunuti DPU k pravemu nebo spodnimu okraji se zvetsi oblast canvasu.

Chtelo by to otestovat, a jeste zbyva pocitani spravne velikosti canvasu pri otevreni pipeline/zmene velikosti okna... To snad dotahnu zitra.

tomas-knap commented 10 years ago

Ok, diky, dokonci prosim a ja to pak v utery zkusim

2014-03-02 20:07 GMT+01:00 bogo777 notifications@github.com:

Mergnul jsem branch, ve ktere jsem udelal vyber vice DPU pomoci mysi. (Vyber musi zahrnovat cele DPU aby se vybralo, odebirat/pridavat DPU lze klikanim se stisknutou klavesou CTRL)

Vybrana DPU lze posunovat(pri posune se zobrazuje pouze schematicky obdelnik, po dokonceni presunu se pipeline prekresli)

Pri posunuti DPU k pravemu nebo spodnimu okraji se zvetsi oblast canvasu.

Chtelo by to otestovat, a jeste zbyva pocitani spravne velikosti canvasu pri otevreni pipeline/zmene velikosti okna... To snad dotahnu zitra.

Reply to this email directly or view it on GitHubhttps://github.com/mff-uk/ODCS/issues/1258#issuecomment-36462945 .

tomas-knap commented 10 years ago

Much better, thanks for that. If I should be "hnidopich":

1) When zooming out, the following happens: screen shot 2014-03-05 at 3 47 20 pm

The best solution would be to automatically increase the canvas, when user zooms out. Or, you can prepare default canvas size bigger, so that it looks good when fully zoomed out. Similar situation may happen when user has really big screen, bigger than the default canvas width.

2) If I select couple of DPUs by drawing rectangle with mouse, it is strange that edge between two selected DPUs is not selected

3) If I select couple of DPUs, rearrange the DPUs and then try to undo the operation (would like to choose a different rearrangement), undo works fine, but I have to select these DPUs again, because the selection is lost - or in other words, there is no undo state which contains the original arrangement of DPUs with DPUs being selected

tomas-knap commented 10 years ago

If some of these comments can be easily repaired in one hour, please do it. If not, lets postpone to future work

tomas-knap commented 10 years ago

A question, when the pipeline is saved, the size of the canvas is also saved? Or the size is determined based on the pipeline size when opening canvas?

bogo777 commented 10 years ago

1) The default size for canvas is for its width to fill whole window in 1920x1080 resolution in default zoom. When user zooms out it is possible for canvas to be smaller and 1) happens. I didn't want to start with bigger canvas if not neccessary, it slows us down.

2) This I can fix easily. 3) State for undo is kept on the server, but the selection is strictly client thing. This would need some bigger changes.

Canvas size is computed when the pipeline is opened, it is not saved anywhere.

tomas-knap commented 10 years ago

Thanks,

1) ok, but then, when user firstly zooms out, we can simply increase the canvas size, right? If he will not use the added space, next time, he opens the pipeline, default canvas is used (current feature). 2) ok, thanks 3) we will leave for future work