Projekt

Obecné

Profil

« Předchozí | Další » 

Revize d2def281

Přidáno uživatelem Vít Mazín před téměř 6 roky(ů)

Improved filtering (hide filtered nodes) (refs #7519)

Zobrazit rozdíly:

sources/imiger-core/src/main/webapp/js/components/filterModalWindow.js
233 233
				"dateSlider.noUiSlider.on('update', function (values, handle) {" +
234 234
				"	var date = new Date(+values[handle]);" +
235 235
				"   dateValues[handle].innerHTML = date.toLocaleDateString('cs-CZ');" +
236
				"});" +
237
				"var filterValues = [" +
238
				"    document.getElementById('value-from')," +
239
				"    document.getElementById('value-to')" +
240
				"];" +
241
				"dateSlider.noUiSlider.on('update', function (values, handle) {" +
242
				"	var date = new Date(+values[handle]);" +
243
				"   filterValues[handle].value = date;" +
236 244
				"});")
237 245
		]);
238 246

  
......
395 403
	_onFilterFormReset() {
396 404
		this._onBaseFilterChange('nodeType');
397 405

  
398
		app.nodeList.forEach(node => {
399
			node.isFound = false;
400
		});
406
		let nodeList = app.nodeList;
407
		let edgeList = app.edgeList;
408
		nodeList.filter(node => node._rootElement.style.display === 'none').forEach(node => node._rootElement.style.display = '');
409
		edgeList.filter(edge => edge._rootElement.style.display === 'none').forEach(edge => edge._rootElement.style.display = '');
401 410
	}
402 411

  
403 412
	_displayFilter(formData) {
......
474 483
		}
475 484

  
476 485
		nodeFilter.run(app.nodeList).forEach(node => {
477
			node.isFound = true;
486
			//node.isFound = true;
487
			node._rootElement.style.display = 'none';
488
			app.edgeList.forEach(edge => {
489
				if(edge.from.id === node.id || edge.to.id === node.id) {
490
					edge._rootElement.style.display = 'none';
491
				}
492
			});
478 493
		});
479 494
	}
480 495

  
......
507 522
					"dateSlider.noUiSlider.on('update', function (values, handle) {" +
508 523
					"	var date = new Date(+values[handle]);" +
509 524
					"   dateValues[handle].innerHTML = date.toLocaleDateString('cs-CZ');" +
525
					"});" +
526
					"var filterValues = [" +
527
					"    document.getElementById('value-from')," +
528
					"    document.getElementById('value-to')" +
529
					"];" +
530
					"dateSlider.noUiSlider.on('update', function (values, handle) {" +
531
					"	var date = new Date(+values[handle]);" +
532
					"   filterValues[handle].value = date;" +
510 533
					"});")
511 534
			]);
512 535
		}
sources/imiger-core/src/main/webapp/js/components/navbar.js
187 187

  
188 188
		function resetSearch() {
189 189
			let nodeList = app.nodeList;
190
			nodeList.filter(node => node.isFound === true).forEach(node => node.isFound = false);
190
			let edgeList = app.edgeList;
191
			nodeList.filter(node => node._rootElement.style.display === 'none').forEach(node => node._rootElement.style.display = '');
192
			edgeList.filter(edge => edge._rootElement.style.display === 'none').forEach(edge => edge._rootElement.style.display = '');
191 193

  
192 194
			searchInput.value = '';
193 195
			searchCounter.innerText = 0;
sources/imiger-core/src/main/webapp/js/services/filters/NodeTypeFilter.js
28 28
		switch (this._operation) {
29 29
			case EnumFilterOperation.EQ:
30 30
				filterFn = node => {
31
					return (node instanceof Vertex && filterValues.indexOf(NodeTypeFilter.VERTEX) > -1)
32
						|| (node instanceof Group && filterValues.indexOf(NodeTypeFilter.GROUP) > -1);
31
					return (node instanceof Vertex && filterValues.indexOf(NodeTypeFilter.VERTEX) < 0) //> -1
32
						|| (node instanceof Group && filterValues.indexOf(NodeTypeFilter.GROUP) < 0); //> -1
33 33
				};
34 34
				break;
35 35

  
36 36
			case EnumFilterOperation.NEQ:
37 37
				filterFn = node => {
38
					return (node instanceof Vertex && filterValues.indexOf(NodeTypeFilter.VERTEX) < 0)
39
						|| (node instanceof Group && filterValues.indexOf(NodeTypeFilter.GROUP) < 0);
38
					return (node instanceof Vertex && filterValues.indexOf(NodeTypeFilter.VERTEX) > -1)
39
						|| (node instanceof Group && filterValues.indexOf(NodeTypeFilter.GROUP) > -1);
40 40
				};
41 41
				break;
42 42

  
sources/imiger-core/src/main/webapp/js/services/filters/VertexArchetypeFilter.js
34 34
		switch (this._operation) {
35 35
			case EnumFilterOperation.EQ:
36 36
				filterFn = vertex => {
37
					return filterValues.indexOf(vertex.archetype) > -1;
37
					return filterValues.indexOf(vertex.archetype) < 0; //> -1
38 38
				};
39 39
				break;
40 40

  
41 41
			case EnumFilterOperation.NEQ:
42 42
				filterFn = vertex => {
43
					return filterValues.indexOf(vertex.archetype) < 0;
43
					return filterValues.indexOf(vertex.archetype) > -1; //< 0
44 44
				};
45 45
				break;
46 46

  
sources/imiger-core/src/main/webapp/js/services/filters/VertexAttributeFilter.js
144 144
			filterFn = vertex => {
145 145
				const attribute = vertex.attributes.find(attribute => attribute[0] === filterAttributeName);
146 146
				const attributeValue = parseInt(attribute[1]);
147
				return (attributeValue >= filterValueFrom) && (attributeValue <= filterValueTo);
147

  
148
				return (attributeValue < filterValueFrom) || (attributeValue > filterValueTo);
148 149
			};
149 150

  
150 151
		} else {

Také k dispozici: Unified diff