1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-25 08:09:43 +02:00

Allow sorting of search results and space contents

Closes #187

Sort search results and space contents by Name, Created or Revised.
This commit is contained in:
McMatts 2019-03-13 11:40:36 +00:00
parent 0985dbf5b6
commit 1d00f8ac6e
19 changed files with 1182 additions and 807 deletions

View file

@ -23,6 +23,14 @@ export default Controller.extend(NotifierMixin, {
queryParams: ['category'],
category: '',
filteredDocs: null,
// eslint-disable-next-line ember/avoid-leaking-state-in-ember-objects
sortBy: {
name: true,
created: false,
updated: false,
asc: true,
desc: false,
},
actions: {
onRefresh() {
@ -80,6 +88,30 @@ export default Controller.extend(NotifierMixin, {
},
onFiltered(docs) {
let ls = this.get('localStorage');
let sortBy = this.get('sortBy');
if (_.isNull(docs)) return;
if (sortBy.name) {
docs = docs.sortBy('name');
ls.storeSessionItem('space.sortBy', 'name');
}
if (sortBy.created) {
docs = docs.sortBy('created');
ls.storeSessionItem('space.sortBy', 'created');
}
if (sortBy.updated) {
docs = docs.sortBy('revised');
ls.storeSessionItem('space.sortBy', 'updated');
}
if (sortBy.desc) {
docs = docs.reverseObjects();
ls.storeSessionItem('space.sortOrder', 'desc');
} else {
ls.storeSessionItem('space.sortOrder', 'asc');
}
this.set('filteredDocs', docs);
}
}

View file

@ -44,13 +44,15 @@
onRefresh=(action "onRefresh")}}
</div>
</div>
{{folder/documents-list
documents=filteredDocs
spaces=model.folders
space=model.folder
templates=model.templates
permissions=model.permissions
sortBy=sortBy
onFiltered=(action "onFiltered")
onExportDocument=(action "onExportDocument")
onDeleteDocument=(action "onDeleteDocument")
onMoveDocument=(action "onMoveDocument")}}