mirror of
https://github.com/IoTManagerProject/IoTManagerWeb.git
synced 2026-03-26 15:02:21 +03:00
ввод даты
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||||
|
|
||||||
<title>IoT Manager 4.2.3</title>
|
<title>IoT Manager 4.2.4</title>
|
||||||
|
|
||||||
<link rel="icon" type="image/png" href="/favicon.ico" />
|
<link rel="icon" type="image/png" href="/favicon.ico" />
|
||||||
<link rel="stylesheet" href="/build/bundle.css" />
|
<link rel="stylesheet" href="/build/bundle.css" />
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
import ConnectionPage from "./pages/Connection.svelte";
|
import ConnectionPage from "./pages/Connection.svelte";
|
||||||
import ListPage from "./pages/List.svelte";
|
import ListPage from "./pages/List.svelte";
|
||||||
import SystemPage from "./pages/System.svelte";
|
import SystemPage from "./pages/System.svelte";
|
||||||
|
import DevPage from "./pages/Dev.svelte";
|
||||||
|
|
||||||
//import UtilitiesPage from "./pages/Utilities.svelte";
|
//import UtilitiesPage from "./pages/Utilities.svelte";
|
||||||
//import LogPage from "./pages/Log.svelte";
|
//import LogPage from "./pages/Log.svelte";
|
||||||
@@ -37,13 +38,12 @@
|
|||||||
let updatingTimeout = 80000;
|
let updatingTimeout = 80000;
|
||||||
let opened = false;
|
let opened = false;
|
||||||
let preventMove = false;
|
let preventMove = false;
|
||||||
let showWidjetJson = false;
|
let devMode = true;
|
||||||
let devMode = false;
|
|
||||||
|
|
||||||
//****************************************************variable section**********************************************************/
|
//****************************************************variable section**********************************************************/
|
||||||
//******************************************************************************************************************************/
|
//******************************************************************************************************************************/
|
||||||
let myip = document.location.hostname;
|
let myip = document.location.hostname;
|
||||||
if (devMode) myip = "192.168.1.196";
|
if (devMode) myip = "192.168.1.107";
|
||||||
|
|
||||||
//Flags
|
//Flags
|
||||||
let firstDevListRequest = true;
|
let firstDevListRequest = true;
|
||||||
@@ -165,8 +165,13 @@
|
|||||||
|
|
||||||
function handleNavigation() {
|
function handleNavigation() {
|
||||||
console.log("[i]", "handle navigation");
|
console.log("[i]", "handle navigation");
|
||||||
clearData();
|
|
||||||
currentPageName = $router.path.toString();
|
currentPageName = $router.path.toString();
|
||||||
|
|
||||||
|
//не нужно очищать переменные когда переходим на страницу разработчика
|
||||||
|
if (currentPageName != "/dev") {
|
||||||
|
clearData();
|
||||||
|
}
|
||||||
currentPageName = currentPageName + "|";
|
currentPageName = currentPageName + "|";
|
||||||
console.log("[i]", "user on page:", currentPageName);
|
console.log("[i]", "user on page:", currentPageName);
|
||||||
|
|
||||||
@@ -509,12 +514,14 @@
|
|||||||
for (const [key, value] of Object.entries(paramsJson)) {
|
for (const [key, value] of Object.entries(paramsJson)) {
|
||||||
for (let i = 0; i < devLayout.length; i++) {
|
for (let i = 0; i < devLayout.length; i++) {
|
||||||
let topic = devLayout[i].topic;
|
let topic = devLayout[i].topic;
|
||||||
devLayout[i].ws = ws;
|
if (topic) {
|
||||||
topic = topic.substring(topic.lastIndexOf("/") + 1, topic.length);
|
devLayout[i].ws = ws;
|
||||||
if (key === topic) {
|
topic = topic.substring(topic.lastIndexOf("/") + 1, topic.length);
|
||||||
console.log("[i]", "value " + topic + " updated");
|
if (key === topic) {
|
||||||
devLayout[i].status = value;
|
console.log("[i]", "value " + topic + " updated");
|
||||||
break;
|
devLayout[i].status = value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -614,6 +621,17 @@
|
|||||||
wsSendMsg(selectedWs, "/mqtt|");
|
wsSendMsg(selectedWs, "/mqtt|");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let input = {};
|
||||||
|
|
||||||
|
input = {
|
||||||
|
name: "inputDate",
|
||||||
|
descr: "Выберите дату",
|
||||||
|
widget: "input",
|
||||||
|
size: "small",
|
||||||
|
color: "orange",
|
||||||
|
type: "date",
|
||||||
|
};
|
||||||
|
|
||||||
function generateLayout() {
|
function generateLayout() {
|
||||||
let layout = [];
|
let layout = [];
|
||||||
for (let i = 0; i < configJson.length; i++) {
|
for (let i = 0; i < configJson.length; i++) {
|
||||||
@@ -629,6 +647,11 @@
|
|||||||
//widget.ws = selectedWs;
|
//widget.ws = selectedWs;
|
||||||
widget.topic = settingsJson.root + "/" + config.id;
|
widget.topic = settingsJson.root + "/" + config.id;
|
||||||
layout.push(widget);
|
layout.push(widget);
|
||||||
|
if (widget.widget === "chart") {
|
||||||
|
input.page = config.page;
|
||||||
|
input.topic = settingsJson.root + "/" + config.id + "-date";
|
||||||
|
layout.push(input);
|
||||||
|
}
|
||||||
error = false;
|
error = false;
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
@@ -659,7 +682,7 @@
|
|||||||
|
|
||||||
settingsJson = {};
|
settingsJson = {};
|
||||||
errorsJson = {};
|
errorsJson = {};
|
||||||
coreMessages = [];
|
//coreMessages = [];
|
||||||
|
|
||||||
dashReady = false;
|
dashReady = false;
|
||||||
configReady = false;
|
configReady = false;
|
||||||
@@ -1121,6 +1144,11 @@
|
|||||||
<li>
|
<li>
|
||||||
<a class="menu__item" href="/system">{"Системные"}</a>
|
<a class="menu__item" href="/system">{"Системные"}</a>
|
||||||
</li>
|
</li>
|
||||||
|
{#if devMode}
|
||||||
|
<li>
|
||||||
|
<a class="menu__item" href="/dev">{"Разработчик"}</a>
|
||||||
|
</li>
|
||||||
|
{/if}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@@ -1132,10 +1160,6 @@
|
|||||||
{:else}
|
{:else}
|
||||||
<Route path="/">
|
<Route path="/">
|
||||||
<DashboardPage show={dashReady} layoutJson={layoutJson} pages={pages} wsPush={(ws, topic, status) => wsPush(ws, topic, status)} />
|
<DashboardPage show={dashReady} layoutJson={layoutJson} pages={pages} wsPush={(ws, topic, status) => wsPush(ws, topic, status)} />
|
||||||
<!--<button class="btn-lg" on:click={() => createFinalLayout()}>{"Test"}</button>-->
|
|
||||||
{#if showWidjetJson}
|
|
||||||
<textarea value={JSON.stringify(layoutJson)} class="ipt-big h-40 w-full" />
|
|
||||||
{/if}
|
|
||||||
</Route>
|
</Route>
|
||||||
<Route path="/config">
|
<Route path="/config">
|
||||||
<ConfigPage show={configReady} configJson={configJson} widgetsJson={widgetsJson} itemsJson={itemsJson} saveConfig={() => saveConfig()} cleanLogs={() => cleanLogs()} rebootEsp={() => rebootEsp()} scenarioJson={scenarioJson} />
|
<ConfigPage show={configReady} configJson={configJson} widgetsJson={widgetsJson} itemsJson={itemsJson} saveConfig={() => saveConfig()} cleanLogs={() => cleanLogs()} rebootEsp={() => rebootEsp()} scenarioJson={scenarioJson} />
|
||||||
@@ -1149,6 +1173,11 @@
|
|||||||
<Route path="/system">
|
<Route path="/system">
|
||||||
<SystemPage show={systemReady} errorsJson={errorsJson} settingsJson={settingsJson} saveSett={() => saveSett()} cleanLogs={() => cleanLogs()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} versionsList={versionsList} bind:choosingVersion startUpdate={() => startUpdate()} coreMessages={coreMessages} />
|
<SystemPage show={systemReady} errorsJson={errorsJson} settingsJson={settingsJson} saveSett={() => saveSett()} cleanLogs={() => cleanLogs()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} versionsList={versionsList} bind:choosingVersion startUpdate={() => startUpdate()} coreMessages={coreMessages} />
|
||||||
</Route>
|
</Route>
|
||||||
|
{#if devMode}
|
||||||
|
<Route path="/dev">
|
||||||
|
<DevPage show={systemReady} layoutJson={layoutJson} errorsJson={errorsJson} settingsJson={settingsJson} configJson={configJson} itemsJson={itemsJson} />
|
||||||
|
</Route>
|
||||||
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
<script>
|
|
||||||
import Card from "../components/Card.svelte";
|
|
||||||
|
|
||||||
export let wigetsUpdate;
|
|
||||||
export let layoutJson;
|
|
||||||
|
|
||||||
export let showModal = () => {};
|
|
||||||
export let syntaxHighlight = (json) => {};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<button on:click={() => showModal()} type="button"> Toggle modal </button>
|
|
||||||
<Card title="Редактор JSON">
|
|
||||||
<textarea on:input={wigetsUpdate} rows="10" class="ipt-big w-full" id="text1">{syntaxHighlight(JSON.stringify(layoutJson))}</textarea>
|
|
||||||
</Card>
|
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
{#if show}
|
{#if show}
|
||||||
<div class="grd-3col1">
|
<div class="grd-3col1">
|
||||||
{#if layoutJson === []}
|
{#if !layoutJson}
|
||||||
<Card title={"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"} />
|
<Card title={"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"} />
|
||||||
{/if}
|
{/if}
|
||||||
{#each pages as pagesName, p}
|
{#each pages as pagesName, p}
|
||||||
|
|||||||
40
src/pages/Dev.svelte
Normal file
40
src/pages/Dev.svelte
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<script>
|
||||||
|
import Card from "../components/Card.svelte";
|
||||||
|
|
||||||
|
const syntaxHighlight = (json) => {
|
||||||
|
try {
|
||||||
|
json = JSON.stringify(JSON.parse(json), null, 4);
|
||||||
|
} catch (e) {
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
json = json.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
||||||
|
json = json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
|
||||||
|
return match;
|
||||||
|
});
|
||||||
|
return json;
|
||||||
|
};
|
||||||
|
|
||||||
|
export let errorsJson;
|
||||||
|
export let layoutJson;
|
||||||
|
export let settingsJson;
|
||||||
|
export let configJson;
|
||||||
|
export let itemsJson;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="grd-3col1">
|
||||||
|
<Card title="layoutJson">
|
||||||
|
<textarea on:input={layoutJson} rows="23" cols="50" id="1">{syntaxHighlight(JSON.stringify(layoutJson))}</textarea>
|
||||||
|
</Card>
|
||||||
|
<Card title="errorsJson">
|
||||||
|
<textarea on:input={errorsJson} rows="23" cols="50" id="2">{syntaxHighlight(JSON.stringify(errorsJson))}</textarea>
|
||||||
|
</Card>
|
||||||
|
<Card title="settingsJson">
|
||||||
|
<textarea on:input={settingsJson} rows="23" cols="50" id="3">{syntaxHighlight(JSON.stringify(settingsJson))}</textarea>
|
||||||
|
</Card>
|
||||||
|
<Card title="configJson">
|
||||||
|
<textarea on:input={configJson} rows="23" cols="50" id="3">{syntaxHighlight(JSON.stringify(configJson))}</textarea>
|
||||||
|
</Card>
|
||||||
|
<Card title="itemsJson">
|
||||||
|
<textarea on:input={itemsJson} rows="23" cols="50" id="3">{syntaxHighlight(JSON.stringify(itemsJson))}</textarea>
|
||||||
|
</Card>
|
||||||
|
</div>
|
||||||
@@ -70,6 +70,8 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- svelte-ignore a11y-label-has-associated-control -->
|
<div class="text-center">
|
||||||
<label class="wgt-dscr-stl">{!widget.descr ? "" : widget.descr}</label>
|
<!-- svelte-ignore a11y-label-has-associated-control -->
|
||||||
<Chart data={datachart} type="line" lineOptions={lineOptions} axisOptions={axisOptions} />
|
<label class="inline-block italic align-top text-center text-gray-500 txt-sz">{!widget.descr ? "" : widget.descr}</label>
|
||||||
|
</div>
|
||||||
|
<Chart class="h-24" data={datachart} type="line" lineOptions={lineOptions} axisOptions={axisOptions} />
|
||||||
|
|||||||
Reference in New Issue
Block a user