Reputation: 121
Flexible Column Layout App when opened second time from Launchpad it shows up error "adding element with duplicate id 'application-CSR_Flexible-monitor-component---detail--zstmViewvizFramePopOver'
Object.view.xml ==> 4th Block has got Viz Frame.
<l:FixFlex id="chartFixFlex" minFlexSize="400">
<l:flexContent title="Order Holds Overview" visible="{zstmView>/FlexContent}">
<viz:Popover id="zstmViewvizFramePopOver"/>
<viz:VizFrame id="zstmViewvizFrame" uiConfig="{applicationSet:'fiori'}" busy="{zstmView>/VizFramebusy}" visible="{zstmView>/VizFrameshow}" height="100%" width="100%" vizType="pie" selectData=".onSelect">
<viz:dataset>
<viz.data:FlattenedDataset data="{zstm_vizFrame>/stat}">
<viz.data:dimensions>
<viz.data:DimensionDefinition name="HoldText" value="{zstm_vizFrame>HoldText}"/>
</viz.data:dimensions>
<viz.data:measures>
<viz.data:MeasureDefinition name="Count" value="{zstm_vizFrame>Count}"/>
</viz.data:measures>
</viz.data:FlattenedDataset>
</viz:dataset>
<viz:feeds>
<viz.feeds:FeedItem uid="size" type="Measure" values="Count"/>
<viz.feeds:FeedItem uid="color" type="Dimension" values="HoldText"/>
</viz:feeds>
</viz:VizFrame>
</l:flexContent>
</l:FixFlex>
First Load will initialize Chart Content in inInit() method. Object View inInit method doesn't trigger second time.
var oVizFrame = oView.byId("zstmViewvizFrame");
oVizFrame.setVizProperties({
legend: {
title: {
visible: true
}
},
title: {
visible: true
}
});
jQuery.sap.require("sap/suite/ui/commons/ChartContainer");
var oChartContainerContent = new sap.suite.ui.commons.ChartContainerContent({
icon : "sap-icon://pie-chart",
title : "Customer Order Holds Overview",
content : [ oVizFrame ]
});
var oChartContainer = new sap.suite.ui.commons.ChartContainer({
content : [ oChartContainerContent ]
});
oChartContainer.setShowFullScreen(true);
oChartContainer.setAutoAdjustHeight(true);
oChartContainer.setShowZoom(true);
oView.byId("chartFixFlex").setFlexContent(oChartContainer);
Any idea why the error?
Upvotes: 0
Views: 4578
Reputation: 29
In my case, I solved this issue by removing from the manifest.json file in the Targets array the property "ViewId" and just keeping "ViewName" and "ViewType".
I changed my code from this
"targets": {
"View1": {
"viewType": "XML",
"viewId": "View1",
"viewName": "View1"
},
"View2": {
"viewType": "XML",
"viewName": "View2"
}
}
To this
"targets": {
"View1": {
"viewType": "XML",
"viewName": "View1"
},
"View2": {
"viewType": "XML",
"viewName": "View2"
}
}
Upvotes: 2