ArcGIS for Developers

AppFilter QML Type

Provides filter capabilities for the AppInfoList component. More...

Import Statement: import ArcGIS.AppFramework 1.0
Inherits:

AppFrameworkObject

Properties

Signals

Methods

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

access : QStringList

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"

hidden : bool

Filters the app list based on if the app is hidden in the ArcGIS Online org or Portal account.


local : bool

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();
}

matchFunction : var


onlineOnly : bool

Filter the app list based on the apps only available online.

appInfoList.filter.onlineOnly = true;

owner : string

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";

owners : QStringList

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];
                            }
                    }
            }
}

published : bool

Filter the app list based on apps which have been published online.

appInfoList.filter.published = true

tags : QStringList

Filter the app list based on app's tags provided in the app's iteminfo.json file.


text : string

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"

types : int

Originally, filtered based on the type of app. This property is no longer in use.


updateAvailable : bool

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

updatedLocally : bool

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

filterChanged()

Signal emitted when the filter being applied has changed.


Method Documentation

clear()

Clears all properties from the filter.