From 9fd53142f36ff670bb78ec3162485bfc73d8ce7e Mon Sep 17 00:00:00 2001 From: Harvey Kandola Date: Tue, 5 Dec 2017 11:34:18 +0000 Subject: [PATCH] filter docs by category, search query params --- gui/app/components/folder/space-view.js | 21 ++++++------------- gui/app/pods/folder/index/controller.js | 2 ++ gui/app/pods/folder/index/template.hbs | 1 + gui/app/pods/search/controller.js | 7 +++++-- .../components/document/document-heading.hbs | 2 +- .../components/document/document-meta.hbs | 4 +++- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/gui/app/components/folder/space-view.js b/gui/app/components/folder/space-view.js index a3e118e5..4f992113 100644 --- a/gui/app/components/folder/space-view.js +++ b/gui/app/components/folder/space-view.js @@ -58,7 +58,9 @@ export default Component.extend(AuthMixin, { this.set('categoryLinkName', categories.length > 0 ? 'manage' : 'add'); schedule('afterRender', () => { - if (this.get('rootDocCount') > 0) { + if (this.get('categoryFilter') !== '') { + this.send('onDocumentFilter', 'category', this.get('categoryFilter')); + } else if (this.get('rootDocCount') > 0) { this.send('onDocumentFilter', 'space', this.get('folder.id')); } else if (selectedCategory !== '') { this.send('onDocumentFilter', 'category', selectedCategory); @@ -67,20 +69,6 @@ export default Component.extend(AuthMixin, { }, actions: { - zonMoveDocumentz(documents, targetSpaceId) { - let self = this; - - documents.forEach(function (documentId) { - self.get('documentService').getDocument(documentId).then(function (doc) { - doc.set('folderId', targetSpaceId); - doc.set('selected', false); - self.get('documentService').save(doc).then(function () { - self.attrs.onRefresh(); - }); - }); - }); - }, - onMoveDocument(documents, targetSpaceId) { let self = this; let promises1 = []; @@ -140,6 +128,7 @@ export default Component.extend(AuthMixin, { } }); + this.set('categoryFilter', id); this.set('spaceSelected', false); this.set('uncategorizedSelected', false); break; @@ -152,6 +141,7 @@ export default Component.extend(AuthMixin, { } }); + this.set('categoryFilter', ''); this.set('uncategorizedSelected', true); this.set('spaceSelected', false); break; @@ -162,6 +152,7 @@ export default Component.extend(AuthMixin, { filtered.pushObject(d); }); + this.set('categoryFilter', ''); this.set('spaceSelected', true); this.set('uncategorizedSelected', false); break; diff --git a/gui/app/pods/folder/index/controller.js b/gui/app/pods/folder/index/controller.js index 595723be..d6e8f087 100644 --- a/gui/app/pods/folder/index/controller.js +++ b/gui/app/pods/folder/index/controller.js @@ -18,6 +18,8 @@ export default Controller.extend(NotifierMixin, { documentService: service('document'), folderService: service('folder'), localStorage: service('localStorage'), + queryParams: ['category'], + category: '', actions: { onAddSpace(payload) { diff --git a/gui/app/pods/folder/index/template.hbs b/gui/app/pods/folder/index/template.hbs index 49ae0b59..ff947263 100644 --- a/gui/app/pods/folder/index/template.hbs +++ b/gui/app/pods/folder/index/template.hbs @@ -19,5 +19,6 @@ categorySummary=model.categorySummary categoryMembers=model.categoryMembers rootDocCount=model.rootDocCount + categoryFilter=category onRefresh=(action 'onRefresh')}} \ No newline at end of file diff --git a/gui/app/pods/search/controller.js b/gui/app/pods/search/controller.js index 21a385c9..52440a13 100644 --- a/gui/app/pods/search/controller.js +++ b/gui/app/pods/search/controller.js @@ -10,13 +10,13 @@ // https://documize.com import { debounce } from '@ember/runloop'; - import { inject as service } from '@ember/service'; import Controller from '@ember/controller'; export default Controller.extend({ searchService: service('search'), - filter: "", + queryParams: ['filter', 'matchDoc', 'matchContent', 'matchTag', 'matchFile'], + filter: '', results: [], matchDoc: true, matchContent: true, @@ -30,12 +30,15 @@ export default Controller.extend({ onMatchDoc: function () { debounce(this, this.fetch, 750); }.observes('matchDoc'), + onMatchContent: function () { debounce(this, this.fetch, 750); }.observes('matchContent'), + onMatchTag: function () { debounce(this, this.fetch, 750); }.observes('matchTag'), + onMatchFile: function () { debounce(this, this.fetch, 750); }.observes('matchFile'), diff --git a/gui/app/templates/components/document/document-heading.hbs b/gui/app/templates/components/document/document-heading.hbs index 2137ba54..60e2d096 100644 --- a/gui/app/templates/components/document/document-heading.hbs +++ b/gui/app/templates/components/document/document-heading.hbs @@ -17,7 +17,7 @@ {{focus-input id="document-name" type="text" value=docName class=(if hasNameError 'form-control mousetrap is-invalid' 'form-control mousetrap') placeholder="Title" autocomplete="off"}}
- {{input id="document-excerpt" type="text" value=docExcerpt class=(if hasExcerptError 'form-control mousetrap is-invalid' 'form-control mousetrap') placeholder="Excerpt" autocomplete="off"}} + {{textarea id="document-excerpt" rows="2" value=docExcerpt class=(if hasExcerptError 'form-control mousetrap is-invalid' 'form-control mousetrap') placeholder="Excerpt" autocomplete="off"}}
diff --git a/gui/app/templates/components/document/document-meta.hbs b/gui/app/templates/components/document/document-meta.hbs index b6b373c4..61cc79a4 100644 --- a/gui/app/templates/components/document/document-meta.hbs +++ b/gui/app/templates/components/document/document-meta.hbs @@ -30,7 +30,9 @@
Tags
{{#each tagz as |t index|}} - {{concat '#' t}}   + {{#link-to 'search' (query-params filter=t matchTag=true)}} + {{concat '#' t}} + {{/link-to}}   {{/each}} {{#if canSelectCategory}}