Remove some spot.js dependencies
This commit is contained in:
@@ -78,7 +78,7 @@ export default {
|
||||
return {page: sPage, items: asHash};
|
||||
},
|
||||
setHash(sPage = '', asItems = []) {
|
||||
if(typeof asItems == 'string') asItems = [asItems];
|
||||
if(typeof asItems == 'string' && asItems != '') asItems = [asItems];
|
||||
const sItems = (asItems.length > 0)?(this.spot.consts.hash_sep + asItems.join(this.spot.consts.hash_sep)):'';
|
||||
window.location.hash = '#' + sPage + sItems;
|
||||
}
|
||||
|
||||
@@ -162,15 +162,15 @@ export default {
|
||||
resizeDuration: 400,
|
||||
hasVideo: true,
|
||||
onMediaChange: (oMedia) => {
|
||||
this.spot.updateHash('media', oMedia.id);
|
||||
this.$parent.hash.items = [this.currProject.codename, 'media', oMedia.id];
|
||||
if(oMedia.set == 'post-medias') this.goToPost({type: 'media', id: oMedia.id});
|
||||
},
|
||||
onClosing: () => {this.spot.flushHash();}
|
||||
onClosing: () => {this.$parent.hash.items = [this.$parent.hash.items[0]];}
|
||||
});
|
||||
},
|
||||
async initFeed() {
|
||||
//Simplebar event
|
||||
this.$refs.feedSimpleBar.scrollElement.addEventListener('scroll', this.onFeedScroll);
|
||||
this.$refs.feedSimpleBar?.scrollElement.addEventListener('scroll', this.onFeedScroll);
|
||||
|
||||
//Mobile Touchscreen Events
|
||||
//TODO
|
||||
@@ -622,7 +622,7 @@ export default {
|
||||
- parseFloat(getComputedStyle(this.$refs.feedSimpleBar.$el).paddingTop)
|
||||
);
|
||||
|
||||
//this.spot.flushHash(['post', 'message']);
|
||||
//this.$parent.hash.items = [this.$parent.hash.items[0]];
|
||||
|
||||
return oRef;
|
||||
}
|
||||
|
||||
@@ -50,9 +50,8 @@
|
||||
displayedId() {
|
||||
return this.options.displayed_id?(this.spot.lang('counter', this.options.displayed_id)):'';
|
||||
},
|
||||
hash() {
|
||||
let asHash = this.spot.getHash();
|
||||
return '#'+[asHash.page, asHash.items[0], this.options.type, this.options.id].join(this.spot.consts.hash_sep);
|
||||
anchorLink() {
|
||||
return '#'+[this.hash.page, this.hash.items[0], this.options.type, this.options.id].join(this.spot.consts.hash_sep);
|
||||
},
|
||||
modeHisto() {
|
||||
return (this.project.currProject.mode == this.spot.consts.modes.histo);
|
||||
@@ -69,10 +68,10 @@
|
||||
}
|
||||
|
||||
},
|
||||
inject: ['spot', 'project', 'user', 'map'],
|
||||
inject: ['spot', 'project', 'user', 'map', 'hash'],
|
||||
methods: {
|
||||
copyAnchor() {
|
||||
copyTextToClipboard(this.spot.consts.server+this.spot.hash());
|
||||
copyTextToClipboard(this.spot.consts.server+this.anchorLink);
|
||||
this.anchorTitle = this.spot.lang('link_copied');
|
||||
this.anchorIcon = 'copied';
|
||||
setTimeout(()=>{ //TODO animation
|
||||
@@ -141,7 +140,7 @@
|
||||
<div class="header">
|
||||
<div class="index">
|
||||
<spotIcon :icon="subType" :text="displayedId" />
|
||||
<a v-if="anchorVisible" class="link desktop" @click="copyAnchor" ref="anchor" :href="hash" :title="anchorTitle">
|
||||
<a v-if="anchorVisible" class="link desktop" @click="copyAnchor" ref="anchor" :href="anchorLink" :title="anchorTitle">
|
||||
<spotIcon :icon="anchorIcon" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -5,14 +5,14 @@ export default class Spot {
|
||||
this.consts.hash_sep = '-';
|
||||
this.consts.title = 'Spotty';
|
||||
this.consts.default_page = 'project';
|
||||
this.consts.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone || this.consts.default_timezone;
|
||||
//this.consts.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone || this.consts.default_timezone;
|
||||
|
||||
this.pages = {};
|
||||
|
||||
//Variables & constants from php
|
||||
this.vars('tmp', 'object');
|
||||
this.vars('page', 'string');
|
||||
$.each(asGlobals.vars, (sKey, oValue) => {this.vars(sKey, oValue)});
|
||||
Object.entries(asGlobals.vars).forEach(([sKey, oValue]) => {this.vars(sKey, oValue);});
|
||||
|
||||
//page elem
|
||||
this.elem = {};
|
||||
@@ -20,6 +20,7 @@ export default class Spot {
|
||||
|
||||
/* Initialization */
|
||||
|
||||
/*
|
||||
init() {
|
||||
this.elem.container = $('#container');
|
||||
this.elem.main = $('#main');
|
||||
@@ -35,6 +36,7 @@ export default class Spot {
|
||||
.on('hashchange', () => {this.onHashChange();})
|
||||
.trigger('hashchange');
|
||||
}
|
||||
*/
|
||||
|
||||
/* Variable Management */
|
||||
|
||||
@@ -56,6 +58,7 @@ export default class Spot {
|
||||
|
||||
/* Interface with server */
|
||||
|
||||
/*
|
||||
get(sAction, fOnSuccess, oVars, fOnError, fonProgress) {
|
||||
oVars = oVars || {};
|
||||
fOnError = fOnError || function(sError) {console.log(sError);};
|
||||
@@ -82,6 +85,7 @@ export default class Spot {
|
||||
fOnError(textStatus+' '+errorThrown);
|
||||
});
|
||||
}
|
||||
*/
|
||||
|
||||
async get2(sAction, oVars, bLoading) {
|
||||
oVars = oVars || {};
|
||||
@@ -89,11 +93,8 @@ export default class Spot {
|
||||
oVars['t'] = this.consts.timezone;
|
||||
bLoading = true;
|
||||
|
||||
let oUrl = new URL(this.consts.server+this.consts.process_page);
|
||||
oUrl.search = new URLSearchParams(oVars).toString();
|
||||
|
||||
try {
|
||||
let oUrl = new URL(this.consts.server+this.consts.process_page);
|
||||
let oUrl = new URL(this.consts.process_page, this.consts.server);
|
||||
oUrl.search = new URLSearchParams(oVars).toString();
|
||||
const oRequest = await fetch(oUrl, {method: 'GET', /*body: JSON.stringify(oVars),*/ headers: {"Content-Type": "application/json"}});
|
||||
if(!oRequest.ok) {
|
||||
@@ -103,10 +104,12 @@ export default class Spot {
|
||||
else {
|
||||
let oResponse = await oRequest.json();
|
||||
bLoading = false;
|
||||
if(oResponse.desc.substr(0, this.consts.lang_prefix.length)==this.consts.lang_prefix) oResponse.desc = this.lang(oData.desc.substr(this.consts.lang_prefix.length));
|
||||
if(oResponse.desc.substr(0, this.consts.lang_prefix.length)==this.consts.lang_prefix) {
|
||||
oResponse.desc = this.lang(oResponse.desc.substr(this.consts.lang_prefix.length));
|
||||
}
|
||||
|
||||
if(oResponse.result == this.consts.error) return Promise.reject(oResponse.desc);
|
||||
else return Promise.resolve(oResponse.data, oResponse.desc);
|
||||
else return oResponse.data;
|
||||
}
|
||||
}
|
||||
catch(oError) {
|
||||
@@ -135,11 +138,13 @@ export default class Spot {
|
||||
}
|
||||
|
||||
isMobile() {
|
||||
return $('#mobile').is(':visible');
|
||||
const mobileElem = document.getElementById('mobile');
|
||||
return !!mobileElem && getComputedStyle(mobileElem).display !== 'none';
|
||||
}
|
||||
|
||||
/* Page Switch - Trigger & Event catching */
|
||||
|
||||
/*
|
||||
onHashChange() {
|
||||
var asHash = this.getHash();
|
||||
if(asHash.hash !='' && asHash.page != '') this.switchPage(asHash); //page switching
|
||||
@@ -186,6 +191,7 @@ export default class Spot {
|
||||
var asHash = this.getHash();
|
||||
if(asHash.items.length > 1 && (asTypes.length == 0 || asTypes.indexOf(asHash.items[1]) != -1)) this.setHash(asHash.page, [asHash.items[0]]);
|
||||
}
|
||||
*/
|
||||
|
||||
/* Page Events */
|
||||
|
||||
@@ -224,6 +230,7 @@ export default class Spot {
|
||||
|
||||
/* Page Switch - DOM Replacement */
|
||||
|
||||
/*
|
||||
getActionLink(sAction, oVars) {
|
||||
if(!oVars) oVars = {};
|
||||
let sVars = '';
|
||||
@@ -232,11 +239,13 @@ export default class Spot {
|
||||
|
||||
return this.consts.process_page+'?a='+sAction+sVars;
|
||||
}
|
||||
*/
|
||||
|
||||
addPage(sPage, oPage) {
|
||||
this.pages[sPage] = oPage;
|
||||
}
|
||||
|
||||
/*
|
||||
switchPage(asHash) {
|
||||
var sPageName = asHash.page;
|
||||
var bSamePage = (this.vars('page') == sPageName);
|
||||
@@ -278,6 +287,7 @@ export default class Spot {
|
||||
var $FadeInElem = bFirstPage?this.elem.container:this.elem.main;
|
||||
$FadeInElem.hide().fadeTo('slow', 1);
|
||||
}
|
||||
*/
|
||||
|
||||
setPageTitle(sTitle) {
|
||||
document.title = this.consts.title+' - '+sTitle;
|
||||
|
||||
Reference in New Issue
Block a user