in public/lib/filters-service.js [173:239]
constructor() {
// TODO: Refactor filters service to promise based architecture to allow for deferred loading of filters based on preferences
var self = this;
var params = $location.search();
var setUpFilters = function (params) {
var deadline = params['deadline'];
self.filters = {
'status' : params['status'],
'state' : params['state'],
'section' : params['section'],
'content-type' : params['content-type'],
'atom-type' : params['atom-type'],
'deadline' : wfDateParser.parseQueryString(deadline),
'flags' : params['flags'],
'prodOffice' : params['prodOffice'],
'created' : params['created'],
'assignee' : params['assignee'],
'assigneeEmail' : params['assigneeEmail'],
'incopy' : params['incopy'],
'touched' : params['touched'],
'composerId' : params['composerId'],
'view' : params['view'],
'news-list' : params['news-list'],
'trashed' : params['trashed'],
'plan-start-date': params['plan-start-date'],
'plan-end-date' : params['plan-end-date'],
'editorId' : params['editorId'],
'hasPrintInfo' : params['hasPrintInfo'],
'hasMainMedia' : params['hasMainMedia'],
'hasAnyRights' : params['rights'],
'display-hint' : params['display-hint'],
'article-format' : params['article-format'],
};
$rootScope.currentlySelectedStatusFilters = self.transformStatusList(self.filters['status']);
};
setUpFilters(params); // base setting
if (Object.keys(params).length === 0) { // if no params in URL attempt to load filters from user prefs
wfPreferencesService.getPreference('location').then((data) => {
params = data || {};
setUpFilters(params);
for (var key in params) {
if (params.hasOwnProperty(key)) {
self.update(key, params[key], true);
}
}
$rootScope.$broadcast('filtersChanged.fromPreferences');
$rootScope.$broadcast('getContent');
}, () => {
setUpFilters(params);
});
} else {
setUpFilters(params);
}
}