Better handling of # variables + bump simplebar to v5.2.1
This commit is contained in:
@@ -140,6 +140,7 @@ function initPage(asHash) {
|
||||
else {
|
||||
self.tmp('$Projects', $('#projects'));
|
||||
self.tmp('$Map', $('#map'));
|
||||
self.tmp('$Poster', $('#poster'));
|
||||
self.tmp('$PostList', $('#posts_list'));
|
||||
self.tmp('$Feed', $('#feed'));
|
||||
self.tmp('$Settings', $('#settings'));
|
||||
@@ -233,7 +234,7 @@ function initProject(sProjectCodeName, oFocusPost){
|
||||
|
||||
//Show/Hide Poster Panel
|
||||
var bHistoMode = (self.vars(['project', 'mode']) == self.consts.modes.histo);
|
||||
$('#poster').toggle(!bHistoMode);
|
||||
self.tmp('$Poster').toggle(!bHistoMode);
|
||||
|
||||
//Feed auto-update
|
||||
updateFeed(true, false, function(){focusOnPost(oFocusPost);});
|
||||
@@ -248,14 +249,14 @@ function initPosts() {
|
||||
formatted_time: '',
|
||||
relative_time: oSpot.lang('post_new_message')
|
||||
};
|
||||
$('#poster').append(getPost(asPoster));
|
||||
self.tmp('$Poster').append(getPost(asPoster));
|
||||
|
||||
//Auto-adjust text area height
|
||||
autosize($('#post'));
|
||||
|
||||
//Add post Event handling
|
||||
$('#submit').click(function(){
|
||||
if($('#poster').checkForm())
|
||||
if(self.tmp('$Poster').checkForm())
|
||||
{
|
||||
self.get(
|
||||
'add_post',
|
||||
@@ -564,8 +565,11 @@ function initSpotMessages(aoMessages, aoTracks, bNoFeed) {
|
||||
|
||||
//Centering map
|
||||
var bWithFeedPanel = (!bNoFeed && !isMobile());
|
||||
if(self.vars(['project', 'mode'])==self.consts.modes.blog && aoMessages.length > 0)
|
||||
{
|
||||
if(
|
||||
self.vars(['project', 'mode']) == self.consts.modes.blog &&
|
||||
aoMessages.length > 0 &&
|
||||
self.getHash()[2] != 'message'
|
||||
) {
|
||||
//Zoom on last message
|
||||
var oLastMsg = aoMessages[aoMessages.length-1];
|
||||
oMap.setView(L.latLng(oLastMsg.latitude, oLastMsg.longitude), 15);
|
||||
@@ -609,7 +613,7 @@ function initSpotMessages(aoMessages, aoTracks, bNoFeed) {
|
||||
$Medias.append(getMediaLink(asMedia, 'marker'));
|
||||
});
|
||||
$Tooltip
|
||||
.append($('<p>').addIcon('fa-media fa-fw fa-lg').append(oSpot.lang('pics')))
|
||||
.append($('<p>').addIcon('fa-media fa-fw fa-lg').append(oSpot.lang('images')))
|
||||
.append($Medias);
|
||||
}
|
||||
|
||||
@@ -735,15 +739,14 @@ function focusOnPost(oFocusPost) {
|
||||
var $Post = oSpot.tmp('$PostList').find(sElemId);
|
||||
var bGetToTop = (oSpot.tmp('$PostList').height() - (($Post.length > 0)?$Post.position().top:0) >= $(window).height());
|
||||
if($Post.length > 0 && (bGetToTop || self.tmp('out-of-data'))) {
|
||||
self.tmp('simple-bar').getScrollElement().scrollTop = $Post.position().top;
|
||||
self.tmp('simple-bar').getScrollElement().scrollTop = $Post.position().top + self.tmp('$Poster').outerHeight(true);
|
||||
if(oFocusPost.type=='media' || oFocusPost.type=='message') $Post.find('a.drill').click();
|
||||
}
|
||||
else if(!self.tmp('out-of-data')) updateFeed(false, false, function() {focusOnPost(oFocusPost);});
|
||||
else console.log('Missing element ID '+sElemId);
|
||||
|
||||
//Reset Hash
|
||||
var asHash = self.getHash();
|
||||
self.setHash(asHash.page, [asHash.items[0]]);
|
||||
flushHash(['post', 'message']);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -768,6 +771,7 @@ function getPost(asPost) {
|
||||
case 'message':
|
||||
$Body = $('<div>', {'class':'body-box'})
|
||||
.data('id', asPost.id_message)
|
||||
.data('clicked', false)
|
||||
.append($('<p>').addIcon('fa-coords', true).append(getGoogleMapsLink(asPost)))
|
||||
.append($('<p>').addIcon('fa-time', true).append(sAbsTime))
|
||||
.append((self.tmp('site_tz_notice')!='')?$('<p>').addIcon('fa-timezone', true).append(self.tmp('site_tz_notice')):'')
|
||||
@@ -778,17 +782,19 @@ function getPost(asPost) {
|
||||
.addIcon('fa-message fa-stack-2x')
|
||||
)
|
||||
.click(function(){
|
||||
var oMarker = oSpot.tmp(['markers', $(this).parent().data('id')]);
|
||||
var $Parent = $(this).parent();
|
||||
var oMarker = oSpot.tmp(['markers', $Parent.data('id')]);
|
||||
if(isMobile()) {
|
||||
toggleFeedPanel(false, 'panToInstant');
|
||||
self.tmp('map').setView(oMarker.getLatLng(), 15);
|
||||
oSpot.tmp('map').setView(oMarker.getLatLng(), 15);
|
||||
}
|
||||
else {
|
||||
var iOffset = (isFeedPanelOpen()?1:-1)*self.tmp('$Feed').outerWidth(true)/2 - (isSettingsPanelOpen()?1:-1)*self.tmp('$Settings').outerWidth(true)/2;
|
||||
var iRatio = -1 * iOffset / $('body').outerWidth(true);
|
||||
self.tmp('map').setOffsetView(iRatio, oMarker.getLatLng(), 15);
|
||||
oSpot.tmp('map').setOffsetView(iRatio, oMarker.getLatLng(), 15);
|
||||
}
|
||||
|
||||
$Parent.data('clicked', true);
|
||||
if(!oMarker.isPopupOpen()) oMarker.openPopup();
|
||||
})
|
||||
)
|
||||
@@ -799,7 +805,8 @@ function getPost(asPost) {
|
||||
},
|
||||
function(){
|
||||
var oMarker = oSpot.tmp(['markers', $(this).data('id')]);
|
||||
if(oMarker.isPopupOpen()) oMarker.closePopup();
|
||||
if(oMarker.isPopupOpen() && !$(this).data('clicked')) oMarker.closePopup();
|
||||
$(this).data('clicked', false);
|
||||
}
|
||||
);
|
||||
break;
|
||||
@@ -839,15 +846,13 @@ function getWmtsApiUrl(sMapId, iLat, iLng, iZoom) {
|
||||
}
|
||||
|
||||
function getMediaLink(asData, sType) {
|
||||
var bVideo = (asData.subtype == 'video');
|
||||
|
||||
var $PostedOn =
|
||||
$('<span>', {'class': 'lb-caption-line', title: oSpot.lang(bVideo?'video':'pic')+' '+oSpot.lang('add_on', asData.posted_on_formatted)})
|
||||
$('<span>', {'class': 'lb-caption-line', title: oSpot.lang(asData.subtype)+' '+oSpot.lang('add_on', asData.posted_on_formatted)})
|
||||
.addIcon('fa-upload fa-lg fa-fw', true)
|
||||
.append(asData.posted_on_formatted);
|
||||
|
||||
var $TakenOn = (asData.taken_on == '0000-00-00 00:00:00')?'':
|
||||
$('<span>', {'class': 'lb-caption-line', title: oSpot.lang(bVideo?'video':'pic')+' '+oSpot.lang(bVideo?'video_taken':'pic_taken', asData.taken_on_formatted)})
|
||||
$('<span>', {'class': 'lb-caption-line', title: oSpot.lang(asData.subtype)+' '+oSpot.lang(asData.subtype+'_taken', asData.taken_on_formatted)})
|
||||
.addIcon('fa-'+asData.subtype+'-shot fa-lg fa-fw', true)
|
||||
.append(asData.taken_on_formatted);
|
||||
|
||||
@@ -862,12 +867,13 @@ function getMediaLink(asData, sType) {
|
||||
'class': 'drill',
|
||||
'href': asData.media_path,
|
||||
'data-lightbox': sType+'-medias',
|
||||
'data-video': (bVideo?'true':'false'),
|
||||
'data-type': asData.subtype,
|
||||
'data-id': asData.id_media,
|
||||
'data-title': $Title.html(),
|
||||
'data-orientation': asData.rotate
|
||||
})
|
||||
.append($('<img>', {'src': asData.thumb_path, title: oSpot.lang(bVideo?'click_watch':'click_zoom')}))
|
||||
.append($('<span>', {'class': 'drill-icon'}).addIcon('fa-drill-'+(bVideo?'video':'picture')));
|
||||
.append($('<img>', {'src': asData.thumb_path, title: oSpot.lang((asData.subtype == 'video')?'click_watch':'click_zoom')}))
|
||||
.append($('<span>', {'class': 'drill-icon'}).addIcon('fa-drill-'+asData.subtype));
|
||||
|
||||
return $Link;
|
||||
}
|
||||
@@ -880,4 +886,18 @@ function getGoogleMapsLink(asInfo) {
|
||||
rel: 'noreferrer'
|
||||
}).text(asInfo.lat_dms+' '+asInfo.lon_dms);
|
||||
}
|
||||
|
||||
function updateHash(sType, iId) {
|
||||
sType = sType || '';
|
||||
iId = iId || 0;
|
||||
|
||||
var asHash = self.getHash();
|
||||
if(iId) self.setHash(asHash.page, [asHash.items[0], sType, iId]);
|
||||
}
|
||||
|
||||
function flushHash(asTypes) {
|
||||
asTypes = asTypes || [];
|
||||
var asHash = self.getHash();
|
||||
if(asHash.items.length > 1 && (asTypes.length == 0 || asTypes.indexOf(asHash.items[1]) != -1)) self.setHash(asHash.page, [asHash.items[0]]);
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user