Opened 10 years ago
Closed 7 years ago
#15857 closed defect (patchwelcome)
Unable to get value of the property 'dirty': object is null or undefined
Reported by: | daniel.payne | Owned by: | cjolif |
---|---|---|---|
Priority: | low | Milestone: | 1.13 |
Component: | Charting | Version: | 1.8.0 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
When i try to update a graph's series i get the following
Microsoft JScript runtime error: Unable to get value of the property 'dirty': object is null or undefined
Test code
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Untitled</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- REMOVE FOR PRODUCTION --> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="pragma" content="no-cache">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/> <meta name="apple-mobile-web-app-capable" content="yes" />
<script>
var dojoConfig = {
isDebug: true, parseOnLoad: false, async: true
};
</script>
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.8.0/dojo/dojo.js"></script>
<script type="text/javascript">
require([
"dijit/registry", "dojo/dom", "dojo/parser",
"dojox/charting/widget/Chart", "dojox/charting/axis2d/Default", "dojox/charting/plot2d/Areas", "dojox/charting/plot2d/Lines", "dojox/charting/plot2d/Columns",
"dojo/domReady!"
], function (registry, dom, parser) {
parser.parse();
window.testFunction = function (){
registry.byId("chartConsignments").chart.updateSeries("seriesUtilization" , [10,20,50,10,5,60] );
registry.byId("chartConsignments").chart.render();
dom.byId("AnchorDoTest?").innerHTML = 'Test Complete';
};
});
</script>
</head>
<body >
<div dojoType="dojox.charting.widget.Chart" id="chartConsignments" style="width: 100%; height: 180px;" >
<div class="axis" name="axisY" vertical="true" min="-30" max="30" ></div>
<div class="plot" name="plotEmptys" type="Columns" gap="12" tension= "3" markers="false" vAxis="axisY" ></div> <div class="plot" name="plotUtilizations" type="Columns" gap="10" tension= "3" markers="false" vAxis="axisY" ></div>
<div class="series" name="seriesEmptyRunning" plot="plotEmptys"
data="-21, -12, -21.3, -23.2, -6.3, -100, -12.3, -27.3">
</div>
<div class="series" name="seriesUtilization" plot="plotUtilizations"
data="26.8, 26.2, 27.4, 25.3, 26.4, 0.0, 26.5, 26.3">
</div>
</div>
<a href="#" onclick="window.testFunction();">Run Test</a>
</body> </html>
Change History (5)
comment:1 Changed 10 years ago by
Component: | General → Charting |
---|---|
Owner: | set to Eugene Lazutkin |
comment:2 Changed 10 years ago by
comment:3 Changed 10 years ago by
Owner: | changed from Eugene Lazutkin to cjolif |
---|---|
Status: | new → assigned |
comment:4 Changed 10 years ago by
Priority: | undecided → low |
---|
I guess this should work in theory however I would recommend you adding a x axis to your chart. If you do that (you can use an invisible axis if you want) it will work without waiting for a fix and this is probably a simpler workaround than the one your proposed.
comment:5 Changed 7 years ago by
Milestone: | tbd → 1.12 |
---|---|
Resolution: | → patchwelcome |
Status: | assigned → closed |
Given that no one has shown interest in creating a patch in the past 3+ years, I'm closing this as patchwelcome.
tried replacing updateSeries with
registry.byId("chartConsignments").chart.series[0].update( [10,20,50,10] );
still error in same place
WORKAROUND
removeSeries() addSeries() render()
example:
registry.byId("chartConsignments").chart.removeSeries("seriesUtilization"); registry.byId("chartConsignments").chart.addSeries("seriesUtilization", [1, 2, 3, 4, 5], {plot: "plotUtilizations"} ); registry.byId("chartConsignments").chart.render();