Provides filter capabilities for the AppInfoList component. More...
Import Statement: | import ArcGIS.AppFramework 1.0 |
Inherits: |
Properties
- access : QStringList
- hidden : bool
- local : bool
- matchFunction : var
- onlineOnly : bool
- owner : string
- owners : QStringList
- published : bool
- tags : QStringList
- text : string
- types : int
- updateAvailable : bool
- updatedLocally : bool
Signals
Methods
- clear()
Detailed Description
The AppFilter component provides filter capabilities for the AppInfoList component. This is primarily used in ArcGIS AppStudio and AppStudio Player to provide filtering when listing apps, based on properties such as access info, search text, etc. The contents of this component can only be populated indirectly, through the filter function in AppInfoList. It cannot populate itself.
Property Documentation
Filters the app list based on the value denoting how the app has been shared. This can be one of four values: "public", "private", "shared" or "org". This information is provided in the app's iteminfo.json file.
appinfolist.filter.access = "org"
Filters the app list based on if the app is hidden in the ArcGIS Online org or Portal account.
Filter the app list based on the apps available locally on the device.
if(online) { model1.append({text: qsTr("All")}); model1.append({text: qsTr("Local")}); model1.append({text: qsTr("Online")}); appInfoList.filter.local = false; appInfoList.filter.onlineOnly = false; appInfoList.refresh(); } else { model1.append({text: qsTr("Local")}); appInfoList.filter.onlineOnly = false; appInfoList.filter.local = true; appInfoList.refresh(); }
Filter the app list based on the apps only available online.
appInfoList.filter.onlineOnly = true;
Filters the app list based on the provided username of app owner. This information is provided in the app's iteminfo.json file.
appInfoList.filter.owner = "JohnD_appstudio";
Filters the app list based on one or multiple app owners' info.
ComboBox{ anchors.fill: parent clip: true style: comboBoxStyle model: ListModel{ ListElement { text: qsTr("All Apps")} ListElement { text: qsTr("My Apps")} } onActivated: { if(index == 0) { appInfoList.filter.owners = []; } if(index == 1) { if(appPlayer.portal && appPlayer.portal.username) { appInfoList.filter.owners = [appPlayer.portal.user.username]; } } } }
Filter the app list based on apps which have been published online.
appInfoList.filter.published = true
Filter the app list based on app's tags provided in the app's iteminfo.json file.
Filter the app list based on the title, description, and owner name provided in the iteminfo.json of the app.
appInfoList.filter.text = "Quick Report"
Filter the app list based on apps that have an update available for the app's local files. You must be logged in to ArcGIS Online to access this filter.
appInfoList.filter.updateAvailable = true
Filter the app list based on apps which have been updated locally on the device. You must be logged in to ArcGIS Online to access this filter.
appInfoList.filter.updatedLocally = true
Signal Documentation
Signal emitted when the filter being applied has changed.
Note: The corresponding handler is onFilterChanged
.