import QtQuick import QtQuick.Window import QtQuick.Controls import QtQuick.Controls.Basic import QtQuick.Layouts import FluentUI Item { enum DisplayMode { Open, Compact, Minimal, Auto } property url logo property string title: "" property FluObject items property FluObject footerItems property int displayMode: FluNavigationView.Auto property Component autoSuggestBox property var window : { if(Window.window == null) return null return Window.window } id:control QtObject{ id:d property bool enableStack: true property int displayMode: { if(control.displayMode !==FluNavigationView.Auto){ return control.displayMode } if(control.width<=700){ return FluNavigationView.Minimal }else if(control.width<=900){ return FluNavigationView.Compact }else{ return FluNavigationView.Open } } property var stackItems: [] property bool enableNavigationPanel: false property bool isCompact: d.displayMode === FluNavigationView.Compact property bool isMinimal: d.displayMode === FluNavigationView.Minimal property bool isCompactAndPanel: d.displayMode === FluNavigationView.Compact && d.enableNavigationPanel property bool isCompactAndNotPanel:d.displayMode === FluNavigationView.Compact && !d.enableNavigationPanel property bool isMinimalAndPanel: d.displayMode === FluNavigationView.Minimal && d.enableNavigationPanel onIsCompactAndNotPanelChanged: { collapseAll() } onDisplayModeChanged: { if(d.displayMode === FluNavigationView.Compact){ collapseAll() } if(d.displayMode === FluNavigationView.Minimal){ anim_layout_list_x.enabled = false d.enableNavigationPanel = false timer_anim_x_enable.restart() } } function handleItems(){ var idx = 0 var data = [] if(items){ for(var i=0;i