Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Jendela & menu

Memisahkan ukuran/opsi jendela utama dan struktur menu klik kanan dari logika panjang di main.js. Format CommonJS (module.exports); electron/main.js memuat dengan require() dari path yang sama.

Electron · Express · NexaJS

Integrasi dengan main.js

  • Mode terpaket: shell dibaca sekali saat bootstrap; nilai layout disimpan di memori; builder menu tetap dari modul yang sama.
  • Development: sebelum require, cache modul untuk electronShell.js dihapus (delete require.cache[...]) agar edit berkas langsung terasa:
    • buildContextMenuTemplate — dipakai lagi pada setiap pembukaan menu konteks.
    • mainWindowLayout — dipakai saat createWindow (jendela baru); perubahan ukuran/minimal tidak mengubah jendela yang sudah terbuka kecuali jendela baru atau restart app.

mainWindowLayout

Objek dinormalisasi di main.js lalu sebagian besar kunci disalurkan ke new BrowserWindow({ ... }) (properti ContextMenu disingkirkan dulu — hanya untuk switch menu).

Nilai default umum: resizable: true, maximizable: true, ContextMenu: true.

Properti Keterangan
width, height Ukuran awal jendela.
minWidth, minHeight Batas minimum resize.
maxWidth, maxHeight, x, y, center, title Opsional; diteruskan jika diset.
resizable, minimizable, maximizable, … Perilaku jendela (boolean/opsi Electron).
ContextMenu true: pasang menu konteks kustom. false: peristiwa context-menu dicegah — tidak ada menu Chromium bawaan dan tidak ada menu kustom.

Jika suatu kunci tidak ada di electronShell.js, main.js mengisi dari default internal.

buildContextMenuTemplate(ctx)

Mengembalikan array template untuk Menu.buildFromTemplate. Parameter ctx disiapkan oleh main.js:

Properti di ctx Peran
getMainWindow Mengembalikan BrowserWindow utama.
isDev Menambahkan item DevTools / Inspect jika dev (app tidak terpaket atau NODE_ENV=development atau ELECTRON_DEV=1).
clearCacheAndNotify Dipanggil item Bersihkan Cache.
showAboutDialog Dialog Tentang dari package.json.
contextMenuParams Parameter event konteks (untuk inspectElement).

Menu bawaan (ringkas): Refresh → (dev: DevTools, Inspect) → Bersihkan Cache → Layar Penuh → item halaman (context-menu-clicked dengan role) → Setting (zoom) → Jendela → Bantuan → Tentang.

Menu konteks & komponen →