EditableTree – dalsia nadstavba pre TreeView

#1 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

EditableTree – dalsia nadstavba pre TreeView

Tak som zase potreboval nejaku specialitku a nikde som nensiel hotove riesenie …
viacmenej som potreboval nieco ako Tomik-om prezentovany menu editor … ale kedze nikde nedal zdrojaky tak mi neostalo nic ine len si to vyrobit sam :)

Poziadavky boli: stromova struktura, presuvanie/pridavanie/mazanie poloziek, nastavenie def. viditelnosti

Najprv som vychadzal z mojho CBTree+jsTree ale asi po tydni nervacenia som zistil ze tudy cesta nevede a presiel som na sposob skusany prave pri CBTree – novy presenter pre TreeView+nestedSortable.

vysledok si mozte pozret na http://addons.nette.org/cs/editabletree

som zvedavy co na to poviete :)


akt. verzia dostupna na http://github.com/Lopo/treeview

Editoval Lopo (27. 8. 2010 13:27)

 

#2 před 2 lety

crempa
Nette guru
Registrovaný: 21. 8. 2008
Příspěvky: 208

Re: EditableTree – dalsia nadstavba pre TreeView

Ahoj,
vypada to moc pekne, nechces nekam hodit demo? Tyhle veci je dobre hned vyzkouset, uz treba kvuli kompatibilite s prohlizeci.

 

#3 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

crempa napsal(a):

Ahoj,
vypada to moc pekne, nechces nekam hodit demo? Tyhle veci je dobre hned vyzkouset, uz treba kvuli kompatibilite s prohlizeci.

kludne by som dal keby som mal kde … bohuzial mi tento tyden umrel datovy disk v serveri a este som nemal cas ist ho vymenit

 

#4 před 2 lety

iguana007
Nette guru
Registrovaný: 3. 11. 2009
Příspěvky: 485

Re: EditableTree – dalsia nadstavba pre TreeView

Moc pekny addon :)

Ad. demo: klidne to nahodim u me na serveru, posli mi to v zipu a ja to zverejnim


Omne Principium Grave

 

#5 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

iguana007 napsal(a):

Moc pekny addon :)

Ad. demo: klidne to nahodim u me na serveru, posli mi to v zipu a ja to zverejnim

nemam zatial spravene ziadne distro … bolo to vyrobene pre intranet a z neho som vykopiroval prislusne kusy kodu

ak sa mi bude cez vikend chciet, tak to skusim nahodit docasne aspon na moj router

 

#6 před 2 lety

iguana007
Nette guru
Registrovaný: 3. 11. 2009
Příspěvky: 485

Re: EditableTree – dalsia nadstavba pre TreeView

ok


Omne Principium Grave

 

#7 před 2 lety

timbulko
Člen
Registrovaný: 11. 4. 2009
Příspěvky: 97

Re: EditableTree – dalsia nadstavba pre TreeView

Vyzera to super. Funguje tam napriklad aj premiestnovanie jednotlivych poloziek? Idealne by bolo napriklad drag & drop.

 

#8 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

timbulko napsal(a):

Vyzera to super. Funguje tam napriklad aj premiestnovanie jednotlivych poloziek? Idealne by bolo napriklad drag & drop.

jj funguje … ved je to postavene pre NestedSortable ktore prave toto riesi

oproti Tomik-ovej verzii tam mam doplnene checkboxy ktore pouzivam pre nastavenie default viditelnosti, kazda zmena je okamzite updatovana v DB …

editacia mena polozky je inline, kedze strukturu nasledne vyuzivam cez ID poloziek a tym padom nepotrebujem nastavovat ich adresy

Editoval Lopo (12. 3. 2010 17:29)

 

#9 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

takze som si nasiel chvilu casu a nahodil u seba na routri ukazku CBTree aj TreeView
http://94.228.80.14/k-p-i.settings

je to vycuc z nasho firemneho intranet systemu

