ParliamentMenuItemFactoryImpl.java

  1. /*
  2.  * Copyright 2010-2025 James Pether Sörling
  3.  *
  4.  * Licensed under the Apache License, Version 2.0 (the "License");
  5.  * you may not use this file except in compliance with the License.
  6.  * You may obtain a copy of the License at
  7.  *
  8.  *   http://www.apache.org/licenses/LICENSE-2.0
  9.  *
  10.  * Unless required by applicable law or agreed to in writing, software
  11.  * distributed under the License is distributed on an "AS IS" BASIS,
  12.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13.  * See the License for the specific language governing permissions and
  14.  * limitations under the License.
  15.  *
  16.  *  $Id$
  17.  *  $HeadURL$
  18. */
  19. package com.hack23.cia.web.impl.ui.application.views.common.menufactory.impl;

  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.stereotype.Service;

  22. import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.ApplicationMenuItemFactory;
  23. import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.ParliamentMenuItemFactory;
  24. import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.pagecommands.PageCommandParliamentRankingConstants;
  25. import com.hack23.cia.web.impl.ui.application.views.common.rows.RowUtil;
  26. import com.jarektoro.responsivelayout.ResponsiveRow;
  27. import com.vaadin.icons.VaadinIcons;
  28. import com.vaadin.ui.MenuBar;
  29. import com.vaadin.ui.MenuBar.MenuItem;
  30. import com.vaadin.ui.VerticalLayout;

  31. /**
  32.  * The Class ParliamentMenuItemFactoryImpl.
  33.  */
  34. @Service
  35. public final class ParliamentMenuItemFactoryImpl extends AbstractMenuItemFactoryImpl
  36.         implements ParliamentMenuItemFactory {

  37.     /** The application menu item factory. */
  38.     @Autowired
  39.     private ApplicationMenuItemFactory applicationMenuItemFactory;

  40.     /**
  41.      * Instantiates a new parliament menu item factory impl.
  42.      */
  43.     public ParliamentMenuItemFactoryImpl() {
  44.         super();
  45.     }

  46.     @Override
  47.     public void createOverviewPage(final VerticalLayout panelContent) {
  48.         final ResponsiveRow grid = RowUtil.createGridLayout(panelContent);

  49.         createButtonLink(grid, PARTY_WINNER, VaadinIcons.INSTITUTION,
  50.                 PageCommandParliamentRankingConstants.COMMAND_CHARTS_PARTY_WINNER,
  51.             PARTY_WINNER_DESCRIPTION);

  52.         createButtonLink(grid, PARTY_GENDER, VaadinIcons.INSTITUTION,
  53.                 PageCommandParliamentRankingConstants.COMMAND_CHARTS_PARTY_GENDER,
  54.             PARTY_GENDER_DESCRIPTION);

  55.         createButtonLink(grid, PARTY_AGE, VaadinIcons.INSTITUTION, PageCommandParliamentRankingConstants.COMMAND_CHARTS_PARTY_AGE, PARTY_AGE_DESCRIPTION);

  56.         createButtonLink(grid, RISK_SUMMARY, VaadinIcons.INSTITUTION,
  57.             PageCommandParliamentRankingConstants.COMMAND_RISK_SUMMARY, RISK_SUMMARY_DESCRIPTION);

  58.         createButtonLink(grid, RULE_VIOLATIONS, VaadinIcons.INSTITUTION, PageCommandParliamentRankingConstants.COMMAND_RULE_VIOLATION,
  59.                 RULE_VIOLATIONS_DESCRIPTION);

  60.         createButtonLink(grid, DOCUMENT_ACTIVITY_BY_TYPE, VaadinIcons.INSTITUTION,
  61.                 PageCommandParliamentRankingConstants.COMMAND_DOCUMENT_ACTIVITY, DOCUMENT_ACTIVITY_DESCRIPTION);
  62.         createButtonLink(grid, DECISION_ACTIVITY_BY_TYPE, VaadinIcons.INSTITUTION, PageCommandParliamentRankingConstants.COMMAND_DECISION_ACTIVITY,
  63.                 DECISION_ACTIVITY_DESCRIPTION);

  64.         createButtonLink(grid, DECISION_FLOW, VaadinIcons.INSTITUTION,
  65.             PageCommandParliamentRankingConstants.COMMAND_CHARTS_DECISION_FLOW, DECISION_FLOW_DESCRIPTION);

  66.         createButtonLink(grid, RANKING_PAGE_VISIT_TEXT, VaadinIcons.INSTITUTION,
  67.                 PageCommandParliamentRankingConstants.PARLIAMENT_RANKING_COMMAND_PAGEVISIT_HISTORY, RANKING_PAGE_VISIT_DESC);

  68.     }

  69.     @Override
  70.     public void createParliamentTopicMenu(final MenuBar menuBar) {
  71.         initApplicationMenuBar(menuBar);

  72.         applicationMenuItemFactory.addRankingMenu(menuBar);

  73.         createParliamentTopicMenu(menuBar.addItem(PARLIAMENT_RANKING_TEXT, VaadinIcons.INSTITUTION, null));

  74.     }

  75.     @Override
  76.     public void createParliamentTopicMenu(final MenuItem charts) {
  77.         charts.addItem(OVERVIEW_TEXT, VaadinIcons.INSTITUTION,
  78.                  PageCommandParliamentRankingConstants.COMMAND_PARLIAMENT_RANKING_OVERVIEW);

  79.         final MenuItem chartIndicators = charts.addItem(SWEDISH_PARLIAMENT_INDICATORS, VaadinIcons.INSTITUTION, null);

  80.         final MenuItem addItem = chartIndicators.addItem(PARTY_WINNER, VaadinIcons.INSTITUTION,
  81.                 PageCommandParliamentRankingConstants.COMMAND_CHARTS_PARTY_WINNER);
  82.         addItem.setDescription(PARTY_WINNER_DESCRIPTION);

  83.         final MenuItem addItem2 = chartIndicators.addItem(PARTY_GENDER, VaadinIcons.INSTITUTION,
  84.                 PageCommandParliamentRankingConstants.COMMAND_CHARTS_PARTY_GENDER);
  85.         addItem2.setDescription(PARTY_GENDER_DESCRIPTION);

  86.         final MenuItem addItem3 = chartIndicators.addItem(PARTY_AGE, VaadinIcons.INSTITUTION, PageCommandParliamentRankingConstants.COMMAND_CHARTS_PARTY_AGE);
  87.         addItem3.setDescription(PARTY_AGE_DESCRIPTION);

  88.         final MenuItem addItem7 = chartIndicators.addItem(RISK_SUMMARY, VaadinIcons.INSTITUTION,
  89.             PageCommandParliamentRankingConstants.COMMAND_RISK_SUMMARY);
  90.         addItem7.setDescription(RISK_SUMMARY_DESCRIPTION);

  91.         final MenuItem addItem8 = chartIndicators.addItem(RULE_VIOLATIONS, VaadinIcons.INSTITUTION,
  92.                 PageCommandParliamentRankingConstants.COMMAND_RULE_VIOLATION);
  93.         addItem8.setDescription(RULE_VIOLATIONS_DESCRIPTION);

  94.         final MenuItem addItem4 = chartIndicators.addItem(DOCUMENT_ACTIVITY_BY_TYPE, VaadinIcons.INSTITUTION,
  95.                 PageCommandParliamentRankingConstants.COMMAND_DOCUMENT_ACTIVITY);
  96.         addItem4.setDescription(DOCUMENT_ACTIVITY_DESCRIPTION);

  97.         final MenuItem addItem5 = chartIndicators.addItem(DECISION_ACTIVITY_BY_TYPE, VaadinIcons.INSTITUTION,
  98.                 PageCommandParliamentRankingConstants.COMMAND_DECISION_ACTIVITY);
  99.         addItem5.setDescription(DECISION_ACTIVITY_DESCRIPTION);

  100.         final MenuItem addItem6 = chartIndicators.addItem(DECISION_FLOW, VaadinIcons.INSTITUTION,
  101.             PageCommandParliamentRankingConstants.COMMAND_CHARTS_DECISION_FLOW);
  102.         addItem6.setDescription(DECISION_FLOW_DESCRIPTION);

  103.         charts.addItem(RANKING_PAGE_VISIT_TEXT, VaadinIcons.INSTITUTION,
  104.                 PageCommandParliamentRankingConstants.PARLIAMENT_RANKING_COMMAND_PAGEVISIT_HISTORY);
  105.     }

  106. }