blob: 41498d98c9b3f6fee151f887912a2d7b0c91cd48 [file] [log] [blame]
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
define([
'api',
'addons/activetasks/actiontypes'
],
function (FauxtonAPI, ActionTypes) {
return {
init: function (activeTasks) {
this.fetchAndSetActiveTasks(activeTasks.table, activeTasks);
FauxtonAPI.when(activeTasks.fetch()).then(function () {
this.fetchAndSetActiveTasks(activeTasks.table, activeTasks);
this.setActiveTaskIsLoading(false);
}.bind(this));
},
fetchAndSetActiveTasks: function (collection, backboneCollection) {
FauxtonAPI.dispatch({
type: ActionTypes.ACTIVE_TASKS_FETCH_AND_SET,
options: {
collectionTable: collection,
backboneCollection: backboneCollection
}
});
},
changePollingInterval: function (interval) {
FauxtonAPI.dispatch({
type: ActionTypes.ACTIVE_TASKS_CHANGE_POLLING_INTERVAL,
options: interval
});
},
switchTab: function (tab) {
FauxtonAPI.dispatch({
type: ActionTypes.ACTIVE_TASKS_SWITCH_TAB,
options: tab
});
},
setCollection: function (collection) {
FauxtonAPI.dispatch({
type: ActionTypes.ACTIVE_TASKS_SET_COLLECTION,
options: collection
});
},
setSearchTerm: function (searchTerm) {
FauxtonAPI.dispatch({
type: ActionTypes.ACTIVE_TASKS_SET_SEARCH_TERM,
options: searchTerm
});
},
sortByColumnHeader: function (columnName) {
FauxtonAPI.dispatch({
type: ActionTypes.ACTIVE_TASKS_SORT_BY_COLUMN_HEADER,
options: {
columnName: columnName
}
});
},
setActiveTaskIsLoading: function (boolean) {
FauxtonAPI.dispatch({
type: ActionTypes.ACTIVE_TASKS_SET_IS_LOADING,
options: boolean
});
}
};
});