ked dam znovu do prevadzky server tak urobim poriadne demo tam

 

#10 před 2 lety

timbulko
Člen
Registrovaný: 11. 4. 2009
Příspěvky: 97

Re: EditableTree – dalsia nadstavba pre TreeView

Hodilo by sa, keby to ešte fungovalo aj s vypnutým javascriptom.

 

#11 před 2 lety

wotaen
Člen
Registrovaný: 11. 5. 2009
Příspěvky: 83

Re: EditableTree – dalsia nadstavba pre TreeView

Mám jenom poznámku, ve třídě EditableTreeRenderer je třeba nahradit kus js kódu (týká se to všech třech volání)

<?php
'onClick'=>"jQuery.ajax({url: '".$pres->link('remType!', array('id'=>$id))."', type: 'post'}); history.go(0); window.location.reload();"
?>

tímto

<?php
'onClick'=>"jQuery.ajax({
        url: '".$prez->link('addType!')."',
        type: 'post',
        complete:function(data){
                window.location.reload();
        }
        });"
?>

V původním skriptu se totiž občas stalo, že location.reload() nastal dříve než se předchozí request vůbec poslal (connection aborted) a to vedlo k docela nepředvídanému chování, kdy se občas podařila manipulace s prvkem a občas ne.
Taky jsem nepochopil, proč je tam history.go(0), jede to i bez něj.

 

#12 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

timbulko napsal(a):

Hodilo by sa, keby to ešte fungovalo aj s vypnutým javascriptom.

osobne si neviem predstavit ako by toto mohlo bez JS fungovat …

wotaen napsal(a):

Mám jenom poznámku, ve třídě EditableTreeRenderer je třeba nahradit kus js kódu (týká se to všech třech volání)

<?php
'onClick'=>"jQuery.ajax({url: '".$pres->link('remType!', array('id'=>$id))."', type: 'post'}); history.go(0); window.location.reload();"
?>

tímto

<?php
'onClick'=>"jQuery.ajax({
      url: '".$prez->link('addType!')."',
        type: 'post',
        complete:function(data){
              window.location.reload();
        }
      });"
?>

V původním skriptu se totiž občas stalo, že location.reload() nastal dříve než se předchozí request vůbec poslal (connection aborted) a to vedlo k docela nepředvídanému chování, kdy se občas podařila manipulace s prvkem a občas ne.

otestujem a pripadne upravim

Taky jsem nepochopil, proč je tam history.go(0), jede to i bez něj.

to bolo narychlo osetrenie reloadu po akcii – niekedy sa mi totiz stavalo ze nerefreslo stranku s novym stavom, tvoja uprava toto mozno vyriesi

 

#13 před 2 lety

wotaen
Člen
Registrovaný: 11. 5. 2009
Příspěvky: 83

Re: EditableTree – dalsia nadstavba pre TreeView

Chtěl bych jenom zmínit tenhle řádek

<?php
$g=Html::el('img', array('src'=>$this->img_move, 'height'=>'16', 'class'=>'handler','id'=>'handler'));
?>

Asi by chtělo vyhodit to stejné id pro handlery

 

#14 před 2 lety

wotaen
Člen
Registrovaný: 11. 5. 2009
Příspěvky: 83

Re: EditableTree – dalsia nadstavba pre TreeView

Kdo to používáte a máte košaté stromy, nestává se vám, že by nešlo hýbat (handle) s některou větví? No mě jo a když vyhodím ten vlastní ‚handle‘ (.handler) tak to funguje, divné, ale spíš to bude směřovat na NestedSortable

 

#15 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

wotaen napsal(a):

Chtěl bych jenom zmínit tenhle řádek

<?php
$g=Html::el('img', array('src'=>$this->img_move, 'height'=>'16', 'class'=>'handler','id'=>'handler'));
?>

Asi by chtělo vyhodit to stejné id pro handlery

