2017-06-06 13 views
2

私は、Angular 1.5アプリケーションでfullCalendarスケジューラーを使用しています。スケジューラーがレンダリングされた後にresourceOrderを動的に設定する

私はディレクティブに、私はすべてのプロパティ

var calendarConfig = { 
    schedulerLicenseKey: '----------------------------', 
    resources: function (callback) { 
    scope.getResources()(callback); 
    }, 
    resourceColumns: [ 
    { 
     labelText: 'Name', 
     field: 'name' 
    }, 
    { 
     labelText: 'Id', 
     field: 'id', 
     width: "85px" 
    } 
    ], 
    resourceOrder: "name", 
    defaultView: "timelineMonth", 
    resourceLabelText: "Test", 
    resourceAreaWidth: "17%", 
    aspectRatio: '100%', 
    header: { 
    left: 'reorderBtn', 
    center: 'title', 
    right: 'prev next' 
    }, 
    customButtons: { 
    sortName: { 
     text: 'reorderBtn', 
     click: function (oEvent) { 
     ---------- how to perform the reordering inside here ? ---- 
     } 
    } 
    }, 
    eventClick: eventClick, 
    dayClick: dayClick, 
    viewRender: viewRender, 
    weekNumbers: true, 
}; 

とconfigオブジェクトを持っているディレクティブ内側に包まれた私は、スケジューラは、初期化時に素敵な作品「resourceOrder」と呼ばれる性質を持っていることに気づきました。

私がボタンを押したときの使用例は、名前の降順でソートされたリソースを表示したい場合です。

私は

$(element).fullCalendar('getView').options.resourceOrder = "-name" 
$(element).fullCalendar('render') 

を使用しようとしましたが、それは動作しません。

ディレクティブの外でリソースを手動でソートし、ソートされたリソースをソースとして再度リセットすることはできますが、これを避け、スケジューラが提供するniceプロパティ "resourceOrder"を利用したいと思います。

アイデア?または一度に1つの列でリソースを並べ替える方法に関するベストプラクティス?

答えて

1

fullCalendar setters and gettersを使用してfullCalendarオプションを動的に設定または取得できます。あなたのケースでは

$('#calendar').fullCalendar('option', 'resourceOrder', '-name'); 
+0

は素晴らしい作品。私は今すぐ回避策を削除することができます! :D多くのありがとう! – gmodrogan

関連する問題