Skip to content

Commit d91afbf

Browse files
author
cees-VM4
committed
updated to add new components.
1 parent 0b02036 commit d91afbf

File tree

4 files changed

+815
-3
lines changed

4 files changed

+815
-3
lines changed

server/plugin/resource/resources/custom/components/CCC/ccc-implementation.js

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,111 @@ var CccComponent = BaseComponent.extend({
8080

8181
});
8282

83+
84+
/*
85+
* Modified version of CccComponent which loads 2 datasources.
86+
*/
87+
var CccComponent2 = BaseComponent.extend({
88+
89+
query: null,
90+
sQuery: null, // second datasource
91+
chart: null,
92+
93+
update : function() {
94+
95+
var dataQuery = null, sDataQuery = null;
96+
97+
if (this.parameters == undefined) {
98+
this.parameters = [];
99+
};
100+
101+
// clear previous table
102+
$("#"+this.htmlObject).empty();
103+
var myself = this;
104+
105+
106+
this.query = new Query(this.chartDefinition);
107+
108+
this.sQuery = new Query({
109+
path: this.chartDefinition.path,
110+
dataAccessId: this.chartDefinition.structDatasource});
111+
112+
var executed = false;
113+
var execComponent = function() {
114+
115+
if ( ( dataQuery != null)
116+
&& (sDataQuery != null)
117+
&& !executed) {
118+
119+
myself.render(dataQuery, sDataQuery);
120+
executed = true; // safety in case both queries return
121+
// simultaneously (is this possible in single-threaded Javascript?)
122+
}
123+
124+
};
125+
126+
pv.listenForPageLoad(function() {
127+
myself.query.fetchData(myself.parameters, function(values) {
128+
// why is changedValues a GLOBAL ?? potential conflicts!!
129+
var changedValues = undefined;
130+
if((typeof(myself.postFetch)=='function')){
131+
changedValues = myself.postFetch(values);
132+
$("#" + this.htmlObject).append('<div id="'+ this.htmlObject +'protovis"></div>');
133+
}
134+
if (changedValues != undefined) {
135+
values = changedValues;
136+
}
137+
138+
dataQuery = values;
139+
execComponent();
140+
});
141+
});
142+
143+
// load the second query (in parallel)
144+
pv.listenForPageLoad(function() {
145+
myself.sQuery.fetchData(myself.parameters, function(values) {
146+
var changedValues = undefined;
147+
if((typeof(myself.postFetch)=='function')){
148+
changedValues = myself.postFetch(values);
149+
$("#" + this.htmlObject).append('<div id="'+ this.htmlObject +'protovis"></div>');
150+
}
151+
if (changedValues != undefined) {
152+
values = changedValues;
153+
}
154+
155+
sDataQuery = values;
156+
execComponent();
157+
});
158+
});
159+
},
160+
161+
render: function(values, sValues) {
162+
163+
$("#" + this.htmlObject).append('<div id="'+ this.htmlObject +'protovis"></div>');
164+
165+
var o = $.extend({},this.chartDefinition);
166+
o.canvas = this.htmlObject+'protovis';
167+
// Extension points
168+
if(typeof o.extensionPoints != "undefined"){
169+
var ep = {};
170+
o.extensionPoints.forEach(function(a){
171+
ep[a[0]]=a[1];
172+
});
173+
o.extensionPoints=ep;
174+
}
175+
this.chart = new this.cccType(o);
176+
this.chart.setData(values,{
177+
crosstabMode: this.crosstabMode,
178+
seriesInRows: this.seriesInRows
179+
});
180+
181+
this.chart.setStructData(sValues)
182+
this.chart.render();
183+
}
184+
185+
});
186+
187+
83188
var CccDotChartComponent = CccComponent.extend({
84189

85190
cccType: pvc.DotChart
@@ -146,3 +251,24 @@ var CccMetricLineChartComponent = CccComponent.extend({
146251
cccType: pvc.MetricLineChart
147252

148253
});
254+
255+
256+
var CccParCoordComponent = CccComponent.extend({
257+
258+
cccType: pvc.ParallelCoordinates
259+
260+
});
261+
262+
var CccDataTreeComponent = CccComponent2.extend({
263+
264+
cccType: pvc.DataTree
265+
266+
});
267+
268+
var CccBoxplotChartComponent = CccComponent.extend({
269+
270+
cccType: pvc.BoxplotChart
271+
272+
});
273+
274+

server/plugin/resource/resources/custom/components/CCC/component.xml

Lines changed: 184 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,87 @@
578578
</Contents>
579579
</DesignerComponent>
580580

581+
<DesignerComponent>
582+
<Header>
583+
<Name>CCC Boxplot Chart</Name>
584+
<IName>cccBoxplotChart</IName>
585+
<Description>CCC Boxplot Chart</Description>
586+
<Category>CHARTS</Category>
587+
<CatDescription>Charts</CatDescription>
588+
<Type>PalleteEntry</Type>
589+
<Version>1.0</Version>
590+
</Header>
591+
<Metadata>
592+
<meta name='cdwSupport'>true</meta>
593+
</Metadata>
594+
<Contents>
595+
<Model>
596+
<Definition name="chartDefinition">
597+
<Property name="width">width</Property>
598+
<Property name="height" >height</Property>
599+
<Property>dataSource</Property>
600+
<Property name="crosstabMode">cccCrosstabMode</Property>
601+
<Property name="seriesInRows">cccSeriesInRows</Property>
602+
<Property name="animate">cccAnimate</Property>
603+
<Property name="clickable">cccClickable</Property>
604+
<Property name="clickAction">cccClickAction</Property>
605+
<Property name="timeSeries">cccTimeSeries</Property>
606+
<Property name="timeSeriesFormat">cccTimeSeriesFormat</Property>
607+
608+
<Property name="maxBarSize">cccMaxBarSize</Property>
609+
<Property name="panelSizeRatio">cccPanelSizeRatio</Property>
610+
<Property name="barSizeRatio">cccBarSizeRatio</Property>
611+
612+
<Property name="orientation">cccOrientation</Property>
613+
<Property name="colors">cccColors</Property>
614+
<Property name="showValues">cccShowValues</Property>
615+
<Property name="valueFormat">cccValueFormat</Property>
616+
<Property name="tooltipFormat">cccTooltipFormat</Property>
617+
<Property name="valuesAnchor">cccValuesAnchor</Property>
618+
<Property name="title">title</Property>
619+
<Property name="titlePosition">cccTitlePosition</Property>
620+
<Property name="titleSize">cccTitleSize</Property>
621+
<!--
622+
<Property name="legend">cccShowLegend</Property>
623+
<Property name="legendPosition">cccLegendPosition</Property>
624+
<Property name="legendSize">cccLegendSize</Property>
625+
<Property name="legendAlign">cccLegendAlign</Property>
626+
-->
627+
<Property name="showXScale">cccShowXScale</Property>
628+
<Property name="xAxisPosition">cccXAxisPosition</Property>
629+
<Property name="xAxisSize">cccXAxisSize</Property>
630+
<Property name="showYScale">cccShowYScale</Property>
631+
<Property name="yAxisPosition">cccYAxisPosition</Property>
632+
<Property name="yAxisSize">cccYAxisSize</Property>
633+
<Property name="xAxisFullGrid">cccXAxisFullGrid</Property>
634+
<Property name="yAxisFullGrid">cccYAxisFullGrid</Property>
635+
<Property name="axisOffset">cccAxisOffset</Property>
636+
<Property name="originIsZero">cccOriginIsZero</Property>
637+
<Property name="orthoFixedMax">cccOrthoFixedMax</Property>
638+
<Property name="secondAxis">cccBarLine</Property>
639+
<Property name="secondAxisIndependentScale">cccBarLineIndependentScale</Property>
640+
<Property name="secondAxisIdx">cccBarLineIdx</Property>
641+
<Property name="secondAxisOriginIsZero">cccBarLineOriginIsZero</Property>
642+
<Property name="secondAxisColor">cccBarLineTickColor</Property>
643+
644+
<Property name="extensionPoints">cccExtensionPoints</Property>
645+
</Definition>
646+
<Property name="parameters">xActionArrayParameter</Property>
647+
<Property type="boolean">executeAtStart</Property>
648+
<Property>postFetch</Property>
649+
<Property type="function">preChange</Property>
650+
<Property type="function">postChange</Property>
651+
<Property>htmlObject</Property>
652+
<Property>preExecution</Property>
653+
<Property>postExecution</Property>
654+
<Property>tooltip</Property>
655+
<Property>listeners</Property>
656+
</Model>
657+
<Implementation/>
658+
</Contents>
659+
</DesignerComponent>
660+
661+
581662
<DesignerComponent>
582663
<Header>
583664
<Name>CCC Waterfall Chart</Name>
@@ -807,6 +888,109 @@
807888
</Contents>
808889
</DesignerComponent>
809890

891+
892+
893+
<DesignerComponent>
894+
<Header>
895+
<Name>CCC Parallel Coordinates</Name>
896+
<IName>cccParCoord</IName>
897+
<Description>CCC Parallel Coordinates</Description>
898+
<Category>CHARTS</Category>
899+
<CatDescription>Charts</CatDescription>
900+
<Type>PalleteEntry</Type>
901+
<Version>1.0</Version>
902+
</Header>
903+
<Metadata>
904+
<meta name='cdwSupport'>true</meta>
905+
</Metadata>
906+
<Contents>
907+
<Model>
908+
<Definition name="chartDefinition">
909+
<Property name="width">width</Property>
910+
<Property name="height" >height</Property>
911+
<Property>dataSource</Property>
912+
<Property name="crosstabMode">cccCrosstabMode</Property>
913+
<Property name="seriesInRows">cccSeriesInRows</Property>
914+
<Property name="clickable">cccClickable</Property>
915+
<Property name="clickAction">cccClickAction</Property>
916+
917+
<Property name="orientation">cccOrientation</Property>
918+
<Property name="colors">cccColors</Property>
919+
<Property name="showValues">cccShowValues</Property>
920+
<Property name="tooltipFormat">cccTooltipFormat</Property>
921+
<Property name="valuesAnchor">cccValuesAnchor</Property>
922+
<Property name="title">title</Property>
923+
<Property name="titlePosition">cccTitlePosition</Property>
924+
<Property name="titleSize">cccTitleSize</Property>
925+
926+
<Property name="extensionPoints">cccExtensionPoints</Property>
927+
</Definition>
928+
<Property name="parameters">xActionArrayParameter</Property>
929+
<Property type="boolean">executeAtStart</Property>
930+
<Property>postFetch</Property>
931+
<Property type="function">preChange</Property>
932+
<Property type="function">postChange</Property>
933+
<Property>htmlObject</Property>
934+
<Property>preExecution</Property>
935+
<Property>postExecution</Property>
936+
<Property>tooltip</Property>
937+
<Property>listeners</Property>
938+
</Model>
939+
<Implementation/>
940+
</Contents>
941+
</DesignerComponent>
942+
943+
<DesignerComponent>
944+
<Header>
945+
<Name>CCC DataTree</Name>
946+
<IName>cccDataTree</IName>
947+
<Description>CCC Data-tree</Description>
948+
<Category>CHARTS</Category>
949+
<CatDescription>Charts</CatDescription>
950+
<Type>PalleteEntry</Type>
951+
<Version>1.0</Version>
952+
</Header>
953+
<Metadata>
954+
<meta name='cdwSupport'>true</meta>
955+
</Metadata>
956+
<Contents>
957+
<Model>
958+
<Definition name="chartDefinition">
959+
<Property name="width">width</Property>
960+
<Property name="height" >height</Property>
961+
<Property>dataSource</Property>
962+
<Property name="crosstabMode">cccCrosstabMode</Property>
963+
<Property name="seriesInRows">cccSeriesInRows</Property>
964+
<Property name="structDatasource">cccStructDatasource</Property>
965+
<Property name="clickable">cccClickable</Property>
966+
<Property name="clickAction">cccClickAction</Property>
967+
968+
<Property name="orientation">cccOrientation</Property>
969+
<Property name="colors">cccColors</Property>
970+
<Property name="showValues">cccShowValues</Property>
971+
<Property name="tooltipFormat">cccTooltipFormat</Property>
972+
<Property name="valuesAnchor">cccValuesAnchor</Property>
973+
<Property name="title">title</Property>
974+
<Property name="titlePosition">cccTitlePosition</Property>
975+
<Property name="titleSize">cccTitleSize</Property>
976+
<Property name="selectParam">cccSelectParam</Property>
977+
<Property name="extensionPoints">cccExtensionPoints</Property>
978+
</Definition>
979+
<Property name="parameters">xActionArrayParameter</Property>
980+
<Property type="boolean">executeAtStart</Property>
981+
<Property>postFetch</Property>
982+
<Property type="function">preChange</Property>
983+
<Property type="function">postChange</Property>
984+
<Property>htmlObject</Property>
985+
<Property>preExecution</Property>
986+
<Property>postExecution</Property>
987+
<Property>tooltip</Property>
988+
<Property>listeners</Property>
989+
</Model>
990+
<Implementation/>
991+
</Contents>
992+
</DesignerComponent>
993+
810994
<DesignerComponent>
811995
<Header>
812996
<Name>CCC Bullet Chart</Name>
@@ -849,7 +1033,6 @@
8491033
<Property name="titlePosition">cccTitlePosition</Property>
8501034
<Property name="titleSize">cccTitleSize</Property>
8511035

852-
8531036
<Property name="extensionPoints">cccExtensionPoints</Property>
8541037
</Definition>
8551038
<Property name="parameters">xActionArrayParameter</Property>
@@ -867,6 +1050,4 @@
8671050
</Contents>
8681051
</DesignerComponent>
8691052

870-
871-
8721053
</DesignerComponents>

0 commit comments

Comments
 (0)