var Util = require('../util'); var path = require('path'); // Action types var LOAD_DESKTOP_APPS = exports.LOAD_PROFILE = 'LOAD_DESKTOP_APPS'; var LOAD_DESKTOP_APPS_SUCCESS = exports.LOAD_DESKTOP_APPS_SUCCESS = 'LOAD_DESKTOP_APPS_SUCCESS'; var LOAD_DESKTOP_APPS_FAILED = exports.LOAD_DESKTOP_APPS_FAILED = 'LOAD_DESKTOP_APPS_FAILED'; // Actions creator exports.loadDesktopApps = function() { return function(dispatch, getState) { var baseDirs = global.process.env.XDG_DATA_DIRS.split(':').map(function(baseDir){ return path.join(baseDir, 'applications'); }); dispatch({ type: LOAD_DESKTOP_APPS }); return Util.DesktopApps.loadAllDesktopFiles(baseDirs) .then(function(desktopApps) { dispatch({ type: LOAD_DESKTOP_APPS_SUCCESS, desktopApps: desktopApps }); }) .catch(function(err) { dispatch({ type: LOAD_DESKTOP_APPS_FAILED, error: err }); }) ; }; };