2017-12-05 10 views
0

文書(http://js.cytoscape.org/#eles.remove/http://js.cytoscape.org/#eles.restore)によれば、eles.restore()メソッドを使用すると、以前に削除した要素をグラフから復元することができます。要素を復元していないサイトスコープ

しかし、私はこのサイトのすべての要素を復元できません。

applyElementFilters =() => { 
    const excluded = [1, 2, 3]; 

    // Restore all elements first, this apparently does nothing 
    this.cy.elements().restore(); 

    if (excluded && excluded.length > 0) { 
     const excludedElements = this.cy 
      .elements() 
      .filter(element => excluded.includes(element.data("id"))); 

     this.cy.remove(excludedElements); 
    } 
}; 

答えて

1

マニュアルで説明したように、復元のための参照の保存先はremovedです。あなたはこの

this.cy.elements().restore(); 

を行うことによって要素を削除しているあなたは、あなたがそれらを復元することができ、その後

this.__removedElements = this.cy.elements().remove(); 
// or 
var removedElements; // global variable 
removedElements = this.cy.elements().remove(); 

下のよう thisに変数に保存したりすることができますあなたの場合は

// remove selected elements 
var eles = cy.$(':selected').remove(); 

// ... then some time later put them back 
eles.restore(); 

以下のように

this.__removedElements.restore() 
// or 
removedElements.restore() 
+0

ああ、私は確かに、 ":removed"セレクタを使って見つけることができました。 – janhartmann

+0

期待どおりに動作する場合は、マークを付けてください。 :) –

+0

1分が残っています! ;-) – janhartmann

関連する問題