mirror of
https://github.com/zhuzichu520/FluentUI.git
synced 2024-10-31 00:07:36 +08:00
update
This commit is contained in:
parent
609df92f8c
commit
2c7d556042
@ -117,7 +117,7 @@ CustomWindow {
|
||||
Component.onCompleted: {
|
||||
ItemsOriginal.navigationView = nav_view
|
||||
ItemsFooter.navigationView = nav_view
|
||||
nav_view.setCurrentIndex(0)
|
||||
setCurrentIndex(0)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ class FluApp : public QObject
|
||||
*/
|
||||
Q_PROPERTY_AUTO(QJsonObject,routes);
|
||||
|
||||
QML_FOREIGN(FluApp)
|
||||
QML_NAMED_ELEMENT(FluApp)
|
||||
QML_SINGLETON
|
||||
private:
|
||||
|
@ -11,7 +11,7 @@ Item {
|
||||
property int topPadding: 0
|
||||
property int rightPadding: 10
|
||||
property int bottomPadding: 10
|
||||
property int pageMode: FluNavigationView.Standard
|
||||
property int pageMode: FluNavigationView.SingleTask
|
||||
property string url: ''
|
||||
id:control
|
||||
FluText{
|
||||
|
@ -12,6 +12,10 @@ Item {
|
||||
Minimal,
|
||||
Auto
|
||||
}
|
||||
enum PageModeFlag{
|
||||
Standard = 0,
|
||||
SingleTask = 1
|
||||
}
|
||||
property url logo
|
||||
property string title: ""
|
||||
property FluObject items
|
||||
@ -21,15 +25,10 @@ Item {
|
||||
property Component autoSuggestBox
|
||||
property Component actionItem
|
||||
property int topPadding: 0
|
||||
enum PageModeFlag{
|
||||
Standard = 0,
|
||||
SingleTop = 1,
|
||||
SingleTask = 2
|
||||
}
|
||||
id:control
|
||||
QtObject{
|
||||
id:d
|
||||
property bool enableStack: true
|
||||
property var stackItems: []
|
||||
property int displayMode: {
|
||||
if(control.displayMode !==FluNavigationView.Auto){
|
||||
return control.displayMode
|
||||
@ -42,7 +41,6 @@ Item {
|
||||
return FluNavigationView.Open
|
||||
}
|
||||
}
|
||||
property var stackItems: []
|
||||
property bool enableNavigationPanel: false
|
||||
property bool isCompact: d.displayMode === FluNavigationView.Compact
|
||||
property bool isMinimal: d.displayMode === FluNavigationView.Minimal
|
||||
@ -345,6 +343,7 @@ Item {
|
||||
}else{
|
||||
nav_list.currentIndex = idx
|
||||
layout_footer.currentIndex = -1
|
||||
model.tap()
|
||||
if(d.isMinimal || d.isCompact){
|
||||
d.enableNavigationPanel = false
|
||||
}
|
||||
@ -355,6 +354,7 @@ Item {
|
||||
}else{
|
||||
nav_list.currentIndex = nav_list.count-layout_footer.count+idx
|
||||
layout_footer.currentIndex = idx
|
||||
model.tap()
|
||||
if(d.isMinimal || d.isCompact){
|
||||
d.enableNavigationPanel = false
|
||||
}
|
||||
@ -475,20 +475,18 @@ Item {
|
||||
Layout.preferredWidth: 30
|
||||
Layout.preferredHeight: 30
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
disabled: nav_swipe.depth === 1
|
||||
disabled: nav_swipe.depth <= 1
|
||||
iconSize: 13
|
||||
onClicked: {
|
||||
nav_swipe.pop()
|
||||
d.stackItems.pop()
|
||||
var item = d.stackItems[d.stackItems.length-1]
|
||||
d.enableStack = false
|
||||
if(item.idx<(nav_list.count - layout_footer.count)){
|
||||
layout_footer.currentIndex = -1
|
||||
}else{
|
||||
layout_footer.currentIndex = item.idx-(nav_list.count-layout_footer.count)
|
||||
}
|
||||
nav_list.currentIndex = item.idx
|
||||
d.enableStack = true
|
||||
}
|
||||
}
|
||||
FluIconButton{
|
||||
@ -718,15 +716,6 @@ Item {
|
||||
}
|
||||
}
|
||||
}
|
||||
onCurrentIndexChanged: {
|
||||
if(d.enableStack){
|
||||
var item = model[currentIndex]
|
||||
if(item instanceof FluPaneItem){
|
||||
item.tap()
|
||||
d.stackItems.push(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
currentIndex: -1
|
||||
anchors{
|
||||
top: layout_header.bottom
|
||||
@ -771,15 +760,6 @@ Item {
|
||||
return footerItems.children
|
||||
}
|
||||
}
|
||||
onCurrentIndexChanged: {
|
||||
if(d.enableStack){
|
||||
var item = model[currentIndex]
|
||||
if(item instanceof FluPaneItem){
|
||||
item.tap()
|
||||
d.stackItems.push(item)
|
||||
}
|
||||
}
|
||||
}
|
||||
highlightMoveDuration: 150
|
||||
highlight: Item{
|
||||
clip: true
|
||||
@ -906,44 +886,43 @@ Item {
|
||||
}
|
||||
function setCurrentIndex(index){
|
||||
nav_list.currentIndex = index
|
||||
|
||||
var item = nav_list.model[index]
|
||||
if(item instanceof FluPaneItem){
|
||||
item.tap()
|
||||
}
|
||||
}
|
||||
function getItems(){
|
||||
return nav_list.model
|
||||
}
|
||||
function push(url,argument={}){
|
||||
if (nav_swipe.depth>0)
|
||||
{
|
||||
let page = nav_swipe.find(function(item) {
|
||||
return item.url === url;
|
||||
})
|
||||
if (page)
|
||||
if(nav_swipe.currentItem && nav_swipe.currentItem.url === url){
|
||||
return
|
||||
}
|
||||
let page = nav_swipe.find(function(item) {
|
||||
return item.url === url;
|
||||
})
|
||||
if(page){
|
||||
switch(page.pageMode)
|
||||
{
|
||||
switch(page.pageMode)
|
||||
case FluNavigationView.SingleTask:
|
||||
while(nav_swipe.currentItem !== page)
|
||||
{
|
||||
case FluNavigationView.SingleTask:
|
||||
while(nav_swipe.currentItem !== page)
|
||||
{
|
||||
nav_swipe.pop()
|
||||
d.stackItems.pop()
|
||||
}
|
||||
return
|
||||
case FluNavigationView.SingleTop:
|
||||
if (nav_swipe.currentItem.url === url)
|
||||
return
|
||||
break
|
||||
case FluNavigationView.Standard:
|
||||
default:
|
||||
nav_swipe.pop()
|
||||
d.stackItems.pop()
|
||||
}
|
||||
return
|
||||
case FluNavigationView.Standard:
|
||||
default:
|
||||
}
|
||||
}
|
||||
nav_swipe.push(url,Object.assign(argument,{url:url}))
|
||||
d.stackItems.push(nav_list.model[nav_list.currentIndex])
|
||||
}
|
||||
function getCurrentIndex(){
|
||||
return nav_list.currentIndex
|
||||
}
|
||||
function startPageByItem(data){
|
||||
var items = getItems();
|
||||
var items = getItems()
|
||||
for(var i=0;i<items.length;i++){
|
||||
var item = items[i]
|
||||
if(item.key === data.key){
|
||||
|
@ -12,7 +12,7 @@ Item {
|
||||
property int topPadding: 0
|
||||
property int rightPadding: 10
|
||||
property int bottomPadding: 10
|
||||
property int pageMode: FluNavigationView.Standard
|
||||
property int pageMode: FluNavigationView.SingleTask
|
||||
property string url: ''
|
||||
id:control
|
||||
FluText{
|
||||
|
Loading…
Reference in New Issue
Block a user