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