PswdInput – rozsireny Password Input

#1 před 2 lety

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

PswdInput – rozsireny Password Input

zapacili sa mi veci popisane tu

tak som vsetky 3 rozsirenia zobral a implementoval do jedneho celku

http://addons.nette.org/cs/pswdinput

oproti originalu je to prepisane na pouzitie jQuery a teoreticky by pri vypnutom JS mal stale byt funkcny klasicky Password Input – nemam otestovane

som zvedavy na odozvy …

Editoval Lopo (9. 8. 2010 11:19)

 

#2 před 2 lety

hrach
Nette guru
Registrovaný: 11. 3. 2007
Příspěvky: 519

Re: PswdInput – rozsireny Password Input

tak předně by to chtělo demo a otestovat, ne? :)

 

#3 před 2 lety

Lopata
Člen
Registrovaný: 4. 7. 2009
Příspěvky: 143

Re: PswdInput – rozsireny Password Input

Ale no tak … chce to šablonu :-o

 

#4 před 2 lety

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

Re: PswdInput – rozsireny Password Input

dema si mozete pozret na linkoch ktore su v hlavicke zdrojakov …
a sablonu ? naco ? miesto addPassword() sa v tovarnicke pouzije addPswdInput() – ak treba nejake donastavenia tak podla public premennych v triede neni problem uhadnut co je k comu

ale zbadal som ze mi tam nefunguje jedna vec, takze robim opravu a este dnes nahodim

 

#5 před 2 lety

Lopata
Člen
Registrovaný: 4. 7. 2009
Příspěvky: 143

Re: PswdInput – rozsireny Password Input

Měl jsem na mysli šablonu pro tu třídu jako takovou. Tobě se snad líbí ten javascript jen tak ve stringu…?!?

 

#6 před 2 lety

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

Re: PswdInput – rozsireny Password Input

Lopata napsal(a):

Měl jsem na mysli šablonu pro tu třídu jako takovou. Tobě se snad líbí ten javascript jen tak ve stringu…?!?

mno neviem co si pod tou sablonou predstavujes … ale ten JS je parametrizovany pomocou ID jednotlivych komponentov a povolenych vlastnosti celeho kontrolu a tym padom je napevno integrovany v getControl()

cez public vlastnosti je mozne nastavit dizajn a povolit/zakazat casti funkcnosti

a ze je ten JS v stringu ? na tom podla mna nezalezi – nebudes sa v tom predsa hrabat kazdy den, nehovoriac o tom ze cele to stoji prave na tom JS

ale kludne sa neham poucit, netvrdim ze som genialny a je to dokonale nakodene

 

#7 před 2 lety

mkoubik
Nette guru
Registrovaný: 28. 4. 2009
Příspěvky: 259

Re: PswdInput – rozsireny Password Input

cez public vlastnosti je mozne nastavit dizajn a povolit/zakazat casti funkcnosti

Neni lepší měnit dizajn změnou šablony? Navíc v šabloně je hned vidět co bude ve výsledném HTML (nemusim si představovat jak se ty proměnné poslepujou), dají se tam používat proměnné, makra apod.

Až budu mít víc času (zítra?), tak to skusim přepsat, abys viděl jak to myslíme.

 

#8 před 2 lety

redhead
Nette guru
Registrovaný: 2. 5. 2009
Příspěvky: 1232

Re: PswdInput – rozsireny Password Input

Nijak jsem ten tvůj PswdInput nezkoumal, ale zdá se mi, že to děláš až moc složitě. Nebylo by lepší si označit normální PasswordInput nějakou CSS třídou a dělat to vše unobstrusive-way někde v externím souboru? Pak by stačilo si udělat extension method jen na to – přidat normalní PasswordInput a nastavit mu třídu navíc..

Editoval redhead (9. 8. 2010 14:49)

 

#9 před 2 lety

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

Re: PswdInput – rozsireny Password Input

redhead napsal(a):

Nijak jsem ten tvůj PswdInput nezkoumal, ale zdá se mi, že to děláš až moc složitě. Nebylo by lepší si označit normální PasswordInput nějakou CSS třídou a dělat to vše unobstrusive-way někde v externím souboru? Pak by stačilo si udělat extension method jen na to – přidat normalní PasswordInput a nastavit mu třídu navíc..

ak to budes robit cez stylovanie tak mas nasledne bud problem v pripade viacerych tychto inputov na jednej stranke alebo musis ku kazdemu addPassword nasledne este rucne definovat jedinecnu css triedu, pouzivanim id tento problem odpada kedze ten generovany skript ma priamo v sebe (Nette generovanych) ID prvkov ku ktorym sa viaze

