Skip to content

Commit 6bfba73

Browse files
committed
CZ : puiButtonTab, puiButtonTabTree, added links, changed links between chapters, typos, clarification of explanation
1 parent cc950b6 commit 6bfba73

File tree

7 files changed

+196
-8
lines changed

7 files changed

+196
-8
lines changed

cs/files.lst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ pluginLoad.md|Zavádění pluginů
2222
puiButton.md|puiButton
2323
eventFilter.md|Filtrování událostí v pluginech
2424
eventFilterD.md|Detaily o filtrování událostí v pluginech
25+
appendix.md|Přílohy
26+
puiButtonTab.md|puiButtonTab
27+
puiButtonTabTree.md|puiButtonTabTree

cs/firstPlugin.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,11 @@ Volání **Plugins.catalogize(pMinPlugin);** je povinné, protože provede zaved
6868

6969
[pTREmptyPlugin]: :_cpp:pTREmptyPlugin.md "Prázdný plugin"
7070
[IPlugin]: :_plg:IPlugin.md "IPlugin"
71-
[pConvertSysEventToEvent]: :_plg:pConvertSysEventToEvent.md "pConvertSysEventToEvent"
72-
[pTRPhasePlugin]: :_plg:pTRPhasePlugin.md "pTRPhasePlugin"
71+
[pConvertSysEventToEvent]: pConvertSysEventToEvent.md "pConvertSysEventToEvent"
72+
[pTRPhasePlugin]: pTRPhasePlugin.md "pTRPhasePlugin"
7373
[ShowChapterResolutions]: :_evt:ShowChapterResolutions.md "ShowChapterResolutions"
74-
[pTopicRenderer]: :_plg:pTopicRenderer.md "pTopicRenderer"
75-
[puiButton]: :_plg:puiButton.md "puiButton"
76-
[puiButtonTab]: :_plg:puiButtonTab.md "puiButtonTab"
77-
[puiButtonTabTree]: :_plg:puiButtonTabTree.md "puiButtonTabTree"
74+
[pTopicRenderer]: pTopicRenderer.md "pTopicRenderer"
75+
[puiButton]: puiButton.md "puiButton"
76+
[puiButtonTab]:puiButtonTab.md "puiButtonTab"
77+
[puiButtonTabTree]: puiButtonTabTree.md "puiButtonTabTree"
7878
[plugins]: plugins.lst.md "Seznam pluginů"

