Skip to content

Commit 20905ad

Browse files
committed
pli bone montru menueron kun malfermita submenuo; fermu submenuon ankaŭ klakante al iu supra menuero en la tradukdialogo
1 parent 686691f commit 20905ad

File tree

5 files changed

+26
-3
lines changed

5 files changed

+26
-3
lines changed

jsc/rs/ui_dlg.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import * as x from '../x';
1111
import { preferoj } from '../a/preferoj';
1212

1313
/// import { xpress } from '../x';
14-
import { DOM, Dialog, Menu, type Menuero, Grup, Slipar, Buton, Elektil, List, Propon, type Term, Valid, Eraro } from '../ui';
14+
import { DOM, Dialog, Menu, Menuer, type Menuero, Grup, Slipar, Buton, Elektil, List, Propon, type Term, Valid, Eraro } from '../ui';
1515
import { XmlRedakt } from '../x';
1616

1717
import * as sbl from './sxablonoj';
@@ -1641,6 +1641,10 @@ function shanghu_trd_lingvon(event: Event, ui: Menuero) {
16411641
const t_dlg = x.TradukDialog.dialog("#traduko_dlg");
16421642
if (t_dlg) t_dlg.plenigu(lng,lingvo_nomo);
16431643
}
1644+
// fermu evtl. ankoraŭ malfermitan submenuon
1645+
const menuo = Menuer.menuo(ui.menuero);
1646+
if (menuo) menuo.fermu_submenuojn();
1647+
16441648
/// DOM.al_datum("#traduko_dlg","last-focus",'');
16451649
}
16461650

jsc/ui/menu.ts

+11-1
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,22 @@ export type Menuero = {menuero: HTMLElement};
1111
type MenuReago = (event: Event, m_ero: Menuero) => void;
1212
type MenuOpcioj = { eroj?: string, reago?: MenuReago, eniro?: string|HTMLElement };
1313

14-
class Menuer extends UIElement {
14+
export class Menuer extends UIElement {
1515
static menuo(element: HTMLElement|string) {
1616
const menuer = UIElement.obj(element);
1717
if (menuer instanceof Menuer) return menuer.menuo;
1818
}
1919

20+
//public menuo;
21+
22+
/**
23+
* Kreas menueron de menuo
24+
* @param element la HTML-elemento reprezentanta la menueron en la GUI
25+
* @param menuo la menuo al kiu apartenas la menuero
26+
*/
2027
constructor(element: HTMLElement|string, public menuo: Menu) {
2128
super(element,{});
29+
2230
// aldonu klakreagon
2331
DOM.malreago(element,"click"); // forigu evtl. malnovan
2432
DOM.reago(element,"click",this._click.bind(this.element));
@@ -59,11 +67,13 @@ class Submenu extends Menuer {
5967
if (sublst instanceof HTMLElement) {
6068
if (montru) {
6169
this.element.classList.remove(UIStil.submenuo_fermita);
70+
this.element.classList.add(UIStil.submenuo_malfermita);
6271
DOM.kaŝu(sublst,false); // malkaŝu
6372
// metu la submenuon tuj apud la menueron
6473
sublst.style.left = ""+(this.element.offsetLeft+this.element.offsetWidth)+"px";
6574
sublst.style.top = ""+this.element.offsetTop+"px";
6675
} else {
76+
this.element.classList.remove(UIStil.submenuo_malfermita);
6777
this.element.classList.add(UIStil.submenuo_fermita);
6878
sublst.classList.add(UIStil.menuo);
6979
DOM.kaŝu(sublst);

jsc/ui/uistil.ts

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export class UIStil {
2424
static menuo = "ui-menu";
2525
static menudividilo = "ui-menu-divider";
2626
static submenuo_fermita = "ui-menu-sub-fermita";
27+
static submenuo_malfermita = "ui-menu-sub-malfermita";
2728

2829
// en sliparo
2930
static langetaro = "ui-tabs-nav";

stl/redaktilo-revaj.css

+4-1
Original file line numberDiff line numberDiff line change
@@ -459,8 +459,11 @@ nav {
459459

460460
#menu li, #traduko_menuo li {
461461
box-sizing: border-box;
462-
/*width: 100%;*/
462+
/*width: 100%;
463463
border-radius: 0 !important;
464+
*/
465+
border-top-left-radius: 4px;
466+
border-bottom-left-radius: 4px;
464467
/*border-color: var(--nav-brd-clr);*/
465468
border: none;
466469
}

stl/ui.css

+5
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,11 @@ ul.ui-menu {
196196
border: 1px solid var(--nav-brd-clr);
197197
}
198198

199+
200+
.ui-menu-sub-malfermita {
201+
background-color: var(--nav-act-bgr-clr);
202+
}
203+
199204
.ui-menu-sub-fermita::after {
200205
content: "\00a0\2bc8";
201206
}

0 commit comments

Comments
 (0)