Merge pull request #158 from allerta-vvf/feat_Webpack-code-separation-and-fixes
Webpack code separation and fixes
This commit is contained in:
commit
d54196f1aa
|
@ -62,8 +62,8 @@ function show_error_page($error=null, $error_message=null, $error_message_advanc
|
|||
<div class="games_list" style="margin-left: 20px; text-align: left;">
|
||||
While you are waiting, you can play some games:
|
||||
<ul>
|
||||
<li hidden><a href="javascript:play('pong')">Pong</a></li>
|
||||
<li><a href="javascript:play('ld46')">What the firetruck</a></li>
|
||||
<li hidden><a data-game="pong" class="playGame">Pong</a></li>
|
||||
<li><a data-game="ld46" class="playGame">What the firetruck</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="credits" style="position:absolute;opacity: 0.5;bottom: 5px;right: 5px;">
|
||||
|
@ -71,7 +71,6 @@ function show_error_page($error=null, $error_message=null, $error_message_advanc
|
|||
</div>
|
||||
<script src="<?php echo($main_script_url); ?>"></script>
|
||||
<script src="<?php echo($game_script_url); ?>"></script>
|
||||
<script>GAME_LOADING_ERROR_MSG="Game loading failed, please retry later.";</script>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
|
|
@ -486,10 +486,8 @@ function initOptions($name, $visible, $developer, $password, $report_email, $own
|
|||
'use_custom_error_sound' => 0,
|
||||
'use_custom_error_image' => 0,
|
||||
'intrusion_save' => 1,
|
||||
'intrusion_save_info' => 1,
|
||||
'intrusion_save_info' => 0,
|
||||
'log_save_ip' => 1,
|
||||
'enable_technical_support' => 0,
|
||||
'technical_support_key' => 0,
|
||||
'cron_job_code' => ':cron_job_code',
|
||||
'cron_job_enabled' => 1,
|
||||
'cron_job_time' => ':cron_job_time',
|
||||
|
|
|
@ -201,7 +201,7 @@ function init_modal() {
|
|||
|
||||
$("#submit_schedules_change")
|
||||
.unbind()
|
||||
.click(submit_changes);
|
||||
.on("click", submit_changes);
|
||||
}
|
||||
|
||||
function extractSelections(){
|
||||
|
|
|
@ -21,5 +21,12 @@ async function play (game) {
|
|||
}
|
||||
}
|
||||
|
||||
window.play = play;
|
||||
window.GAME_LOADING_ERROR_MSG = GAME_LOADING_ERROR_MSG;
|
||||
$(function() {
|
||||
$(".playGame").each((num, elem) => {
|
||||
console.log(num, elem);
|
||||
let game = elem.getAttribute("data-game");
|
||||
if(game !== null){
|
||||
$(elem).on("click", function(){ play(game); });
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
jQuery = $;
|
||||
window.$ = window.jQuery = $;
|
||||
import "bootstrap";
|
||||
import "bootstrap/dist/css/bootstrap.min.css";
|
||||
import "./main.css";
|
||||
|
@ -10,7 +8,7 @@ import "../node_modules/bootstrap-toggle/js/bootstrap-toggle.js";
|
|||
import "../node_modules/bootstrap-datepicker/dist/css/bootstrap-datepicker3.css";
|
||||
import "time-input-polyfill/auto";
|
||||
import "jquery-pjax";
|
||||
import toastr from "toastr";
|
||||
import toastr from "expose-loader?exposes=toastr!toastr";
|
||||
import "toastr/build/toastr.css";
|
||||
|
||||
window.toastr = toastr;
|
||||
|
@ -65,9 +63,9 @@ $(document).on("pjax:start", function () {
|
|||
oldData = "null";
|
||||
fillTable = undefined;
|
||||
tableEngine = "datatables";
|
||||
if (window.loadTableInterval !== undefined) {
|
||||
clearInterval(window.loadTableInterval);
|
||||
window.loadTableInterval = undefined;
|
||||
if (loadTableInterval !== undefined) {
|
||||
clearInterval(loadTableInterval);
|
||||
loadTableInterval = undefined;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -138,26 +136,44 @@ if (installServiceWorker) {
|
|||
});
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
$(function () {
|
||||
if ($("#frontend_version") !== undefined) {
|
||||
$("#frontend_version").append(process.env.GIT_VERSION + " aggiornamento " + new Date(process.env.BUNDLE_DATE).toLocaleString());
|
||||
}
|
||||
});
|
||||
|
||||
const offline = false;
|
||||
const loadTableInterval = undefined;
|
||||
var offline = false;
|
||||
var loadTableInterval = undefined;
|
||||
var oldData = "null";
|
||||
var tableEngine = "datatables";
|
||||
var fillTable = undefined;
|
||||
var fillTableLoaded = undefined;
|
||||
|
||||
async function loadTable ({ tablePage, setTableRefreshInterval = true, interval = 10000, onlineReload = false, useCustomTableEngine = false, callback = false }) {
|
||||
window.addEventListener("securitypolicyviolation", console.error.bind(console));
|
||||
|
||||
$(function() {
|
||||
$("#menuButton").on("click", function() {
|
||||
const topNavBar = document.getElementById("topNavBar");
|
||||
if (topNavBar.className === "topnav") {
|
||||
topNavBar.className += " responsive";
|
||||
} else {
|
||||
topNavBar.className = "topnav";
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
export async function loadTable ({ tablePage, setTableRefreshInterval = true, interval = 10000, onlineReload = false, useCustomTableEngine = false, callback = false }) {
|
||||
if(loadTableInterval !== undefined) {
|
||||
clearInterval(loadTableInterval);
|
||||
loadTableInterval = undefined;
|
||||
}
|
||||
if (typeof fillTable === "undefined") {
|
||||
if (useCustomTableEngine !== false) {
|
||||
tableEngine = useCustomTableEngine;
|
||||
} else if ("connection" in navigator && navigator.connection.saveData) {
|
||||
tableEngine = "default";
|
||||
}
|
||||
fillTable = await import(`./table_engine_${tableEngine}.js`)
|
||||
fillTableLoaded = await import(`./table_engine_${tableEngine}.js`)
|
||||
.then(({ default: _ }) => {
|
||||
return _;
|
||||
});
|
||||
|
@ -180,20 +196,20 @@ async function loadTable ({ tablePage, setTableRefreshInterval = true, interval
|
|||
oldData = xhr.getResponseHeader("data"); // TODO: refactoring and adding comments
|
||||
console.log(data);
|
||||
if (data.length > 0) {
|
||||
fillTable({ data, replaceLatLngWithMap, callback });
|
||||
fillTableLoaded({ data, replaceLatLngWithMap, callback });
|
||||
const headers = new Headers();
|
||||
headers.append("date", Date.now());
|
||||
caches.open("tables-1").then((cache) => {
|
||||
cache.put("/table_" + tablePage + ".json", new Response(xhr.responseText, { headers: headers }));
|
||||
});
|
||||
}
|
||||
if (window.offline) { // if xhr request successful, client is online
|
||||
if (offline) { // if xhr request successful, client is online
|
||||
console.log(onlineReload);
|
||||
if (onlineReload) {
|
||||
location.reload(); // for offline page
|
||||
} else {
|
||||
$("#offline_alert").hide(400);
|
||||
window.offline = false;
|
||||
offline = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -206,15 +222,15 @@ async function loadTable ({ tablePage, setTableRefreshInterval = true, interval
|
|||
caches.open("tables-1").then((cache) => {
|
||||
cache.match("/table_" + tablePage + ".json").then((response) => {
|
||||
response.json().then((data) => {
|
||||
fillTable({ data, replaceLatLngWithMap, callback });
|
||||
fillTableLoaded({ data, replaceLatLngWithMap, callback });
|
||||
console.log("Table loaded from cache");
|
||||
$("#offline_update").text(new Date(parseInt(response.headers.get("date"), 10)).toLocaleString());
|
||||
});
|
||||
});
|
||||
});
|
||||
if (!window.offline) { // if xhr request fails, client is offline
|
||||
if (!offline) { // if xhr request fails, client is offline
|
||||
$("#offline_alert").show(400);
|
||||
window.offline = true;
|
||||
offline = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -223,31 +239,8 @@ async function loadTable ({ tablePage, setTableRefreshInterval = true, interval
|
|||
interval += 5000;
|
||||
}
|
||||
console.log("table_load interval " + interval);
|
||||
window.loadTableInterval = setInterval(function () {
|
||||
window.loadTable({ tablePage, setTableRefreshInterval: false, interval, onlineReload, useCustomTableEngine, callback: false });
|
||||
loadTableInterval = setInterval(function () {
|
||||
loadTable({ tablePage, setTableRefreshInterval: false, interval, onlineReload, useCustomTableEngine, callback: false });
|
||||
}, interval);
|
||||
}
|
||||
}
|
||||
|
||||
function chat () {
|
||||
setCookie("chat", "true", 1);
|
||||
location.reload();
|
||||
}
|
||||
|
||||
window.addEventListener("securitypolicyviolation", console.error.bind(console));
|
||||
|
||||
function menu () {
|
||||
const topNavBar = document.getElementById("topNavBar");
|
||||
if (topNavBar.className === "topnav") {
|
||||
topNavBar.className += " responsive";
|
||||
} else {
|
||||
topNavBar.className = "topnav";
|
||||
}
|
||||
}
|
||||
|
||||
window.loadTableInterval = loadTableInterval;
|
||||
window.loadTable = loadTable;
|
||||
window.setCookie = setCookie;
|
||||
window.getCookie = getCookie;
|
||||
window.chat = chat;
|
||||
window.menu = menu;
|
||||
|
|
|
@ -35,7 +35,7 @@ function setMarker (LatLng) {
|
|||
marker = L.marker(LatLng, { icon: iconDefault }).addTo(map);
|
||||
}
|
||||
|
||||
function loadMap (lat = undefined, lng = undefined, selectorId = undefined, select = true) {
|
||||
export function loadMap (lat = undefined, lng = undefined, selectorId = undefined, select = true) {
|
||||
if (lat === undefined && lng === undefined) {
|
||||
lat = 45.5285; // TODO: replace hard-coded into cookie reading
|
||||
lng = 10.2956;
|
||||
|
@ -69,33 +69,35 @@ function loadMap (lat = undefined, lng = undefined, selectorId = undefined, sele
|
|||
|
||||
const lc = new L.Control.CustomLocate({
|
||||
icon: "fa fa-map-marker",
|
||||
cacheLocation: false // disabled for privacy reasons
|
||||
cacheLocation: false, // disabled for privacy reasons
|
||||
initialZoomLevel: 16
|
||||
}).addTo(map);
|
||||
|
||||
if ($("#addr").val() !== undefined) {
|
||||
document.getElementById("addr").addEventListener("keydown", function (event) {
|
||||
if (event.key === "Enter") {
|
||||
event.preventDefault();
|
||||
document.querySelector("#search > button").click();
|
||||
$("#search > button").trigger("click");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (getCookie("experimental_read_clipboard")) {
|
||||
window.addEventListener("focus", function (event) {
|
||||
if ($("#addr").val() === "") {
|
||||
console.log("Loading location from clipboard");
|
||||
navigator.clipboard.readText().then((text) => {
|
||||
$("#addr").val(text);
|
||||
if (!addrSearch()) {
|
||||
$("#addr").val("");
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.error("Failed to read clipboard contents: ", err);
|
||||
window.addEventListener("focus", function (event) {
|
||||
if ($("#addr").val() === "") {
|
||||
console.log("Loading location from clipboard");
|
||||
try {
|
||||
navigator.clipboard.readText().then((text) => {
|
||||
$("#addr").val(text);
|
||||
if (!addrSearch()) {
|
||||
$("#addr").val("");
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.error("Failed to read clipboard contents: ", err);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch(error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
setMarker(latLng);
|
||||
}
|
||||
|
@ -103,7 +105,7 @@ function loadMap (lat = undefined, lng = undefined, selectorId = undefined, sele
|
|||
}
|
||||
|
||||
// from unknown source in the Internet
|
||||
function chooseAddr (addrLat, addrLng, zoom = undefined, lat1 = undefined, lng1 = undefined, lat2 = undefined, lng2 = undefined, osmType = undefined) {
|
||||
export function chooseAddr (addrLat, addrLng, zoom = undefined, lat1 = undefined, lng1 = undefined, lat2 = undefined, lng2 = undefined, osmType = undefined) {
|
||||
addrLat = addrLat.replace(",", ".");
|
||||
addrLng = addrLng.replace(",", ".");
|
||||
if (lat1 !== undefined && lng1 !== undefined && lat2 !== undefined && lng2 !== undefined && osmType !== undefined) {
|
||||
|
@ -117,7 +119,7 @@ function chooseAddr (addrLat, addrLng, zoom = undefined, lat1 = undefined, lng1
|
|||
}
|
||||
if (osmType === "node") {
|
||||
map.fitBounds(bounds);
|
||||
map.setZoom(18);
|
||||
map.setZoom(16);
|
||||
} else {
|
||||
const loc3 = new L.LatLng(lat1, lng2);
|
||||
const loc4 = new L.LatLng(lat2, lng1);
|
||||
|
@ -137,7 +139,7 @@ function chooseAddr (addrLat, addrLng, zoom = undefined, lat1 = undefined, lng1
|
|||
}
|
||||
|
||||
// started from https://derickrethans.nl/leaflet-and-nominatim.html
|
||||
function addrSearch (stringResultsFound= undefined, stringResultsNotFound = undefined) {
|
||||
export function addrSearch (stringResultsFound= undefined, stringResultsNotFound = undefined) {
|
||||
function searchError (error, checkClipboard) {
|
||||
if (!checkClipboard) {
|
||||
$("<p>", { html: stringResultsNotFound }).appendTo("#results");
|
||||
|
@ -187,7 +189,7 @@ function addrSearch (stringResultsFound= undefined, stringResultsNotFound = unde
|
|||
const items = [];
|
||||
|
||||
$.each(data, function (key, val) {
|
||||
items.push("<li><a href='' onclick='chooseAddr(\"" + val.lat + "\", \"" + val.lon + "\", undefined, " + val.boundingbox[0] + ", " + val.boundingbox[2] + ", " + val.boundingbox[1] + ", " + val.boundingbox[3] + ", \"" + val.osm_type + "\"); return false;'>" + val.display_name + "</a></li>");
|
||||
items.push("<li><a href='' onclick='allertaJS.chooseAddr(\"" + val.lat + "\", \"" + val.lon + "\", undefined, " + val.boundingbox[0] + ", " + val.boundingbox[2] + ", " + val.boundingbox[1] + ", " + val.boundingbox[3] + ", \"" + val.osm_type + "\"); return false;'>" + val.display_name + "</a></li>");
|
||||
});
|
||||
|
||||
if (items.length !== 0) {
|
||||
|
@ -205,6 +207,3 @@ function addrSearch (stringResultsFound= undefined, stringResultsNotFound = unde
|
|||
}
|
||||
}
|
||||
|
||||
window.loadMap = loadMap;
|
||||
window.addrSearch = addrSearch;
|
||||
window.chooseAddr = chooseAddr;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import jsZip from "jszip";
|
||||
window.JSZip = jsZip;
|
||||
import pdfMake from "pdfmake/build/pdfmake";
|
||||
pdfMake.vfs = pdfFonts.pdfMake.vfs;
|
||||
import pdfFonts from "pdfmake/build/vfs_fonts";
|
||||
import "datatables.net-bs4/js/dataTables.bootstrap4.min.js";
|
||||
import "datatables.net-bs4/css/dataTables.bootstrap4.min.css";
|
||||
|
@ -10,8 +12,6 @@ import "datatables.net-buttons-bs4/js/buttons.bootstrap4.js";
|
|||
import "datatables.net-buttons-bs4/css/buttons.bootstrap4.css";
|
||||
import "datatables.net-buttons/js/buttons.html5.js";
|
||||
import "datatables.net-buttons/js/buttons.print.js";
|
||||
window.JSZip = jsZip;
|
||||
pdfMake.vfs = pdfFonts.pdfMake.vfs;
|
||||
|
||||
export default async function fillTable ({ data, replaceLatLngWithMap = false, callback = false }) {
|
||||
$("#table_body").empty();
|
||||
|
@ -27,7 +27,7 @@ export default async function fillTable ({ data, replaceLatLngWithMap = false, c
|
|||
mapDiv.className = "map";
|
||||
mapDiv.id = "map-" + rowNum;
|
||||
const mapScript = document.createElement("script");
|
||||
mapScript.appendChild(document.createTextNode("loadMap(" + lat + ", " + lng + ", \"map-" + rowNum + "\", false)"));
|
||||
mapScript.appendChild(document.createTextNode("allertaJS.loadMap(" + lat + ", " + lng + ", \"map-" + rowNum + "\", false)"));
|
||||
mapDiv.appendChild(mapScript);
|
||||
const cell = document.createElement("td");
|
||||
cell.appendChild(mapDiv);
|
||||
|
|
|
@ -12,7 +12,7 @@ export default async function fillTable ({ data, replaceLatLngWithMap = false, c
|
|||
mapDiv.className = "map";
|
||||
mapDiv.id = "map-" + rowNum;
|
||||
const mapScript = document.createElement("script");
|
||||
mapScript.appendChild(document.createTextNode("loadMap(" + lat + ", " + lng + ", \"map-" + rowNum + "\", false)"));
|
||||
mapScript.appendChild(document.createTextNode("allertaJS.loadMap(" + lat + ", " + lng + ", \"map-" + rowNum + "\", false)"));
|
||||
mapDiv.appendChild(mapScript);
|
||||
const cell = document.createElement("td");
|
||||
cell.appendChild(mapDiv);
|
||||
|
|
|
@ -18,7 +18,8 @@ module.exports = {
|
|||
},
|
||||
path: path.resolve(__dirname, "dist"),
|
||||
publicPath: "resources/dist/",
|
||||
chunkFilename: "[name].bundle.js?h=[chunkhash]"
|
||||
chunkFilename: "[name].bundle.js?h=[chunkhash]",
|
||||
library: "allertaJS"
|
||||
},
|
||||
resolve: {
|
||||
alias: {
|
||||
|
@ -28,6 +29,13 @@ module.exports = {
|
|||
},
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: require.resolve("jquery"),
|
||||
loader: "expose-loader",
|
||||
options: {
|
||||
exposes: ["$", "jQuery"],
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.css$/i,
|
||||
use: ["style-loader", "css-loader"],
|
||||
|
@ -36,13 +44,6 @@ module.exports = {
|
|||
test: /\.s(a|c)ss$/,
|
||||
use: ["style-loader", "css-loader", "sass-loader"],
|
||||
},
|
||||
{
|
||||
test: require.resolve("jquery"),
|
||||
loader: "expose-loader",
|
||||
options: {
|
||||
exposes: ["$", "jQuery"],
|
||||
},
|
||||
},
|
||||
{
|
||||
test: /\.(gif|png|jpg)(\?v=\d+\.\d+\.\d+)?$/,
|
||||
use: [
|
||||
|
|
|
@ -75,7 +75,12 @@ var prodConfig = {
|
|||
minimizer: [new TerserPlugin({
|
||||
parallel: true,
|
||||
extractComments: true,
|
||||
sourceMap: sentryEnabled ? true : false
|
||||
sourceMap: sentryEnabled ? true : false,
|
||||
terserOptions: {
|
||||
compress: {
|
||||
drop_console: true
|
||||
}
|
||||
}
|
||||
})]
|
||||
}
|
||||
};
|
||||
|
@ -127,4 +132,4 @@ module.exports = (env) => {
|
|||
})
|
||||
);
|
||||
return merge(common, prodConfig);
|
||||
};
|
||||
};
|
||||
|
|
|
@ -48,45 +48,6 @@
|
|||
{% endif %}
|
||||
<script src="{{ urlsoftware }}/resources/dist/{{ resource('main.js') }}"></script>
|
||||
<script>$.fn.loading.defaults.message = "{{ 'Loading...'|t }}";</script>
|
||||
{% if enable_technical_support and technical_support_open %}
|
||||
<!-- Smartsupp Live Chat script -->
|
||||
<script type='text/javascript'>
|
||||
var _smartsupp = _smartsupp || {};
|
||||
_smartsupp.key = '{{ technical_support_key }}';
|
||||
_smartsupp.ratingEnabled = true; // default value : false
|
||||
_smartsupp.ratingComment = true; // default value : false
|
||||
window.smartsupp || (function (d) {
|
||||
var s, c, o = smartsupp = function () {
|
||||
o._.push(arguments)
|
||||
};
|
||||
o._ = [];
|
||||
s = d.getElementsByTagName('script')[0];
|
||||
c = d.createElement('script');
|
||||
c.type = 'text/javascript';
|
||||
c.charset = 'utf-8';
|
||||
c.async = true;
|
||||
c.src = 'https://www.smartsuppchat.com/loader.js?';
|
||||
s.parentNode.insertBefore(c, s);
|
||||
})(document);
|
||||
</script>
|
||||
<script>
|
||||
// basic info
|
||||
smartsupp('email', '');
|
||||
smartsupp('name', '{{ user.name }}');
|
||||
smartsupp('recording:disable', false);
|
||||
// extra info
|
||||
smartsupp('variables', {
|
||||
name: {
|
||||
label: 'name user ',
|
||||
value: '{{ user.name }}'
|
||||
},
|
||||
Admin: {
|
||||
label: 'Admin',
|
||||
value: '{{ user.full_viewer }}'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% if enable_debug_bar %}{{ debug_bar_head|raw }}{% endif %}
|
||||
</head>
|
||||
|
@ -100,11 +61,9 @@
|
|||
<a href="{{ urlsoftware }}trainings.php">{{ 'Trainings'|t }}</a>
|
||||
<a href="{{ urlsoftware }}log.php">{{ 'Logs'|t }}</a>
|
||||
<a {# href="{{ urlsoftware }}graphics.php" #}>{{ 'Graphics'|t }}</a>
|
||||
{% if enable_technical_support %}<a href="javascript:void(0);"
|
||||
onclick="chat()">{{ 'Technical Support' }}</a>{% endif %}
|
||||
<a style="float: right;" id="logout">{{ 'Hi, %s.'|t|format(user.name) }} <b
|
||||
onclick="location.href='{{ urlsoftware }}logout.php';">{{ 'Logout'|t }}</b></a>
|
||||
<a href="javascript:void(0);" class="icon" onclick="menu()">☰</a>
|
||||
<a href="" class="icon" id="menuButton">☰</a>
|
||||
</div>
|
||||
<!-- /Menu -->
|
||||
{% endblock %}
|
||||
|
|
|
@ -82,12 +82,12 @@
|
|||
<div id="map"></div>
|
||||
<div id="search">
|
||||
<input type="text" name="addr" value="" id="addr" size="10" />
|
||||
<button type="button" onclick="addrSearch('{{ 'Search results'|t }}', '{{ 'No results found'|t }}');"
|
||||
<button type="button" onclick="allertaJS.addrSearch('{{ 'Search results'|t }}', '{{ 'No results found'|t }}');"
|
||||
class="btn btn-primary">{{ 'Search'|t }}</button>
|
||||
<div id="results"></div>
|
||||
</div>
|
||||
<input type="hidden" name="place" value="" />
|
||||
<script src="{{ urlsoftware }}/resources/dist/{{ resource('maps.js') }}" onload="loadMap();"></script>
|
||||
<script src="{{ urlsoftware }}/resources/dist/{{ resource('maps.js') }}" onload="allertaJS.loadMap();"></script>
|
||||
{% else %}
|
||||
<label><b>{{ 'Service place'|t }}</b></label>
|
||||
<input type="text" name="place" required value="{{ values.place }}">
|
||||
|
|
|
@ -67,12 +67,12 @@
|
|||
<div id="map"></div>
|
||||
<div id="search">
|
||||
<input type="text" name="addr" value="" id="addr" size="10" />
|
||||
<button type="button" onclick="addrSearch('{{ 'Search results'|t }}', '{{ 'No results found'|t }}');"
|
||||
<button type="button" onclick="allertaJS.addrSearch('{{ 'Search results'|t }}', '{{ 'No results found'|t }}');"
|
||||
class="btn btn-primary">{{ 'Search'|t }}</button>
|
||||
<div id="results"></div>
|
||||
</div>
|
||||
<input type="hidden" name="place" value="" />
|
||||
<script src="{{ urlsoftware }}/resources/dist/{{ resource('maps.js') }}" onload="loadMap();"></script>
|
||||
<script src="{{ urlsoftware }}/resources/dist/{{ resource('maps.js') }}" onload="allertaJS.loadMap();"></script>
|
||||
{% else %}
|
||||
<label><b>{{ 'Training place'|t }}</b></label>
|
||||
<input type="text" name="place" required value="{{ values.place }}">
|
||||
|
|
|
@ -67,8 +67,7 @@
|
|||
},
|
||||
success: function (data) {
|
||||
toastr.success(`{{ 'Thanks, %s, you have given %s in case of alert.'|t|format(user.name, '${generate_alert_string(id)}') }}`);
|
||||
clearInterval(window.loadTableInterval); //stop reloading
|
||||
loadTable({tablePage: "list", useCustomTableEngine: "default"});
|
||||
allertaJS.loadTable({tablePage: "list", useCustomTableEngine: "default"});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -84,8 +83,7 @@
|
|||
},
|
||||
success: function (data) {
|
||||
toastr.success(`{{ 'Thanks, %s, you have removed %s in case of alert.'|t|format(user.name, '${generate_alert_string(id)}') }}`);
|
||||
clearInterval(window.loadTableInterval); //stop reloading
|
||||
loadTable({tablePage: "list", useCustomTableEngine: "default"});
|
||||
allertaJS.loadTable({tablePage: "list", useCustomTableEngine: "default"});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -114,7 +112,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
loadTable({tablePage: "list", useCustomTableEngine: "default"});
|
||||
allertaJS.loadTable({tablePage: "list", useCustomTableEngine: "default"});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
loadTable({tablePage: "log", setInterval: false, callback: function(tableDt) {
|
||||
allertaJS.loadTable({tablePage: "log", setInterval: false, callback: function(tableDt) {
|
||||
tableDt
|
||||
.column( '3:visible' )
|
||||
.order( 'desc' )
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
loadTable("list", true, 20000, true);
|
||||
allertaJS.loadTable("list", true, 20000, true);
|
||||
</script>
|
||||
</div>
|
||||
<br>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
loadTable({tablePage: "services", interval: 120000});
|
||||
allertaJS.loadTable({tablePage: "services", interval: 120000});
|
||||
</script>
|
||||
</div>
|
||||
<br>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<script>
|
||||
loadTable({tablePage: "trainings", interval: 120000});
|
||||
allertaJS.loadTable({tablePage: "trainings", interval: 120000});
|
||||
</script>
|
||||
</div>
|
||||
<br>
|
||||
|
|
|
@ -74,9 +74,6 @@ function loadtemplate($templatename, $data, $requirelogin=true)
|
|||
$data['owner'] = $database->get_option("owner");
|
||||
$data['urlsoftware'] = $database->get_option("web_url");
|
||||
$data['user'] = $user->info();
|
||||
$data['enable_technical_support'] = $database->get_option("enable_technical_support");
|
||||
$data['technical_support_key'] = $database->get_option("technical_support_key");
|
||||
$data['technical_support_open'] = isset($_COOKIE["chat"]);
|
||||
$data['show_menu'] = !isset($_REQUEST["hide_menu"]);
|
||||
$data['show_footer'] = !isset($_REQUEST["hide_footer"]);
|
||||
if($database->get_option("use_custom_error_sound")) {
|
||||
|
|
Loading…
Reference in New Issue