1

YUI3 を使用して Y.TreeView のインスタンスを作成しています。

var treeview = new Y.TreeView({
        lazyRender: false,
        container: treeview,
        nodes: jsonTreeFile
});

ここで、このオブジェクトを拡張して、Y.Tree.Sortable に含まれる TreeView.Sortable で使用できるようにします。コンストラクターは TreeView.Sortable () です ( TreeView.Sortable Apiを参照してください)。

treeview オブジェクトで TreeView.Sortable メソッドを使用できるようにするにはどうすればよいですか?

完全なコンテキストは次のとおりです。

YUI({
    gallery: 'gallery-2013.07.31-22-47'}).use(
    'gallery-sm-treeview', 'gallery-sm-treeview-sortable', function (Y) {

      // Create a new TreeView in container with nodes.
      treeview = new Y.TreeView({
        lazyRender: false,
        container: treeview,
        nodes: jsonTreeFile
      });

      // Render the treeview inside the #treeId element.
      treeview.render();

      // Now, how do I extend and sort the treeview object?

}); 
4

1 に答える 1

2

誰かがソリューションに興味を持っている場合は、YUI でのサブクラス化がどのように機能するかを説明します (助力してくれた Ryan Grove に感謝します: codepen.io/rgrove/pen/vAuep )

YUI({
    gallery: 'gallery-2013.07.31-22-47'
}).use('gallery-sm-treeview', 'gallery-sm-treeview-sortable', function (Y) {

  var SortedTreeView = Y.Base.create('sortedTreeView', Y.TreeView, [Y.TreeView.Sortable], {
    sortComparator: function (node) {
      return node.label;
    }
  });

  var treeview = new SortedTreeView({
    container: '#treeview',
    nodes: [{label: 'hi!'}, {label: 'hello!'}]
  });

  treeview.render();
});
于 2013-08-13T06:54:44.563 に答える