From 16e24c43e56fab33a527ace49a1565d2b026e9ba Mon Sep 17 00:00:00 2001 From: Eugen Ciur <eugen@papermerge.com> Date: Fri, 25 Feb 2022 21:28:35 +0100 Subject: [PATCH] add inbox countwq --- app/adapters/node.js | 2 +- app/components/commander/index.js | 2 +- app/components/nav/sidebar.hbs | 2 +- app/controllers/authenticated.js | 2 ++ app/routes/authenticated.js | 14 ++++++++++++-- app/services/requests.js | 8 ++++++++ app/templates/authenticated.hbs | 1 + 7 files changed, 26 insertions(+), 5 deletions(-) diff --git a/app/adapters/node.js b/app/adapters/node.js index 12a8b0b..1cd2760 100644 --- a/app/adapters/node.js +++ b/app/adapters/node.js @@ -1,5 +1,5 @@ import ApplicationAdapter from './application'; -import { inject as service } from '@ember/service'; +import { service } from '@ember/service'; export default class NodeAdapter extends ApplicationAdapter { diff --git a/app/components/commander/index.js b/app/components/commander/index.js index 2ddcf09..679f3a1 100644 --- a/app/components/commander/index.js +++ b/app/components/commander/index.js @@ -88,7 +88,7 @@ export default class CommanderComponent extends Component { _substract_nodes(node_ids) { let that = this, doc; - console.log(`substract_nodes ${node_ids}`); + node_ids.forEach(node_id => { // maybe document ? doc = that.store.peekRecord('document', node_id); diff --git a/app/components/nav/sidebar.hbs b/app/components/nav/sidebar.hbs index 1c2e813..11798af 100644 --- a/app/components/nav/sidebar.hbs +++ b/app/components/nav/sidebar.hbs @@ -42,7 +42,7 @@ @route="authenticated.nodes" @model="{{@inbox_folder_id}}" class="nav-link text-white" aria-current="page"> - <i class="bi-inbox me-2"></i>Inbox + <i class="bi-inbox me-2"></i>Inbox ({{@inbox_count}}) </LinkTo> </li> <li> diff --git a/app/controllers/authenticated.js b/app/controllers/authenticated.js index 15f5236..4c174d1 100644 --- a/app/controllers/authenticated.js +++ b/app/controllers/authenticated.js @@ -4,6 +4,8 @@ import { tracked } from '@glimmer/tracking'; export default class AuthenticatedController extends Controller { + + // sidebar expanded ? @tracked expanded = true; @action diff --git a/app/routes/authenticated.js b/app/routes/authenticated.js index a1957fa..7b6b35a 100644 --- a/app/routes/authenticated.js +++ b/app/routes/authenticated.js @@ -1,22 +1,32 @@ import BaseRoute from 'papermerge/routes/base'; +import { service } from '@ember/service'; export default class AuthenticatedRoute extends BaseRoute { + @service requests; + async model() { let home_folder_id, inbox_folder_id, pinned_tags, - tags; + tags, + inbox_count; tags = await this.store.findAll('tag'); pinned_tags = tags.filter(tag => tag.pinned); + inbox_count = await this.requests.getInboxCount(); if (this.currentUser.user) { home_folder_id = this.currentUser.user.home_folder.get('id'); inbox_folder_id = this.currentUser.user.inbox_folder.get('id'); } - return {pinned_tags, home_folder_id, inbox_folder_id}; + return { + pinned_tags, + home_folder_id, + inbox_folder_id, + inbox_count + }; } } diff --git a/app/services/requests.js b/app/services/requests.js index afab04b..bba8b64 100644 --- a/app/services/requests.js +++ b/app/services/requests.js @@ -142,6 +142,14 @@ export default class Requests extends Service { }); } + async getInboxCount() { + return this._get('/nodes/inboxcount/').then( + response => response.json() + ).then( data => { + return data.data.count; + }); + } + async _get(url, params_str) { let url_with_base, headers_copy = {}; diff --git a/app/templates/authenticated.hbs b/app/templates/authenticated.hbs index 8e4d0ef..e34397c 100644 --- a/app/templates/authenticated.hbs +++ b/app/templates/authenticated.hbs @@ -2,6 +2,7 @@ <Nav::Sidebar @home_folder_id={{@model.home_folder_id}} @inbox_folder_id={{@model.inbox_folder_id}} + @inbox_count={{@model.inbox_count}} @pinned_tags={{@model.pinned_tags}} @expanded={{this.expanded}} /> <div class="w-100 central-bar"> -- GitLab