Framework เธซเธเนเธฒเนเธซเธฅเธเนเธขเธเธญเธญเธเธเธฒเธ nav-core โ เธฃเธญเธเธฃเธฑเธ 4 display modes, lightweight, zero dependencies, เธเธณเธเธฒเธเธฅเธทเนเธเนเธซเธฅเธเธเธเธธเธเธชเนเธเธ
Overlay เนเธเนเธกเธซเธเนเธฒเธเธญ โ เนเธเนเธเธญเธเนเธเธฅเธตเนเธขเธเธซเธเนเธฒเธซเธฃเธทเธญเนเธซเธฅเธเธเนเธญเธกเธนเธฅเนเธซเธเน เนเธซเธกเธฒเธฐเธเธฑเธ fullscreen transitions
// เธเนเธฒ default โ เนเธเน singleton ID const h = FVL.show({ message: 'เธเธณเธฅเธฑเธเนเธซเธฅเธ...', autoHideAfterMs: 4000 }); h.hide();
เธเธฃเธญเธ container เนเธเธเธฒเธฐ เนเธเนเธ เธเธฒเธฃเนเธ/section เนเธเน เนเธกเนเนเธเนเธกเธเธญ เนเธเนเธเธฃเธญเธเธเธทเนเธเธเธตเนเธเธตเนเธเธณเธซเธเธ
FVL.scoped({ target: '#demo-scoped-box', message: 'Fetching...' });
เนเธฅเนเธ เนเธเธฃเธเนเธเธเธธเนเธก/element เนเธเน โ เนเธซเธกเธฒเธฐเธเธฑเธ submit button เธซเธฃเธทเธญ action button
FVL.inline({ target: '#my-btn' }); // เธซเธฃเธทเธญ replace content: FVL.inline({ target: '#my-btn', replaceContent: true, message: 'Working...' });
Progress bar เธเธฒเธเน เธเธดเธเธเนเธฒเธเธเธ viewport โ เนเธซเธกเธทเธญเธ NProgress เนเธซเธกเธฒเธฐเธเธฑเธ navigation เธฃเธฐเธซเธงเนเธฒเธเธซเธเนเธฒ
// indeterminate: FVL.topbar(); // determinate (0..1): const h = FVL.topbar({ progress: 0.3 }); h.setProgress(0.7); h.hide();
เธเธเธเธธเนเธก "Show in box โ" เธเนเธฒเธเธเธเนเธเธทเนเธญเนเธซเธฅเธ scoped loader เนเธเธเธฃเธญเธเธเธตเน
API เนเธเธดเธกเธเธฒเธ nav-core เธเธณเธเธฒเธเนเธซเธกเธทเธญเธเนเธเธดเธกเธเนเธฒเธ proxy:
// เนเธซเธฅเนเธฒเธเธตเนเธเธณเธเธฒเธเนเธซเธกเธทเธญเธเนเธเธดเธก: window.showInstantLoadingOverlay('Loading...'); window.removeInstantLoadingOverlay(); window._navCore_contentLoadingManager.show(); NavCoreModules.LoadingService.hide();