templates/iai_default/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}IAI{% endblock %}
  3. {% block body %}
  4. {# dump(response) #}
  5.     {#<div class="tutorial">
  6.         <a href="javascript:void(0);" id="startTutBtn">Start Tutorial</a>
  7.     </div>#}
  8.     <div class="container-fluid">
  9.         <form name="form" method="post" id="filterForm">
  10.         <div class="row">
  11.             <div class="col-12">
  12.                 <h1 id="title"><span class="primary-title">ALUMINIUM SECTOR TRADE FLOWS</span></h1>
  13.                     <h2 id="sectitle"><span class="secondary-title">{{ title }}</span></h2>
  14.             </div>
  15.             <div class="col-9">
  16.                 <canvas id="canvas"></canvas>
  17.                 
  18.                 <div class="products row fboxProducts" style="border-width: 1px; border-style: solid; border-color: #495057; margin-left: 12px; padding: 12px; border-radius: 15px;">
  19.                     <div class="col-2"><span class="contextTitle">Products</span>
  20.                         <a href="javascript:;" class="selectall">Select All</a>
  21.                         <a href="javascript:;" class="deselectall">Deselect All</a>
  22.                     </div>
  23.                     <div id="legend-container" class="col-8">
  24.                         {#
  25.                         <a href="javascript:;" data-name="Alumina" data-id="7601" class="picon alumina activated"></a>
  26.                         <a href="javascript:" data-name="Aluminium" data-id="7602" class="picon aluminium activated active"></a>
  27.                         <a href="javascript:" data-name="Bauxite" data-id="7603" class="picon bauxite activated"></a>
  28.                         <a href="javascript:" data-name="Extrusion" class="picon extrusion activated"></a>
  29.                         <a href="javascript:" data-name="Foil" class="picon foil3 activated"></a>
  30.                         <a href="javascript:" data-name="Rolled" class="picon rolled_products activated"></a>
  31.                         <a href="javascript:" data-name="Scrap" class="picon scrap activated"></a>
  32.                         #}
  33.                     </div>
  34.                     <div class="col-2">
  35.                         <span class="desc_right">Please select the product icon/s that you would like to see data for. Greyed out product icon/s do not have a data set available.</span>
  36.                     </div>
  37.                 </div>
  38.                 <br /><br />
  39.                 <span style="font-size: 12px;">Trade Flow Visualization provided by the <a href="https://www.international-aluminium.org" target="_blank">International Aluminium Institute</a> | Data source: <a href="https://comtrade.un.org/" target="_blank">UNComtrade and International Trade Centre</a>.</span>
  40.             </div>
  41.             <div class="col-3 contextCol">                
  42.                 <div class="fboxTradeVisu">
  43.                     <span class="contextTitle">Trade Visualization  
  44.                         <a href="#" id="tradeTglr" class="qicon popover-toggle" title="Trade Visualization"><i class="bi bi-question-circle-fill"></i></a>
  45.                         <div id="tradeContent" style="display: none">
  46.                             This visualisation aims to increase transparency of aluminium specific trade between countries. The data is shown in kilograms for bauxite, alumina, aluminium, scrap, rolled products, extrusions and foil. Annual data is based on <a class="popoverlink" href="https://comtrade.un.org/" target="_blank">UN Comtrade Database</a> and monthly data on <a href="https://www.trademap.org" class="popoverlink" target="_blank">International Trade Centre</a>. 
  47.                         </div>
  48.                     </span>
  49.                     <div class="filterbox tradeVisu">
  50.                         <div class="row iconRow">
  51.                             {#<div class="col-2">
  52.                                 <a href="" class="chartIcon">
  53.                                     <svg width="2em" height="2em" viewBox="0 0 16 16" class="bi bi-bar-chart-steps" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
  54.                                     <path fill-rule="evenodd" d="M.5 0a.5.5 0 0 1 .5.5v15a.5.5 0 0 1-1 0V.5A.5.5 0 0 1 .5 0z"/>
  55.                                     <rect width="5" height="2" x="2" y="1" rx=".5"/>
  56.                                     <rect width="8" height="2" x="4" y="5" rx=".5"/>
  57.                                     <path d="M6 9.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-6a.5.5 0 0 1-.5-.5v-1zm2 4a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1z"/>
  58.                                     </svg>                
  59.                                 </a>
  60.                             </div>#}
  61.                             <div class="col-2">
  62.                                 <a href="" class="chartIcon active">
  63.                                     <svg width="2em" height="2em" viewBox="0 0 16 16" class="bi bi-bar-chart-line" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
  64.                                         <path fill-rule="evenodd" d="M11 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v12h.5a.5.5 0 0 1 0 1H.5a.5.5 0 0 1 0-1H1v-3a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v3h1V7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v7h1V2zm1 12h2V2h-2v12zm-3 0V7H7v7h2zm-5 0v-3H2v3h2z"/>
  65.                                     </svg>                        
  66.                                 </a>
  67.                             </div>
  68.                             <!--div class="col-4">
  69.                                 Treemap                    
  70.                             </div-->
  71.                         </div>
  72.                     </div>
  73.                 </div>
  74.                 <div class="fboxImportExport">
  75.                     <span class="contextTitle">Import/Export</span>
  76.                     <div class="filterbox filterbox-noborder imexport">
  77.                         <div data-toggle="buttons">
  78.                             <label class="btn btn-secondary">
  79.                                 {{ form_widget(filterForm.export) }}
  80.                             </label>
  81.                             <label class="btn btn-secondary">
  82.                                 {{ form_widget(filterForm.import) }}
  83.                             </label>
  84.                             <label class="btn btn-secondary">
  85.                                 {{ form_widget(filterForm.nettrade) }}
  86.                             </label>
  87.                         </div>
  88.                     </div>
  89.                 </div>
  90.                 <div class="fboxInterval">
  91.                     <div class="filterbox filterbox-noborder interval">
  92.                         <span class="contextTitle">Interval</span>
  93.                         <div class="filterbox monthanu">
  94.                             {{ form_widget(filterForm.monthly_annual, { 'disabled': 'disabled' }) }}
  95.                         </div>        
  96.                     </div>    
  97.                 </div>
  98.                 
  99.                 <div class="filterbox filterbox-noborder country fboxCountry">
  100.                     <span class="contextTitle">Country 
  101.                         <a href="#" id="countryTglr" class="qicon popover-toggle" title="Country"><i class="bi bi-question-circle-fill"></i></a>
  102.                         <div id="countryContent" style="display: none">
  103.                             To view, please follow these steps: 
  104.                             <ol>
  105.                                 <li>chose the country you would like to visualise the trade for;</li>
  106.                                 <li>chose the trading partner; and</li>
  107.                                 <li>chose whether you would like the data reported by the country you are visualising or its trading partner. </li>
  108.                             </ol>
  109.                         </div>
  110.                     </span>
  111.                     <div class="filterbox country">
  112.                         <div class="selectfilterbox">
  113.                             {{ form_label(filterForm.reporter) }}
  114.                             {{ form_widget(filterForm.reporter) }}
  115.                         </div>
  116.                         <div class="selectfilterbox">
  117.                             {{ form_label(filterForm.tradingpartner) }}
  118.                             {{ form_widget(filterForm.tradingpartner) }}
  119.                         </div>
  120.                         <div class="selectfilterbox">
  121.                             {{ form_label(filterForm.reportingcountry) }}
  122.                             {{ form_widget(filterForm.reportingcountry) }}
  123.                         </div>
  124.                     </div>
  125.                 </div>
  126.                 <div class="filterbox filterbox-noborder period fboxPeriod">
  127.                     <span class="contextTitle">Period 
  128.                         <a href="#" id="periodTglr" class="qicon popover-toggle" title="Country"><i class="bi bi-question-circle-fill"></i></a>
  129.                         <div id="periodContent" style="display: none">
  130.                             Chose a period for the data.
  131.                         </div>
  132.                     </span>
  133.                     <div class="filterbox period">
  134.                         <div class="selectfilterbox">
  135.                             <div class="input-group input-daterange">
  136.                                 {{ form_widget(filterForm.periodFrom ) }} {# { 'disabled': 'disabled' } #}
  137.                                 <span class="input-group-addon">to</span>
  138.                                 {{ form_widget(filterForm.periodTo ) }} {# { 'disabled': 'disabled' } #}
  139.                             </div>
  140.                         </div>
  141.                         {#<div class="selectfilterbox disabled">
  142.                             {{ form_label(filterForm.to) }}
  143.                             {{ form_widget(filterForm.to, { 'disabled': 'disabled' }) }}
  144.                         </div>#}
  145.                     </div>
  146.                 </div>
  147.                 <div class="filterbox filterbox-noborder country fboxDownload">
  148.                     <span class="contextTitle">Data Download 
  149.                         <a href="#" id="downloadTglr" class="qicon popover-toggle" title="Data Download"><i class="bi bi-question-circle-fill"></i></a>
  150.                         <div id="downloadContent" style="display: none">
  151.                             Download the filtered data as CSV to use it in Excel.
  152.                         </div>
  153.                     </span>
  154.                     <div class="filterbox download">
  155.                         {{ form_widget(filterForm.download, { 'attr': {'class': 'btn-secondary'} }) }}
  156.                     </div>
  157.                 </div>
  158.             </div>
  159.         </div>
  160.         </form>
  161.     </div>
  162.     <div style="clear: both;"></div>
  163.     <style>
  164.         canvas {
  165.             -moz-user-select: none;
  166.             -webkit-user-select: none;
  167.             -ms-user-select: none;
  168.         }
  169.         {% if isFirstRequest %}
  170.             canvas, .products.row {
  171.                 opacity: 0.4;
  172.             }
  173.         {% endif %}
  174.     </style>
  175.     {#<script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/Chart_3.4.1.js"></script>#}
  176.     {#<script src="/members/trade/public/js/Chart_2.9.4.js"></script>#}
  177.     {#<script src="https://cdn.jsdelivr.net/npm/chart.js@3.4.1/dist/chart.min.js"></script>#}
  178.     {#<script src="https://cdn.jsdelivr.net/npm/chart.js@3.9.0/dist/chart.min.js"></script>#}
  179.     {#<script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/d3.min.js"></script>#}
  180.     
  181.     
  182. {# dump(filterForm.vars.value.import ) #}
  183.     <script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/data.js"></script>
  184.     {#<script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/data_test.js"></script>#}
  185.     <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
  186.     <script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
  187.     <script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/chart.js-3.9.0/dist/chart.js"></script>
  188.     <script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/bootstrap-datepicker-1.9.0-dist/js/bootstrap-datepicker.min.js"></script>
  189.     <script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/moment-with-locales.js"></script>
  190.     
  191.     <script src="{{ app.request.getSchemeAndHttpHost() }}/members/trade/public/js/app.js"></script>
  192.     {% block javascript %}
  193.     <script>
  194.         let filters = JSON.parse('{{ defaults | json_encode | raw }}');
  195.         let isFirstRequest = {{ isFirstRequest }};
  196.         let myOptions = [];
  197.         myOptions['title'] = "";
  198.         {% if isFirstRequest == 0 %}
  199.             var firstRequest = 0;
  200.             {#  var barChartData = {{ response|raw }};  #}
  201.             var reportingCountry = "{{ reportingCountry }}";
  202.             var reporter = "{{ reporter }}";
  203.             var tradingpartner = "{{ tradingpartner }}";
  204.         {% else %}
  205.         var firstRequest = 1;
  206.             var reportingCountry = "";
  207.             var reporter = "{{ reporter }}";
  208.             var tradingpartner = "{{ tradingpartner }}";
  209.         {% endif %}
  210.         var barChartData = {{ data|raw }};
  211.     </script>
  212.     {% endblock %}
  213. {% endblock %}