-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathminipost.html
96 lines (82 loc) · 3.83 KB
/
minipost.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="bootstrap.min.css" rel="stylesheet">
<link href="minipost.css" rel="stylesheet">
<script src="jquery-1.10.2.min.js"></script>
<script src="totvstec.js"></script>
<script type="text/javascript">
function jsAlert(cTitle, cText)
{
document.getElementById('topAlert').style.display = 'inline';
document.getElementById("alertTitle").innerText = cTitle;
document.getElementById("alertContent").innerHTML = cText;
document.getElementById("jsalertButton").focus();
}
window.onload = function() {
// Habilita o WebSocket
var baseUrl = "ws://localhost:" + totvstec.getParam("port");
var socket = new WebSocket(baseUrl);
socket.onclose = function(){ console.error("web channel closed"); };
socket.onerror = function(error){ console.error("web channel error: " + error); };
// Abre comunicacao com o SmartClient
socket.onopen = function()
{
new QWebChannel(socket, function(channel) {
// Torna "dialog" acessivel globalmente
window.dialog = channel.objects.mainDialog;
// Signal que recebe o codigo vindo do AdvPL para injecao
dialog.advplToJs.connect(function (codeType, codeContent, objectName) {
if (codeType == "insertPost") {
$("#mainPanel").append(codeContent);
}
else if (codeType == "lateralMenu") {
var menu = document.getElementById("lateralMenu");
menu.innerHTML += codeContent;
}
else if (codeType == "showImage") {
$("#mainPanel").append(codeContent);
}
else if (codeType == "js") {
var fileref = document.createElement('script');
fileref.setAttribute("type", "text/javascript");
fileref.innerText = codeContent;
document.getElementsByTagName("head")[0].appendChild(fileref);
}
});
// Envia sinal ao ADVPL informando sucesso na criacao do formulario
dialog.jsToAdvpl("pageStarted", "Pagina inicializada");
});
}
}
// Fecha imagem exibida apos captura pelo metodo takePicture
function removeImage(obj){
obj.parentElement.remove();
}
// Funcoes de abertura e fechamento do menu lateral
// *Elas podem ser usadas pra disparar acoes ADVPL para a carga de opcoes do Menu
function openNav() {
document.getElementById("lateralMenu").style.width = "250px";
}
function closeNav() {
document.getElementById("lateralMenu").style.width = "0";
}
</script>
</head>
<body style="margin:10px;">
<!-- Alert -->
<div id="topAlert" style="display: none;">
<strong id="alertTitle"></strong><br><br>
<p id="alertContent"></p><br>
<button id="jsalertButton" onclick="document.getElementById('topAlert').style.display = 'none';" style="float: right;">
Ok
</button>
</div>
<!-- Corpo do Menu lateral para injecao das opcoes -->
<div id="lateralMenu" class="sidenav"></div>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">☛ Menu</span>
<!-- Corpo do DIV principal para injecao dos posts do componente -->
<div id="mainPanel">
</div>
</body>