PageSourceSearch

https://evisaindien.de/ScriptResource.axd?d=btCw8ef5WOMpQgAlmrTxUq…UdjWfpjNUrv9FetYK1i7fWqXDnNnR8A2&t=51e37521

js evisaindien.de collected 2026-10-04 05:32:05 UTC 29,817 bytes, 548 lines download raw bytes

1// Name:        LineChart.LineChart.debug.js
2// Assembly:    AjaxControlToolkit
3// Version:     4.1.7.1213
4// FileVersion: 4.1.7.1213
5Type.registerNamespace("Sys.Extended.UI");
6
7Sys.Extended.UI.LineChart = function (element) {
8    Sys.Extended.UI.LineChart.initializeBase(this, [element]);
9    var id = this.get_id();
10    id = id.replace("_ctl00", "");
11    this._parentDiv = document.getElementById(id + "__ParentDiv");
12
13    this._chartWidth = '300';
14    this._chartHeight = '300';
15    this._chartTitle = '';
16    this._categoriesAxis = '';
17    this._series = null;
18    this._chartType = Sys.Extended.UI.LineChartType.Basic;
19    this._theme = 'LineChart';
20    this._valueAxisLines = 9;
21    this._chartTitleColor = '';
22    this._valueAxisLineColor = '';
23    this._categoryAxisLineColor = '';
24    this._baseLineColor = '';
25    this._tooltipBackgroundColor = '#ffffff';
26    this._tooltipFontColor = '#0E426C';
27    this._tooltipBorderColor = '#B85B3E';
28    this._areaDataLabel = '';
29
30    this.yMax = 0;
31    this.yMin = 0;
32    this.roundedTickRange = 0;
33    this.startX = 0;
34    this.startY = 0;
35    this.endX = 0;
36    this.endY = 0;
37    this.xInterval = 0;
38    this.yInterval = 0;
39    this.arrXAxis;
40    this.arrXAxisLength = 0;
41    this.charLength = 3.5;
42    this.arrCombinedData = null;
43    this._toolTipDiv;
44}
45
46Sys.Extended.UI.LineChart.prototype = {
47
48    initialize: function () {
49        Sys.Extended.UI.LineChart.callBaseMethod(this, "initialize");
50
51        if (!document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1")) {
52            throw 'Browser does not support SVG.';
53        }
54
55        if (this._valueAxisLines == 0) {
56            this._valueAxisLines = 9;
57        }
58
59        this.generateTooltipDiv();
60        this.generateLineChart();
61    },
62
63    dispose: function () {
64        Sys.Extended.UI.LineChart.callBaseMethod(this, "dispose");
65    },
66
67    generateTooltipDiv: function () {
68        this._divTooltip = $common.createElementFromTemplate({
69            nodeName: 'div',
70            properties: {
71                id: this.get_id() + '_tooltipDiv',
72                style: {
73                    position: 'absolute',
74                    backgroundColor: this._tooltipBackgroundColor,
75                    borderStyle: 'solid',
76                    borderWidth: '5px',
77                    borderColor: this._tooltipBorderColor,
78                    left: '0px',
79                    top: '0px',
80                    color: this._tooltipFontColor,
81                    visibility: 'hidden',
82                    zIndex: '10000',
83                    padding: '10px'
84                }
85            }
86        }, this._parentDiv);
87    },
88
89    generateLineChart: function () {
90
91        this.arrXAxis = this._categoriesAxis.split(',');
92        this.arrXAxisLength = this.arrXAxis.length;
93
94        this.calculateMinMaxValues();
95        this.calculateInterval();
96        this.calculateValueAxis();
97        var svgContents = this.initializeSVG();
98        svgContents = svgContents + String.format('<text x="{0}" y="{1}" id="ChartTitle" style="fill:{3}">{2}</text>', parseInt(this._chartWidth) / 2 - (this._chartTitle.length * this.charLength), parseInt(this._chartHeight) * 5 / 100, this._chartTitle, this._chartTitleColor);
99
100        svgContents = svgContents + this.drawBackgroundHorizontalLines();
101        svgContents = svgContents + this.drawBackgroundVerticalLines();
102        svgContents = svgContents + this.drawBaseLines();
103        svgContents = svgContents + this.drawLegendArea();
104        svgContents = svgContents + this.drawAxisValues();
105        this._parentDiv.innerHTML = this._parentDiv.innerHTML + svgContents;
106        this.drawLines();
107    },
108
109    calculateInterval: function () {
110        this.startX = (this._chartWidth * 10 / 100) + 0.5;
111        this.endX = parseInt(this._chartWidth) - 4.5;
112
113        if (this.yMin >= 0)
114            this.startY = Math.round(parseInt(this._chartHeight) - (parseInt(this._chartHeight) * 24 / 100)) + 0.5;
115        else
116            this.startY = Math.round(parseInt(this._chartHeight) - (parseInt(this._chartHeight) * 12 / 100)) / 2 + 0.5;
117
118        this.yInterval = this.startY / (this._valueAxisLines + 1);
119    },
120
121    calculateMinMaxValues: function (chartType) {
122        var seriesMax;
123        var seriesMin;
124        var arrData;
125
126        if (this._chartType == Sys.Extended.UI.LineChartType.Basic) {
127            for (var i = 0; i < this._series.length; i++) {
128                arrData = new Array();
129                for (var j = 0; j < this._series[i].Data.length; j++) {
130                    arrData[j] = this._series[i].Data[j];
131                }
132                seriesMax = Math.max.apply(null, arrData);
133                seriesMin = Math.min.apply(null, arrData);
134                if (i == 0) {
135                    this.yMax = seriesMax;
136                    this.yMin = seriesMin;
137                }
138                else {
139                    if (seriesMax > this.yMax)
140                        this.yMax = seriesMax;
141                    if (seriesMin < this.yMin)
142                        this.yMin = seriesMin;
143                }
144            }
145        }
146        else {
147            this.arrCombinedData = null;
148            for (var i = 0; i < this._series.length; i++) {
149                arrData = new Array();
150                for (var j = 0; j < this._series[i].Data.length; j++) {
151                    arrData[j] = this._series[i].Data[j];
152                }
153                if (this.arrCombinedData == null)
154                    this.arrCombinedData = arrData;
155                else {
156                    for (j = 0; j < this._series[i].Data.length; j++) {
157                        this.arrCombinedData[j] = parseFloat(this.arrCombinedData[j]) + parseFloat(arrData[j]);
158                    }
159                }
160            }
161
162            for (var i = 0; i < this._series.length; i++) {
163                seriesMin = Math.min.apply(null, this._series[i].Data);
164                if (i == 0) {
165                    this.yMin = seriesMin;
166                }
167                else {
168                    if (seriesMin < this.yMin)
169                        this.yMin = seriesMin;
170                }
171            }
172
173            this.yMax = Math.max.apply(null, this.arrCombinedData);
174        }
175
176        if (this.yMin < 0) {
177            this._valueAxisLines = Math.round(this._valueAxisLines / 2);
178        }
179    },
180
181    calculateValueAxis: function () {
182        var range;
183        var unroundedTickSize;
184        var x;
185        var pow10x;
186
187        if (this.yMin >= 0) {
188            range = this.yMax;
189        }
190        else {
191            range = this.yMax > Math.abs(this.yMin) ? this.yMax : Math.abs(this.yMin);
192        }
193
194        unroundedTickSize = range / (this._valueAxisLines - 1);
195        if (unroundedTickSize < 1) {
196            this.roundedTickRange = unroundedTickSize.toFixed(1);
197        }
198        else {
199            x = Math.ceil((Math.log(unroundedTickSize) / Math.log(10)) - 1);
200            pow10x = Math.pow(10, x);
201            this.roundedTickRange = Math.ceil(unroundedTickSize / pow10x) * pow10x;
202        }
203        this.startX = this.startX + (this.roundedTickRange * 10 * this._valueAxisLines / 10).toString().length * this.charLength;
204    },
205
206    drawBackgroundHorizontalLines: function () {
207        var horizontalLineContents = '';
208        for (var i = 1; i <= this._valueAxisLines; i++) {
209            horizontalLineContents = horizontalLineContents + String.format('<path d="M{0} {2} {1} {2}" id="HorizontalLine" style="stroke:{3}"></path>', this.startX, this.endX, this.startY - (this.yInterval * i), this._categoryAxisLineColor);
210        }
211
212        if (this.yMin < 0) {
213            for (var i = 1; i <= this._valueAxisLines; i++) {
214                horizontalLineContents = horizontalLineContents + String.format('<path d="M{0} {2} {1} {2}" id="HorizontalLine" style="stroke:{3}"></path>', this.startX, this.endX, this.startY + (this.yInterval * i), this._categoryAxisLineColor);
215            }
216        }
217        return horizontalLineContents;
218    },
219
220    drawBackgroundVerticalLines: function () {
221        var verticalLineContents = '';
222        this.xInterval = Math.round((parseInt(this._chartWidth) - this.startX) / this.arrXAxisLength);
223
224        for (var i = 0; i < this.arrXAxisLength; i++) {
225            verticalLineContents = verticalLineContents + String.format('<path id="VerticalLine" d="M{0} {1} {0} {2}" style="stroke:{3}"></path>', ((parseInt(this._chartWidth) - 5) - (this.xInterval * i)), (this.startY - (this.yInterval * this._valueAxisLines)), this.startY, this._valueAxisLineColor);
226        }
227
228        if (this.yMin < 0) {
229            for (var i = 0; i < this.arrXAxisLength; i++) {
230                verticalLineContents = verticalLineContents + String.format('<path id="VerticalLine" d="M{0} {1} {0} {2}" style="stroke:{3}"></path>', ((parseInt(this._chartWidth) - 5) - (this.xInterval * i)), (this.startY + (this.yInterval * this._valueAxisLines)), this.startY, this._valueAxisLineColor);
231            }
232        }
233        return verticalLineContents;
234    },
235
236    drawBaseLines: function () {
237        var baseLineContents = '';
238
239        baseLineContents = baseLineContents + String.format('<path d="M{0} {1} {2} {1}" id="BaseLine" style="stroke:{3}"></path>', this.startX, this.startY, this.endX, this._baseLineColor);
240        baseLineContents = baseLineContents + String.format('<path d="M{0} {1} {0} {2}" id="BaseLine" style="stroke:{3}"></path>', this.startX, (this.startY - (this.yInterval * this._valueAxisLines)), this.startY, this._baseLineColor);
241        baseLineContents = baseLineContents + String.format('<path d="M{0} {1} {0} {2}" id="BaseLine" style="stroke:{3}"></path>', this.startX, this.startY, this.startY + 4, this._baseLineColor);
242
243        for (var i = 0; i < this.arrXAxisLength; i++) {
244            baseLineContents = baseLineContents + String.format('<path d="M{0} {1} {0} {2}" id="BaseLine" style="stroke:{3}"></path>', ((parseInt(this._chartWidth) - 5) - (this.xInterval * i)), this.startY, this.startY + 4, this._baseLineColor);
245        }
246
247        for (var i = 0; i <= this._valueAxisLines; i++) {
248            baseLineContents = baseLineContents + String.format('<path d="M{0} {2} {1} {2}" id="BaseLine" style="stroke:{3}"></path>', this.startX - 4, this.startX, this.startY - (this.yInterval * i), this._baseLineColor);
249        }
250
251        if (this.yMin < 0) {
252            baseLineContents = baseLineContents + String.format('<path d="M{0} {1} {0} {2}" id="BaseLine" style="stroke:{3}"></path>', this.startX, (this.startY + (this.yInterval * this._valueAxisLines)), this.startY, this._baseLineColor);
253            for (var i = 1; i <= this._valueAxisLines; i++) {
254                baseLineContents = baseLineContents + String.format('<path d="M{0} {2} {1} {2}" id="BaseLine" style="stroke:{3}"></path>', this.startX - 4, this.startX, this.startY + (this.yInterval * i), this._baseLineColor);
255            }
256        }
257        return baseLineContents;
258    },
259
260    drawLegendArea: function () {
261        var legendContents = '';
262        var legendAreaStartHeight = (parseInt(this._chartHeight) * 82 / 100) + 5;        
263        var legendBoxWidth = 7.5;
264        var legendBoxHeight = 7.5;
265        var spaceInLegendContents = 5;
266
267        var legendCharLength = 0;
268        for (var i = 0; i < this._series.length; i++) {
269            legendCharLength = legendCharLength + this._series[i].Name.length;
270        }
271        var legendAreaWidth = Math.round((legendCharLength * 5) / 2) + Math.round((legendBoxWidth + (spaceInLegendContents * 2)) * this._series.length);
272        var isLegendNextLine = false;        
273        if (legendAreaWidth > parseInt(this._chartWidth) /2) {
274            legendAreaWidth = legendAreaWidth / 2;
275            isLegendNextLine = true;
276        }
277
278        legendContents = legendContents + '<g>';
279        legendContents = legendContents + String.format('<path d="M{0} {1} {2} {1} {2} {3} {0} {3} z" id="LegendArea" stroke=""></path>', parseInt(this._chartWidth) * 50 / 100 - (legendAreaWidth / 2), legendAreaStartHeight, Math.round(parseInt(this._chartWidth) * 50 / 100 + (legendCharLength * 5)) + Math.round((legendB
279oxWidth + (spaceInLegendContents * 2)) * this._series.length), Math.round(parseInt(this._chartHeight) * 97.5 / 100));
280
281        var startText = parseInt(this._chartWidth) * 50 / 100 - (legendAreaWidth / 2) + 5 + legendBoxWidth + spaceInLegendContents;
282        var nextStartText = startText;
283        var startLegend = parseInt(this._chartWidth) * 50 / 100 - (legendAreaWidth / 2) + 5;
284        var nextStartLegend = startLegend;
285        for (var i = 0; i < this._series.length; i++) {
286            if (isLegendNextLine && i == Math.round(this._series.length / 2)) {
287                startText = parseInt(this._chartWidth) * 50 / 100 - (legendAreaWidth / 2) + 5 + legendBoxWidth + spaceInLegendContents;
288                nextStartText = startText;
289                startLegend = parseInt(this._chartWidth) * 50 / 100 - (legendAreaWidth / 2) + 5;
290                nextStartLegend = startLegend;
291                legendAreaStartHeight = (parseInt(this._chartHeight) * 89 / 100) + 5;
292                isLegendNextLine = false;
293            }
294            startLegend = nextStartLegend;
295            startText = nextStartText;
296            legendContents = legendContents + String.format('<path d="M{0} {1} {2} {1} {2} {3} {0} {3} z" id="Legend{4}" style="fill:{5}"></path>', startLegend, legendAreaStartHeight + legendBoxHeight, startLegend + legendBoxWidth, legendAreaStartHeight + 15, i + 1, this._series[i].LineColor);
297            legendContents = legendContents + String.format('<text x="{0}" y="{1}" id="LegendText">{2}</text>', startText, legendAreaStartHeight + 15, this._series[i].Name);
298            if (this._series[i].Name.length > 10) {
299                nextStartLegend = startLegend + (this._series[i].Name.length * 5) + legendBoxWidth + (spaceInLegendContents * 2);
300                nextStartText = startText + (this._series[i].Name.length * 5) + legendBoxWidth + (spaceInLegendContents * 2);
301            }
302            else {
303                nextStartLegend = nextStartLegend + (this._series[i].Name.length * 6) + legendBoxWidth + (spaceInLegendContents * 2);
304                nextStartText = nextStartText + (this._series[i].Name.length * 6) + legendBoxWidth + (spaceInLegendContents * 2);
305            }
306        }
307        legendContents = legendContents + '</g>';
308        return legendContents;
309    },
310
311    drawAxisValues: function () {
312        var axisContents = '';
313        var textLength = 0;
314        for (var i = 0; i < this.arrXAxisLength; i++) {
315            textLength = this.arrXAxis[i].toString().length * this.charLength;
316            axisContents = axisContents + String.format('<text id="SeriesAxis" x="{0}" y="{1}" fill-opacity="1">{2}</text>', Math.round(this.startX + (this.xInterval * i) + (this.xInterval * 50 / 100) - (textLength)), this.startY + Math.round(this.yInterval * 65 / 100), this.arrXAxis[i]);
317        }
318
319        for (var i = 0; i <= this._valueAxisLines; i++) {
320            axisContents = axisContents + String.format('<text id="ValueAxis" x="{0}" y="{1}">{2}</text>', this.startX - ((this.roundedTickRange * 10 * i / 10).toString().length * 5.5) - 10, this.startY - (this.yInterval * i) + 3.5, this.roundedTickRange * 10 * i / 10);
321        }
322
323        if (this.yMin < 0) {
324            for (var i = 1; i <= this._valueAxisLines; i++) {
325                axisContents = axisContents + String.format('<text id="ValueAxis" x="{0}" y="{1}">-{2}</text>', this.startX - ((this.roundedTickRange * 10 * i / 10).toString().length * 5.5) - 15, this.startY + (this.yInterval * i), this.roundedTickRange * 10 * i / 10);
326            }
327        }
328
329        return axisContents;
330    },
331
332    initializeSVG: function () {
333        var svgContents = String.format('<?xml-stylesheet type="text/css" href="{0}.css"?>', this._theme);
334        svgContents = svgContents + String.format('<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="{0}" height="{1}" style="position: relative; display: block;">', this._chartWidth, this._chartHeight);
335        svgContents = svgContents + '<defs>';
336        svgContents = svgContents + '<linearGradient gradientTransform="rotate(0)">';
337        svgContents = svgContents + '<stop offset="0%" id="LinearGradient-Stop1"></stop>';
338        svgContents = svgContents + '<stop offset="25%" id="LinearGradient-Stop2"></stop>';
339        svgContents = svgContents + '<stop offset="100%" id="LinearGradient-Stop3"></stop></linearGradient>';
340        svgContents = svgContents + '</defs>';
341
342        svgContents = svgContents + String.format('<path fill="none" stroke-opacity="1" fill-opacity="1" stroke-linejoin="round" stroke-linecap="square" d="M5 {0} {1} {0} {1} {2} 5 {2} z"/>
342', parseInt(this._chartHeight) * 1 / 10 + 5, parseInt(this._chartWidth) - 5, parseInt(this._chartHeight) - parseInt(this._chartHeight) * 1 / 10);
343        svgContents = svgContents + String.format('<path id="ChartBackGround" stroke="" d="M0 0 {0} 0 {0} {1} 0 {1} z"/>', this._chartWidth, this._chartHeight);
344        svgContents = svgContents + String.format('<path fill="#fff" stroke-opacity="1" fill-opacity="0" stroke-linejoin="round" stroke-linecap="square" stroke="" d="M5 {0} {1} {0} {1} {2} 5 {2} z" />', parseInt(this._chartHeight) * 1 / 10 + 5, parseInt(this._chartWidth) - 5, parseInt(this._chartHeight) - parseInt(this._chartHeight) * 1 / 10);
345
346        return svgContents;
347    },
348
349    drawLines: function () {
350        var lineContents = '';
351        var yVal = 0;
352        var lastStartX;
353        var lastStartY;
354
355        lastStartX = new Array();
356        lastStartY = new Array();
357        for (var j = 0; j < this._series.length; j++) {
358            lastStartX[j] = this.startX;
359            lastStartY[j] = this.startY;
360        }
361        this.animateLines(this, lastStartX, lastStartY, 0, 0);
362    },
363
364    animateLines: function (me, lastStartX, lastStartY, yVal, index) {
365        for (var j = 0; j < me._series.length; j++) {
366            yVal = 0;
367            if (me._chartType == Sys.Extended.UI.LineChartType.Stacked) {
368                for (k = 0; k <= j; k++) {
369                    yVal = parseFloat(yVal) + parseFloat(me._series[k].Data[index]);
370                }
371            }
372            else {
373                yVal = me._series[j].Data[index];
374            }
375
376            if (me._chartType == Sys.Extended.UI.LineChartType.Stacked) {
377                if (me.arrCombinedData[index] > 0) {
378                    if (index > 0)
379                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<path d="M{0} {1} {2} {3}" id="Line{4}" style="fill:{5};stroke:{5}"></path>', lastStartX[j], lastStartY[j], me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) - 7.5, yVal);
380                    else
381                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) - 7.5, yVal);
382                }
383                else {
384                    if (index > 0)
385                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<path d="M{0} {1} {2} {3}" id="Line{4}" style="fill:{5};stroke:{5}"></path>', lastStartX[j], lastStartY[j], me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) + 7.5, yVal);
386                    else
387                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) + 7.5, yVal);
388                }
389            }
390            else {
391                if (yVal > 0) {
392                    if (index > 0)
393                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<path d="M{0} {1} {2} {3}" id="Line{4}" style="fill:{5};stroke:{5}"></path>', lastStartX[j], lastStartY[j], me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) - 7.5, yVal);
394                    else
395                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) - 7.5, yVal);
396                }
397                else {
398                    if (index > 0)
399                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<path d="M{0} {1} {2} {3}" id="Line{4}" style="fill:{5};stroke:{5}"></path>', lastStartX[j], lastStartY[j], me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) + 7.5, yVal);
400                    else
401                        me._parentDiv.innerHTML = me._parentDiv.innerHTML.replace('</svg>', '') + String.format('<circle id="Dot{2}" cx="{0}" cy="{1}" r="4" style="fill:{3};stroke:{3}" onmouseover="ShowTooltip(this, evt, {4}, \'{5}\')" onmouseout="HideTooltip(this, evt)"></circle>', me.startX + (me.xInterval * index) + (me.xInterval / 2), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)), j + 1, me._series[j].LineColor, yVal, me._areaDataLabel) + String.format('<text id="LegendText" x="{0}" y="{1}">{2}</text>', me.startX + (me.xInterval * index) + (me.xInterval * 20 / 100), me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange)) + 7.5, yVal);
402                }
403            }
404
405            lastStartX[j] = me.startX + (me.xInterval * index) + (me.xInterval / 2) + 3;
406            lastStartY[j] = me.startY - Math.round(yVal * (me.yInterval / me.roundedTickRange));
407        }
408
409        index++;
410
411        if (index < me.arrXAxisLength) {
412            setTimeout(function () {
413                me.animateLines(me, lastStartX, lastStartY, 0, index);
414            }, 400);
415        }
416    },
417
418    get_chartWidth: function () {
419        return this._chartWidth;
420    },
421    set_chartWidth: function (value) {
422        this._chartWidth = value;
423    },
424
425    get_chartHeight: function () {
426        return this._chartHeight;
427    },
428    set_chartHeight: function (value) {
429        this._chartHeight = value;
430    },
431
432    get_chartTitle: function () {
433        return this._chartTitle;
434    },
435    set_chartTitle: function (value) {
436        this._chartTitle = value;
437    },
438
439    get_categoriesAxis: function () {
440        return this._categoriesAxis;
441    },
442    set_categoriesAxis: function (value) {
443        this._categoriesAxis = value;
444    },
445
446    get_ClientSeries: function () {
447        return this._series;
448    },
449    set_ClientSeries: function (value) {
450        this._series = value;
451    },
452
453    get_chartType: function () {
454        return this._chartType;
455    },
456    set_chartType: function (value) {
457        this._chartType = value;
458    },
459
460    get_theme: function () {
461        return this._theme;
462    },
463    set_theme: function (value) {
464        this._theme = value;
465    },
466
467    get_valueAxisLines: function () {
468        return this._valueAxisLines;
469    },
470    set_valueAxisLines: function (value) {
471        this._valueAxisLines = value;
472    },
473
474    get_chartTitleColor: function () {
475        return this._chartTitleColor;
476    },
477    set_chartTitleColor: function (value) {
478        this._chartTitleColor = value;
479    },
480
481    get_valueAxisLineColor: function () {
482        return this._valueAxisLineColor;
483    },
484    set_valueAxisLineColor: function (value) {
485        this._valueAxisLineColor = value;
486    },
487
488    get_categoryAxisLineColor: function () {
489        return this._categoryAxisLineColor;
490    },
491    set_categoryAxisLineColor: function (value) {
492        this._categoryAxisLineColor = value;
493    },
494
495    get_baseLineColor: function () {
496        return this._baseLineColor;
497    },
498    set_baseLineColor: function (value) {
499        this._baseLineColor = value;
500    },
501
502    get_tooltipBackgroundColor: function () {
503        return this.tooltipBackgroundColor;
504    },
505    set_tooltipBackgroundColor: function (value) {
506        this.tooltipBackgroundColor = value;
507    },
508
509    get_tooltipFontColor: function () {
510        return this._tooltipFontColor;
511    },
512    set_tooltipFontColor: function (value) {
513        this._tooltipFontColor = value;
514    },
515
516    get_tooltipBorderColor: function () {
517        return this._tooltipBorderColor;
518    },
519    set_tooltipBorderColor: function (value) {
520        this._tooltipBorderColor = value;
521    },
522
523    get_areaDataLabel: function () {
524        return this._areaDataLabel;
525    },
526    set_areaDataLabel: function (value) {
527        this._areaDataLabel = value;
528    }
529
530};
531
532Sys.Extended.UI.LineChart.registerClass("Sys.Extended.UI.LineChart", Sys.Extended.UI.ControlBase);
533Sys.registerComponent(Sys.Extended.UI.LineChart, { name: 'LineChart', parameters: [{ name: 'ClientSeries', type: 'LineChartSeries[]'}] });
534
535Sys.Extended.UI.LineChartType = function () {
536    /// <summary>
537    /// Type of Line Chart
538    /// </summary>            
539    /// <field name="Basic" type="Number" integer="true" />
540    /// <field name="Stacked" type="Number" integer="true" />    
541    throw Error.invalidOperation();
542}
543Sys.Extended.UI.LineChartType.prototype = {
544    Basic: 0,
545    Stacked: 1
546}
547
548Sys.Extended.UI.LineChartType.registerEnum("Sys.Extended.UI.LineChartType", false);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.