<core:FragmentDefinition
    xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
    xmlns="sap.m" xmlns:build="sap.build" xmlns:core="sap.ui.core">

    <template:if test="{= ${dataField>RecordType} === 'com.sap.vocabularies.UI.v1.DataFieldForAction'}">
        <template:then>
          <template:with path="dataField>Action"
                   helper="sap.ui.model.odata.AnnotationHelper.gotoFunctionImport"
                   var="action">
            <Button
                id="{parts: [{path: 'dataField>'}, {path: 'facet>'}], formatter: 'sap.suite.ui.generic.template.js.AnnotationHelper.getStableIdPartForDatafieldActionButton'}{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'sap.suite.ui.generic.template.js.AnnotationHelper.getSuffixFromIconTabFilterKey'} : ''}"
                text="{= !${dataField>IconUrl} || ${dataField>IconUrl/String} === '' ? ${path: 'dataField>Label', formatter: 'sap.ui.model.odata.AnnotationHelper.format'} : '' }"
                tooltip="{= ${dataField>IconUrl} &amp;&amp; ${dataField>IconUrl/String} !== '' ? ${path: 'dataField>Label', formatter: 'sap.ui.model.odata.AnnotationHelper.format'} : '' }"
                icon="{= ${dataField>IconUrl} &amp;&amp; ${dataField>IconUrl/String} !== '' ? ${path: 'dataField>IconUrl', formatter: 'sap.ui.model.odata.AnnotationHelper.format'} : '' }"
                press="._templateEventHandlers.onInlineDataFieldForAction"
                visible="{path: 'action>sap:applicable-path', formatter: 'sap.suite.ui.generic.template.js.AnnotationHelper.actionControlInline'}"
	            ariaLabelledBy="{columnId>id}">
                <customData>
                    <core:CustomData key="Action"
                        value="{path: 'dataField>Action', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
                    <core:CustomData key="Label"
                        value="{path: 'dataField>Label', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
                </customData>
            </Button>
            </template:with>
        </template:then>
        <template:elseif test="{= ${dataField>RecordType} === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation'}">
            <Button
                id="{parts: [{path: 'dataField>'}, {path: 'facet>'}], formatter: 'sap.suite.ui.generic.template.js.AnnotationHelper.getStableIdPartForDatafieldActionButton'}{= ${parameter>/settings/quickVariantSelectionX} ? ${path: 'tabItem>', formatter: 'sap.suite.ui.generic.template.js.AnnotationHelper.getSuffixFromIconTabFilterKey'} : ''}"
                text="{= !${dataField>IconUrl} || ${dataField>IconUrl/String} === '' ? ${path: 'dataField>Label', formatter: 'sap.ui.model.odata.AnnotationHelper.format'} : '' }"
                tooltip="{= ${dataField>IconUrl} &amp;&amp; ${dataField>IconUrl/String} !== '' ? ${path: 'dataField>Label', formatter: 'sap.ui.model.odata.AnnotationHelper.format'} : '' }"
                icon="{= ${dataField>IconUrl} &amp;&amp; ${dataField>IconUrl/String} !== '' ? ${path: 'dataField>IconUrl', formatter: 'sap.ui.model.odata.AnnotationHelper.format'} : '' }"
                press="._templateEventHandlers.onInlineDataFieldForIntentBasedNavigation"
                ariaLabelledBy="{columnId>id}">
                <customData>
                    <core:CustomData key="SemanticObject"
                        value="{path: 'dataField>SemanticObject', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
                    <core:CustomData key="Action"
                        value="{path: 'dataField>Action', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
                    <core:CustomData key="Label"
                        value="{path: 'dataField>Label', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
                    <core:CustomData key="RequiresContext"
                        value="{path: 'dataField>RequiresContext', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
                </customData>
            </Button>
        </template:elseif>
    </template:if>

</core:FragmentDefinition>
