<mvc:View
    controllerName="<%- app.id %>.controller.List"
    xmlns="sap.m"
    xmlns:semantic="sap.f.semantic"
    xmlns:mvc="sap.ui.core.mvc">

    <semantic:SemanticPage
        id="listPage"
        preserveHeaderStateOnScroll="true"
        toggleHeaderOnTitleClick="false">
        <semantic:titleHeading>
            <Title
                id="listPageTitle"
                text="{listView>/title}"
                level="H2"/>
        </semantic:titleHeading>
        <semantic:content>
            <!-- For client side filtering add this to the items attribute: parameters: {operationMode: 'Client'}}" -->
            <List
                id="list"
                width="auto"
                class="sapFDynamicPageAlignContent"
                items="{
                    path: '/<%=template.settings.entity.name%>',
                    sorter: {
                        path: '<%=template.settings.entity.idProperty%>',
                        descending: false
                    },
                    groupHeaderFactory: '.createGroupHeader'
                }"
                busyIndicatorDelay="{listView>/delay}"
                noDataText="{listView>/noDataText}"
                mode="{= ${device>/system/phone} ? 'None' : 'SingleSelectMaster'}"
                growing="true"
                growingScrollToLoad="true"
                updateFinished=".onUpdateFinished"
                selectionChange=".onSelectionChange">
<%if (template.settings.entity.numberProperty) {%>
                <infoToolbar>
                    <Toolbar
                        active="true"
                        id="filterBar"
                        visible="{listView>/isFilterBarVisible}"
                        press=".onOpenViewSettings">
                        <Title
                            id="filterBarLabel"
                            text="{listView>/filterBarLabel}"
                            level="H3"/>
                    </Toolbar>
                </infoToolbar>
<%}%>
                <headerToolbar>
                    <OverflowToolbar>
                        <SearchField
                            id="searchField"
                            showRefreshButton="true"
                            tooltip="{i18n>listSearchTooltip}"
                            search=".onSearch"
                            width="auto">
                            <layoutData>
                                <OverflowToolbarLayoutData
                                    minWidth="150px"
                                    maxWidth="240px"
                                    shrinkable="true"
                                    priority="NeverOverflow"/>
                            </layoutData>
                        </SearchField>
                        <ToolbarSpacer/>
                        <Button
                            id="sortButton"
                            press=".onOpenViewSettings"
                            icon="sap-icon://sort"
                            type="Transparent"/>
<%if (template.settings.entity.numberProperty) {%>
                        <Button
                            id="filterButton"
                            press=".onOpenViewSettings"
                            icon="sap-icon://filter"
                            type="Transparent"/>
                        <Button
                            id="groupButton"
                            press=".onOpenViewSettings"
                            icon="sap-icon://group-2"
                            type="Transparent"/>
<%}%>
                    </OverflowToolbar>
                </headerToolbar>
                <items>
                    <ObjectListItem
                        type="Navigation"
                        press=".onSelectionChange"
                        title="{<%=template.settings.entity.idProperty%>}"
                        <%if (template.settings.entity.numberProperty) {%>number="{
                            path: '<%=template.settings.entity.numberProperty%>',
                            formatter: '.formatter.numberUnit'
                        }"<%}%><%if (template.settings.entity.unitOfMeasureProperty) {%>
                        unit="{<%=template.settings.entity.unitOfMeasureProperty%>}"<%}%> />
                </items>
            </List>
        </semantic:content>
    </semantic:SemanticPage>
</mvc:View>