to id bolo len v prvej verzii … v 0.1.1 uz bolo odstranene

wotaen napsal(a):

Kdo to používáte a máte košaté stromy, nestává se vám, že by nešlo hýbat (handle) s některou větví? No mě jo a když vyhodím ten vlastní ‚handle‘ (.handler) tak to funguje, divné, ale spíš to bude směřovat na NestedSortable

ja som s tym problem nemal …
co moze byt problem podla mna: nekompatibilita s jQuery urcitej verzie … kedze nestedSortable je balene s 1.1.4 a 1.2.1 co su dost stare verzie
ja to ale prevadzkujem s 1.3.2 a problemy som nezaznamenal

 

#16 před 2 lety

wotaen
Člen
Registrovaný: 11. 5. 2009
Příspěvky: 83

Re: EditableTree – dalsia nadstavba pre TreeView

Lopo napsal(a):

wotaen napsal(a):

Chtěl bych jenom zmínit tenhle řádek

<?php
$g=Html::el('img', array('src'=>$this->img_move, 'height'=>'16', 'class'=>'handler','id'=>'handler'));
?>

Asi by chtělo vyhodit to stejné id pro handlery

to id bolo len v prvej verzii … v 0.1.1 uz bolo odstranene

wotaen napsal(a):

Kdo to používáte a máte košaté stromy, nestává se vám, že by nešlo hýbat (handle) s některou větví? No mě jo a když vyhodím ten vlastní ‚handle‘ (.handler) tak to funguje, divné, ale spíš to bude směřovat na NestedSortable

ja som s tym problem nemal …
co moze byt problem podla mna: nekompatibilita s jQuery urcitej verzie … kedze nestedSortable je balene s 1.1.4 a 1.2.1 co su dost stare verzie
ja to ale prevadzkujem s 1.3.2 a problemy som nezaznamenal

Mě to blbne s 1.4.2, víc nad tím bádat nebudu, spíš mě zajímalo jestli jsem to jenom já

 

#17 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

upnuta nova verzia 0.1.3 – cisto kozmeticke upravy:

  • pridany parameter ‚alt‘ ku img_move – w3c standard
  • eliminovane niektore lokalne premenne

 

#18 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

prave som zistil ze v IE mi tento prvok zobrazi nie ako stromovku ale len ako zoznam … tj bez odsadzovania jednotlivych urovni … a pravdupovediac netusim ci sa mi to posahalo teraz ked som v tom robil dost zmien alebo to je od zaciatku vyvoja prvku – pouzivam vyhradne FF, v ktorom to vidim bez problemov

Potreboval by som odozvu, ci mate este niekto tento problem …

najlepsie asi napisat verziu nette, edittree a browsera v ktorom to je kontrolovane

pripadne aj ak je mozne tak link na konkretnu implementaciu aby som si to vedel sam pozret …

 

#19 před 2 lety

wotaen
Člen
Registrovaný: 11. 5. 2009
Příspěvky: 83

Re: EditableTree – dalsia nadstavba pre TreeView

Lopo napsal(a):

prave som zistil ze v IE mi tento prvok zobrazi nie ako stromovku ale len ako zoznam … tj bez odsadzovania jednotlivych urovni … a pravdupovediac netusim ci sa mi to posahalo teraz ked som v tom robil dost zmien alebo to je od zaciatku vyvoja prvku – pouzivam vyhradne FF, v ktorom to vidim bez problemov

Potreboval by som odozvu, ci mate este niekto tento problem …

najlepsie asi napisat verziu nette, edittree a browsera v ktorom to je kontrolovane

pripadne aj ak je mozne tak link na konkretnu implementaciu aby som si to vedel sam pozret …

Používám 0.1.0 (Nette 0.9.4) a v IE8 to jede jak má.

 

#20 před 2 lety

hrtlik
Nový člen
Registrovaný: 25. 4. 2010
Příspěvky: 8

Re: EditableTree – dalsia nadstavba pre TreeView

