Skip to Content
0

BusyIndicator error SAPUI5

Mar 02 at 12:24 PM

160

avatar image

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.

10 |10000 characters needed characters left characters exceeded

can you show us your code?

0

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>

0
* Please Login or Register to Answer, Follow or Comment.

3 Answers

Sharath M G Mar 02 at 01:41 PM
0

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

Show 2 Share
10 |10000 characters needed characters left characters exceeded

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?

0

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

0
Ilja Mihailovs Mar 02 at 02:08 PM
0

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

Share
10 |10000 characters needed characters left characters exceeded
Vaibhav Maheshwari Mar 02 at 02:36 PM
0

hi,

You can try by modifying the src tag.

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

Thanks,
Vaibhav
Share
10 |10000 characters needed characters left characters exceeded