Revize f01a1530
Přidáno uživatelem Vít Mazín před téměř 6 roky(ů)
sources/imiger-core/src/main/webapp/js/components/filterModalWindow.js | ||
---|---|---|
403 | 403 |
_onFilterFormReset() { |
404 | 404 |
this._onBaseFilterChange('nodeType'); |
405 | 405 |
|
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 = ''); |
|
406 |
this.resetFilter(); |
|
407 |
} |
|
408 |
|
|
409 |
resetFilter() { |
|
410 |
var n = app.nodeList; |
|
411 |
var v = app.vertexList; |
|
412 |
var e = app.edgeList; |
|
413 |
app.deletedNodeList.forEach(node =>{ |
|
414 |
n.push(node); |
|
415 |
}); |
|
416 |
app.deletedVertexList.forEach(vertex => { |
|
417 |
v.push(vertex); |
|
418 |
}); |
|
419 |
app.deletedEdgeList.forEach(edge => { |
|
420 |
e.push(edge); |
|
421 |
}); |
|
422 |
n.filter(node => node._rootElement.style.display === 'none').forEach(node => node._rootElement.style.display = ''); |
|
423 |
e.filter(edge => edge._rootElement.style.display === 'none').forEach(edge => edge._rootElement.style.display = ''); |
|
424 |
app.deletedEdgeList = []; |
|
425 |
app.deletedVertexList = []; |
|
426 |
app.deletedNodeList = []; |
|
410 | 427 |
} |
411 | 428 |
|
412 | 429 |
_displayFilter(formData) { |
... | ... | |
483 | 500 |
} |
484 | 501 |
|
485 | 502 |
nodeFilter.run(app.nodeList).forEach(node => { |
486 |
//node.isFound = true; |
|
487 | 503 |
node._rootElement.style.display = 'none'; |
488 | 504 |
app.edgeList.forEach(edge => { |
489 | 505 |
if(edge.from.id === node.id || edge.to.id === node.id) { |
... | ... | |
491 | 507 |
} |
492 | 508 |
}); |
493 | 509 |
}); |
510 |
|
|
511 |
var newNodeList = []; |
|
512 |
var newVertexList = []; |
|
513 |
var newEdgeList = []; |
|
514 |
|
|
515 |
app.nodeList.forEach(node => { |
|
516 |
if(node._rootElement.style.display !== 'none') { |
|
517 |
newNodeList.push(node); |
|
518 |
} else { |
|
519 |
app.deletedNodeList.push(node); |
|
520 |
} |
|
521 |
}); |
|
522 |
app.vertexList.forEach(vertex => { |
|
523 |
if(vertex._rootElement.style.display !== 'none') { |
|
524 |
newVertexList.push(vertex); |
|
525 |
} else { |
|
526 |
app.deletedVertexList.push(vertex); |
|
527 |
} |
|
528 |
}); |
|
529 |
app.edgeList.forEach(edge => { |
|
530 |
if(edge._rootElement.style.display !== 'none') { |
|
531 |
newEdgeList.push(edge); |
|
532 |
} else { |
|
533 |
app.deletedEdgeList.push(edge); |
|
534 |
} |
|
535 |
}); |
|
536 |
|
|
537 |
app.nodeList = newNodeList; |
|
538 |
app.vertexList = newVertexList; |
|
539 |
app.edgeList = newEdgeList; |
|
494 | 540 |
} |
495 | 541 |
|
496 | 542 |
setDateBounds(minDate, maxDate) { |
sources/imiger-core/src/main/webapp/js/components/navbar.js | ||
---|---|---|
11 | 11 |
this._createSeparatorListItem(), |
12 | 12 |
|
13 | 13 |
this._createSearchListItem(), |
14 |
this._createSeparatorListItem(), |
|
15 | 14 |
|
16 | 15 |
this._createFilterListItem(), |
17 | 16 |
this._createSeparatorListItem(), |
... | ... | |
187 | 186 |
|
188 | 187 |
function resetSearch() { |
189 | 188 |
let nodeList = app.nodeList; |
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 = ''); |
|
189 |
nodeList.filter(node => node.isFound === true).forEach(node => node.isFound = false); |
|
193 | 190 |
|
194 | 191 |
searchInput.value = ''; |
195 | 192 |
searchCounter.innerText = 0; |
... | ... | |
207 | 204 |
const filterButton = DOM.h('button', { |
208 | 205 |
class: 'filter', |
209 | 206 |
id: 'filterButton', |
210 |
innerText: 'Filter nodes',
|
|
207 |
innerText: 'Select nodes',
|
|
211 | 208 |
onClick: () => app.filterModalWindowComponent.open(), |
212 | 209 |
}); |
213 | 210 |
|
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) < 0; //> -1
|
|
37 |
return filterValues.indexOf(vertex.archetype) > -1;
|
|
38 | 38 |
}; |
39 | 39 |
break; |
40 | 40 |
|
41 | 41 |
case EnumFilterOperation.NEQ: |
42 | 42 |
filterFn = vertex => { |
43 |
return filterValues.indexOf(vertex.archetype) > -1; //< 0
|
|
43 |
return filterValues.indexOf(vertex.archetype) < 0;
|
|
44 | 44 |
}; |
45 | 45 |
break; |
46 | 46 |
|
sources/imiger-core/src/main/webapp/js/services/filters/VertexAttributeFilter.js | ||
---|---|---|
184 | 184 |
filterFn = vertex => { |
185 | 185 |
const attribute = vertex.attributes.find(attribute => attribute[0] === filterAttributeName); |
186 | 186 |
const attributeValue = parseFloat(attribute[1]); |
187 |
return (attributeValue >= filterValueFrom) && (attributeValue <= filterValueTo);
|
|
187 |
return (attributeValue < filterValueFrom) || (attributeValue > filterValueTo);
|
|
188 | 188 |
}; |
189 | 189 |
|
190 | 190 |
} else { |
sources/imiger-core/src/main/webapp/js/showGraphApp.js | ||
---|---|---|
30 | 30 |
/** @prop {Node} activeNode */ |
31 | 31 |
this.activeNode = null; |
32 | 32 |
|
33 |
this.deletedNodeList = []; |
|
34 |
this.deletedVertexList = []; |
|
35 |
this.deletedEdgeList = []; |
|
36 |
|
|
37 |
|
|
33 | 38 |
/** @prop {Diagram} diagram */ |
34 | 39 |
this.diagram = null; |
35 | 40 |
|
Také k dispozici: Unified diff
Improved filtering deletion (refs #7559)