Nette 0.9.4, v IE<8 nefunguje – položky jsou pouze pod sebou. Chyba je v JavaScriptu, jelikož stejně se mi to chovalo ve všech prohlížečích, když bylo jquery vyšší než 1.3.2. Samotné IE hlásí chybu právě na řádku, kde začíná definice

<script>
$('#fTTree').NestedSortable( ...
</script>

EDIT: doporučuju službu http://browsershots.org , kde se můžete jak to vypadá v x prohlížečích.

Editoval hrtlik (13. 5. 2010 19:17)

 

#21 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

hrtlik napsal(a):

Nette 0.9.4, v IE<8 nefunguje – položky jsou pouze pod sebou. Chyba je v JavaScriptu, jelikož stejně se mi to chovalo ve všech prohlížečích, když bylo jquery vyšší než 1.3.2. Samotné IE hlásí chybu právě na řádku, kde začíná definice

<script>
$('#fTTree').NestedSortable( ...
</script>

EDIT: doporučuju službu http://browsershots.org , kde se můžete jak to vypadá v x prohlížečích.

problem je, ze s tym neotestim intranetove veci

 

#22 před 2 lety

wotaen
Člen
Registrovaný: 11. 5. 2009
Příspěvky: 83

Re: EditableTree – dalsia nadstavba pre TreeView

Tak to muzu potvrdit, ze to nefungi v IE7 apod…na testovani je dobry IETester

 

#23 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

zatial netusim kde moze byt problem, ale makam na tom

 

#24 před 2 lety

hrtlik
Nový člen
Registrovaný: 25. 4. 2010
Příspěvky: 8

Re: EditableTree – dalsia nadstavba pre TreeView

Ještě by bylo fajn, když nefunguje javascript aby se to zobrazilo ve stromové struktuře a ne pod sebou

 

#25 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

uvolnena verzia 0.2.0

najvacsie novinky:

  • integracia jQueryUI Dialog pre nastavovanie mena polozky (mozne vypnut)
  • moznost vypnut pouzitie CheckBox-ov
  • oprava funkcnosti v IE (sposobovala jedna ciarka navyse)

 

#26 před 2 lety

netmole
Nový člen
Registrovaný: 4. 6. 2010
Příspěvky: 2

Re: EditableTree – dalsia nadstavba pre TreeView

dobry den
pise me to tuhle hlasku a myslim ze tam mam vsechny zavislosti includnute. cim to muze byt ?
jQuery.iSort.helper.get(0) is undefined na radce 12 interface.js

 

#27 před 2 lety

regiss
Člen
Registrovaný: 30. 3. 2010
Příspěvky: 31

Re: EditableTree – dalsia nadstavba pre TreeView

Lopo napsal(a):

uvolnena verzia 0.2.0

najvacsie novinky:

  • integracia jQueryUI Dialog pre nastavovanie mena polozky (mozne vypnut)
  • moznost vypnut pouzitie CheckBox-ov
  • oprava funkcnosti v IE (sposobovala jedna ciarka navyse)

Ahoj nemohl by jsi dat cely Editable Tree na Github, nejde mi to zprovoznit a takhle by to kazdy hned pochopil.

 

#28 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

regiss napsal(a):

Lopo napsal(a):

uvolnena verzia 0.2.0

najvacsie novinky:

  • integracia jQueryUI Dialog pre nastavovanie mena polozky (mozne vypnut)
  • moznost vypnut pouzitie CheckBox-ov
  • oprava funkcnosti v IE (sposobovala jedna ciarka navyse)

Ahoj nemohl by jsi dat cely Editable Tree na Github, nejde mi to zprovoznit a takhle by to kazdy hned pochopil.

na tom sa pracuje ale rosku inac – edittree a cbtree budu integrovane do treeview

bohuzial mam teraz vo worku kopec roboty, takze ked dojdem podvecer na byt tak uz nemam vobec naladu nieco kodit

ale dufam ze tento vikend sa uz dokopem k tomu aby som sa k tomu posadil a konecne to zbuchal

 

#29 před 2 lety

Matúš Matula
Člen
Registrovaný: 3. 9. 2009
Příspěvky: 167

Re: EditableTree – dalsia nadstavba pre TreeView

Ahoj, ako to vyzera s tou integraciou? Nie ze by som chcel vyvijat natlak :) Inak sa tiez prihovaram za hodenie toho na Github. Thx

 

#30 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

Matúš Matula napsal(a):

Ahoj, ako to vyzera s tou integraciou? Nie ze by som chcel vyvijat natlak :) Inak sa tiez prihovaram za hodenie toho na Github. Thx