krom toho takto je to vsetko pokope prednastavene a nejsu pouzite ziadne megalomanske grafiky – dizajnovo to riesi len vzajomne pozicie prvkov (CLwarning ikona v inpute, checkbox), ziadne extra ozdoby (oramovanie bloku, pozadie a pod.)

v pripade ze to niekto chce predizajnovat, tak jednotlive relevantne CSS su dostupne cez public css_… vlastnosti, takze staci ich nastavit na prazdne retazce a v sablone si nadefinovat vlastny dizajn

celkovo je to robene s ohladom na co najjednoduchsie a najrychlejsie pouzitie (vacsinu som totiz kodil vo worku kde na taketo veci neni takmer vobec cas), takze pouzitie je fakt jednoduche – regne sa to ako rozsirenie formu a miesto addPassword sa pouzije addPswdInput, co v konecnom dosledku pri opakovanom pouziti znamena len zmenu nazvu jednej metody v tovarnicke

ale som zvedavy na konkretne ukazky ako to prepisat – rad sa neham poucit

 

#10 před 2 lety

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

Re: PswdInput – rozsireny Password Input

tak 0.1.1 vonku, fix timer + par kozmetickych veci

 

#11 před 2 lety

redhead
Nette guru
Registrovaný: 2. 5. 2009
Příspěvky: 1232

Re: PswdInput – rozsireny Password Input

Hmm, mno jak myslíš. Ale zase budeš mít hnusný javascript uvnitř HTML (v případě více inputů se bude opakovat naprosto stejný kód u každého prvku). A argument, že to nebude fungovat přes CSS třídu na více inputech na stránce, je hloupost, přes handlování eventů nevidím důvod, proč by to nemělo jít. A jak jsem psal před tím, můžeš si vytvořit extension method na přidání normálního pass. inputu a rovnou (v té metodě) mu dát tu třídu. Navíc budeš mít JS centralizovaný pro všechny ve složce doc_root/js (kam patří – žádná dynamika tam nebude).

Editoval redhead (9. 8. 2010 17:48)

 

#12 před 2 lety

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

Re: PswdInput – rozsireny Password Input

tak je vonku v0.2.0

  • obsluzny JS vytiahnuty do samostatneho suboru
  • maly fix
  • vyhodenie nepotrebnych premennych

 

#13 před 2 lety

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

Re: PswdInput – rozsireny Password Input

v0.3.0

  • refaktoring pre PHP5.3/Nette1.0dev
  • funkcnost pri vypnutom JS

Kedze komponenta bola komplet prepisana pre PHP5.3/Nette1.0dev, nebude uz bez uprav fungovat v Nette 0.9.x. Je to z dovodu identifikacie Form-ov. V 0.9 sa pouziva name, v 1.0 ID (ako je odporucane aj W3C). V pripade potreby pouzit v 0.9.x je nutne upravit prenos identifikatora formu z php do JS a ziskania objektu formu v JS podla verzie 0.2 na pouzitie mena. V pripade problemov sa staci ozvat a ja dorobim a zverejnim nejaku univerzalnu verziu.

Funkcnost pri vypnutom JS bola zaistena presunom tvorby doplnkovych inputov z php do JS, tj pri vypnutom JS by mal ostat len klasicky password input obaleny v SPAN-e, pri zapnutom JS sa vsetky potrebne veci vytvoria dynamicky pomocou JS.

 

#14 před 2 lety

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

Re: PswdInput – rozsireny Password Input

 

#15 před 2 lety

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

Re: PswdInput – rozsireny Password Input

v 0.3.1:

  • nezavyslost na verzii Nette (Form name/ID)
  • par malych fixov a uprav

 

#16 před rokem

romiix.org
Člen
Registrovaný: 1. 12. 2010
Příspěvky: 48

Re: PswdInput – rozsireny Password Input

Zdravím,

ako mám pridať addPswdInput?

V BasePresenter.php mám:

public function startup()
{
        parent::startup();
        \Nette\Forms\Form::extensionMethod('\\Nette\\Forms\\Form::addPswdInput', array('\\BailIff\\Forms\\PswdInput', 'addPswdInput'));
}

a pridal som súbor https://github.com/…swdInput.php do libs.

Ale stále mi vyskakuje ladenka „Call to undefined static method BailIff\Forms\PswdInput::addPswdInput().“

Prosím o radu.

Ďakujem

 

#17 před rokem

