FluentUI/example/qml-Qt6/global/ItemsOriginal.qml

507 lines
16 KiB
QML
Raw Normal View History

2023-08-24 15:50:37 +08:00
pragma Singleton
import QtQuick
import FluentUI
FluObject{
property var navigationView
2023-10-19 22:52:36 +08:00
property var paneItemMenu
2023-08-24 15:50:37 +08:00
function rename(item, newName){
if(newName && newName.trim().length>0){
item.title = newName;
}
}
FluPaneItem{
id:item_home
count: 9
2023-10-10 15:06:44 +08:00
title:Lang.home
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
infoBadge:FluBadge{
count: item_home.count
}
icon:FluentIcons.Home
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Home.qml"
2023-08-24 15:50:37 +08:00
onTap:{
if(navigationView.getCurrentUrl()){
item_home.count = 0
}
2023-08-26 17:20:30 +08:00
navigationView.push(url)
2023-08-24 15:50:37 +08:00
}
}
2023-10-11 22:37:07 +08:00
FluPaneItemExpander{
title:"PaneItemExpander Disabled"
iconVisible: false
disabled: true
}
2023-08-24 15:50:37 +08:00
FluPaneItemExpander{
id:item_expander_basic_input
2023-10-10 15:06:44 +08:00
title:Lang.basic_input
2023-08-24 15:50:37 +08:00
icon:FluentIcons.CheckboxComposite
FluPaneItem{
id:item_buttons
count: 99
infoBadge:FluBadge{
count: item_buttons.count
}
title:"Buttons"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/Button.png"
recentlyUpdated:true
desc:"A control that responds to user input and raisesa Click event."
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Buttons.qml"
2023-08-24 15:50:37 +08:00
onTap:{
item_buttons.count = 0
2023-08-26 17:20:30 +08:00
navigationView.push(url)
2023-08-24 15:50:37 +08:00
}
}
FluPaneItem{
id:item_text
title:"Text"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
count: 5
infoBadge:FluBadge{
count: item_text.count
color: Qt.rgba(82/255,196/255,26/255,1)
}
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Text.qml"
2023-09-07 18:07:23 +08:00
onTap:{
item_text.count = 0
navigationView.push(url)
}
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Image"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Image.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Slider"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/Slider.png"
recentlyUpdated:true
desc:"A control that lets the user select from a rangeof values by moving a Thumb control along atrack."
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Slider.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"CheckBox"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/Checkbox.png"
recentlyUpdated:true
desc:"A control that a user can select or clear."
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_CheckBox.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"RadioButton"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_RadioButton.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"ToggleSwitch"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_ToggleSwitch.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
2023-09-25 18:10:24 +08:00
FluPaneItem{
title:"PaneItem Disabled"
disabled: true
icon: FluentIcons.Error
}
2023-08-24 15:50:37 +08:00
}
FluPaneItemExpander{
2023-10-10 15:06:44 +08:00
title:Lang.form
2023-08-24 15:50:37 +08:00
icon:FluentIcons.GridView
FluPaneItem{
title:"TextBox"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_TextBox.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"TimePicker"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_TimePicker.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"DatePicker"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_DatePicker.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"CalendarPicker"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_CalendarPicker.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"ColorPicker"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_ColorPicker.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
2023-12-01 18:14:10 +08:00
FluPaneItem{
title:"ShortcutPicker(ToDo)"
menuDelegate: paneItemMenu
url:"qrc:/example/qml/page/T_ShortcutPicker.qml"
onTap:{ navigationView.push(url) }
}
2023-08-24 15:50:37 +08:00
}
FluPaneItemExpander{
2023-10-10 15:06:44 +08:00
title:Lang.surface
2023-08-24 15:50:37 +08:00
icon:FluentIcons.SurfaceHub
FluPaneItem{
title:"InfoBar"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/InfoBar.png"
recentlyUpdated:true
desc:"An inline message to display app-wide statuschange information."
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_InfoBar.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Progress"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Progress.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"RatingControl"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_RatingControl.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Badge"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Badge.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Rectangle"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Rectangle.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
2023-09-27 15:18:10 +08:00
FluPaneItem{
title:"Clip"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-09-27 15:18:10 +08:00
url:"qrc:/example/qml/page/T_Clip.qml"
onTap:{ navigationView.push(url) }
}
2023-08-24 15:50:37 +08:00
FluPaneItem{
title:"StatusView"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_StatusView.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Carousel"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Carousel.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Expander"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Expander.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
2023-08-30 17:18:49 +08:00
FluPaneItem{
title:"StaggeredView"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-30 17:18:49 +08:00
url:"qrc:/example/qml/page/T_StaggeredView.qml"
onTap:{ navigationView.push(url) }
}
2023-08-24 15:50:37 +08:00
FluPaneItem{
title:"Watermark"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Watermark.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
}
FluPaneItemExpander{
2023-10-10 15:06:44 +08:00
title:Lang.popus
2023-08-24 15:50:37 +08:00
icon:FluentIcons.ButtonMenu
FluPaneItem{
title:"Dialog"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Dialog.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
id:item_combobox
title:"ComboBox"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
count: 9
infoBadge:FluBadge{
count: item_combobox.count
color: Qt.rgba(250/255,173/255,20/255,1)
}
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_ComboBox.qml"
2023-08-24 15:50:37 +08:00
onTap:{
item_combobox.count = 0
navigationView.push("qrc:/example/qml/page/T_ComboBox.qml")
}
}
FluPaneItem{
title:"Tooltip"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Tooltip.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Menu"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Menu.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
}
FluPaneItemExpander{
2023-10-10 15:06:44 +08:00
title:Lang.navigation
2023-08-24 15:50:37 +08:00
icon:FluentIcons.AllApps
FluPaneItem{
title:"Pivot"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/Pivot.png"
recentlyAdded:true
order:3
desc:"Presents information from different sources in atabbed view."
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Pivot.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"BreadcrumbBar"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_BreadcrumbBar.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"TabView"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/TabView.png"
recentlyAdded:true
order:1
desc:"A control that displays a collection of tabs thatcan be used to display several documents."
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_TabView.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
2023-09-22 17:35:02 +08:00
title:"TreeView"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_TreeView.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"TableView"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/DataGrid.png"
recentlyAdded:true
order:4
desc:"The TableView control provides a flexible way to display a collection of data in rows and columns"
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_TableView.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Pagination"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Pagination.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"MultiWindow"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_MultiWindow.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"FlipView"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
image:"qrc:/example/res/image/control/FlipView.png"
recentlyAdded:true
order:2
desc:"Presents a collection of items that the user canflip through, one item at a time."
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_FlipView.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
}
FluPaneItemExpander{
2023-10-10 15:06:44 +08:00
title:Lang.theming
2023-08-24 15:50:37 +08:00
icon:FluentIcons.Brightness
FluPaneItem{
title:"Acrylic"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Acrylic.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Theme"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Theme.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Typography"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Typography.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Awesome"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Awesome.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
}
FluPaneItemSeparator{
spacing:10
size:1
}
FluPaneItemExpander{
2023-10-10 15:06:44 +08:00
title:Lang.other
2023-08-24 15:50:37 +08:00
icon:FluentIcons.Shop
FluPaneItem{
title:"QRCode"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_QRCode.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Tour"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Tour.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Timeline"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Timeline.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
2023-09-08 00:21:28 +08:00
title:"Screenshot(Todo)"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Screenshot.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Captcha"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Captcha.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
FluPaneItem{
title:"Chart"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_Chart.qml"
onTap:{ navigationView.push(url) }
2023-08-24 15:50:37 +08:00
}
2023-11-23 18:18:28 +08:00
FluPaneItem{
title:"Network"
menuDelegate: paneItemMenu
url:"qrc:/example/qml/page/T_Network.qml"
onTap:{ navigationView.push(url) }
}
2023-08-24 15:50:37 +08:00
FluPaneItem{
id:item_other
title:"RemoteLoader"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-08-24 15:50:37 +08:00
count: 99
infoBadge:FluBadge{
count: item_other.count
color: Qt.rgba(82/255,196/255,26/255,1)
}
2023-08-26 17:20:30 +08:00
url:"qrc:/example/qml/page/T_RemoteLoader.qml"
2023-08-24 15:50:37 +08:00
onTap:{
item_other.count = 0
navigationView.push("qrc:/example/qml/page/T_RemoteLoader.qml")
}
}
FluPaneItem{
title:"HotLoader"
2023-08-26 17:20:30 +08:00
onTapListener:function(){
2023-08-24 15:50:37 +08:00
FluApp.navigate("/hotload")
}
}
2023-10-03 16:18:53 +08:00
FluPaneItem{
title:"3D"
2023-10-19 22:52:36 +08:00
menuDelegate: paneItemMenu
2023-10-03 16:18:53 +08:00
url:"qrc:/example/qml/page/T_3D.qml"
onTap:{ navigationView.push(url) }
}
2023-08-24 15:50:37 +08:00
}
function getRecentlyAddedData(){
var arr = []
for(var i=0;i<children.length;i++){
var item = children[i]
if(item instanceof FluPaneItem && item.recentlyAdded){
arr.push(item)
}
if(item instanceof FluPaneItemExpander){
for(var j=0;j<item.children.length;j++){
var itemChild = item.children[j]
if(itemChild instanceof FluPaneItem && itemChild.recentlyAdded){
arr.push(itemChild)
}
}
}
}
arr.sort(function(o1,o2){ return o2.order-o1.order })
return arr
}
function getRecentlyUpdatedData(){
var arr = []
var items = navigationView.getItems();
for(var i=0;i<items.length;i++){
var item = items[i]
if(item instanceof FluPaneItem && item.recentlyUpdated){
arr.push(item)
}
}
return arr
}
function getSearchData(){
2023-09-17 20:36:33 +08:00
if(!navigationView){
return
}
2023-08-24 15:50:37 +08:00
var arr = []
var items = navigationView.getItems();
for(var i=0;i<items.length;i++){
var item = items[i]
if(item instanceof FluPaneItem){
if (item.parent instanceof FluPaneItemExpander)
{
arr.push({title:`${item.parent.title} -> ${item.title}`,key:item.key})
}
else
arr.push({title:item.title,key:item.key})
}
}
return arr
}
function startPageByItem(data){
navigationView.startPageByItem(data)
}
}