bohuzial pomaly … kedze je dovolenkove obdobie tak vo worku nestihacky …

ale postupne na tom makam … mam uz rozrobene aj normalne demo

 

#31 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

dnes som na github-e urobil fork a nasledne updaty

tj na povodnom mieste ostava Jod-ova verzia pre php5.2, v mojom forku je verzia pre php5.3/Nette1.0 spolu s doplnenim o edittree a cbtree

http://github.com/Lopo/treeview

 

#32 před 2 lety

Matúš Matula
Člen
Registrovaný: 3. 9. 2009
Příspěvky: 167

Re: EditableTree – dalsia nadstavba pre TreeView

Ahoj, tak sa zda, ze v mode expanded to dobre nevykresluje. Stiahol som si treeview z githubu, upravil to, aby sa to spustilo [chybaju tam namespaces v bootstrap.php a mozno este nieco..] a na 1. urovni to zobrazi polozky, kt. tam nepatria [maju parentId rozny on NULL].

btw. kedysi byvalo pekne demo, kde sa dalo presuvat polozky, editovat, tusim aj mazat a mozno este nieco..take daco uz nie je alebo len zle hladam? :-)

Editoval Matúš Matula (26. 8. 2010 11:38)

 

#33 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

Matúš Matula napsal(a):

Ahoj, tak sa zda, ze v mode expanded to dobre nevykresluje. Stiahol som si treeview z githubu, upravil to, aby sa to spustilo [chybaju tam namespaces v bootstrap.php a mozno este nieco..] a na 1. urovni to zobrazi polozky, kt. tam nepatria [maju parentId rozny on NULL].

btw. kedysi byvalo pekne demo, kde sa dalo presuvat polozky, editovat, tusim aj mazat a mozno este nieco..take daco uz nie je alebo len zle hladam? :-)

to stare demo myslim este je, ale je to na staru verziu (N0.9.x/PHP5.2)

na githube je zatial updatnuty len samotny TreeView+rozsirenia, nemal som cas updatnut aj tie ukazkove veci

nove demo chystam, len este nemam doriesenu bezpecnost (asi to orezem na max pocet poloziek a urobim to cez sqlite, aby mi niekto nezahltil server)

 

#34 před 2 lety

Matúš Matula
Člen
Registrovaný: 3. 9. 2009
Příspěvky: 167

Re: EditableTree – dalsia nadstavba pre TreeView

super, tesim sa ;-)

 

#35 před 2 lety

iguana007
Nette guru
Registrovaný: 3. 11. 2009
Příspěvky: 485

Re: EditableTree – dalsia nadstavba pre TreeView

Já bych se chtěl zeptat na implementaci sortingu:

$tree->enableSorting(array($this, 'move'));

která je zmíněná v HomepagePresenteru.
Vlastnost enableSorting je zmíněná na githubu právě jen v tomto presenteru a nikde jinde jsem ji nenašel – resp. jak rozchodit řazení položek drag&dropem – jaksi mi to neběží :)
Diky za info.


Omne Principium Grave

 

#36 před 2 lety

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

