From 2bfc4d728d3b0a1b443136c4779b596c572898e0 Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Mon, 9 May 2022 16:55:56 +0200 Subject: [PATCH] connectcore-demo-example: multimedia: add multimedia section While on it remove 'History data' section. https://onedigi.atlassian.net/browse/DEL-7742 Signed-off-by: Tatiana Leon --- connectcore-demo-example/index.html | 8 +- connectcore-demo-example/multimedia.html | 283 ++++++++++++++++++ .../multimedia_viewer.html | 117 ++++++++ .../static/css/general.css | 106 +++++-- .../static/images/aquarium.jpg | Bin 0 -> 35502 bytes .../static/images/big_buck_bunny.jpg | Bin 0 -> 21643 bytes .../static/images/blob.jpg | Bin 0 -> 10392 bytes .../static/images/cpu.png | Bin 0 -> 2813 bytes .../static/images/electricflower.jpg | Bin 0 -> 16355 bytes .../static/images/multiple-views.jpg | Bin 0 -> 26797 bytes .../static/images/ram.png | Bin 0 -> 2612 bytes .../static/images/spacerocks.jpg | Bin 0 -> 36613 bytes .../static/images/toon-shading.jpg | Bin 0 -> 32266 bytes connectcore-demo-example/static/js/common.js | 31 +- .../static/js/dashboard.js | 27 +- connectcore-demo-example/static/js/history.js | 221 -------------- .../static/js/multimedia.js | 79 +++++ 17 files changed, 599 insertions(+), 273 deletions(-) create mode 100644 connectcore-demo-example/multimedia.html create mode 100644 connectcore-demo-example/multimedia_viewer.html create mode 100644 connectcore-demo-example/static/images/aquarium.jpg create mode 100644 connectcore-demo-example/static/images/big_buck_bunny.jpg create mode 100644 connectcore-demo-example/static/images/blob.jpg create mode 100644 connectcore-demo-example/static/images/cpu.png create mode 100644 connectcore-demo-example/static/images/electricflower.jpg create mode 100644 connectcore-demo-example/static/images/multiple-views.jpg create mode 100644 connectcore-demo-example/static/images/ram.png create mode 100644 connectcore-demo-example/static/images/spacerocks.jpg create mode 100644 connectcore-demo-example/static/images/toon-shading.jpg delete mode 100644 connectcore-demo-example/static/js/history.js create mode 100644 connectcore-demo-example/static/js/multimedia.js diff --git a/connectcore-demo-example/index.html b/connectcore-demo-example/index.html index 96fe841..033a107 100644 --- a/connectcore-demo-example/index.html +++ b/connectcore-demo-example/index.html @@ -62,10 +62,10 @@ Digi Demo - Dashboard
  • - +
    - - Historical data + + Multimedia
  • @@ -762,8 +762,8 @@ Digi Demo - Dashboard + - + + + + + + + + + + + + + + +
    + + + + +
    + +
    + Loading... +
    +
    + +
    +
    + + +
    +
    +
    +
    WebGL examples
    + +
    +
    +
    +
    +
    Aquarium
    + Aquarium +
    +
    +
    +
    +
    +
    +
    Blob
    + Blob +
    +
    +
    +
    +
    +
    +
    Electricflower
    + Electricflower +
    +
    +
    +
    +
    +
    +
    Multiple Views
    + Multiple Views +
    +
    +
    +
    +
    +
    +
    Spacerocks
    + Spacerocks +
    +
    +
    +
    +
    +
    +
    Toon Shading
    + Toon Shading +
    +
    +
    +
    +
    + All the WebGL examples have been obtained from https://webglsamples.org/ +
    +
    +
    +
    +
    +
    Videos
    + +
    +
    +
    +
    +
    Big Buck Bunny (MOV)
    + Big Buck Bunny (MOV) +
    +
    +
    +
    +
    +
    +
    Big Buck Bunny (WEBM)
    + Big Buck Bunny (WEBM) +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + diff --git a/connectcore-demo-example/multimedia_viewer.html b/connectcore-demo-example/multimedia_viewer.html new file mode 100644 index 0000000..ee4ea90 --- /dev/null +++ b/connectcore-demo-example/multimedia_viewer.html @@ -0,0 +1,117 @@ + + + + Digi Demo - Multimedia viewer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/connectcore-demo-example/static/css/general.css b/connectcore-demo-example/static/css/general.css index 81487de..f326b1c 100644 --- a/connectcore-demo-example/static/css/general.css +++ b/connectcore-demo-example/static/css/general.css @@ -836,7 +836,7 @@ body { } .value-updated { - color: var(--digi-green); + color: var(--digi-green) !important; font-weight: 1000; visibility: inherit; } @@ -1768,37 +1768,105 @@ body { } /* END DEVICE TOOLBAR */ -/* HISTORY */ -.chart-container { +/* MULTIMEDIA */ +.multimedia-container { color: #666666; - padding: 20px 0px 20px 0px; + padding: 20px 7px 0px 7px; } -.chart-wrapper { - position: relative; +.multimedia-box { + padding-left: 0px; + padding-right: 0px; } -.big-chart { +.multimedia-item { + cursor: pointer; + padding: 5px; + height: 190px; + border: 1px solid var(--light); + border-radius: 0px; + text-align: center; + background-color: white; + box-shadow: 4px .25rem .25rem rgba(0,0,0,.075); +} + +.multimedia-item:hover { + border: 1px solid var(--digi-green); +} + +.multimedia-title { + padding: 0px 0px 3px 0px; + margin-bottom: 0px; + font-weight: bold; + font-size: 18px; +} + +.multimedia-item hr { + border-width: 1px; + border-color: #CCCCCC; + margin-top: 5px; +} + +.multimedia-item img { + height: 120px; + object-fit: contain; + max-width: 100%; +} +/* END MULTIMEDIA */ + +/* MULTIMEDIA VIEWER */ +.multimedia-viewer { + background-color: #848486; + margin: 0px; + padding: 0px; +} + +.multimedia-content { width: 100%; - min-height: 300px; - padding: 20px; + height: calc( 100vh - var(--nav-img-size) - 25px ); /* height of the top toolbar or banner plus 25px of padding */ } -.chart-loading { +.multimedia-status-bar { position: absolute; - top: 0; + z-index: 99; + bottom: 0px; + left: 0px; + right: 0px; width: 100%; - height: 100%; - background-color: rgba(255, 255, 255, 0.85); + min-height: 50px; + box-sizing: content-box; + background-color: white; + color: var(--digi-gray); } -.loading-chart-image, .no-data-label { - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%, -50%); +.stat { + float: left; + margin-right: 20px; } -/* END HISTORY */ + +.status-icon { + float: left; + margin-top: 9px; + margin-left: 10px; +} + +.status-text { + margin-top: 14px; + margin-left: 5px; + float: left; + font-size: 20px; + color: var(--digi-gray); +} + +.back-button { + float: right; + padding: 5px; + cursor: pointer; + width: 150px; + margin: 7px 7px 0px 15px; + font-size: 20px; +} +/* END MULTIMEDIA VIEWER */ /* MANAGEMENT */ .system-monitor-param-container { diff --git a/connectcore-demo-example/static/images/aquarium.jpg b/connectcore-demo-example/static/images/aquarium.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9bafaf0373d3b1a75c3d143c226820b115ce8cd3 GIT binary patch literal 35502 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 L!32!28_)mQN73qq literal 0 HcmV?d00001 diff --git a/connectcore-demo-example/static/images/big_buck_bunny.jpg b/connectcore-demo-example/static/images/big_buck_bunny.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c3598ad4ee657d764386272698f7dd8f685193b3 GIT binary patch literal 21643 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 literal 0 HcmV?d00001 diff --git a/connectcore-demo-example/static/images/blob.jpg b/connectcore-demo-example/static/images/blob.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7988d7118455e119aeea93d414dcfee5aba68d8 GIT binary patch literal 10392 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 D8K(HR literal 0 HcmV?d00001 diff --git a/connectcore-demo-example/static/images/cpu.png b/connectcore-demo-example/static/images/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..f847ac4d455c12d2158095ee2df1e596831c8a4f GIT binary patch literal 2813 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 literal 0 HcmV?d00001 diff --git a/connectcore-demo-example/static/images/multiple-views.jpg b/connectcore-demo-example/static/images/multiple-views.jpg new file mode 100644 index 0000000000000000000000000000000000000000..73931f8fb04d0f8e82e540caad41548a9db13ca3 GIT binary patch literal 26797 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 jNQJ}0FNF+%3e;42%!$ezP8a8ZlPFXsAi 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

    CCmS$JjOdz#(W)a^X{+b2yEd5ir$% zVC+!YSjg>~x(w>&)aTmt)To}Hw1WtolO-C150m0(5_1x%)%0O&9;%VimX@TzB@M}Z zfZZA9PwEl9h_H@J!lI9!L^@^QCQDO9pFmn^yPEwvN`7=KgC`c!WZCjdTIKXZ=wLM= zf3?U8eb}5GmOhl1XkhoD3Q~y1Kd|UuYP4-JRqi2VPAO+VC~*PvUe&p1eUYa|z4gNO zHLm#KdEa7Wv6FCWLOX*>zV$88f~2X!gA=(^-5t`Nno zIti^8R!tjZ>5DZqZv{-&W>BObpKR019w^8D;=*JQ!LHBWpw3caCNv2WM2+2{Jc!rMAq{lp!3a0m(i4I z;}_?b>Z0y_FS6|XnSU1e^H&VpZ;almrxo%pN8Ua!8ir(A z^>Z~ObW4>tK0O~?`pnjODGUkT?AA6mFqeOTorjdr6bKJk=3M{#J1Ya4b=?Pu@y>7BbN2Y5Y z^RBKs+k4^{HCIZ-5?AoCd+?G?6*NxL51df06x>{b4zF;^;_;fg1k zCYY8cjkcr)^Q#lJfR$Z!WfAcHq$2iZ@*D}J&|luw6Q0wJ<6br3x;RmNBG?8esb=c6 z8Y#{;{Tx5A4;(`+9r z>&z`!)1-p0fWgvk_}Q5O4pKI)vt&I|qU0Ny&w7~T_v%EUm0arVY^Ih6rE^4Ow9V2e z+L4yXsV10l_@-V>2Q0hzY!zt8qf|O*wTiBY>_d7kR1Hy%yu0c)4V|ALLV!O;OV+&E zce0=T40d!wUpj*|&@_&EK`|!{Trsallju)`%q? zjaNGP_2p;NHmb31_zqPU_f&7wX~>Kez80SrU}B^HiDAm=M;OZF><+!tz;1Y>zHmP3 zi7W6_5|L!!5^377pQ{v5P9N?1sq_ylQVn~3(mRs}A>UO;Q%n;KX@q^#g0qq~`MSEC z&e^V}Zj!b%O|69fcw1l)u7T4Y3t6P8i0PC8X|yIP&iLqe;Q2F_tmc)$v+IB|4XqUx;n$dj z!5`jfXh3MD0rO$5YtriZ{H3oFT4`yTIG5xvXuzc2F|H0`|HaWR5>RM1JwCCFMw zvMtE)d&%FLGi6uU2B774X!!%0D;KN#-JgDvgJk-BnrLfss=)EdKVoxQ5bVn>@j?DM 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 literal 0 HcmV?d00001 diff --git a/connectcore-demo-example/static/images/toon-shading.jpg b/connectcore-demo-example/static/images/toon-shading.jpg new file mode 100644 index 0000000000000000000000000000000000000000..636d3e76a76df60def294a3b59a66894072641db GIT binary patch literal 32266 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ⅅ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

    R%6?CgOsNjjr5PCvzcyER46gX6%NyfLv$O&Gi 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 -1; } -// Returns whether the history page is showing or not. -function isHistoryShowing() { - return window.location.pathname.indexOf("history") > -1; +// Returns whether the multimedia page is showing or not. +function isMultimediaShowing() { + return window.location.pathname.indexOf("multimedia") > -1; } // Returns the device name. diff --git a/connectcore-demo-example/static/js/dashboard.js b/connectcore-demo-example/static/js/dashboard.js index 7ba13ad..30a957e 100644 --- a/connectcore-demo-example/static/js/dashboard.js +++ b/connectcore-demo-example/static/js/dashboard.js @@ -66,16 +66,12 @@ const IFACE_WIFI = "wlan0/"; const USER_LED = "user_led"; -const PREFIX_STREAM = "system_monitor/"; - -const STREAM_CPU_LOAD = PREFIX_STREAM + "cpu_load"; const STREAM_CPU_FREQUENCY = PREFIX_STREAM + "frequency"; const STREAM_CPU_TEMPERATURE = PREFIX_STREAM + "cpu_temperature"; const STREAM_CPU_UPTIME = PREFIX_STREAM + "uptime"; const STREAM_ETHERNET_READ_BYTES = PREFIX_STREAM + IFACE_ETHERNET + "rx_bytes"; const STREAM_ETHERNET_SENT_BYTES = PREFIX_STREAM + IFACE_ETHERNET + "tx_bytes"; const STREAM_ETHERNET_STATE = PREFIX_STREAM + IFACE_ETHERNET + "state"; -const STREAM_MEMORY_FREE = PREFIX_STREAM + "free_memory"; const STREAM_LED_STATUS = PREFIX_STREAM + "led_status"; const STREAM_MEMORY_USED = PREFIX_STREAM + "used_memory"; const STREAM_WIFI_READ_BYTES = PREFIX_STREAM + IFACE_WIFI + "rx_bytes"; @@ -94,8 +90,6 @@ const CLASS_LED_PANEL_AREA_ON = "led-panel-area-on"; const CLASS_PANEL_AREA_SELECTED = "panel-area-selected"; const CLASS_PANEL_AREA_ICON_SELECTED = "panel-area-icon-selected"; const CLASS_PANEL_TOOLTIP = "panel-tooltip"; -const CLASS_VALUE_ANIMATION = "value-animation"; -const CLASS_VALUE_UPDATED = "value-updated"; const MESSAGE_CHANGING_VIDEO_BRIGHTNESS = "Changing video brightness..."; const MESSAGE_CHANGING_AUDIO_VOLUME = "Changing audio volume..."; @@ -544,7 +538,7 @@ function positionComponent(component, boardWidth, boardHeight, headerHeight, das // Updates the device information values. function updateInfoValues() { // Set the device type. - updateFieldValue("device-name", device.getDeviceType().toUpperCase()); + updateFieldValue(ID_DEVICE_NAME, device.getDeviceType().toUpperCase()); // Set serial number. updateFieldValue(ID_SERIAL_NUMBER, device.getSerialNumber()); // Set DEY version. @@ -646,25 +640,6 @@ function updateDataPointValue(streamID, value) { } } -// Updates the value of the given element ID. -function updateValueWithEffect(elementID, value) { - // Initialize variables. - var htmlElement = document.getElementById(elementID); - // Sanity checks. - if (htmlElement == null || htmlElement == "undefined" || value == null) - return; - // Apply value and classes. - htmlElement.classList.add(CLASS_VALUE_UPDATED); - htmlElement.innerText = value; - htmlElement.classList.add(CLASS_VALUE_ANIMATION); - setTimeout(function() { - htmlElement.classList.remove(CLASS_VALUE_UPDATED); - setTimeout(function() { - htmlElement.classList.remove(CLASS_VALUE_ANIMATION); - }, 3000); - }, 2000); -} - // Toggles the visibility of the given component information panel. function toggleInfoPanelVisibility(componentName) { // Sanity checks. diff --git a/connectcore-demo-example/static/js/history.js b/connectcore-demo-example/static/js/history.js deleted file mode 100644 index 78637d9..0000000 --- a/connectcore-demo-example/static/js/history.js +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Copyright 2022, Digi International Inc. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -// Constants. -const ID_CPU_CHART = "cpu-chart"; -const ID_CPU_CHART_LOADING = "cpu-chart-loading"; -const ID_MEMORY_CHART = "memory-chart"; -const ID_MEMORY_CHART_LOADING = "memory-chart-loading"; -const ID_TEMPERATURE_CHART = "temperature-chart"; -const ID_TEMPERATURE_CHART_LOADING = "temperature-chart-loading"; - -const COLOR_CPU_CHART = "#3399FF"; -const COLOR_MEMORY_CHART = "#FFD500"; -const COLOR_TEMPERATURE_CHART = "#4F4F4F"; - -const TITLE_CPU_CHART = "CPU Usage"; -const TITLE_MEMORY_CHART = "Memory Usage"; -const TITLE_TEMPERATURE_CHART = "Temperature"; - -const UNITS_CPU_CHART = "%"; -const UNITS_MEMORY_CHART = "MB"; -const UNITS_TEMPERATURE_CHART = "°C"; - -// Variables. -var temperatureData = null; -var cpuData = null; -var memoryData = null; -var temperatureInterval = null; -var cpuInterval = null; -var memoryInterval = null; - -// Initializes the charts. -function initCharts() { - // Reset the variables. - temperatureData = null; - cpuData = null; - memoryData = null; - temperatureInterval = null; - cpuInterval = null; - memoryInterval = null; - // Draw all the charts. - drawAllCharts(true, true); -} - -// Draws all the charts. -function drawAllCharts(refresh=false, showProgress=true) { - // Sanity checks. - if (!isHistoryShowing()) - return; - // Draw the charts. - drawTemperatureChart(refresh, showProgress); - drawCPUChart(refresh, showProgress); - drawMemoryChart(refresh, showProgress); -} - -// Draws the temperature chart. -function drawTemperatureChart(refresh=false, showProgress=false) { - if (refresh) { - if (showProgress) - $("#" + ID_TEMPERATURE_CHART_LOADING).show(); - $.post( - "/ajax/history_temperature", - JSON.stringify({ - "interval": temperatureInterval - }), - function(response) { - // Process only if histograms page is showing. - if (!isHistoryShowing()) - return; - // Check for errors. - if (!checkErrorResponse(response, false)) { - temperatureData = response.data; - drawTemperatureChart(); - $("#" + ID_TEMPERATURE_CHART_LOADING).hide(); - } - } - ).fail(function(response) { - // Process only if histograms page is showing. - if (!isHistoryShowing()) - return; - // Process error. - processAjaxErrorResponse(response); - }); - } else { - drawChart(ID_TEMPERATURE_CHART, temperatureData, TITLE_TEMPERATURE_CHART, UNITS_TEMPERATURE_CHART, COLOR_TEMPERATURE_CHART); - } -} - -// Draws the CPU chart. -function drawCPUChart(refresh=false, showProgress=false) { - if (refresh) { - if (showProgress) - $("#" + ID_CPU_CHART_LOADING).show(); - $.post( - "/ajax/history_cpu", - JSON.stringify({ - "interval": cpuInterval - }), - function(response) { - // Process only if histograms page is showing. - if (!isHistoryShowing()) - return; - // Check for errors. - if (!checkErrorResponse(response, false)) { - cpuData = response.data; - drawCPUChart(); - $("#" + ID_CPU_CHART_LOADING).hide(); - } - } - ).fail(function(response) { - // Process only if histograms page is showing. - if (!isHistoryShowing()) - return; - // Process error. - processAjaxErrorResponse(response); - }); - } else { - drawChart(ID_CPU_CHART, cpuData, TITLE_CPU_CHART, UNITS_CPU_CHART, COLOR_CPU_CHART); - } -} - -// Draws the memory chart. -function drawMemoryChart(refresh=false, showProgress=false) { - if (refresh) { - if (showProgress) - $("#" + ID_MEMORY_CHART_LOADING).show(); - $.post( - "/ajax/history_memory", - JSON.stringify({ - "interval": memoryInterval - }), - function(response) { - // Process only if histograms page is showing. - if (!isHistoryShowing()) - return; - // Check for errors. - if (!checkErrorResponse(response, false)) { - memoryData = response.data; - drawMemoryChart(); - $("#" + ID_MEMORY_CHART_LOADING).hide(); - } - } - ).fail(function(response) { - // Process only if histograms page is showing. - if (!isHistoryShowing()) - return; - // Process error. - processAjaxErrorResponse(response); - }); - } else { - drawChart(ID_MEMORY_CHART, memoryData, TITLE_MEMORY_CHART, UNITS_MEMORY_CHART, COLOR_MEMORY_CHART); - } -} - -// Draws the chart with the given data. -function drawChart(id, data, title, units, color=null) { - // Sanity checks. - if (!isHistoryShowing()) - return; - // Create the chart table. - var dataTable = new google.visualization.DataTable(); - dataTable.addColumn("date", ""); - dataTable.addColumn("number", ""); - // Check if any data was given. - if (data.length == 0) { - $("#" + id).empty(); - $("#" + id).append("Not enough data"); - return; - } - // Add the data rows. - dataTable.addRows(data.length); - // Fill each row with the given data. - $.each(data, function(k, v) { - dataTable.setCell(k, 0, new Date(v[ID_TIMESTAMP])); - dataTable.setCell(k, 1, v[ID_DATA]); - }); - // Build chart options. - var options = { - backgroundColor: "transparent", - series: { - 0: { - axis: "Data", - color: color, - visibleInLegend: false - } - }, - axes: { - y: { - Data: { - label: units - } - } - }, - legend: { - position: "none" - }, - vAxis: { - viewWindow: { - min: 0 - } - } - }; - // Create the chart. - var chart = new google.charts.Line(document.getElementById(id)); - // Draw the chart. - chart.draw(dataTable, google.charts.Line.convertOptions(options)); -} - diff --git a/connectcore-demo-example/static/js/multimedia.js b/connectcore-demo-example/static/js/multimedia.js new file mode 100644 index 0000000..afcfab8 --- /dev/null +++ b/connectcore-demo-example/static/js/multimedia.js @@ -0,0 +1,79 @@ +/* + * Copyright 2022, Digi International Inc. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +// Constants. + +// Variables. +var readingMultimediaInfo = false; +var multimediaInfoRead = false; + +// Initializes the multimedia page. +function initializeMultimediaPage() { + // Sanity checks. + if (!isMultimediaShowing() || multimediaInfoRead) + return; + // Read multimedia information. + readDeviceInfoMultimedia(); +} + +// Gets the information of the device. +function readDeviceInfoMultimedia() { + // Execute only in the multimedia page. + if (!isMultimediaShowing() || readingMultimediaInfo) + return; + // Flag reading variable. + readingMultimediaInfo = true; + // Hide the info popup. + showInfoPopup(false); + // Show the loading popup. + showLoadingPopup(true, MESSAGE_LOADING_INFORMATION); + // Send request to retrieve device information. + $.post( + "http://" + getServerAddress() + "/ajax/get_device_info", + function(data) { + readingMultimediaInfo = false; + // Process only in the management page. + if (!isMultimediaShowing()) + return; + // Hide the loading panel. + showLoadingPopup(false); + // Process device information answer. + processDeviceInfoMultimediaResponse(data); + } + ).fail(function(response) { + // Flag reading variable. + readingMultimediaInfo = false; + // Process only in the management page. + if (!isMultimediaShowing()) + return; + // Hide the loading panel. + showLoadingPopup(false); + // Process error. + processAjaxErrorResponse(response); + }); +} + +// Processes the response of the device info request. +function processDeviceInfoMultimediaResponse(response) { + // Check if there was any error in the request. + if (!checkErrorResponse(response, false)) { + // Set the device type. + updateFieldValue(ID_DEVICE_NAME, response[ID_DEVICE_TYPE].toUpperCase()); + // Flag device info read. + multimediatInfoRead = true; + } +} +