diff --git a/app/adapters/node.js b/app/adapters/node.js index 12a8b0b5e0545b6e5579f326c8eea7bb9da47c44..1cd2760ef0f3f34d432c1e5baab1b9ed9ce339d0 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 2ddcf0920a82d80a5c86e0b71fe6acb6b25e827d..679f3a129cdbfd6a629fe539332d3f1bf19b9422 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 1c2e813af4c916955efbeef81a60d7cbb3b45094..11798af2a6457b6a63bb356ac76d600ce3f5dfdc 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 15f5236188b9a76dc686337f2dede32a73f01847..4c174d1b87c2d3bd043cf74f2a1e005a9ae60ce3 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 a1957fa5b850fefbd780b6a2e3ddcbb1bb7cc200..7b6b35aac8a9e9a23e76505b7187a8fefcf207e0 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 afab04b13526576e569848a9497899b5d2709a7f..bba8b644798365dc0efe75ab84b652a86cce0df8 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 8e4d0efb7cec5015df2393df69e6027a5d9894e1..e34397cc89ccd574c584d87ee5e4fb05254831d5 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">