<core:FragmentDefinition
	xmlns="sap.m"
	xmlns:core="sap.ui.core"
	xmlns:baseEditor="sap.ui.integration.designtime.baseEditor"
>
	<VBox>
		<VBox
			items="{ path: 'itemsModel>/', templateShareable: false}"
			visible="{= ${itemsModel>/}.length === 0 ? false : true }"
		>
			<Panel expandable="true" width="auto">
				<headerToolbar>
					<Toolbar style="Clear">
						<Title text="{itemsModel>itemLabel}" titleStyle="H5" />
						<ToolbarSpacer />
						<Button
							icon="sap-icon://navigation-up-arrow"
							tooltip="{i18n>BASE_EDITOR.ARRAY.MOVEUP}"
							press="_moveUp"
							enabled="{= ${itemsModel>index} !== 0}"
							visible="{= ${config/allowSorting} !== false}"
						>
							<customData>
								<core:CustomData
									key="index"
									value="{itemsModel>index}"
								/>
							</customData>
						</Button>
						<Button
							icon="sap-icon://navigation-down-arrow"
							tooltip="{i18n>BASE_EDITOR.ARRAY.MOVEDOWN}"
							press="_moveDown"
							enabled="{= ${itemsModel>total} - 1 !== ${itemsModel>index}}"
							visible="{= ${config/allowSorting} !== false}"
						>
							<customData>
								<core:CustomData
									key="index"
									value="{itemsModel>index}"
								/>
							</customData>
						</Button>
						<Button
							icon="sap-icon://delete"
							tooltip="{i18n>BASE_EDITOR.ARRAY.REMOVE}"
							press="_removeItem"
							visible="{= ${config/allowAddAndRemove} !== false}"
						>
							<customData>
								<core:CustomData
									key="index"
									value="{itemsModel>index}"
								/>
							</customData>
						</Button>
					</Toolbar>
				</headerToolbar>
				<content>
					<baseEditor:PropertyEditors
						init="wrapperInit"
						propertyEditorsChange="_propertyEditorsChange"
						config="{itemsModel>properties}"
					/>
				</content>
			</Panel>
		</VBox>
		<Button
			text="{
				parts: [
					'i18n>BASE_EDITOR.ARRAY.ADD',
					'config/addItemLabel',
					'i18n>BASE_EDITOR.ARRAY.ITEM_LABEL'
				],
				formatter: '.formatAddItemText'
			}"
			enabled="{= !${config/maxItems} || (Array.isArray(${itemsModel>/}) &amp;&amp; ${itemsModel>/} || []).length &lt; ${config/maxItems} }"
			press="_addItem"
			visible="{= ${config/allowAddAndRemove} !== false}"
		/>
	</VBox>
</core:FragmentDefinition>