diff --git a/README.md b/README.md
index 2766bae0..4742eb00 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,18 @@
+* Play with the [DEMO page with both widgets][9]
+ * If demo page does not work (solr server is down) check the [static pdf demo files][12]
+
+# BubbleChartWidget
+
+BubbleChartWidget is a widget implemented in .js which is implemented using AbstractFacetWidget structure and uses facets taken from the m AJAX Solr.
+This witget uses the d3.js library to represent its data.
+* See the widget code [BubbleChartWidget.js][10]
+
+# TreeMapWidget
+
+TreeMapWidget is a widget implemented in .js which is implemented using AbstractFacetWidget structure and uses facets taken from the m AJAX Solr.
+This witget uses the d3.js library to represent its data.
+* See the widget code [TreeMapWidget.js][11]
+
# AJAX Solr
AJAX Solr is a JavaScript library for creating user interfaces to [Apache Solr][1].
@@ -23,3 +38,7 @@ Documentation is generated by [JsDoc Toolkit][4] with the command:
[6]: http://github.com/evolvingweb/ajax-solr
[7]: http://wiki.github.com/evolvingweb/ajax-solr/reuters-tutorial
[8]: http://groups.google.com/group/ajax-solr
+[9]: http://rawgithub.com/dberga/ajax-solr/master/examples/reuters/index.html
+[10]: https://github.com/dberga/ajax-solr/blob/master/examples/reuters/widgets/BubbleChartWidget.js
+[11]: https://github.com/dberga/ajax-solr/blob/master/examples/reuters/widgets/TreeMapWidget.js
+[12]: https://github.com/dberga/ajax-solr/tree/master/demo
diff --git a/demo/AJAX Solr1.pdf b/demo/AJAX Solr1.pdf
new file mode 100644
index 00000000..e422d488
Binary files /dev/null and b/demo/AJAX Solr1.pdf differ
diff --git a/demo/AJAX Solr2.pdf b/demo/AJAX Solr2.pdf
new file mode 100644
index 00000000..41465c1d
Binary files /dev/null and b/demo/AJAX Solr2.pdf differ
diff --git a/examples/.DS_Store b/examples/.DS_Store
new file mode 100644
index 00000000..3a1e3648
Binary files /dev/null and b/examples/.DS_Store differ
diff --git a/examples/reuters/.DS_Store b/examples/reuters/.DS_Store
new file mode 100644
index 00000000..f727473d
Binary files /dev/null and b/examples/reuters/.DS_Store differ
diff --git a/examples/reuters/css/reuters.css b/examples/reuters/css/reuters.css
index 3b7dd0ab..0e55ccb7 100644
--- a/examples/reuters/css/reuters.css
+++ b/examples/reuters/css/reuters.css
@@ -6,9 +6,13 @@
body {
background: #fff url(../images/header.gif) repeat-x;
color: #333;
- font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
line-height: 18px;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ margin: auto;
+ position: relative;
+ width: 960px;
+ height: 500px;
}
img {
border: none;
@@ -110,6 +114,7 @@ a:hover {
#search_help {
font-size: 80%;
}
+
.tagcloud {
padding: 10px 15px 0;
}
@@ -158,3 +163,19 @@ font-size: 170%;
a.tagcloud_size_10 {
font-size: 180%;
}
+
+
+/* NODE */
+.node {
+ border: solid 1px white;
+ font: 10px sans-serif;
+ line-height: 12px;
+ overflow: hidden;
+ position: absolute;
+ text-indent: 2px;
+
+}
+
+
+}
+
diff --git a/examples/reuters/index.html b/examples/reuters/index.html
index 1088e3fa..d1b34b6c 100644
--- a/examples/reuters/index.html
+++ b/examples/reuters/index.html
@@ -23,6 +23,13 @@
+
+
+
+
+
+
+
@@ -59,14 +66,22 @@
Top Organisations
Top Exchanges
-
-
By Country
+
+
Bubbles
+
+
TreeMap
+
+
+
+
+
+
diff --git a/examples/reuters/js/reuters.js b/examples/reuters/js/reuters.js
index 99a0cf3d..9a5901a0 100644
--- a/examples/reuters/js/reuters.js
+++ b/examples/reuters/js/reuters.js
@@ -4,8 +4,9 @@ var Manager;
$(function () {
Manager = new AjaxSolr.Manager({
- solrUrl: 'http://evolvingweb.ca/solr/reuters/'
+ solrUrl: 'http://reuters-demo.tree.ewdev.ca:9090/reuters/'
});
+
Manager.addWidget(new AjaxSolr.ResultWidget({
id: 'result',
target: '#docs'
@@ -20,7 +21,12 @@ var Manager;
$('#pager-header').html($('').text('displaying ' + Math.min(total, offset + 1) + ' to ' + Math.min(total, offset + perPage) + ' of ' + total));
}
}));
- var fields = [ 'topics', 'organisations', 'exchanges' ];
+
+
+
+ var fields = [ 'topics', 'organisations', 'exchanges' ];
+
+
for (var i = 0, l = fields.length; i < l; i++) {
Manager.addWidget(new AjaxSolr.TagcloudWidget({
id: fields[i],
@@ -37,7 +43,9 @@ var Manager;
target: '#search',
fields: [ 'topics', 'organisations', 'exchanges' ]
}));
- Manager.addWidget(new AjaxSolr.CountryCodeWidget({
+
+
+ /*Manager.addWidget(new AjaxSolr.CountryCodeWidget({
id: 'countries',
target: '#countries',
field: 'countryCodes'
@@ -46,7 +54,32 @@ var Manager;
id: 'calendar',
target: '#calendar',
field: 'date'
- }));
+ }));*/
+
+
+ Manager.addWidget(new AjaxSolr.BubbleChartWidget({
+ id: 'bubbles_topics',
+ target: '#' + 'bubbles_topics',
+ field: 'topics',
+ diameter: 382,
+ padding: 1.5
+ }));
+
+
+ Manager.addWidget(new AjaxSolr.TreeMapWidget({
+ id: 'treemap_topics',
+ target: '#' + 'treemap_topics',
+ field: 'topics',
+ width: 382,
+ height: 202,
+ margin: {top: 40,right: 10,bottom: 10,left: 10}
+ }));
+
+
+
+
+
+
Manager.init();
Manager.store.addByValue('q', '*:*');
var params = {
diff --git a/examples/reuters/widgets/.DS_Store b/examples/reuters/widgets/.DS_Store
new file mode 100644
index 00000000..ff423919
Binary files /dev/null and b/examples/reuters/widgets/.DS_Store differ
diff --git a/examples/reuters/widgets/BubbleChartWidget.js b/examples/reuters/widgets/BubbleChartWidget.js
new file mode 100644
index 00000000..f7f2670a
--- /dev/null
+++ b/examples/reuters/widgets/BubbleChartWidget.js
@@ -0,0 +1,117 @@
+(function ($) {
+
+ AjaxSolr.BubbleChartWidget = AjaxSolr.AbstractFacetWidget.extend({
+ afterRequest: function ()
+ {
+ $(this.target).empty();
+ //default values
+ var diameter = 960;
+ var padding = 1.5;
+ var env = this;
+
+ if (this.manager.response.facet_counts.facet_fields[this.field] === undefined) {
+ $(this.target).html('no items found in current selection');
+ return;
+ }
+
+
+ //objectedItems is my list of facets & counts
+ var maxCount = 0;
+ var objectedItems2 = [];
+ for (var facet in this.manager.response.facet_counts.facet_fields[this.field]) {
+ var count = parseInt(this.manager.response.facet_counts.facet_fields[this.field][facet]);
+ if (count > maxCount) {
+ maxCount = count;
+ }
+ objectedItems2.push({ name: facet, children : [{name: facet, size: count}] });
+ }
+
+
+ //see print values
+ /*for(var i=0; i maxCount) {
+ maxCount = count;
+ }
+ objectedItems2.push({ name: facet, children : [{name: facet, size: count}] });
+ }
+
+
+ //see print values
+ /*for(var i=0; i