voda
Nette guru
Registrovaný: 26. 4. 2010
Příspěvky: 335

Re: PswdInput – rozsireny Password Input

Zkus jen:

\Nette\Forms\Form::extensionMethod('addPswdInput', array('\\BailIff\\Forms\\PswdInput', 'addPswdInput'));

 

#18 před rokem

romiix.org
Člen
Registrovaný: 1. 12. 2010
Příspěvky: 48

Re: PswdInput – rozsireny Password Input

voda

To mi žiaľ nepomohlo.

Podarilo sa mi to „rozchodiť“ tak, že som pri vytváraní formulára použil miesto Nette\Application\AppForm NRomiix\Application\AppForm.
Do vlastného AppFormu som dal:

namespace NRomiix\Application;

class AppForm extends \Nette\Application\AppForm
{
        public function addPswdInput($name, $label = NULL, $cols = NULL, $maxLength = NULL)
        {
                return $this[$name] = new \BailIff\Forms\PswdInput($label, $cols, $maxLength);
        }
}

 

#19 před 3 měsíci

pilec
Nette guru
Registrovaný: 12. 11. 2009
Příspěvky: 495

Re: PswdInput – rozsireny Password Input

Bohužel současné umístění na githubu mi vrací 404, šel by tento doplněk zpět někam nahrát?


Nejčastější problémy: voláš parent::__construct()? Vymazal jsi cache?

 

#20 před 3 měsíci

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

Re: PswdInput – rozsireny Password Input

pilec napsal(a):

Bohužel současné umístění na githubu mi vrací 404, šel by tento doplněk zpět někam nahrát?

neviem teda ktore umiestnenie presne si skusal, ale samotne php je na https://github.com/…swdInput.php a podobne je aj prislusny JS – je to sucast Lohini

 

#21 před 3 měsíci

pilec
Nette guru
Registrovaný: 12. 11. 2009
Příspěvky: 495

Re: PswdInput – rozsireny Password Input

Pokud tento doplněk bude někdo implementovat, mám dva postřehy,
\Nette\Templating\DefaultHelpers se přejmenovalo na \Nette\Templating\Helpers a pokud chcete aby vám IDE napovídalo i přes extension vytvořené addPswd stačí do třídy do PHPDocu dopsat:

@method Carten\Forms\Controls\PasswordInput addPswd() addPswd(string $name, string $label = NULL, int $cols = NULL, int $maxLength = NULL) Add special input for password

popřípadě by možná stálo za promyšlení nepřidávat metodu formuláři ale kontejneru, poněvadž takhle není možné PswdInput ve vnořených kontejnerech používat.


Nejčastější problémy: voláš parent::__construct()? Vymazal jsi cache?

 

#22 před 3 měsíci

pilec
Nette guru
Registrovaný: 12. 11. 2009
Příspěvky: 495

Re: PswdInput – rozsireny Password Input

Tak při implementaci jsem se dostal do zajímavé fáze. Nedostávám error ani od laděnky ani od javascriptu, původní psswdInput jsem byl nucen trošku poupravit a to v metodě getControl na:

$container->add(
        Html::el(
                'script',
                array('type' => 'text/javascript')
        )
        ->add("jQuery(document).ready(function() {head.js(
                '/js/PswdInput.js',
                function() {
                        PswdInput('{$control->id}', ".\Nette\Templating\Helpers::escapeJs($data).');
                        }
                );});')
        );

bohužel jednak nefunguje žádná feature a při pokusu napsat znak do formulářového pole se js zacyklí a začně do něj divoce vypisovat paznaky. Neměl někdo podobné potíže?

Editoval pilec (28. 2. 1:12)


Nejčastější problémy: voláš parent::__construct()? Vymazal jsi cache?

 

#23 před 3 měsíci

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

Re: PswdInput – rozsireny Password Input

ja som to teraz testoval a nemal som ziadny problem …

pouzil som pritom verziu co mam v ramci Lohini – bez nejakych uprav v projekte ktory z Lohini pouziva len par samostatne vytiahnutych drobnosti lebo Lohini nemam este updatnute a pritom projekt ide na Nette2final

fakt netuim kde moze byt problem – uprava co si urobil (tvrda cesta k JS a .ready z jQuery miesto headjs) by to podla mna nemali sposobovat

rovnako som bol pri vypustani testoval aj vsetky mozne kombinacie nastaveni co ma napadli a nebol problem …

ak mozes posli mi link kde mozem videt to haluzne chovanie aby som sa na to pozrel a ked tak sa to pokusil fixnut

 

Zápatí