diff options
Diffstat (limited to 'modules-available/locationinfo/templates')
-rw-r--r-- | modules-available/locationinfo/templates/ajax-config-location.html | 178 | ||||
-rw-r--r-- | modules-available/locationinfo/templates/ajax-config-server.html (renamed from modules-available/locationinfo/templates/server-settings.html) | 0 | ||||
-rw-r--r-- | modules-available/locationinfo/templates/location-info.html | 219 | ||||
-rw-r--r-- | modules-available/locationinfo/templates/page-config-panel.html (renamed from modules-available/locationinfo/templates/config.html) | 46 | ||||
-rw-r--r-- | modules-available/locationinfo/templates/page-locations.html | 98 | ||||
-rw-r--r-- | modules-available/locationinfo/templates/page-servers.html | 113 | ||||
-rw-r--r-- | modules-available/locationinfo/templates/timetable.html | 216 |
7 files changed, 389 insertions, 481 deletions
diff --git a/modules-available/locationinfo/templates/ajax-config-location.html b/modules-available/locationinfo/templates/ajax-config-location.html new file mode 100644 index 00000000..2cbad89d --- /dev/null +++ b/modules-available/locationinfo/templates/ajax-config-location.html @@ -0,0 +1,178 @@ +<input type="hidden" name="locationid" value="{{id}}"> +<div id="settings-outer"> + <h3>{{lang_openingTime}}</h3> + {{^expertMode}} + <div id="simple-mode"> + + <div align="right"> + <a href="#" class="btn btn-default btn-sm" id="btn-show-expert">{{lang_expertMode}}</a> + </div> + <div class="clearfix"></div> + + <table class="table table-condensed" style="margin-bottom:0"> + <tr> + <th>{{lang_day}}</th> + <th>{{lang_openingTime}}</th> + <th>{{lang_closingTime}}</th> + </tr> + + <tr class="tablerow"> + <td>{{lang_monTilFr}}</td> + <td> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + <input type="text" class="form-control timepicker2" id="week-open" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </td> + <td> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + <input type="text" class="form-control timepicker2" id="week-close" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </td> + </tr> + <tr class="tablerow"> + <td>{{lang_saturday}}</td> + <td> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + <input type="text" class="form-control timepicker2" id="saturday-open" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </td> + <td> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + <input type="text" class="form-control timepicker2" id="saturday-close" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </td> + </tr> + <tr class="tablerow"> + <td>{{lang_sunday}}</td> + <td> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + <input type="text" class="form-control timepicker2" id="sunday-open" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </td> + <td> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"> + <span class="glyphicon glyphicon-time"></span> + </span> + <input type="text" class="form-control timepicker2" id="sunday-close" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </td> + </tr> + </table> + </div> + {{/expertMode}} + + <div id="expert-mode" style="{{^expertMode}}display:none{{/expertMode}}"> + <div class="pull-right"> + <a class="btn btn-success btn-sm" id="new-openingtime"> + <span class="glyphicon glyphicon-plus-sign"></span> + {{lang_openingTime}} + </a> + </div> + <div class="clearfix"></div> + <div id="expert-table"> + <div class="row"> + <div class="col-xs-9">{{lang_day}}</div> + <div class="col-xs-3 text-right">{{lang_delete}}</div> + <div class="col-sm-6">{{lang_openingTime}}</div> + <div class="col-sm-6">{{lang_closingTime}}</div> + </div> + </div> + </div> +</div> + +<h3>{{lang_remoteSchedule}}</h3> +<div class="row"> + <div class="col-sm-3"> + {{lang_server}} + </div> + <div class="col-sm-7"> + <select class="form-control" name="serverid"> + <option value="0">{{lang_noServer}}</option> + {{#serverlist}} + <option value="{{serverid}}" {{selected}}>{{servername}}</option> + {{/serverlist}} + </select> + </div> + <div class="col-sm-2"> + <a class="btn btn-default helptext" title="{{lang_serverTooltip}}"> + <span class="glyphicon glyphicon-question-sign"></span> + </a> + </div> +</div> +<div class="row"> + <div class="col-sm-3"> + {{lang_roomId}} + </div> + <div class="col-sm-7"> + <input class="form-control" name="serverlocationid" id="serverlocationid" value="{{serverlocationid}}"> + </div> + <div class="col-sm-2"> + <a class="btn btn-default helptext" title="{{lang_roomIdTooltip}}"> + <span class="glyphicon glyphicon-question-sign"></span> + </a> + </div> +</div> + +<script type="application/javascript"><!-- + (function() { + + var scheduleData = {{{schedule_data}}}; + + {{#expertMode}} + for (var i = 0; i < scheduleData.length; ++i) { + newOpeningTime(scheduleData[i]); + } + {{/expertMode}} + {{^expertMode}} + for (var i = 0; i < scheduleData.length; ++i) { + if (scheduleData[i].days.length === 5) { + $('#week-open').val(scheduleData[i]['openingtime']); + $('#week-close').val(scheduleData[i]['closingtime']); + } else if (scheduleData[i].days.length === 1 && scheduleData[i].days[0] === 'Saturday') { + $('#saturday-open').val(scheduleData[i]['openingtime']); + $('#saturday-close').val(scheduleData[i]['closingtime']); + } else if (scheduleData[i].days.length === 1 && scheduleData[i].days[0] === 'Sunday') { + $('#sunday-open').val(scheduleData[i]['openingtime']); + $('#sunday-close').val(scheduleData[i]['closingtime']); + } + } + {{/expertMode}} + + setTimepicker($('#settings-outer').find('.timepicker2')); + + $('a.helptext').tooltip(); + + $('#new-openingtime').click(function (e) { + e.preventDefault(); + setTimepicker(newOpeningTime({}).find('.timepicker2')); + }) + + $('#btn-show-expert').click(function (e) { + e.preventDefault(); + scheduleData = simpleToExpert(); + for (var i = 0; i < scheduleData.length; ++i) { + setTimepicker(newOpeningTime(scheduleData[i]).find('.timepicker2')); + } + $('#simple-mode').remove(); + $('#expert-mode').show(); + }); + + })(); + +//--></script> diff --git a/modules-available/locationinfo/templates/server-settings.html b/modules-available/locationinfo/templates/ajax-config-server.html index 940bc55a..940bc55a 100644 --- a/modules-available/locationinfo/templates/server-settings.html +++ b/modules-available/locationinfo/templates/ajax-config-server.html diff --git a/modules-available/locationinfo/templates/location-info.html b/modules-available/locationinfo/templates/location-info.html deleted file mode 100644 index e2ee2960..00000000 --- a/modules-available/locationinfo/templates/location-info.html +++ /dev/null @@ -1,219 +0,0 @@ -<div> - <h1>{{lang_mainHeader}}</h1> - - <h4>{{lang_serverTable}}</h4> - - <table class="table table-hover"> - <tr> - <th width="1">{{lang_serverType}}</th> - <th>{{lang_locationName}}</th> - <th width="1"></th> - <th width="1"></th> - </tr> - {{#serverlist}} - <form method="post" action="?do=locationinfo"> - <input type="hidden" name="token" value="{{token}}"> - <input type="hidden" name="serverid" value="{{serverid}}"> - <tr> - <td nowrap>{{typename}}</td> - <td nowrap>{{servername}}</td> - - <td align="center" nowrap> - <button class="btn btn-sm {{^autherror}}btn-success{{/autherror}}{{#autherror}}btn-danger{{/autherror}}" - data-server-edit="{{serverid}}" {{disabled}} type="button"> - <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span> - {{lang_locationSettings}} - </button> - <button class="btn btn-sm btn-primary server-check" {{disabled}} name="action" value="checkConnection" - type="submit"> - <span style="margin-right: 5px;" class="glyphicon glyphicon-refresh"></span> - {{lang_checkConnection}} - </button> - </td> - <td align="center" nowrap> - <button class="btn btn-sm btn-danger server-delete" type="submit" name="action" value="deleteServer"> - <span style="margin-right: 5px;" class="glyphicon glyphicon-remove"></span> - {{lang_delete}} - </button> - </td> - </tr> - </form> - {{/serverlist}} - </table> - - <div> - <button class="btn btn-sm btn-success" id="addServerButton" onclick="addServer()"> - <span style="margin-right: 5px;" class="glyphicon glyphicon-plus"></span> - {{lang_addServer}} - </button> - </div> - - <h4>{{lang_buildingTable}}</h4> - <table class="table table-condensed table-hover" style="margin-bottom:0"> - - <tr> - <th>{{lang_locationName}}</th> - <th width="50" title="{{lang_locationIsHidden_title}}">{{lang_locationIsHidden}}</th> - <th width="50">{{lang_openingTime}}</th> - <th width="50">{{lang_locationSettings}}</th> - </tr> - - {{#list}} - <tr id="row{{locationid}}"> - <td> - <div style="display:inline-block;width:{{depth}}em"></div> - <a href="modules/locationinfo/frontend/doorsign.html?id={{locationid}}" target="_blank">{{locationname}}</a> - </td> - <td align="center"> - <div class="checkbox" style="margin:0"> - <input class="hidden-toggle" type="checkbox" data-locationid="{{locationid}}" {{hidden_checked}}> - <label></label> - </div> - </td> - <td> - <a class="btn btn-sm btn-default" role="button" style="width: 100%" - onclick="loadTimeModal({{locationid}}, '{{locationname}}');"> - <span style="margin-right: 5px;" class="glyphicon glyphicon-time"></span> - </a> - </td> - <td> - <a class="btn btn-sm btn-default" role="button" style="width: 100%;" - onclick="loadLocationConfigModal({{locationid}}, '{{locationname}}');"> - <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span> - </a> - </td> - </tr> - - {{/list}} - </table> - - <div class="modal fade" id="myModal" tabindex="-1" role="dialog"> - <div class="modal-dialog"> - - <div class="modal-content"> - <div class="modal-header" id="myModalHeader"></div> - <div class="modal-body" id="myModalBody"></div> - <div class="modal-footer"> - <button type="submit" id="myModalSubmitButton" class="btn btn-primary" form="">{{lang_save}}</button> - - <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a> - </div> - </div> - - </div> - </div> -</div> -<script type="text/javascript"><!-- - - document.addEventListener("DOMContentLoaded", function () { - - /** - * React to click on a "hidden" checkbox. - */ - $('.hidden-toggle').change(function() { - $input = $(this); - $.ajax({ - type: 'POST', - url: '?do=locationinfo&action=hide', - data: {locationid: $input.data('locationid'), hidden: $input[0].checked ? 1 : 0, token: TOKEN }, - dataType: 'json' - }).done(function(data) { - if (data && $.isArray(data.changed)) { - markBoxes(data.changed); - } else { - $input.replaceWith('ERROR'); - } - }).fail(function () { - $input.replaceWith('ERROR'); - }); - }).parent().click(function() { - $this = $(this); - $box = $this.find('input'); - if (!$this.is($box)) { - $box.click(); - } - }); - - /** - * Confirm deleting a server. - */ - $('.server-delete').click(function(ev) { - var del = confirm("{{lang_deleteConfirmation}}"); - if (!del) ev.preventDefault(); - }); - - /** - * Animate refresh icon while page is loading - */ - $('.server-check').click(function() { - $(this).find('.glyphicon').addClass('slx-rotation'); - }); - - $('button[data-server-edit]').click(function() { - var id = $(this).data('server-edit'); - loadServerSettingsModal(id); - }); - - }); - - /** - * Gets a status array delivered by backend's ajaxHideLocation() - * and sets the checkbox states accordingly. - */ - function markBoxes(boxArray) { - for (var i = 0; i < boxArray.length; ++i) { - if (boxArray[i].locationid) { - var lid = parseInt(boxArray[i].locationid); - $('input.hidden-toggle[data-locationid="' + lid + '"]').prop('checked', !!boxArray[i].hidden); - } - } - } - - /** - * Loads the settings modal of a server. - * - * @param serverid The id of the server. - */ - function loadServerSettingsModal(serverid) { - $('#myModalHeader').text("{{lang_locationSettings}}").css("font-weight", "Bold"); - $('#myModal .modal-dialog').css('width', ''); - $('#myModal').modal('show'); - $('#myModalBody').load("?do=locationinfo&action=serverSettings&id=" + serverid); - } - - /** - * Load a opening time modal of a location. - * - * @param locationId The id of the location. - * @param locationName The name of the location. - */ - function loadTimeModal(locationId, locationName) { - $('#myModalHeader').text("[" + locationId + "] " + locationName).css("font-weight", "Bold"); - $('#myModal .modal-dialog').css('width', ''); - $('#myModal').modal('show'); - $('#myModalBody').load("?do=locationinfo&action=timetable&id=" + locationId); - } - - /** - * Loads the config modal of a location. - * - * @param locationId The id of the location - * @param locationName the name of the location - */ - function loadLocationConfigModal(locationId, locationName) { - $('#myModalHeader').text("[" + locationId + "] " + locationName).css("font-weight", "Bold"); - $('#myModalSubmitButton').attr("form", "configForm"); - $('#myModal .modal-dialog').css('width', '90%'); - $('#myModal').modal('show'); - $('#myModalBody').load("?do=locationinfo&action=config&id=" + locationId); - } - - // ########### Server Table ########### - - /** - * Loads a new / empty server settings modal. - */ - function addServer() { - loadServerSettingsModal(0); - } -//--></script> diff --git a/modules-available/locationinfo/templates/config.html b/modules-available/locationinfo/templates/page-config-panel.html index cce63de1..244b80c9 100644 --- a/modules-available/locationinfo/templates/config.html +++ b/modules-available/locationinfo/templates/page-config-panel.html @@ -5,52 +5,6 @@ <div class="row"> <div class="col-md-6"> - <div class="panel panel-default"> - <div class="panel-heading">{{lang_server}}</div> - <div class="panel-body"> - <div class="list-group"> - <div class="list-group-item"> - <div class="row"> - <div class="col-sm-3"> - <label>{{lang_server}}</label> - </div> - <div class="col-sm-7"> - <select class="form-control" name="serverid"> - <option value="0">{{lang_noServer}}</option> - {{#serverlist}} - <option value="{{serverid}}" {{selected}}>{{servername}}</option> - {{/serverlist}} - </select> - </div> - <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_serverTooltip}}"> - <span class="glyphicon glyphicon-question-sign"></span> - </a> - </div> - </div> - </div> - - <div class="list-group-item"> - <div class="row"> - <div class="col-sm-3"> - <label>{{lang_roomId}}</label> - </div> - <div class="col-sm-7"> - <input class="form-control" name="serverlocationid" id="serverlocationid" value="{{serverlocationid}}"> - </div> - <div class="col-sm-2"> - <a class="btn btn-default helptext" title="{{lang_roomIdTooltip}}"> - <span class="glyphicon glyphicon-question-sign"></span> - </a> - </div> - </div> - </div> - </div> - </div> - </div> - </div> - - <div class="col-md-6"> <div class="modify-inputs panel panel-default"> <div class="panel-heading">{{lang_display}}</div> <div class="panel-body"> diff --git a/modules-available/locationinfo/templates/page-locations.html b/modules-available/locationinfo/templates/page-locations.html new file mode 100644 index 00000000..436aa8d5 --- /dev/null +++ b/modules-available/locationinfo/templates/page-locations.html @@ -0,0 +1,98 @@ +<h4>{{lang_buildingTable}}</h4> +<table class="table table-condensed table-hover" style="margin-bottom:0"> + + <tr> + <th>{{lang_locationName}}</th> + <th width="50">{{lang_openingTime}}</th> + <th width="50">{{lang_locationSettings}}</th> + </tr> + + {{#list}} + <tr> + <td> + <div style="display:inline-block;width:{{depth}}em"></div> + <a href="#" class="loc-name" data-locationid="{{locationid}}">{{locationname}}</a> + </td> + <td> + <a class="btn btn-sm btn-default" role="button" style="width: 100%" + onclick="loadTimeModal({{locationid}}, '{{locationname}}');"> + <span style="margin-right: 5px;" class="glyphicon glyphicon-time"></span> + </a> + </td> + <td> + <a class="btn btn-sm btn-default" role="button" style="width: 100%;" + onclick="loadLocationConfigModal({{locationid}}, '{{locationname}}');"> + <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span> + </a> + </td> + </tr> + + {{/list}} +</table> + +<div class="modal fade" id="location-modal" tabindex="-1" role="dialog"> + <div class="modal-dialog"> <!--style="min-width:600px;width:70%"--> + + <div class="modal-content"> + <form method="post" action="?do=locationinfo" id="settings-form"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="action" value="writeLocationConfig"> + <input type="hidden" name="openingtimes" id="json-openingtimes" value=""> + <div class="modal-header"><h2 id="location-modal-header"></h2></div> + <div class="modal-body"></div> + <div class="modal-footer"> + <button type="submit" class="btn btn-primary">{{lang_save}}</button> + <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a> + </div> + </form> + </div> + + </div> +</div> + +<div class="hidden" id="expert-template"> + <div class="row expert-row" style="margin-top:1em;border-top:1px solid #ddd"> + <div class="col-xs-9 days-box"> + <label><input type="checkbox" class="i-Monday">{{lang_shortMonday}}</label> | + <label><input type="checkbox" class="i-Tuesday">{{lang_shortTuesday}}</label> | + <label><input type="checkbox" class="i-Wednesday">{{lang_shortWednesday}}</label> | + <label><input type="checkbox" class="i-Thursday">{{lang_shortThursday}}</label> | + <label><input type="checkbox" class="i-Friday">{{lang_shortFriday}}</label> | + <label><input type="checkbox" class="i-Saturday">{{lang_shortSaturday}}</label> | + <label><input type="checkbox" class="i-Sunday">{{lang_shortSunday}}</label> + </div> + <div class="col-xs-3 text-right"> + <label><input type="checkbox" class="i-delete"><span class="glyphicon glyphicon-trash"></span></label> + </div> + <div class="col-sm-6"> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span> + <input type="text" class="form-control timepicker2 i-openingtime" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </div> + <div class="col-sm-6"> + <div class="input-group bootstrap-timepicker"> + <span class="input-group-addon"><span class="glyphicon glyphicon-time"></span></span> + <input type="text" class="form-control timepicker2 i-closingtime" pattern="[0-9]{1,2}:[0-9]{2}"> + </div> + </div> + </div> +</div> + +<script type="text/javascript"><!-- + +document.addEventListener("DOMContentLoaded", function () { + /** + * Load a opening time modal of a location. + */ + $('.loc-name').click(function (e) { + e.preventDefault(); + var locationId = $(this).data('locationid'); + var locationName = $(this).text(); + $('#location-modal-header').text("[" + locationId + "] " + locationName); + $('#location-modal').modal('show').find('.modal-body').load("?do=locationinfo&action=config-location&id=" + locationId); + }); + $('#settings-form').submit(submitLocationSettings); +}); + +//--></script>
\ No newline at end of file diff --git a/modules-available/locationinfo/templates/page-servers.html b/modules-available/locationinfo/templates/page-servers.html new file mode 100644 index 00000000..2dfe63e1 --- /dev/null +++ b/modules-available/locationinfo/templates/page-servers.html @@ -0,0 +1,113 @@ +<div> + <h1>{{lang_mainHeader}}</h1> + + <h4>{{lang_serverTable}}</h4> + + <table class="table table-hover"> + <tr> + <th width="1">{{lang_serverType}}</th> + <th>{{lang_locationName}}</th> + <th width="1"></th> + <th width="1"></th> + </tr> + {{#serverlist}} + <form method="post" action="?do=locationinfo"> + <input type="hidden" name="token" value="{{token}}"> + <input type="hidden" name="serverid" value="{{serverid}}"> + <tr> + <td nowrap>{{typename}}</td> + <td nowrap>{{servername}}</td> + + <td align="center" nowrap> + <button class="btn btn-sm {{^autherror}}btn-success{{/autherror}}{{#autherror}}btn-danger{{/autherror}}" + data-server-edit="{{serverid}}" {{disabled}} type="button"> + <span style="margin-right: 5px;" class="glyphicon glyphicon-cog"></span> + {{lang_locationSettings}} + </button> + <button class="btn btn-sm btn-primary server-check" {{disabled}} name="action" value="checkConnection" + type="submit"> + <span style="margin-right: 5px;" class="glyphicon glyphicon-refresh"></span> + {{lang_checkConnection}} + </button> + </td> + <td align="center" nowrap> + <button class="btn btn-sm btn-danger server-delete" type="submit" name="action" value="deleteServer"> + <span style="margin-right: 5px;" class="glyphicon glyphicon-remove"></span> + {{lang_delete}} + </button> + </td> + </tr> + </form> + {{/serverlist}} + </table> + + <div> + <button class="btn btn-sm btn-success" id="addServerButton" onclick="addServer()"> + <span style="margin-right: 5px;" class="glyphicon glyphicon-plus"></span> + {{lang_addServer}} + </button> + </div> + + <div class="modal fade" id="myModal" tabindex="-1" role="dialog"> + <div class="modal-dialog"> + + <div class="modal-content"> + <div class="modal-header" id="myModalHeader"></div> + <div class="modal-body" id="myModalBody"></div> + <div class="modal-footer"> + <button type="submit" id="myModalSubmitButton" class="btn btn-primary" form="">{{lang_save}}</button> + + <a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a> + </div> + </div> + + </div> + </div> +</div> +<script type="text/javascript"><!-- + + document.addEventListener("DOMContentLoaded", function () { + + /** + * Confirm deleting a server. + */ + $('.server-delete').click(function(ev) { + var del = confirm("{{lang_deleteConfirmation}}"); + if (!del) ev.preventDefault(); + }); + + /** + * Animate refresh icon while page is loading + */ + $('.server-check').click(function() { + $(this).find('.glyphicon').addClass('slx-rotation'); + }); + + $('button[data-server-edit]').click(function() { + var id = $(this).data('server-edit'); + loadServerSettingsModal(id); + }); + + }); + + /** + * Loads the settings modal of a server. + * + * @param serverid The id of the server. + */ + function loadServerSettingsModal(serverid) { + $('#myModalHeader').text("{{lang_locationSettings}}").css("font-weight", "Bold"); + $('#myModal .modal-dialog').css('width', ''); + $('#myModal').modal('show'); + $('#myModalBody').load("?do=locationinfo&action=serverSettings&id=" + serverid); + } + + // ########### Server Table ########### + + /** + * Loads a new / empty server settings modal. + */ + function addServer() { + loadServerSettingsModal(0); + } +//--></script> diff --git a/modules-available/locationinfo/templates/timetable.html b/modules-available/locationinfo/templates/timetable.html deleted file mode 100644 index 91a80877..00000000 --- a/modules-available/locationinfo/templates/timetable.html +++ /dev/null @@ -1,216 +0,0 @@ -<div> - <div align="right"> - <label for="CB_1">{{lang_expertMode}}</label> - <input class="bs-switch" name="1" id="CB_1" type="checkbox" {{#expertMode}}checked{{/expertMode}}> - </div> - <br> - - <div id="easyMode" style="{{#expertMode}}display: none;{{/expertMode}}"> - <form method="post" action="?do=locationinfo" id="timeFormEasy"> - <input type="hidden" name="token" value="{{token}}"> - <input type="hidden" name="action" value="updateOpeningTimeEasy"> - <input type="hidden" name="id" value="{{id}}"> - <input type="hidden" name="easyMode" value="{{easyMode}}"> - - <table class="table table-condensed locations" style="margin-bottom:0"> - <tr> - <th>{{lang_day}}</th> - <th>{{lang_openingTime}}</th> - <th>{{lang_closingTime}}</th> - </tr> - - <tr class="tablerow"> - <td>{{lang_monTilFr}}</td> - <td> - <div class="input-group bootstrap-timepicker"> - <span class="input-group-addon"> - <span class="glyphicon glyphicon-time"></span> - </span> - <input type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker" - pattern="[0-9]{1,2}:[0-9]{2}" value="{{openingtime0}}"> - </div> - </td> - <td> - <div class="input-group bootstrap-timepicker"> - <span class="input-group-addon"> - <span class="glyphicon glyphicon-time"></span> - </span> - <input type="text" class="form-control timepicker2" name="closingtime[]" id="openingtimepicker" - pattern="[0-9]{1,2}:[0-9]{2}" value="{{closingtime0}}"> - </div> - </td> - </tr> - <tr class="tablerow"> - <td>{{lang_saturday}}</td> - <td> - <div class="input-group bootstrap-timepicker"> - <span class="input-group-addon"> - <span class="glyphicon glyphicon-time"></span> - </span> - <input type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker" - pattern="[0-9]{1,2}:[0-9]{2}" value="{{openingtime1}}"> - </div> - </td> - <td> - <div class="input-group bootstrap-timepicker"> - <span class="input-group-addon"> - <span class="glyphicon glyphicon-time"></span> - </span> - <input type="text" class="form-control timepicker2" name="closingtime[]" id="openingtimepicker" - pattern="[0-9]{1,2}:[0-9]{2}" value="{{closingtime1}}"> - </div> - </td> - </tr> - <tr class="tablerow"> - <td>{{lang_sunday}}</td> - <td> - <div class="input-group bootstrap-timepicker"> - <span class="input-group-addon"> - <span class="glyphicon glyphicon-time"></span> - </span> - <input type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker" - pattern="[0-9]{1,2}:[0-9]{2}" value="{{openingtime2}}"> - </div> - </td> - <td> - <div class="input-group bootstrap-timepicker"> - <span class="input-group-addon"> - <span class="glyphicon glyphicon-time"></span> - </span> - <input type="text" class="form-control timepicker2" name="closingtime[]" id="openingtimepicker" - pattern="[0-9]{1,2}:[0-9]{2}" value="{{closingtime2}}"> - </div> - </td> - </tr> - </table> - </form> - </div> - - <div id="expertMode" style="{{#easyMode}}display: none;{{/easyMode}}"> - <form method="post" action="?do=locationinfo" id="timeFormExpert"> - <input type="hidden" name="token" value="{{token}}"> - <input type="hidden" name="action" value="updateOpeningTimeExpert"> - <input type="hidden" name="id" value="{{id}}"> - <input type="hidden" name="easyMode" value="{{easyMode}}"> - - - <table class="table table-condensed locations" style="margin-bottom:0"> - <tr> - <th>{{lang_day}}</th> - <th>{{lang_openingTime}}</th> - <th>{{lang_closingTime}}</th> - <th>{{lang_delete}}</th> - </tr> - - {{#openingtimes}} - <tr class=tablerow> - <td>{{days}}</td> - <td>{{openingtime}}</td> - <td>{{closingtime}}</td> - <td align="center"><input type="checkbox" name="delete[]" value="{{index}}"></td> - </tr> - {{/openingtimes}} - - <tr id="lastOpenTimesTableElement"></tr> - </table> - - <br> - <a class="btn btn-success btn-sm" onclick=newOpeningTime()> - <span class="glyphicon glyphicon-plus-sign"></span> - {{lang_openingTime}} - </a> - </form> - </div> -</div> - -<script> - setTimepicker(); - $('#CB_1').bootstrapSwitch(); - $('#CB_1').on('switchChange.bootstrapSwitch', function (e, data) { - - if (data == false) { - $('#expertMode').hide(); - $('#easyMode').show(); - $('#myModalSubmitButton').attr("Form", "timeFormEasy"); - } else { - $('#easyMode').hide(); - $('#expertMode').show(); - $('#myModalSubmitButton').attr("Form", "timeFormExpert"); - } - }); - - if ('{{easyMode}}' == true) { - $('#myModalSubmitButton').attr("Form", "timeFormEasy"); - } else if ('{{expertMode}}' == true) { - $('#myModalSubmitButton').attr("Form", "timeFormExpert"); - } - - /** - * Sets the timepicker element. - */ - function setTimepicker() { - $('.timepicker2').timepicker({ - minuteStep: 1, - template: 'modal', - appendWidgetTo: 'body', - showSeconds: false, - showMeridian: false, - defaultTime: false - }); - } - - /** - * Adds a new opening time to the table in expert mode. - */ - function newOpeningTime() { - $('#lastOpenTimesTableElement').before('<tr>\ - <td>\ - <div class="form-group options">\ - <label><input required type="checkbox" name="days[]" value="Monday">{{lang_shortMonday}}</label>\ - <label><input required type="checkbox" name="days[]" value="Tuesday">{{lang_shortTuesday}}</label>\ - <label><input required type="checkbox" name="days[]" value="Wednesday">{{lang_shortWednesday}}</label>\ - <label><input required type="checkbox" name="days[]" value="Thursday">{{lang_shortThursday}}</label>\ - <label><input required type="checkbox" name="days[]" value="Friday">{{lang_shortFriday}}</label>\ - <label><input required type="checkbox" name="days[]" value="Saturday">{{lang_shortSaturday}}</label>\ - <label><input required type="checkbox" name="days[]" value="Sunday">{{lang_shortSunday}}</label>\ - </div>\ - <input type="hidden" name="days[]" value="-">\ - </td>\ - <td>\ - <div class="input-group bootstrap-timepicker">\ - <span class="input-group-addon">\ - <span class="glyphicon glyphicon-time"></span>\ - </span>\ - <input required type="text" class="form-control timepicker2" name="openingtime[]" id="openingtimepicker" pattern="[0-9]{1,2}:[0-9]{2}" value="8:00">\ - </div>\ - \ - </td>\ - <td>\ - \ - <div class="input-group bootstrap-timepicker">\ - <span class="input-group-addon">\ - <span class="glyphicon glyphicon-time"></span>\ - </span>\ - <input required type="text" class="form-control timepicker2" name="closingtime[]" id="closingtimepicker" pattern="[0-9]{1,2}:[0-9]{2}" value="18:00">\ - </div>\ - \ - </td>\ - <td align="center">\ - <input type="checkbox" name="dontadd[]" value="dontadd"\ - </td>\ - </tr>'); - setTimepicker(); - - $(function () { - var requiredCheckboxes = $('.options :checkbox[required]'); - requiredCheckboxes.change(function () { - if (requiredCheckboxes.is(':checked')) { - requiredCheckboxes.removeAttr('required'); - } else { - requiredCheckboxes.attr('required', 'required'); - } - }); - }); - } - -</script> |