tak sorting je tam z TreeView, tj na to sa pytaj skor Jod-a kedze to je fork od neho … a ten presenter je jeho original …
Ja som sa zatial nedostal k tomu aby som tie presentery upravil

 

#37 před 2 lety

iguana007
Nette guru
Registrovaný: 3. 11. 2009
Příspěvky: 485

Re: EditableTree – dalsia nadstavba pre TreeView

aha, díky za info …


Omne Principium Grave

 

#38 před rokem

nanuqcz
Nette guru
Registrovaný: 4. 5. 2010
Příspěvky: 615

Re: EditableTree – dalsia nadstavba pre TreeView

Ahoj, nevíte prosím proč mi EditableTree nefunguje?

V presenteru mám podle návodu toto:

public function renderDefault()
{
  $tree = new \TreeView($this, 'RolesTree');
  $tree->addLink(null, 'name', 'id', true, $this->presenter);
  $tree->dataSource = \AclModel::getRolesDataSource();
  $rnd = new \EditableTree;
  $tree->setRenderer($rnd);
  $this->template->roles_tree = $tree;
}

v modelu:

public static function getRolesDataSource() {
    return \Dibi::getConnection()->dataSource('SELECT *, active as visible, parent_id as parentId
                                               FROM `::acl_roles`
                                              ');
}

a v šabloně tohle:

{extends '../@layout.phtml'}
{block #content}

{$roles_tree->render()}

Přestože v tabulce mám uložené 4 záznamy, vyrenderuje se mi toto (žádný strom, jen nějaký zvláštní input)

Děkuji moc za rady.


starý nick: xxxObiWan | G+, FB, Twitter, Github | portfolio

 

#39 před rokem

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

ako prve co ma napadlo:
do sablony som to vzdy vkladal ako {control tree}, v tvojom pripade asi {control roles_tree}

dalsia vec je ze je to urcene pre Nette 0.9.x, testovane na 0.9.3-dev PHP 5.2

ak nepomoze, tak ak mozes sharni niekde zdrojaky a pozrem sa na to podrobnejsie

edit: skotroluj si aj ci mas riadne linknuty JS na jQueryUI

Editoval Lopo (1. 12. 2010 9:25)

 

#40 před rokem

nanuqcz
Nette guru
Registrovaný: 4. 5. 2010
Příspěvky: 615

Re: EditableTree – dalsia nadstavba pre TreeView

On je potřebný javascript k tomu, aby se strom vůbec zobrazil? Ok, dodal jsem tam všechny javascripty, tlačítko „Přidať položku“ je teď o něco hezčí a otevře se pomocí něho krásné JS okno, ale jinak žádná změna :-)

Zkoušel jsem rozchodit ten ukázkový skript, který je v tom zipu co jsem si stáhnul, ale hází mi to chybu Call to a member function fetchAssoc() on a non-object. Nevadí, aspoň jsem si vzal kousky zdrojáků pro inspiraci a trochu s nima experimentoval. Řekl jsem si, že nejdřív zkusím se stejnými daty vykreslit TreeView, potom CBTree a nakonec EditableTree, ať vidím kde vznikla chyba:

Presenter:

protected function createComponentPTree()
{
        $tree=new \TreeView($this, 'pTree');
        $tree->useAjax=TRUE;
        $mode=1;
        $session=$this->getSession();
        $tree->mode=$mode;
        $tree->rememberState=TRUE;
        $tree->addLink('default', 'name', 'id', true, $this->presenter);
        $tree->dataSource=\AclModel::getRolesDataSource();

        $tree->renderer->wrappers['link']['collapse']='a class="ui-icon ui-icon-circlesmall-minus" style="float: left"';
        $tree->renderer->wrappers['link']['expand']='a class="ui-icon ui-icon-circlesmall-plus" style="float: left"';
        $tree->renderer->wrappers['node']['icon']='span class="ui-icon ui-icon-document" style="float: left"';

        return $tree;
}
public function createComponentFrmCTree()
{
        $form=new \Nette\Application\AppForm($this, 'frmCTree');
        $tree=new \TreeView;
        $tree->addLink(NULL, 'name', 'id', TRUE, $this->presenter);
        $tree->dataSource=\AclModel::getRolesDataSource();
        $form->addCBTree('ctree', 'tree', $tree);
        $form['ctree']->checkColumn='cb';
        $form->addSubmit('send', 'Send');
        $form->onSubmit[]=array($this, 'handleCTree');
        return $form;
}
protected function createComponentEditableTree()
{
$tree = new \TreeView($this, 'editableTree');
$tree->addLink(null, 'name', 'id', true, $this->presenter);
$tree->dataSource = \AclModel::getRolesDataSource();
$rnd = new \EditableTree;
$tree->setRenderer($rnd);
return $tree;
}

Šablona:

<script type="text/javascript" src="{$basePath}/js/interface/interface.js"></script>
<script type="text/javascript" src="{$basePath}/js/inestedsortable.js"></script>
<script type="text/javascript" src="{$basePath}/js/jquery.jeditable.js"></script>
<script type="text/javascript" src="{$basePath}/js/ui/jquery-ui-1.8.2.blitzer.js"></script>
<link type="text/css" href="{$basePath}/css/blitzer/jquery-ui-1.8.2.custom.css" rel="stylesheet" media="screen" />
<style type="text/css">
.helper {
        border: 2px dashed #777777;
        }
.current-nesting {
        background-color: yellow;
        }
.bold {
        color: red;
        font-weight: bold;
        }
</style>

TreeView: <br>
{widget pTree}
<hr>

CBTree: <br>
{widget frmCTree}
<hr>

EditableTree: <br>
{widget editableTree}

Výsledek: screenshot

Napadly mě dvě věci:

  1. Zkoušel jsi to rozjet i na datech z MySQL, nebo jen SQLite?
  2. Napadlo mě, že se možná nepodařilo rozšířit Nette forms o funkci addCBTree. Dělám to takto v BasePresenteru:
public function startup()
{
  parent::startup();

  \Nette\Forms\FormContainer::extensionMethod('\\Nette\\Forms\\FormContainer::addCheckboxList', array('CheckboxList', 'addCheckboxList'));
  \Nette\Forms\Form::extensionMethod('\\Nette\\Forms\\Form::addCBTree', array('CBTree', 'addCBTree'));
}

Pokud tě ani teď nic nenapadne, okleštím nějak ty zdrojáky a pošlu. Nebo můžu poslat klidně celé tak jak teď jsou, ale myslím že se nemám čím chlubit :-)

