www/prod_new.php

Mon, 18 May 2020 11:00:59 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 18 May 2020 11:00:59 +0200
changeset 679
48f8f3fce7c0
parent 240
a85c1d4c4d12
permissions
-rw-r--r--

Added reconnecting-websocket.js to automatic reconnect the websocket if the connection is lost. Usefull for mobile devices that go to sleep after a while. Changed mon_fermenters to use websockets instead of polling. Fixed wrong temperature color ranges on the fermenter monior. Increased the websocket receive buffer to 2048. In cannot overflow, but larger messages are chunked and the application does not handle these split messages. Needs termferm 0.9.9 or newer.

<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/includes/global.inc.php');
page_header('Nieuw product', 'prod_new');
?>

   <div id='jqxTabs'>
    <ul>
     <li style="margin-left: 30px;">Product basis</li>
     <li>Bierstijl</li>
     <li>Apparatuur</li>
     <li>Overzicht</li>
    </ul>

    <div class="section">
     <div style="overflow: hidden;">
      <table style="width: 100%;">
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Brouw project naam:</td>
        <td align="left" colspan="3" style="vertical-align: top; padding: 3px;"><input id="name" /></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Brouw project code:</td>
	<td align="left" style="vertical-align: top; padding: 3px;"><input id="code" /></td>
        <td style="vertical-align: top; float: right; padding: 3px;">Brouw type:</td>
        <td align="left" style="padding: 3px;"><div id="type"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Opmerkingen:</td>
        <td colspan="3" style="padding: 3px;"><textarea id="notes"></textarea></td>
       </tr>
      </table>
     </div>
     <div id="hintBase" class="hint">
     </div>
     <div id="baseButtonsWrapper">
      <input type="button" value="Volgende" class="nextButton" id="nextButtonBase" />
     </div>
    </div>

    <div class="section">
     <div style="overflow: hidden;">
      <table style="width: 100%;">
       <tr>
	<td align="right" style="vertical-align: top;">Kies stijl:</td>
        <td align="left" colspan="3"><div id="styleSelect">Stylenlijst</div></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Bier stijl:</td>
        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_name" /></td>
        <td align="right" style="vertical-align: top;">Bier groep:</td>
        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_letter" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Type:</td>
        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_type" /></td>
        <td align="right" style="vertical-align: top;">Stijl gids:</td>
        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_guide" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Categorie:</td>
        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_category" /></td>
        <td align="right" style="vertical-align: top;">Categorie nummer:</td>
        <td align="left" style="vertical-align: top;"><input readonly="1" id="st_category_number" /></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Opmerkingen:</td>
        <td align="left" colspan="3"><textarea readonly="1" id="st_notes"></textarea></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Begin SG:</td>
        <td style="padding: 3px;"><div style="float: left;" id="st_og_min"></div><div style="float: left; margin-left: 5px;" id="st_og_max"></div></td>
        <td style="vertical-align: top; float: right; padding: 3px;">Kleur EBC:</td>
        <td style="padding: 3px;"><div style="float: left;" id="st_color_min"></div><div style="float: left; margin-left: 5px;" id="st_color_max"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Eind SG:</td>
        <td style="padding: 3px;"><div style="float: left;" id="st_fg_min"></div><div style="float: left; margin-left: 5px;" id="st_fg_max"></div></td>
        <td style="vertical-align: top; float: right; padding: 3px;">Koolzuur vol:</td>
        <td style="padding: 3px;"><div style="float: left;" id="st_carb_min"></div><div style="float: left; margin-left: 5px;" id="st_carb_max"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right; padding: 3px;">Bitterheid IBU:</td>
        <td style="padding: 3px;"><div style="float: left;" id="st_ibu_min"></div><div style="float: left; margin-left: 5px;" id="st_ibu_max"></div></td>
        <td style="vertical-align: top; float: right; padding: 3px;">Alcohol vol%:</td>
        <td style="padding: 3px;"><div style="float: left;" id="st_abv_min"></div><div style="float: left; margin-left: 5px;" id="st_abv_max"></div></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Profiel:</td>
        <td align="left" colspan="3"><textarea readonly="1" id="st_profile"></textarea></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Ingredienten:</td>
        <td align="left" colspan="3"><textarea readonly="1" id="st_ingredients"></textarea></td>
       </tr>
       <tr>
        <td align="right" style="vertical-align: top;">Voorbeelden:</td>
        <td align="left" colspan="3"><textarea readonly="1" id="st_examples"></textarea></td>
       </tr>
      </table>
     </div>
     <div class="hint" id="hintStyle">
     </div>
     <div id="styleButtonsWrapper">
      <input type="button" value="Terug" class="backButton" id="backButtonStyle" />
      <input type="button" value="Volgende" class="nextButton" id="nextButtonStyle" />
     </div>
    </div>

    <div class="section">
     <div style="overflow: hidden;">
      <table style="width: 100%;">
       <tr>
        <td align="right" style="vertical-align: top;">Kies apparatuur:</td>
	<td align="left" colspan="3"><div id="equipmentSelect">Apparatuur</div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Installatie naam:</td>
        <td style="vertical-align: top;"><input readonly="1" id="eq_name" /></td>
        <td style="vertical-align: top; float: right;">Bereken kook volume:</td>
        <td><div id="eq_calc_boil_volume"></div></td>
       </tr>
       <tr>
	<td style="vertical-align: top; float: right;">Opmerkingen:</td>
        <td colspan="3"><textarea readonly="1" id="eq_notes"></textarea></td>
       </tr>
       <tr>
        <th style="text-align: center;" colspan="2">Maischen</th>
        <th style="text-align: center;" colspan="2">Koken</th>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maischkuip volume l:</td>
        <td><div id="eq_tun_volume"></div></td>
        <td style="vertical-align: top; float: right;">Kookketel volume l:</td>
        <td><div id="eq_kettle_volume"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maischkuip hoogte cm:</td>
        <td><div id="eq_tun_height"></div></td>
        <td style="vertical-align: top; float: right;">Kookketel hoogte cm:</td>
        <td><div id="eq_kettle_height"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maischkuip gewicht kg:</td>
        <td><div id="eq_tun_weight"></div></td>
        <td style="vertical-align: top; float: right;">Kook volume l:</td>
        <td><div id="eq_boil_size"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maischkuip materiaal:</td>
        <td align="left" style="vertical-align: top; padding: 3px;"><input readonly="1" id="eq_tun_material" /></td>
        <td style="vertical-align: top; float: right;">Verdamping per uur l:</td>
        <td><div id="eq_evap_rate"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maischkuip specific heat:</td>
        <td><div id="eq_tun_specific_heat"></div></td>
        <td style="vertical-align: top; float: right;">Kooktijd in minuten:</td>
        <td><div id="eq_boil_time"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maischwater l:</td>
        <td><div id="eq_mash_volume"></div></td>
        <td style="vertical-align: top; float: right;">Extra water bij koken l:</td>
        <td><div id="eq_top_up_kettle"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Maximum moutstort kg:</td>
        <td><div id="eq_mash_max"></div></td>
        <td style="vertical-align: top; float: right;">Hopfactor %:</td>
        <td><div id="eq_hop_utilization"></div></td>
       </tr>
       <tr>
        <th style="text-align: center;" colspan="2">Filteren</th>
        <td style="vertical-align: top; float: right;">Volume eind koken l:</td>
        <td><div id="eq_batch_size"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Filter volume l:</td>
        <td><div id="eq_lauter_volume"></div></td>
        <th style="text-align: center;" colspan="2">Koelen</th>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Filterkuip hoogte cm:</td>
        <td><div id="eq_lauter_height"></div></td>
        <td style="vertical-align: top; float: right;">Trub verlies kookketel l:</td>
        <td><div id="eq_trub_chiller_loss"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Filterkuip verlies l:</td>
        <td><div id="eq_lauter_deadspace"></div></td>
        <td style="vertical-align: top; float: right;">Extra water in het gistvat l:</td>
        <td><div id="eq_top_up_water"></div></td>
       </tr>
       <tr>
        <td style="vertical-align: top; float: right;">Brouwzaalrendement %:</td>
        <td><div id="eq_efficiency"></div></td>
        <td colspan="2"></td>
       </tr>
      </table>
     </div>
     <div class="hint" id="hintEq">
     </div>
     <div id="eqButtonsWrapper">
      <input type="button" value="Terug" class="backButton" id="backButtonEq" />
      <input type="button" value="Volgende" class="nextButton" id="nextButtonEq" />
     </div>
    </div>

    <div class="section">
     <div style="overflow: hidden; margin: 25px;"><br>
      <p>Alle nodige gegevens zijn compleet.</p>
      <p> Zodra je de "Volgende" toets gebruikt zal een nieuw brouw project aangemaakt worden en<br>
      worden de gegevens in de database gezet. Hierna kun je dit brouw project bewerken.</p>
     </div>
     <div id="completedButtonsWrapper">
      <input type="button" value="Terug" id="backButtonCompleted" class="backButton" />
      <input type="button" value="Volgende" class="nextButton" id="nextButtonCompleted" />
     </div>
    </div>
   </div>

<?php
page_footer();
?>

mercurial