Definice GUI pro feature

Definice GUI pro feature

Každé rozšíření (feature) umožňuje definovat vlastní GUI. Stačí implementovat rozhraní com.fg.cps.eshop.feature.type.EdeeModuleFeatureWithGui.

Zkopírovat odkaz na sekciPrincip

Od verze v10 se GUI definuje pouze pro AR (administrační rozhraní). Pro FE (frontend) se vrací data prostřednictvím API.
Princip zpracování GUI v rámci EdeeShop je následující:

  1. Modul nejprve zaregistruje globální slovník pro celý modul. Globální slovník je definován zde.
  2. Následně systém projde všechna zapnutá rozšíření a pomocí metody EdeeModuleFeatureWithGui#getDictionaryGuiConfigs načte a zaregistruje všechny slovníky. Tyto slovníky jednotlivých features závisejí na globálním slovníku.
  3. Poté se zpracují projektové slovníky.
  4. Nakonec se zpracuje pomocné GUI, tzv. "dictionaryFinish", které závisejí na všech slovnících. Zároveň na něm závisí všechna setup-GUI. Tím je zajištěno, že nejprve se zpracují všechny slovníky a až následně všechna setup-GUI.
  5. Po zpracování všech slovníků se začnou zpracovávat setup-GUI. Nejprve se zpracují GUI jednotlivých features a poté se zpracují projektová rozšíření GUI.

Zkopírovat odkaz na sekciProjektové rozšíření GUI

GUI každé feature je možné na projektu konfiguračně rozšířit pomocí elementů dictionaryExtension a guiExtension.
Element dictionaryExtension rozšiřuje slovník dané feature a je zpracován před všemi setup-GUI.
Element guiExtension rozšiřuje GUI dané feature a je zpracován až po zpracování všech slovníků a GUI dané feature.

Zkopírovat odkaz na sekciPříklad konfigurace:

xml
1 <order>2    <dictionaryExtension>3        <!-- Definice projektového rozšíření slovníku -->4    </dictionaryExtension>5    <guiExtension>6        <!-- Definice projektového rozšíření GUI -->7    </guiExtension>8</order>

Zkopírovat odkaz na sekciStruktura GUI

Gui každé feature má vlastní kořenový uzel. Podle tohoto uzle je možné rozpoznat, do jaké feature GUI patří.

1 - /edee/edeeShop  - kořenový uzel administrace.2- /edee/edeeShop/{featureId}/ - root uzel pro každou feature, kde `featureId` je standardně název (simpleName s malým počátečným písmenem) třídy dané feature.

Zkopírovat odkaz na sekciDevelopment režim

Pomocí property dev.edeeShop.devSourcePathPrefix je možné specifikovat seznam (oddělený čárkou) root-adresářů, ve kterém se má EdeeShop pokusit nalézt GUI definované na classpath. Pokud EdeeShop takový zdroj nalezne, nastaví nad tímto zdrojem monitoring změn. Případná změna v GUI se pak projeví téměř ihned, bez nutnosti buildu projektu a jeho opětovného spuštění.

Př.: dev.edeeShop.devSourcePathPrefix=file:/www/edee/eshop/lib_eshop_edee/src/main/resources,file:/www/edee/eshop/lib_eshop_fulltext/src/main/resources,file:/www/edee/eshop/lib_eshop_import/src/main/resources,file:/www/edee/eshop/lib_eshop_catalog/src/main/resources