cs/puiButton.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ Plugins.catalogize(puiButtonFullScreen);
3939
```
4040

4141
- Řádky **this.DEFAULT_KEY_CFG_** mohou být odebrány, pokud chcete spoléhat pouze na konfiguraci ze souboru. S ohledem na automatickou dokumentaci objektů v pluginu však doporučuji je ponechat.
42+
- **this.button** obsahuje odkaz na vytvořené tlačítko.
4243

4344
## Popis funkčnosti
4445

cs/puiButtonTab.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# 🖥️ puiButtonTab
2+
3+
## Účel pluginu
4+
5+
Tento plugin je vhodný pro zajištění 🔘🎛️ tlačítka a karty bočního panelu.
6+
7+
## Konfigurace
8+
9+
1. Připravte konfiguraci s hodnotami stejně jako pro komponentu 🖥️ [puiButton][puiButtonC].
10+
11+
## Implementace
12+
13+
2. Nový plugin vždy bude mít [puiButtonTab][puiButtonTab] jako svou bázovou třídu.
14+
15+
```javascript
16+
class puiNewButtonWithTab extends puiButtonTab {
17+
constructor(aliasName, data) {
18+
super(aliasName, data);
19+
20+
this.DEFAULT_KEY_CFG_ID = 'downP-NewButton';
21+
this.DEFAULT_KEY_CFG_CAPTION = '🤡';
22+
this.DEFAULT_KEY_CFG_TARGET = UI_PLUGIN_SIDEBAR;
23+
}
24+
25+
_preShowAction(evt) {
26+
//this.tab
27+
}
28+
29+
//_buttonAction(evt) {
30+
//}
31+
32+
}
33+
34+
Plugins.catalogize(puiNewButtonWithTab);
35+
```
36+
37+
- Řádky **this.DEFAULT_KEY_CFG_** mohou být odebrány, pokud chcete spoléhat pouze na konfiguraci ze souboru. S ohledem na automatickou dokumentaci objektů v pluginu však doporučuji je ponechat.
38+
39+
| Objekt | Popis |
40+
|---|---|
41+
| this.tab | Odkaz na HTML element karty. Je možno do ní připojit další objekty |
42+
| this.button | Odkaz na HTML element tlačítka |
43+
| parametr evt | Událost aplikace, ⚡ [ClickedEvent][ClickedEvent] |
44+
| _preShowAction(evt) | Je spouštěna před zobrazením karty uživateli. Je ideální k odloženému načtení dat pluginu, která jsou zobrazována uživateli na dané kartě, případně k přípravě konfiguračního formuláře pro další akci. V potomkovi by měla být přepsána i prázdnou funkcí. Pokud funkce vrátí **false**, tak se karta uživateli nezobrazí. |
45+
| _buttonAction(evt) | Akce tlačítka. Obvykle není třeba ji přepisovat, pokud postačuje pouhé zobrazení karty uživateli |
46+
47+
## Popis funkčnosti
48+
49+
- Funkce **_buttonAction**(evt) představuje handler pro obsluhu kliknutí na tlačítko. Výchozí obsluha je zajištěna z předka, ale může být žádoucí ji přepsat, viz. Příklady implementací níže.
50+
- Ve výchozím chování funkce provolá **_preShowAction**(evt) a
51+
zobrazí kartu komponenty na panelu.
52+
- **_preShowAction**(evt) může vrátit false, aby zablokovala zobrazení karty uživateli. Pokud vrátí undefined (výchozí chování) nebo true, kartu plugin v pořádku zobrazí.
53+
54+
## Příklady implementací
55+
56+
- 🖥️ [puiButtonChangeLanguage][puiButtonChangeLanguage]
57+
58+
### Scénář: Tlačítko s akcemi podle viditelnosti záložky - _buttonAction(evt)
59+
60+
Pokud funkci _buttonAction nadefinujete tímto způsobem:
61+
62+
```javascript
63+
_buttonAction(evt) {
64+
if (this.tab.classList.contains(C_HIDDENC)) {
65+
super._buttonAction();
66+
} else {
67+
// (B)
68+
}
69+
}
70+
```
71+
72+
získáte dvoukrokové zpracování:
73+
74+
- první kliknutí : zobrazí skrytou záložku (obvykle s připraveným formulářem)
75+
- druhé kliknutí : provede další operaci ve větvi **(B)** s daty, která si převezme z formuláře
76+
77+
Ukázka: 🖥️ [puiButtonAsBook][cpuiButtonAsBook]
78+
79+
[ClickedEvent]: :_evt:ClickedEvent.md "ClickedEvent"
80+
[puiButtonTab]: :_plg:puiButtonTab.md "puiButtonTab"
81+
[puiButtonC]: puiButton.md#h-2-1 "puiButton"
82+
[cpuiButtonAsBook]: :_cpp:puiButtonAsBook.md "puiButtonAsBook"
83+
[puiButtonChangeLanguage]: :_plg:puiButtonChangeLanguage.md "puiButtonChangeLanguage"

cs/puiButtonTabTree.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# 🖥️ puiButtonTabTree
2+
3+
## Účel pluginu
4+
5+
Tento plugin je vhodný pro zajištění 🔘🎛️📂 tlačítka a karty bočního panelu s komponentou strom.
6+
7+
## Konfigurace
8+
9+
1. Připravte konfiguraci s hodnotami stejně jako pro komponentu 🖥️ [puiButton][puiButtonC].
10+
2. Přidejte klíč **TREEID**, ve kterém bude jméno nového stromu
11+
12+
## Implementace
13+
14+
3. Nový plugin vždy bude mít [puiButtonTabTree][puiButtonTabTree] jako svou bázovou třídu.
15+
16+
```javascript
17+
class puiNewButtonWithTree extends puiButtonTabTree {
18+
constructor(aliasName, data) {
19+
super(aliasName, data);
20+
21+
this.DEFAULT_KEY_CFG_ID = 'downP-NewTree';
22+
this.DEFAULT_KEY_CFG_CAPTION = '📂';
23+
this.DEFAULT_KEY_CFG_TARGET = UI_PLUGIN_SIDEBAR;
24+
25+
this.DEFAULT_KEY_CFG_TREEID = newtree';
26+
//setTreeData(data, this.aliasName, append);
27+
}
28+
29+
//_buttonAction(evt) {
30+
//}
31+
32+
_preShowAction(evt) {
33+
}
34+
35+
_preStandardInit() {
36+
}
37+
38+
_treeClick(e) {
39+
}
40+
}
41+
42+
Plugins.catalogize(puiNewButtonWithTree);
43+
```
44+
45+
- Řádky **this.DEFAULT_KEY_CFG_** mohou být odebrány, pokud chcete spoléhat pouze na konfiguraci ze souboru. S ohledem na automatickou dokumentaci objektů v pluginu však doporučuji je ponechat.
46+
47+
| Objekt | Popis |
48+
|---|---|
49+
| this.tab | Odkaz na HTML element karty. Je možno do ní připojit další objekty |
50+
| this.button | Odkaz na HTML element tlačítka |
51+
| this.tree | Odkaz na HTML element stromu (**ul** element) |
52+
| parametr evt | Událost aplikace, ⚡ [ClickedEvent][ClickedEvent] |
53+
| _preStandardInit | Je spouštěna před vytvořením komponenty strom na kartě. Je určena pro založení dalších komponent v případě potřeby. |
54+
| _preShowAction(evt) | Je spouštěna před zobrazením karty uživateli. Je ideální k odloženému načtení dat pluginu, která jsou zobrazována uživateli na dané kartě, případně k přípravě konfiguračního formuláře pro další akci. V potomkovi by měla být přepsána i prázdnou funkcí. Pokud funkce vrátí **false**, tak se karta uživateli nezobrazí. |
55+
| _buttonAction(evt) | Akce tlačítka. Obvykle není třeba ji přepisovat, pokud postačuje pouhé zobrazení karty uživateli |
56+
| _treeClick(e) | Akce kliknutí na položku stromu, ⚡ [ClickedEventTree][ClickedEventTree]. Pokud není přepsána, převezme sdílenou obsluhu **processAClick** z **appmainBaseLogic.js** (tato obsluha je již na hranici obecného řešení a konkrétní implementace). |
57+
| setTreeData(data, this.aliasName, append); | Provede nastavení [dat stromu][treedata] z řetězce data. Pro identifikaci se použije aliasName pluginu. Append může být neuveden a nebo **true**, pokud chcete připojit nějaká data na konec stromu. |
58+
59+
Pokud Vám nevyhovuje funkce **setTreeData**, můžete použít funkci nižší úrovně, kterou tato funkce zapouzdřuje - **linesToHtmlTree**(data, alias) - data je opět řetězec [dat stromu][treedata] a alias zde je hodnota konfigurace **TREEID**.
60+
61+
## Popis funkčnosti
62+
63+
- Funkce **_preStandardInit**() je spuštěna automaticky při vytvoření instance pluginu.
64+
- Funkce **_buttonAction**(evt) představuje handler pro obsluhu kliknutí na tlačítko. Výchozí obsluha je zajištěna z předka. Přepsání se nepředpokládá, ale je možné.
65+
- Ve výchozím chování funkce provolá **_preShowAction**(evt) a
66+
zobrazí kartu komponenty na panelu.
67+
- **_preShowAction**(evt) může vrátit false, aby zablokovala zobrazení karty uživateli. Pokud vrátí undefined (výchozí chování) nebo true, kartu plugin v pořádku zobrazí.
68+
69+
## Příklady implementací
70+
71+
- 🖥️ [puiButtonObjectExplorer][puiButtonObjectExplorer] a další potomci 🖥️ [puiButtonTabTree][puiButtonTabTree]
72+
73+
### Scénář: Tlačítko s akcí otevři/zavři vše
74+
75+
Pokud funkci _buttonAction nadefinujete tímto způsobem:
76+
77+
```javascript
78+
_buttonAction(evt) {
79+
this._buttonActionClickOpenCloseAll(evt?.event?.isTrusted);
80+
}
81+
```
82+
83+
získáte přepínač, který v případě kliknutí na tlačítko provede 3 stavy:
84+
85+
- Karta není viditelná -> zobrazí kartu se stromem.
86+
- Karta je viditelná, existuje alespoň jedna neotevřená položka -> všechny položky stromu se otevřou.
87+
- Karta je viditelná, všechny položky jsou otevřené -> všechny položky stromu se zavřou.
88+
89+
Ukázka: 🖥️ [puiButtonTOC][cpuiButtonTOC]
90+
91+
[ClickedEvent]: :_evt:ClickedEvent.md "ClickedEvent"
92+
[ClickedEventTree]: :_evt:ClickedEventTree.md "ClickedEventTree"
93+
[puiButtonTabTree]: :_plg:puiButtonTabTree.md "puiButtonTabTree"
94+
[puiButtonC]: puiButton.md#h-2-1 "puiButton"
95+
[cpuiButtonTOC]: :_cpp:puiButtonTOC.md "puiButtonTOC"
96+
[puiButtonObjectExplorer]: :_plg:puiButtonObjectExplorer.md "puiButtonObjectExplorer"
97+
[treedata]: ?d=hlp-aguide/Help-__.zip&p=mdata%2Ftree.lst.md "tree input data format"

cs/runseq.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ V dokumentaci se budou objevovat obecnější názvy popisů fází. Tyto pojmy
3030
| Data nápovědy | 3.6-3.9 | 🗃️❔ Pokud existuje, načítá se další logika a data z nápovědy, částečně nahrazují standardní logiku. |
3131
| Události a moduly | 3.10 | 🧩 Načítají se základní pluginy - zásuvné moduly, které obsahují aplikační komponenty. Od tohoto bodu dále je možno používat systém pluginů a událostí. |
3232
| Rozšíření logiky | 3.11-3.13 | 🗃️❔➕ Aplikační logika je rozšířena o načtená data z nápovědy. |
33-
| Spouštění | 3.14 | ⚡ Událost **PluginsLoadingFinished** potvrzuje dokončené spuštění aplikace. |
33+
| Spouštění | 3.14 | ⚡ Událost [PluginsLoadingFinished][PluginsLoadingFinished] potvrzuje dokončené spuštění aplikace. |
3434

3535
## Detail fází spouštění
3636

@@ -63,4 +63,6 @@ V dokumentaci se budou objevovat obecnější názvy popisů fází. Tyto pojmy
6363
11. STO_?:appmainNext.js (zavedení)
6464
12. STO_HELP:plus.css (zavedení)
6565
13. STO_HELP:plus.js (zavedení)
66-
14. ⚡ PluginsLoadingFinished
66+
14.[PluginsLoadingFinished][PluginsLoadingFinished]
67+
68+
[PluginsLoadingFinished]: :_evt:PluginsLoadingFinished.md "PluginsLoadingFinished"

cs/tree.lst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Seznamy|Seznamy||lists.md
1313
🔺 Filtrování událostí|Filtrování událostí v pluginech||eventFilter.md
1414
Implementace pluginů|Implementace pluginů||implPlug.md
1515
🖥️ puiButton|puiButton||puiButton.md
16+
🖥️ puiButtonTab|puiButtonTab||puiButtonTab.md
17+
🖥️ puiButtonTabTree|puiButtonTabTree||puiButtonTabTree.md
1618
🔌 pConvertSysEventToEvent|pConvertSysEventToEvent||pConvertSysEventToEvent.md
1719
🖼️ pTRPhasePlugin|pTRPhasePlugin||pTRPhasePlugin.md
1820
🖼️ pTopicRenderer|pTopicRenderer||pTopicRenderer.md

0 commit comments

Comments
 (0)