UniversalScientificTechnologies / OpenIntranet

Software for warehouse and production management
https://universalscientifictechnologies.github.io/OpenIntranet/
GNU General Public License v3.0
0 stars 2 forks source link

Component selection template/input/table #203

Closed roman-dvorak closed 1 year ago

roman-dvorak commented 1 year ago

Častý požadavek skrze mnoho modulů intranetu je přistupovat k součástkám, vyhledávat je ve skladu a zjišťovat jejich ID pro přiřazení do určitých seznamů.

Toto by mělo být řešeno formou nějakých znovu užitelných objektů. Tornato templates pro to má řešení v podobě UI modules. Alternativní řešení je, že to bude nějaká javascriptová funkce/třída.

Forma JS třidy má výhodu, že si trochu snížíme závislost na tornado templates. Což má řadu důvodů. Ale na druhou stranu záleží, jaké závislosti js řešení bude mít.

Výsledek má vypadat tak, že se na požadovaném místě vytvoří nějaké input/select2 pole s tlačítkem. Do pole by mělo jít psát a tím vyhledávat. Pokud v poli již nějaká hodota bude (ObjectId), tak to toto id "přeloží" na reálný název ze skladu.

U vstupu by mělo existovat tlačítko, po jehož stisknutí se člověk objeví v nějakém vyskakovacím okně, ve kterém si bude normálně moct ovládat filtry, vyhledávání atd.. A po vyhledání součástky jí vybere a ona se vloží do požadovaného pole.

Tohle je aktuálně potřebné pro řešení: #179, #36 či #96

cisar2218 commented 1 year ago

Minimální řešení implementováno

Usage:

// insert modal to html
const modal = new ProductSelectionModal();

// show modal to user 
modal.showModal();

// setup event for product selection completition
$(".selection-confirm-button").click(function() {
     // store selected value where you like
    const id_of_selected_product = modal.getID();
 });

image

TODO