source: Dev/trunk/src/client/dojox/charting/bidi/Chart3D.js @ 483

Last change on this file since 483 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 2.3 KB
Line 
1define(["dojo/_base/declare", "dojo/dom-style", "dojo/dom-attr", "./_bidiutils"],
2        function(declare, domStyle, domAttr, utils){
3        // module:
4        //              dojox/charting/bidi/Chart3D
5        return declare(null, {
6                // direction: String
7                //              Mirroring support,      the main variable which is responsible for the direction of the chart.
8                //
9                //              Allowed values:
10                //              1. "ltr"
11                //              2. "rtl"
12                //
13                //              By default is ltr.
14                direction: "",
15                isMirrored: false,
16               
17                postscript: function(node, lights, camera, theme, direction){
18                        // summary:
19                        //              The keyword arguments that can be passed in a Chart constructor.
20                        //
21                        // node: Node
22                        //              The DOM node to construct the chart on.
23                        // lights:
24                        //              Lighting properties for the 3d scene
25                        // camera: Object
26                        //              Camera properties describing the viewing camera position.
27                        // theme: Object
28                        //              Charting theme to use for coloring chart elements.
29                        // direction:String
30                        //              the direction used to render the chart values[rtl/ltr]
31                        var chartDir = "ltr";
32                        if(domAttr.has(node, "direction")){
33                                chartDir = domAttr.get(node, "direction");
34                        }
35                        this.chartBaseDirection = direction ? direction : chartDir;
36                },
37                generate: function(){
38                        this.inherited(arguments);
39                        this.isMirrored = false;
40                        return this;
41                },
42                applyMirroring: function(plot, dim, offsets){
43                        // summary:
44                        //              apply the mirroring operation to the current chart plots.
45                        //
46                        if(this.isMirrored){
47                                utils.reverseMatrix(plot, dim, offsets, this.dir == "rtl");
48                        }
49                        //force the direction of the node to be ltr to properly render the axes and the plots labels.
50                        domStyle.set(this.node, "direction", "ltr");
51                        return this;
52                },
53                setDir: function(dir){
54                        // summary:
55                        //              Setter for the chartBaseDirection attribute.
56                        // description:
57                        //              Allows dynamically set the chartBaseDirection attribute, which will used to 
58                        //              updates the chart rendering direction.
59                        //      dir : the desired chart direction [rtl: for right to left ,ltr: for left to right]
60                        if(dir == "rtl" || dir == "ltr"){
61                                if(this.dir != dir){
62                                        this.isMirrored = true;
63                                }
64                                this.dir = dir;
65                        }
66                        return this;
67                },
68                isRightToLeft: function(){
69                        // summary:
70                        //              check the Direction of the chart.
71                        // description:
72                        //              check the chartBaseDirection attribute to determine the rendering direction
73                        //              of the chart.
74                        return this.dir == "rtl";
75        }
76        });
77});
78
Note: See TracBrowser for help on using the repository browser.