constructor()

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);
                }
            }