Commit a1413cf6 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Implementa facets con colapsado parcial

parent 137c5532
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ define([
		constructor: function(args){

			this.config = {
				maxInitialEntries: 5,
				aggs: null,
				openFacets: false,
				order: null,
@@ -98,7 +99,8 @@ define([
						title: (this.i18n && this.i18n[item]) ? this.i18n[item] : item,
						i18n: this.i18n,
						open: open,
						config: content
						config: content,
						maxInitialEntries: this.maxInitialEntries
					}).placeAt(this.domNode);

				this.instance[item] = {
+65 −6
Original line number Diff line number Diff line
@@ -3,12 +3,14 @@ define([
	, "dijit/TitlePane"
	, "dojo/_base/lang"
	, "dojo/Evented"
	, 'dojo/query'
	, "put-selector/put"
], function(
	declare
	, TitlePane
	, lang
	, Evented
	, query
	, put
) {

@@ -17,9 +19,14 @@ define([
		constructor: function(args) {

			this.config = {
				maxInitialEntries: 5,
				termsFieldFacet: null,
				termSelection: [],
				bucketsKeys: [],
				facetsEntriesContainerClass: 'dijitTitlePaneContentOuter',
				collapseEntriesClass: 'collapseEntries',
				collapseToggleClass: 'collapseToggle',
				hiddenClass: 'hidden',
				events: {
					TERMS_CHANGED: "termsChanged",
					UPDATE_QUERY: "updateQuery"
@@ -38,6 +45,56 @@ define([
			this.domNode.removeAttribute('widgetId');

			this.inherited(arguments);

			if (this.maxInitialEntries > 0) {
				this._evaluateNumberOfBuckets();
			}
		},

		_onTitleClick: function() {

			this.inherited(arguments);

			this._evaluateOpenStatus();
		},

		_evaluateNumberOfBuckets: function() {

			var buckets = this.config.buckets;
			if (buckets.length > this.maxInitialEntries) {
				this._outerNode = query('.' + this.facetsEntriesContainerClass, this.domNode)[0];
				put(this._outerNode, '.' + this.collapseEntriesClass);

				this._toggleNode = put(this.domNode, 'span.' + this.collapseToggleClass);
				this._setToggleShowText(this.i18n.showMore);
				this._toggleNode.onclick = lang.hitch(this, this._onToggleShowMore);

				this._evaluateOpenStatus();
			}
		},

		_evaluateOpenStatus: function() {

			put(this._toggleNode, (this.open ? '!' : '.') + this.hiddenClass);
		},

		_onToggleShowMore: function() {

			if (query('.' + this.collapseEntriesClass, this.domNode).length) {
				put(this._outerNode, '!' + this.collapseEntriesClass);
				this._setToggleShowText(this.i18n.showLess);
			} else {
				put(this._outerNode, '.' + this.collapseEntriesClass);
				this._setToggleShowText(this.i18n.showMore);
			}
		},

		_setToggleShowText: function(text) {

			var total = this.config.buckets.length,
				fullText = text + ' (' + total + ')';

			this._toggleNode.innerHTML = fullText;
		},

		_render: function() {
@@ -64,7 +121,7 @@ define([

		_insertBucket: function(bucket) {

			var label,
			var labelText,
				key = bucket.key;

			if (this.i18n && this.i18n[key]) {
@@ -74,10 +131,12 @@ define([
			}

			var id_random = this._generateIDRandom(),
			    bucketNode = put(this.containerBucketsNode, "div.containerBucket");
			    labelNode = put(bucketNode, "label[for=$][title=$].inlineRow.labelBucket", id_random, labelText, labelText),
			    put(bucketNode, "label[for=$].labelBucket", id_random, "(" + bucket.doc_count + ")"),
			    checkBoxNode = put(labelNode, "-input[type='checkbox'][id=$][data-redmic-id=$]", id_random, key);
				bucketNode = put(this.containerBucketsNode, "div.containerBucket"),
				labelNode = put(bucketNode, "label[for=$][title=$].inlineRow.labelBucket", id_random, labelText, labelText);

			put(bucketNode, "label[for=$].labelBucket", id_random, "(" + bucket.doc_count + ")");

			var checkBoxNode = put(labelNode, "-input[type='checkbox'][id=$][data-redmic-id=$]", id_random, key);

			checkBoxNode.onchange = lang.hitch(this, this._eventClickCheckBox, checkBoxNode.getAttribute('data-redmic-id'));

Compare 97a3c42e to 169f575e
Original line number Diff line number Diff line
Subproject commit 97a3c42e105014d50234108eb46f5b12b464f152
Subproject commit 169f575e8abfbbfd5c132cf7c67a9cf4880bf20e