<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"
    xmlns:dt="sap.ui.dt"
	template:require="sap.suite.ui.generic.template.changeHandler.js.AnnotationHelperForDesignTime">

    <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'}::Determining"
			type="{= ${parameter>/isFiori3Enabled} ? 'Default' : 'Transparent'}"
			dt:annotation="{parts: [{path: 'parameter>/entityType'}, {value: 'com.sap.vocabularies.UI.v1.Identification'}, {path: 'dataField>Action'}, {path: 'dataField>'}], formatter: 'sap.suite.ui.generic.template.changeHandler.js.AnnotationHelperForDesignTime.createInstanceMetadataWithPath'}"
	        text="{= ${path: 'dataField>Label', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}}"
            visible="{parts: [{path: 'parameter>/settings/routeConfig/'}, {path: 'action>sap:applicable-path'}, {path: 'dataField>'}], formatter: 'sap.suite.ui.generic.template.js.AnnotationHelper.actionControlDetermining'}"
	        press="{= ${dataField>RecordType} === 'com.sap.vocabularies.UI.v1.DataFieldForAction' ? '._templateEventHandlers.onDeterminingDataFieldForAction' : '._templateEventHandlers.onDeterminingDataFieldForIntentBasedNavigation'}">
	        <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'}" />
	            <template:if test="{= ${dataField>RecordType} === 'com.sap.vocabularies.UI.v1.DataFieldForIntentBasedNavigation'}">
	                <core:CustomData key="SemanticObject"
	                    value="{path: 'dataField>SemanticObject', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
	                <core:CustomData key="RequiresContext"
	                    value="{path: 'dataField>RequiresContext', formatter: 'sap.ui.model.odata.AnnotationHelper.format'}" />
	            </template:if>
	            <template:with path="dataField>Action"
	            			   helper="sap.ui.model.odata.AnnotationHelper.gotoFunctionImport"
	            			   var="action">
	            	<core:CustomData key="ActionFor"
	            		value="{action>sap:action-for}" />
                </template:with>
	        </customData>
	    </Button>
    </template:with>

</core:FragmentDefinition>
