hasher.changed.* to hasher.*

This commit is contained in:
djmaze 2021-08-13 10:01:01 +02:00
parent d536b5eeee
commit 5f21fcc100
3 changed files with 12 additions and 16 deletions

View file

@ -303,7 +303,7 @@ export function startScreens(screensClasses) {
const cross = new Crossroads();
cross.addRoute(/^([a-zA-Z0-9-]*)\/?(.*)$/, screenOnRoute);
hasher.changed.add(cross.parse.bind(cross));
hasher.add(cross.parse.bind(cross));
hasher.init();
setTimeout(() => $htmlCL.remove('rl-started-trigger'), 100);

10
dev/bootstrap.js vendored
View file

@ -56,8 +56,8 @@ export default App => {
rl.route.root();
setTimeout(() => (Settings.app('inIframe') ? parent : window).location.reload(), 100);
},
off: () => hasher.changed.active = false,
on: () => hasher.changed.active = true,
off: () => hasher.active = false,
on: () => hasher.active = true,
/**
* @param {string} sHash
* @param {boolean=} silence = false
@ -70,11 +70,11 @@ export default App => {
const cmd = replace ? 'replaceHash' : 'setHash';
if (silence) {
hasher.changed.active = false;
hasher.active = false;
hasher[cmd](hash);
hasher.changed.active = true;
hasher.active = true;
} else {
hasher.changed.active = true;
hasher.active = true;
hasher[cmd](hash);
hasher.setHash(hash);
}

View file

@ -28,7 +28,7 @@
if (_hash !== newHash) {
var oldHash = _hash;
_hash = newHash; //should come before event dispatch to make sure user can get proper value inside event handler
hasher.changed.dispatch(_trimHash(newHash), _trimHash(oldHash));
hasher.dispatch(_trimHash(newHash), _trimHash(oldHash));
}
},
_checkHistory = () => {
@ -64,13 +64,9 @@
* - pass current hash as 1st parameter to listeners and previous hash value as 2nd parameter.
* @type signals.Signal
*/
changed : {
active : true,
add : callback => _bindings.push(callback),
dispatch : function(...args) {
this.active && _bindings.forEach(callback => callback(...args));
}
},
active : true,
add : callback => _bindings.push(callback),
dispatch : (...args) => hasher.active && _bindings.forEach(callback => callback(...args)),
/**
* Start listening/dispatching changes in the hash/history.
@ -79,14 +75,14 @@
* </ul>
*/
init : () => {
hasher.init = ()=>{};
hasher.init = ()=>0;
_hash = _getWindowHash();
//thought about branching/overloading hasher.init() to avoid checking multiple times but
//don't think worth doing it since it probably won't be called multiple times.
addEventListener('hashchange', _checkHistory);
hasher.changed.dispatch(_trimHash(_hash));
hasher.dispatch(_trimHash(_hash));
},
/**