cancel
Showing results for 
Search instead for 
Did you mean: 

BusyIndicator error SAPUI5

imihailovs
Explorer

Hi all,

Since two days now I am seeing the following error in the console when executing UI5 application:

data type 'sap.ui.core.BusyIndicatorSize' could not be found
Uncaught TypeError: Cannot read property 'Small' of undefined
    at Function.B.addHTML (BusyIndicatorUtils-dbg.js:88)
    at f.A (Control-dbg.js:709)
    at jquery.sap.script-dbg.js:64

I haven't changed any script usage and UI is being bootstrapped as follows:

src="resources/sap-ui-core.js"

Does anyone have a clue on what is going on? I had to remove busy indicators from my pages in order to be able to fetch OData successfully.

Regards,

Ilja.

ericci
Active Contributor
0 Kudos

can you show us your code?

imihailovs
Explorer
0 Kudos

A bit long, but here goes an XML of one of the views:

<mvc:View
	controllerName="com.wca.ra.contracts.list.MasterDetailTest.controller.Detail"
	xmlns:viz="sap.viz.ui5.controls"
	xmlns:viz.data="sap.viz.ui5.data"
	xmlns:viz.feeds="sap.viz.ui5.controls.common.feeds"
	xmlns:cmns="sap.suite.ui.commons"
	xmlns="sap.m"
	xmlns:mvc="sap.ui.core.mvc"
	xmlns:semantic="sap.m.semantic">
	<semantic:DetailPage
		id="page"
		navButtonPress="onNavBack"
		showNavButton="{device>/system/phone}"
		title="Contract {ID} performance obligations"
		busy="{detailView>/busy}"
		busyIndicatorDelay="{detailView>/delay}">
		
		<semantic:content>
			<ObjectHeader
				id="objectHeader"
				title="{
					path: 'Status',
					formatter: '.formatter.statusText'
				}"
				number="{
					path: 'TrxPrice',
					formatter: '.formatter.currencyValue'
				}"
				numberUnit="{TrxPriceCurk}">
			</ObjectHeader>
			<Text class="sapUiResponsiveContentPadding" text="Created at: {ContrCreatedOn}"/>
			<IconTabBar
				id="idIconTabBarMulti"
				expanded="{device>/isNoPhone}"
				class="sapUiResponsiveContentPadding">
			<items>
			<IconTabFilter id="listTab" icon="sap-icon://hint">
			<Table
				id="lineItemsList"
				width="auto"
				items="{ContractToPOB}"
				updateFinished="onListUpdateFinished"
				noDataText="{i18n>detailLineItemTableNoDataText}"
				class="sapUiResponsiveMargin">
				<headerToolbar>
					<Toolbar id="lineItemsToolbar">
						<Title
							id="lineItemsHeader"
							text="{detailView>/lineItemListTitle}"/>
					</Toolbar>
				</headerToolbar>
				<columns>
					<Column>
						<Text text="{i18n>detailLineItemTableIDColumn}"/>
					</Column>
					<Column>
						<Text text="POB type"/>
					</Column>
					<Column>
						<Text text="Principle"/>
					</Column>
					<Column>
						<Text text="Quantity"/>
					</Column>
					<Column
						minScreenWidth="Tablet"
						demandPopin="true"
						hAlign="End">
						<Text text="{i18n>detailLineItemTableUnitNumberColumn}"/>
					</Column>
				</columns>
				<items>
					<ColumnListItem>
						<cells>
							<ObjectIdentifier
								title="{PobName}"
								text="{PobId}"/>
							<Text text="{PobType}"/>
							<Text text="{AcctPrinciple}"/>
							<ObjectNumber
								number="{
									path: 'Quantity',
									formatter: '.formatter.currencyValue'
								}"
								unit="{QuantityUnit}"/>
							<ObjectNumber
								number="{
									path: 'AllocAmt',
									formatter: '.formatter.currencyValue'
								}"
								unit="{AllocAmtCurk}"/>
						</cells>
					</ColumnListItem>
				</items>
			</Table>
			</IconTabFilter>
			<IconTabFilter id="chartTab" icon="sap-icon://donut-chart">
				<cmns:ChartContainer
					id="chartContainer"
					showFullScreen="true"
					showPersonalization="false"
					autoAdjustHeight="false"
					personalizationPress="attachPersonalizationPress"
					contentChange="attachContentChange"
					title="Revenue allocation">
					<cmns:content>
						<cmns:ChartContainerContent icon="sap-icon://line-chart" title="Line Chart">
							<cmns:content>
								<viz:VizFrame id="idVizFrame" vizProperties="{ title: {text : '', visible : false}}" uiConfig="{applicationSet:'fiori'}" height='500px' width="500px" vizType='donut'>
                					<viz:dataset>
                    					<viz.data:FlattenedDataset data="{ContractToPOB}">
                        					<viz.data:dimensions>
                            					<viz.data:DimensionDefinition name="Type" value="{PobType}" />
                        					</viz.data:dimensions>
                        					<viz.data:measures>
                            					<viz.data:MeasureDefinition name="Amount" value="{AllocAmt}" />
                        					</viz.data:measures>
                    					</viz.data:FlattenedDataset>
                					</viz:dataset>
                					<viz:feeds>
                    					<viz.feeds:FeedItem uid="size" type="Measure" values="Amount" />
                    					<viz.feeds:FeedItem uid="color" type="Dimension" values="Type" />
                					</viz:feeds>
            					</viz:VizFrame>
            				</cmns:content>
						</cmns:ChartContainerContent>
					</cmns:content>
				</cmns:ChartContainer>
			</IconTabFilter>
			</items>
			</IconTabBar>
		</semantic:content>
		<semantic:sendEmailAction>
			<semantic:SendEmailAction
				id="shareEmail"
				press="onShareEmailPress"/>
		</semantic:sendEmailAction>
	</semantic:DetailPage>
</mvc:View>

Accepted Solutions (0)

Answers (3)

Answers (3)

mvaibhav
Contributor
0 Kudos

hi,

You can try by modifying the src tag.

src = "/resources/sap-ui-core.js"

Thanks,
Vaibhav
imihailovs
Explorer
0 Kudos

For now the workaround is to set "busy" property of <List> control to "false" and to increase the busyIndicatorDelay to 10,000 (e.g.).

Sharathmg
Active Contributor
0 Kudos

The options for busy indicator size are: Auto, Large, Medium and Small.

The actual API of BusyIndicator has options to set the size to show the users.

More details are below:

https://experience.sap.com/fiori-design-web/busy-indicator/#usage

https://sapui5.hana.ondemand.com/#/api/sap.ui.core.BusyIndicator/overview

https://sapui5.hana.ondemand.com/docs/api//symbols/sap.ui.core.BusyIndicatorSize.html

Regards,

Sharath

imihailovs
Explorer
0 Kudos

Well it seems that something is indeed broken in the UI5 library since I am not setting nor controlling the size of the indicator. As I understand it is an integral part of <List> control.

Are you aware on how can I change the built-in control's indicator size? Perhaps via CSS?

Sharathmg
Active Contributor
0 Kudos

Maybe try to set a breakpoint at a point in controller Init, where you can actually check if the busy indicator control is getting loaded, if yes, the size property.

Else, try to manually set the size property to medium of small in your code.

Regards,

Sharath