update UI extenders

plugin-touch-ups
Moe 2024-08-20 17:47:11 -07:00
parent 5b1ddf0692
commit d791013ec6
4 changed files with 37 additions and 12 deletions

View File

@ -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){

View File

@ -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

View File

@ -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,

View File

@ -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')
}) })