EDIT: používám XAMPP, PHP 5.3, Nette 0.9.5

Editoval xxxObiWan (1. 12. 2010 15:38)


starý nick: xxxObiWan | G+, FB, Twitter, Github | portfolio

 

#41 před rokem

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

ja to prevadzkujem ciste s MySQL

ale teraz mi udrelo do oci: pises ze si stiahol zip … tj mas asi starsiu verziu, najnovsia je dostupna na GitHub -e

takze skus pouzit najnovsiu verziu ktora uz ma aj nejake namespacy

a v sablone asi treba dat zavinace

 

#42 před rokem

nanuqcz
Nette guru
Registrovaný: 4. 5. 2010
Příspěvky: 615

Re: EditableTree – dalsia nadstavba pre TreeView

pises ze si stiahol zip … tj mas asi starsiu verziu, najnovsia je dostupna na GitHub

Jj, stáhl jsem ten zip právě z githubu

ja to prevadzkujem ciste s MySQL

Aha, právě ty v tom ukázkovém příkladě (co byl v tom zipu) taháš všechny data z SQLite :-)

Jinak, vzal jsem čistý skeleton Nette, hodil do něho ten EditableTree a dělá to pořád to samé. Tady ho dávám ke stažení . Jen připomínám, že v téhle fázi se snažím aspoň o zobrazení stromu, o žádné ajaxové editování, nebo vůbec editování mi zatím nejde (to budu řešit až se ten strom aspoň zobrazí). Proto v odkazovaném příkladu nejsou připojené javascripty a nejsou tam ani handlery pro aditaci apod. Prostě mi jde o nejjednodušší příklad, který je schopný se zobrazit.

