update UI extenders
parent
5b1ddf0692
commit
d791013ec6
|
@ -1,3 +1,18 @@
|
||||||
|
const on = {};
|
||||||
|
const dashboardExtensions = {};
|
||||||
|
async function addExtender(extenderContainer){
|
||||||
|
dashboardExtensions[extenderContainer] = [];
|
||||||
|
on[extenderContainer] = function(...extender){
|
||||||
|
dashboardExtensions[extenderContainer].push(...extender)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
async function executeExtender(extenderContainer, args){
|
||||||
|
console.log('Running', extenderContainer)
|
||||||
|
for(extender of dashboardExtensions[extenderContainer]){
|
||||||
|
await extender(...args)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var accountSettings = {
|
var accountSettings = {
|
||||||
onLoadFieldsExtensions: [],
|
onLoadFieldsExtensions: [],
|
||||||
onLoadFields: function(...extender){
|
onLoadFields: function(...extender){
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
var loadedMap;
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
var theBlock = $('#tab-monitorMap')
|
var theBlock = $('#tab-monitorMap')
|
||||||
var theMap = $('#monitor-map-canvas')
|
var theMap = $('#monitor-map-canvas')
|
||||||
var loadedMap;
|
|
||||||
function loadPopupVideoList(monitor){
|
function loadPopupVideoList(monitor){
|
||||||
var groupKey = monitor.ke
|
var groupKey = monitor.ke
|
||||||
var monitorId = monitor.mid
|
var monitorId = monitor.mid
|
||||||
|
|
|
@ -5,7 +5,7 @@ $(document).ready(function(e){
|
||||||
var monitorSettingsMapOptionsEl = $('#monitor-settings-geolocation-options')
|
var monitorSettingsMapOptionsEl = $('#monitor-settings-geolocation-options')
|
||||||
var monitorSettingsMapOptionsElOptions = monitorSettingsMapOptionsEl.find('[map-option]')
|
var monitorSettingsMapOptionsElOptions = monitorSettingsMapOptionsEl.find('[map-option]')
|
||||||
var editorForm = monitorEditorWindow.find('form')
|
var editorForm = monitorEditorWindow.find('form')
|
||||||
var loadedMap;
|
var mapInWindow;
|
||||||
var monitorMapMarker;
|
var monitorMapMarker;
|
||||||
var monitorMapMarkerFov;
|
var monitorMapMarkerFov;
|
||||||
function setAdditionalControls(options){
|
function setAdditionalControls(options){
|
||||||
|
@ -34,14 +34,14 @@ $(document).ready(function(e){
|
||||||
fov,
|
fov,
|
||||||
range,
|
range,
|
||||||
} = getGeolocationParts(geoString || monitor.details.geolocation);
|
} = getGeolocationParts(geoString || monitor.details.geolocation);
|
||||||
loadedMap = L.map('monitor-settings-monitor-map').setView([lat, lng], zoom);
|
mapInWindow = L.map('monitor-settings-monitor-map').setView([lat, lng], zoom);
|
||||||
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
|
||||||
maxZoom: 19,
|
maxZoom: 19,
|
||||||
}).addTo(loadedMap);
|
}).addTo(mapInWindow);
|
||||||
monitorMapMarker = L.marker([lat, lng], {
|
monitorMapMarker = L.marker([lat, lng], {
|
||||||
title: monitor ? `${monitor.name} (${monitor.host})` : null,
|
title: monitor ? `${monitor.name} (${monitor.host})` : null,
|
||||||
draggable: true,
|
draggable: true,
|
||||||
}).addTo(loadedMap);
|
}).addTo(mapInWindow);
|
||||||
monitorMapMarker.on('dragend', function(){
|
monitorMapMarker.on('dragend', function(){
|
||||||
setGeolocationFieldValue()
|
setGeolocationFieldValue()
|
||||||
});
|
});
|
||||||
|
@ -49,7 +49,7 @@ $(document).ready(function(e){
|
||||||
var markerDetails = getMapMarkerDetails();
|
var markerDetails = getMapMarkerDetails();
|
||||||
setMapMarkerFov(monitorMapMarkerFov,markerDetails)
|
setMapMarkerFov(monitorMapMarkerFov,markerDetails)
|
||||||
});
|
});
|
||||||
loadedMap.on('zoomend', function(){
|
mapInWindow.on('zoomend', function(){
|
||||||
setGeolocationFieldValue()
|
setGeolocationFieldValue()
|
||||||
});
|
});
|
||||||
setAdditionalControls({
|
setAdditionalControls({
|
||||||
|
@ -57,7 +57,7 @@ $(document).ready(function(e){
|
||||||
fov,
|
fov,
|
||||||
range,
|
range,
|
||||||
})
|
})
|
||||||
monitorMapMarkerFov = drawMapMarkerFov(loadedMap,{
|
monitorMapMarkerFov = drawMapMarkerFov(mapInWindow,{
|
||||||
lat,
|
lat,
|
||||||
lng,
|
lng,
|
||||||
direction,
|
direction,
|
||||||
|
@ -71,8 +71,8 @@ $(document).ready(function(e){
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function unloadMap(){
|
function unloadMap(){
|
||||||
loadedMap.remove();
|
mapInWindow.remove();
|
||||||
loadedMap = null;
|
mapInWindow = null;
|
||||||
}
|
}
|
||||||
function getMapOptions(){
|
function getMapOptions(){
|
||||||
var options = {}
|
var options = {}
|
||||||
|
@ -86,7 +86,7 @@ $(document).ready(function(e){
|
||||||
}
|
}
|
||||||
function getMapMarkerDetails(){
|
function getMapMarkerDetails(){
|
||||||
var pos = monitorMapMarker.getLatLng()
|
var pos = monitorMapMarker.getLatLng()
|
||||||
var zoom = loadedMap.getZoom();
|
var zoom = mapInWindow.getZoom();
|
||||||
var {
|
var {
|
||||||
direction,
|
direction,
|
||||||
fov,
|
fov,
|
||||||
|
|
|
@ -110,7 +110,7 @@ $(document).ready(function(){
|
||||||
async function loopOnGaps(monitorId){
|
async function loopOnGaps(monitorId){
|
||||||
for (let i = 0; i < gaps.length; i++) {
|
for (let i = 0; i < gaps.length; i++) {
|
||||||
var range = gaps[i]
|
var range = gaps[i]
|
||||||
videos.push(...(await getVideos({
|
var videosFound = (await getVideos({
|
||||||
monitorId,
|
monitorId,
|
||||||
startDate: range[0],
|
startDate: range[0],
|
||||||
endDate: range[1],
|
endDate: range[1],
|
||||||
|
@ -118,7 +118,9 @@ $(document).ready(function(){
|
||||||
searchQuery,
|
searchQuery,
|
||||||
// archived: false,
|
// archived: false,
|
||||||
// customVideoSet: wantCloudVideo ? 'cloudVideos' : null,
|
// customVideoSet: wantCloudVideo ? 'cloudVideos' : null,
|
||||||
},null,dontShowDetectionOnTimeline)).videos);
|
},null,dontShowDetectionOnTimeline)).videos;
|
||||||
|
videos.push(...videosFound);
|
||||||
|
executeExtender('timelineGetVideosByMonitor', [monitorId, videosFound])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(monitorIds && monitorIds.length > 0){
|
if(monitorIds && monitorIds.length > 0){
|
||||||
|
@ -148,6 +150,7 @@ $(document).ready(function(){
|
||||||
setLoadingMask(true)
|
setLoadingMask(true)
|
||||||
timeStripListOfQueries.push(...gaps)
|
timeStripListOfQueries.push(...gaps)
|
||||||
var videos = await getVideosInGaps(gaps,timeStripSelectedMonitors)
|
var videos = await getVideosInGaps(gaps,timeStripSelectedMonitors)
|
||||||
|
executeExtender('timelineGetVideos', [videos])
|
||||||
videos = addVideoBeforeAndAfter(videos)
|
videos = addVideoBeforeAndAfter(videos)
|
||||||
loadedVideosOnTimeStrip.push(...videos)
|
loadedVideosOnTimeStrip.push(...videos)
|
||||||
if(currentVideosLength !== loadedVideosOnTimeStrip.length)addTimelineItems(loadedVideosOnTimeStrip);
|
if(currentVideosLength !== loadedVideosOnTimeStrip.length)addTimelineItems(loadedVideosOnTimeStrip);
|
||||||
|
@ -293,6 +296,7 @@ $(document).ready(function(){
|
||||||
timeStripActionWithPausePlay().then((timeChanging) => {
|
timeStripActionWithPausePlay().then((timeChanging) => {
|
||||||
if(!timeChanging){
|
if(!timeChanging){
|
||||||
resetTimeline(clickTime)
|
resetTimeline(clickTime)
|
||||||
|
executeExtender('timelineTimeChange', [clickTime])
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
@ -313,6 +317,7 @@ $(document).ready(function(){
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
timeChanging = false
|
timeChanging = false
|
||||||
getAndDrawVideosToTimeline(clickTime)
|
getAndDrawVideosToTimeline(clickTime)
|
||||||
|
executeExtender('timelineRangeChanged', [properties.start, properties.end, getTimestripDate()])
|
||||||
},500)
|
},500)
|
||||||
},300)
|
},300)
|
||||||
})
|
})
|
||||||
|
@ -641,6 +646,7 @@ $(document).ready(function(){
|
||||||
addition += (msSpeed * timelineSpeed);
|
addition += (msSpeed * timelineSpeed);
|
||||||
newTime = new Date(currentDate + addition)
|
newTime = new Date(currentDate + addition)
|
||||||
setTickDate(newTime);
|
setTickDate(newTime);
|
||||||
|
executeExtender('timelineTimeChange', [newTime])
|
||||||
// setTimeOfCanvasVideos(newTime)
|
// setTimeOfCanvasVideos(newTime)
|
||||||
}, msSpeed)
|
}, msSpeed)
|
||||||
timeStripVisTickMovementIntervalSecond = setInterval(function() {
|
timeStripVisTickMovementIntervalSecond = setInterval(function() {
|
||||||
|
@ -1089,4 +1095,8 @@ $(document).ready(function(){
|
||||||
if(currentOptions.dontShowDetectionOnTimeline === '1'){
|
if(currentOptions.dontShowDetectionOnTimeline === '1'){
|
||||||
timeStripDontShowDetectionToggle()
|
timeStripDontShowDetectionToggle()
|
||||||
}
|
}
|
||||||
|
addExtender('timelineTimeChange')
|
||||||
|
addExtender('timelineRangeChanged')
|
||||||
|
addExtender('timelineGetVideos')
|
||||||
|
addExtender('timelineGetVideosByMonitor')
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue