/
camera.html
154 lines (151 loc) · 7.03 KB
/
camera.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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<div class="eqLogic eqLogic-widget allowResize text-center" data-eqType="#eqType#" data-translate-category="#translate_category#" data-category="#category#" data-tags="#tags#" data-eqLogic_id="#id#" data-eqLogic_uid="#uid#" data-version="#version#" style="min-width : 50px;min-height : 80px ;border:#border#;border-radius:#border-radius#;background-color: #background-color#;color: #color#;width: #width#;height: #height#;#style#" >
<div class="widget-name">
<span style="color:#background-color#" title="#alert_name#">
<i class='#alert_icon#'></i>
</span>
<span class="cmd refresh pull-right cursor" data-cmd_id="#refresh_id#">
<i class="fas fa-sync"></i>
</span>
<span class="reportModeVisible">#name_display# <span class="object_name">#object_name#</span></span>
<a href="#eqLink#" class="reportModeHidden">#name_display# <span class="object_name">#object_name#</span></a>
</div>
<center>
<span class="directDisplay zoom cursor">
<img src="plugins/camera/core/img/no-image-blanc.png" style="display:block;" data-eqLogic_id="#id#"/>
</span>
<span style="position:absolute;bottom:4px;width:100%;left:0px;">
<center>
<span>#info#</span>
</center>
<center>
#action#
<span class="cmd cmd-widget" data-type="action" data-subtype="other">
<a class="camera_history btn btn-default btn-sm folder action" data-eqLogic_id="#id#"><i class="fa fa-folder-open"></i></a>
</span>
</center>
</span>
</center>
<div class="md_cameraZoom" data-eqLogic_uid="#uid#" data-eqLogic_id="#id#" title="#name_display#">
<center>
<div class="display"><img src="plugins/camera/core/img/no-image-noir.png" class="img-responsive" data-eqLogic_id="#id#" /></div>
<br/>
#action#
<span class="cmd cmd-widget" data-type="action" data-subtype="other">
<a class="camera_history btn btn-default btn-sm folder action" data-eqLogic_id="#id#"><i class="fa fa-folder-open"></i></a>
</span>
</center>
</div>
<span class="statusCmd" style="position : absolute;left : 5px;bottom : 0px; width : 30px;z-index: 1030;"></span>
<script>
var eqLogic_#id# = $('.eqLogic[data-eqLogic_id=#id#]');
var thumbnail_#id# = false;
var img_#id# = new Image()
var start_#id# = 0;
var error_nb_#id# = 0;
eqLogic_#id#.find('.cmd[data-cmd_id=#cmd_off_id#]').hide();
if ($(".md_cameraZoom[data-eqLogic_uid=#uid#]").length > 1) {
while ($(".md_cameraZoom[data-eqLogic_uid=#uid#]").length > 1) {
$(".md_cameraZoom[data-eqLogic_uid=#uid#]").eq(0).remove();
}
}
Object.assign(document.querySelector('.eqLogic[data-eqLogic_id="#id#"] .directDisplay img').style, {
maxHeight:(eqLogic_#id#.height() - 60) + 'px',
maxWidth:eqLogic_#id#.width() + 'px'
});
setTimeout(function(){
Object.assign(document.querySelector('.eqLogic[data-eqLogic_id="#id#"] .directDisplay img').style, {
maxHeight:(eqLogic_#id#.height() - 60) + 'px',
maxWidth:eqLogic_#id#.width() + 'px'
});
}, 1000);
eqLogic_#id#.off('resize').on('resize',function(){
Object.assign(document.querySelector('.eqLogic[data-eqLogic_id="#id#"] .directDisplay img').style, {
maxHeight:(eqLogic_#id#.height() - 60),
maxWidth:eqLogic_#id#.width()});
});
$('.camera_history[data-eqLogic_id=#id#]').off().on('click', function () {
$('#md_modal').dialog({title: "Historique #name#"}).load('index.php?v=d&plugin=camera&modal=camera.history&id=#id#').dialog('open');
});
var md_eqLogic_#uid# = $(".md_cameraZoom[data-eqLogic_uid=#uid#]")
md_eqLogic_#uid#.dialog({
autoOpen: false,
modal: true,
resizable: false,
closeText: '',
height: jQuery(window).height() - 65,
width: jQuery(window).width() - 40,
position: { my: "center bottom-10", at: "center bottom", of: window },
open: function () {
$("body").css({overflow: 'hidden'});
md_eqLogic_#uid#.find('.display img').height(md_eqLogic_#uid#.height() - 50);
if (typeof timeoutCamera#id# !== "undefined") {
clearTimeout(timeoutCamera#id#);
}
refreshImgCam#id#();
},
beforeClose: function (event, ui) {
$("body").css({overflow: 'inherit'});
}
});
eqLogic_#id#.off('click','.zoom').on( 'click','.zoom', function () {
md_eqLogic_#uid#.dialog("open");
});
maxWidth_#id#_thumbnail = 0;
maxWidth_#id# = 0;
img_#id#.onload = function() {
if(thumbnail_#id#){
eqLogic_#id#.find('.directDisplay img').attr('src',img_#id#.src).attr('data-imgready',1);
}else{
md_eqLogic_#uid#.find('.display img').attr('src',img_#id#.src);
}
if('#cmd_on_id#' != '""'){
document.querySelector('.cmd[data-cmd_id="#cmd_on_id#"]').style.display = 'none'
}
if('#cmd_off_id#' != '""'){
document.querySelector('.cmd[data-cmd_id="#cmd_off_id#"]').style.display = 'initial'
}
let delay = (thumbnail_#id#) ? #refreshDelaySlow# - (Date.now() - start_#id#) : #refreshDelayFast# - (Date.now() - start_#id#);
error_nb_#id# = 0
timeoutCamera#id# = setTimeout(refreshImgCam#id#,delay);
};
img_#id#.onerror = function() {
error_nb_#id#++
if(error_nb_#id# > 3){
md_eqLogic_#uid#.find('.display img').attr('src','plugins/camera/core/img/no-image-noir.png');
eqLogic_#id#.find('.directDisplay img').attr('src','plugins/camera/core/img/no-image-blanc.png');
if('#cmd_on_id#' != '""'){
document.querySelector('.cmd[data-cmd_id="#cmd_on_id#"]').style.display = 'initial'
}
if('#cmd_off_id#' != '""'){
document.querySelector('.cmd[data-cmd_id="#cmd_off_id#"]').style.display = 'none'
}
}
timeoutCamera#id# = setTimeout(refreshImgCam#id#, #refreshDelaySlow# * 2);
};
function refreshImgCam#id#(){
if(!document.querySelector('.eqLogic[data-eqLogic_uid=#uid#]') || !eqLogic_#id# || !eqLogic_#id#.find('.directDisplay')){
return;
}
if(!md_eqLogic_#uid#.is(':visible') && $(".md_cameraZoom").is(':visible')){
timeoutCamera#id# = setTimeout(refreshImgCam#id#,#refreshDelaySlow#);
return;
}
thumbnail_#id# = !md_eqLogic_#uid#.is(':visible');
start_#id# = Date.now();
let url = "#url#";
url += (url.indexOf('?') > 0) ? '&t='+(new Date()).getTime() : '?t='+(new Date()).getTime();
if(maxWidth_#id#_thumbnail < eqLogic_#id#.find('.directDisplay img').css('max-width').replace('px','')){
maxWidth_#id#_thumbnail = eqLogic_#id#.find('.directDisplay img').css('max-width').replace('px','');
}
if(maxWidth_#id# < md_eqLogic_#uid#.find('.display img').width()){
maxWidth_#id# = md_eqLogic_#uid#.find('.display img').width();
}
url += (thumbnail_#id#) ? '&thumbnail=1&width='+ maxWidth_#id#_thumbnail:'&width='+maxWidth_#id#;
img_#id#.src = url;
}
if (typeof timeoutCamera#id# !== "undefined") {
clearTimeout(timeoutCamera#id#);
}
setTimeout(refreshImgCam#id#,50);
</script>
</div>