Skip to content

Commit

Permalink
Merge branch 'development' into DES/enhancement/#705-vl-refactor
Browse files Browse the repository at this point in the history
# Conflicts:
#	app/components/subcases/subcase-detail-nav.hbs
  • Loading branch information
brenner-company committed Apr 2, 2021
2 parents c373b4d + d3d7601 commit 21a5fe3
Show file tree
Hide file tree
Showing 12 changed files with 241 additions and 201 deletions.
2 changes: 1 addition & 1 deletion app/adapters/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ export default DS.JSONAPIAdapter.extend({
},

checkIfNotificationShouldBeShown(type) {
const modelListToNotShowNotificationFor = ['genders', 'formally-oks', 'confidentialities', 'approvals', 'alert-types', 'agenda-activities', 'meetings', 'activities'];
const modelListToNotShowNotificationFor = ['genders', 'formally-oks', 'confidentialities', 'approvals', 'alert-types', 'agenda-activities', 'meetings', 'activities', 'submission-activities'];
return !(modelListToNotShowNotificationFor.includes(type));
},

Expand Down
75 changes: 75 additions & 0 deletions app/components/publications/publications-filter-modal.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<WebComponents::AuModal data-test-au-modal-publication-new>
<WebComponents::AuModal::Header @size="medium" @title={{t "publications-filter" }} @closeModal={{this.cancel}} />
<WebComponents::AuModal::Body>
<div class="auk-form-group-layout auk-form-group-layout--grid">
<div class="auk-o-grid">
<div class="auk-o-grid-col-4">
<div class="auk-form-group">
<WebComponents::AuLabel for="defaultInput">{{t "source"}}</WebComponents::AuLabel>
</div>
<div class="auk-form-group">
<WebComponents::AuLabel for="defaultInput">{{t "status"}}</WebComponents::AuLabel>
</div>
</div>
<div class="auk-o-grid-col-4">
<div class="auk-form-group">
<WebComponents::AuCheckboxList>
<WebComponents::AuCheckbox @label={{t "via-cabinet" }} @name="ministerFilterOption"
@checked={{this.filter.ministerFilterOption}} @toggle={{this.toggleFilterOption}} />
</WebComponents::AuCheckboxList>
</div>
<div class="auk-form-group">
<WebComponents::AuCheckboxList>
<WebComponents::AuCheckbox @label={{t "publications-published" }} @name="publishedFilterOption"
@checked={{this.filter.publishedFilterOption}} @toggle={{this.toggleFilterOption}} />
<WebComponents::AuCheckbox @label={{t "publications-paused" }} @name="pausedFilterOption"
@checked={{this.filter.pausedFilterOption}} @toggle={{this.toggleFilterOption}} />
</WebComponents::AuCheckboxList>
</div>
</div>
<div class="auk-o-grid-col-4">
<div class="auk-form-group">
<WebComponents::AuCheckboxList>
<WebComponents::AuCheckbox @label={{t "not-via-cabinet" }} @name="notMinisterFilterOption"
@checked={{this.filter.notMinisterFilterOption}} @toggle={{this.toggleFilterOption}} />
</WebComponents::AuCheckboxList>
</div>
<div class="auk-form-group">
<WebComponents::AuCheckboxList>
<WebComponents::AuCheckbox @label={{t "publications-to-publish" }} @name="toPublishFilterOption"
@checked={{this.filter.toPublishFilterOption}} @toggle={{this.toggleFilterOption}} />
<WebComponents::AuCheckbox @label={{t "discharged" }} @name="withdrawnFilterOption"
@checked={{this.filter.withdrawnFilterOption}} @toggle={{this.toggleFilterOption}} />
</WebComponents::AuCheckboxList>
</div>
</div>
</div>
</div>
</WebComponents::AuModal::Body>
{{!-- TODO, use the template, yield the buttons in the right toolbar--}}
<WebComponents::AuModal::Footer @custom={{true}}>
<WebComponents::AuToolbar>
<WebComponents::AuToolbar::Group @position="left">
<WebComponents::AuToolbar::Item>
<WebComponents::AuButton @skin="borderless" {{on "click" this.cancel}} data-test-publication-button-cancel>
{{t "cancel"}}
</WebComponents::AuButton>
</WebComponents::AuToolbar::Item>
</WebComponents::AuToolbar::Group>
<WebComponents::AuToolbar::Group @position="right">
<WebComponents::AuToolbar::Item>
<WebComponents::AuButton @skin="secondary" data-test-publication-button-reset-filters {{on "click"
this.reset}}>
{{t "clear-filter-plural"}}
</WebComponents::AuButton>
</WebComponents::AuToolbar::Item>
<WebComponents::AuToolbar::Item>
<WebComponents::AuButton @icon="filter" @skin="primary" data-test-publication-button-filter-content
{{on "click" (fn @onSave this.filter)}}>
{{t "filter-content"}}
</WebComponents::AuButton>
</WebComponents::AuToolbar::Item>
</WebComponents::AuToolbar::Group>
</WebComponents::AuToolbar>
</WebComponents::AuModal::Footer>
</WebComponents::AuModal>
27 changes: 27 additions & 0 deletions app/components/publications/publications-filter-modal.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import Component from '@glimmer/component';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';

export default class PublicationsFilterModal extends Component {
@tracked filter;

constructor() {
super(...arguments);
this.filter = this.args.filter.clone();
}

@action
reset() {
this.filter.reset();
}

@action
cancel() {
this.args.onCancel();
}

@action
toggleFilterOption(event) {
this.filter[event.target.name] = event.target.checked;
}
}
39 changes: 24 additions & 15 deletions app/components/subcases/subcase-detail-nav.hbs
Original file line number Diff line number Diff line change
@@ -1,35 +1,44 @@
<div class="vlc-toolbar vlc-toolbar--auto">
<div class="vlc-toolbar__left">
<div class="vlc-toolbar__item">
{{#link-to
"cases.case.subcases"
data-test-navigation-walk-up=true
<LinkTo
data-test-navigation-walk-up
@route="cases.case.subcases"
class="vlc-backlink auk-button-link"
}}
>
{{!-- template-lint-disable no-bare-strings --}}
&#8629;
{{!-- template-lint-enable no-bare-strings --}}
{{/link-to}}
</LinkTo>
</div>
<div class="vlc-toolbar__item">
<ul class="vlc-tabs-reverse" role="tablist">
<li class="vlc-tabs-reverse__item">
{{#link-to
"cases.case.subcases.subcase.overview"
<LinkTo
@route="cases.case.subcases.subcase.overview"
class="border-left vlc-tabs-reverse__link"
activeClass="vlc-tabs-reverse__link--active"
}}
@activeClass="vlc-tabs-reverse__link--active"
>
{{t "overview"}}
{{/link-to}}
</LinkTo>
</li>
<li class="vlc-tabs-reverse__item">
{{#link-to
"cases.case.subcases.subcase.documents"
<LinkTo
@route="cases.case.subcases.subcase.documents"
class="vlc-tabs-reverse__link"
activeClass="vlc-tabs-reverse__link--active"
}}
@activeClass="vlc-tabs-reverse__link--active"
>
{{t "documents"}}
{{/link-to}}
</LinkTo>
</li>
<li class="vlc-tabs-reverse__item">
<LinkTo
@route="cases.case.subcases.subcase.decision"
class="vlc-tabs-reverse__link"
@activeClass="vlc-tabs-reverse__link--active"
>
{{capitalize (t "decision")}}
</LinkTo>
</li>
</ul>
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/components/subcases/subcase-header.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<h1 class="vlc-page-header__title vlc-page-header__title--bordered vlc-page-header__title--max-width auk-u-text-capitalize auk-u-pb">
{{subcase.shortTitle}}
</h1>
{{subcases/subcase-detail-nav}}
<Subcases::SubcaseDetailNav/>
</div>
</div>
<div class="vlc-toolbar__right">
Expand Down
12 changes: 12 additions & 0 deletions app/pods/cases/case/subcases/subcase/decision/route.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import Route from '@ember/routing/route';

export default class CasesCaseSubcasesSubcaseDecisionRoute extends Route {
async model() {
const subcase = this.modelFor('cases.case.subcases.subcase');
const pieces = await this.store.query('piece', {
'filter[agenda-item-treatment][subcase][:id:]': subcase.id,
sort: '-created',
});
return pieces.toArray();
}
}
3 changes: 3 additions & 0 deletions app/pods/cases/case/subcases/subcase/decision/template.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<Documents::DocumentCardList
@pieces={{this.model}}
/>
53 changes: 9 additions & 44 deletions app/pods/publications/controller.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
import {
action, set
} from '@ember/object';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
import PublicationFilter from 'frontend-kaleidos/utils/publication-filter';

export default class PublicationsController extends Controller {
@service publicationService;
Expand All @@ -15,16 +14,7 @@ export default class PublicationsController extends Controller {
@tracked showLoader = false;
@tracked isShowPublicationFilterModal = false;


@tracked filterOptionKeys = JSON.parse(localStorage.getItem('filterOptions'))
|| {
ministerFilterOption: true,
notMinisterFilterOption: true,
publishedFilterOption: true,
toPublishFilterOption: true,
pausedFilterOption: true,
withdrawnFilterOption: true,
};
@tracked publicationFilter = new PublicationFilter(JSON.parse(localStorage.getItem('publicationFilter')) || {});

@tracked
publication = {
Expand All @@ -34,6 +24,7 @@ export default class PublicationsController extends Controller {
longTitle: null,
};


get getError() {
return this.hasError;
}
Expand Down Expand Up @@ -106,16 +97,6 @@ export default class PublicationsController extends Controller {
this.isShowPublicationFilterModal = true;
}

@action
closeFilterModal() {
const localeFilterOptionKeys = JSON.parse(localStorage.getItem('filterOptions'));
if (localeFilterOptionKeys !== null) {
localStorage.setItem('filterOptions', JSON.stringify(localeFilterOptionKeys));
} else {
localStorage.setItem('filterOptions', JSON.stringify(this.filterOptionKeys));
}
this.isShowPublicationFilterModal = false;
}

get shouldShowPublicationHeader() {
return this.routing.currentRouteName.startsWith('publications.index');
Expand All @@ -131,31 +112,15 @@ export default class PublicationsController extends Controller {
}

@action
resetModelFilterOptions() {
this.filterOptionKeys = {
ministerFilterOption: true,
notMinisterFilterOption: true,
publishedFilterOption: true,
toPublishFilterOption: true,
pausedFilterOption: true,
withdrawnFilterOption: true,
};
localStorage.setItem('filterOptions', JSON.stringify(this.filterOptionKeys));
this.send('refreshModel');
cancelPublicationsFilter() {
this.isShowPublicationFilterModal = false;
}

@action
filterModel() {
localStorage.setItem('filterOptions', JSON.stringify(this.filterOptionKeys));
savePublicationsFilter(publicationFilter) {
this.publicationFilter = publicationFilter;
localStorage.setItem('publicationFilter', this.publicationFilter.toString());
this.isShowPublicationFilterModal = false;
// this.refreshModel();
this.send('refreshModel');
}

@action
toggleFilterOption(event) {
const tempArr = this.get('filterOptionKeys');
set(tempArr, event.target.name, !tempArr[event.target.name]);
this.set('filterOptionKeys', tempArr);
}
}
26 changes: 9 additions & 17 deletions app/pods/publications/index/route.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-rout
import Route from '@ember/routing/route';
import { action } from '@ember/object';
import CONFIG from 'frontend-kaleidos/utils/config';

import PublicationFilter from 'frontend-kaleidos/utils/publication-filter';

export default class PublicationsIndexRoute extends Route.extend(AuthenticatedRouteMixin) {
queryParams = {
Expand All @@ -21,37 +21,29 @@ export default class PublicationsIndexRoute extends Route.extend(AuthenticatedRo
}

async model(params) {
const filterOptionKeys = JSON.parse(localStorage.getItem('filterOptions'))
|| {
ministerFilterOption: false,
notMinisterFilterOption: false,
publishedFilterOption: false,
toPublishFilterOption: false,
pausedFilterOption: false,
withdrawnFilterOption: false,
};
const publicationFilter = new PublicationFilter(JSON.parse(localStorage.getItem('publicationFilter')) || {});
const ids = [];
let ministerFilter = {};

if (filterOptionKeys.publishedFilterOption) {
if (publicationFilter.publishedFilterOption) {
ids.push(CONFIG.publicationStatusPublished.id);
}
if (filterOptionKeys.pausedFilterOption) {
if (publicationFilter.pausedFilterOption) {
ids.push(CONFIG.publicationStatusPauzed.id);
}
if (filterOptionKeys.withdrawnFilterOption) {
if (publicationFilter.withdrawnFilterOption) {
ids.push(CONFIG.publicationStatusWithdrawn.id);
}
if (filterOptionKeys.toPublishFilterOption) {
if (publicationFilter.toPublishFilterOption) {
ids.push(CONFIG.publicationStatusToPublish.id);
}
if (!(filterOptionKeys.ministerFilterOption && filterOptionKeys.notMinisterFilterOption)) {
if (filterOptionKeys.ministerFilterOption) {
if (!(publicationFilter.ministerFilterOption && publicationFilter.notMinisterFilterOption)) {
if (publicationFilter.ministerFilterOption) {
ministerFilter = {
':has:subcases': 'yes',
};
}
if (filterOptionKeys.notMinisterFilterOption) {
if (publicationFilter.notMinisterFilterOption) {
ministerFilter = {
':has-no:subcases': 'yes',
};
Expand Down
Loading

0 comments on commit 21a5fe3

Please sign in to comment.