Spuštění: Stačí rozbalit archiv na localhost a v DB vytvořit databázi editable_tree_skeleton. O vytvoření tabulek se postará BasePresenter sám.


starý nick: xxxObiWan | G+, FB, Twitter, Github | portfolio

 

#43 před rokem

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

na githube som pushol nejakych par uprav/oprav … skus to teraz …

v podstate to iste je ako demo na nette.losys.sk

pravdupovediac teraz nemam moc casu na vyvoj, vo worku nestihacky s ohladom na konciaci rok

 

#44 před rokem

nanuqcz
Nette guru
Registrovaný: 4. 5. 2010
Příspěvky: 615

Re: EditableTree – dalsia nadstavba pre TreeView

Opravdu moc děkuju, že ten zbytek času, který máš, do toho dáváš… Ale pořád ten ukázkový příklad nemůžu rozjet :-( Asi jen někde dělám nějakou zbytečnou chybu, ale když spustím na localhostu nejnovější verzi z githubu (stahoval jsem to asi před 30ti minutama), dostanu tohle. I když ty nové třídy z githubu dám do toho mojeho skeletonu, dělá to to co minule.

To jsem jediný, komu to nejde? :-(


starý nick: xxxObiWan | G+, FB, Twitter, Github | portfolio

 

#45 před rokem

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

to vyzera na problem s dibi alebo pripadne s vysledkom dotazu nad ktorym vola ten fetch

 

#46 před rokem

Stig
Člen
Registrovaný: 28. 11. 2010
Příspěvky: 24

Re: EditableTree – dalsia nadstavba pre TreeView

Dobry den,

chtel bych se zeptat jestli EditableTree funguje v Nette 2.0-alpha2.

diky

 

#47 před rokem

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

Stig napsal(a):

pravdupovediac neviem … zatial som to netestoval kedze to mam pouzite len na 1 webe a ten stale bezi na 0.9.x

ale teoreticky by tam nejaky velky problem nemal byt, kedze ak si dobre pamatam tak v 1.0 to islo

 

#48 před rokem

Stig
Člen
Registrovaný: 28. 11. 2010
Příspěvky: 24

Re: EditableTree – dalsia nadstavba pre TreeView

skvělá komponenta, bohuzel mi nefunguje na 100%. Při manipulaci s prvkama lze uchopit jen prvky na lichých úrovních (ve vsech prohlizecich). Neřešil jste někdo podobný problém? Něco zde nakousl wotaen, nicméně problém asi přetrvává. Požívám Nette 2.0

 

#49 před rokem

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

Stig napsal(a):

skvělá komponenta, bohuzel mi nefunguje na 100%. Při manipulaci s prvkama lze uchopit jen prvky na lichých úrovních (ve vsech prohlizecich). Neřešil jste někdo podobný problém? Něco zde nakousl wotaen, nicméně problém asi přetrvává. Požívám Nette 2.0

to bude asi prave tym nette 2 – povodne to bolo robene na 1.0 pricom odvtedy sa hodne veci pomenilo …

akonahle budem mat trosku cas tak budem tieto moje veci postupne refaktorovat na posledne nette

 

#50 před 11 měsíci

Lopo
Nette guru
Registrovaný: 29. 5. 2009
Příspěvky: 282

Re: EditableTree – dalsia nadstavba pre TreeView

vcera som zacal portovanie treeview aj prislusnych nadstavieb … tipujem ze do konca tydna by som to mohol mat hotove

 
Stránky: 1 2 Next

RSS feed RSS tématu

Zápatí