mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +00:00 
			
		
		
		
	Create and use a nopaque namespace for functions and ressources
This commit is contained in:
		@@ -1,17 +1,32 @@
 | 
			
		||||
var socket = io();
 | 
			
		||||
 | 
			
		||||
var corpora;
 | 
			
		||||
var corporaSubscribers = [];
 | 
			
		||||
var jobs;
 | 
			
		||||
var jobsSubscribers = [];
 | 
			
		||||
 | 
			
		||||
var foreignCorpora;
 | 
			
		||||
var foreignCorporaSubscribers = [];
 | 
			
		||||
var foreignJobs;
 | 
			
		||||
var foreignJobsSubscribers = [];
 | 
			
		||||
var nopaque = {};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function toast(message, color="") {
 | 
			
		||||
// nopaque ressources
 | 
			
		||||
nopaque["socket"] = io();
 | 
			
		||||
 | 
			
		||||
nopaque["corpora"] = undefined;
 | 
			
		||||
nopaque["corporaSubscribers"] = [];
 | 
			
		||||
nopaque["jobs"] = undefined;
 | 
			
		||||
nopaque["jobsSubscribers"] = [];
 | 
			
		||||
 | 
			
		||||
nopaque["foreignCorpora"] = undefined;
 | 
			
		||||
nopaque["foreignCorporaSubscribers"] = [];
 | 
			
		||||
nopaque["foreignJobs"] = undefined;
 | 
			
		||||
nopaque["foreignJobsSubscribers"] = [];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// nopaque functions
 | 
			
		||||
nopaque["navigation"] = {};
 | 
			
		||||
nopaque["navigation"]["init"] = function() {
 | 
			
		||||
  for (let entry of document.querySelectorAll("#slide-out a:not(.subheader)")) {
 | 
			
		||||
    if (entry.href === window.location.href) {
 | 
			
		||||
      entry.parentNode.classList.add("active");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
nopaque["toast"] = function(message, color="") {
 | 
			
		||||
  var toast;
 | 
			
		||||
  var toastActionElement;
 | 
			
		||||
 | 
			
		||||
@@ -29,63 +44,64 @@ function toast(message, color="") {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('init-corpora', function(msg) {
 | 
			
		||||
  corpora = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of corporaSubscribers) {subscriber._init(corpora);}
 | 
			
		||||
// socket event handlers
 | 
			
		||||
nopaque.socket.on('init-corpora', function(msg) {
 | 
			
		||||
  nopaque.corpora = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of nopaque.corporaSubscribers) {subscriber._init(nopaque.corpora);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('init-jobs', function(msg) {
 | 
			
		||||
  jobs = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of jobsSubscribers) {subscriber._init(jobs);}
 | 
			
		||||
nopaque.socket.on('init-jobs', function(msg) {
 | 
			
		||||
  nopaque.jobs = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of nopaque.jobsSubscribers) {subscriber._init(nopaque.jobs);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('update-corpora', function(msg) {
 | 
			
		||||
nopaque.socket.on('update-corpora', function(msg) {
 | 
			
		||||
  var patch;
 | 
			
		||||
 | 
			
		||||
  patch = JSON.parse(msg);
 | 
			
		||||
  corpora = jsonpatch.apply_patch(corpora, patch);
 | 
			
		||||
  for (let subscriber of corporaSubscribers) {subscriber._update(patch);}
 | 
			
		||||
  nopaque.corpora = jsonpatch.apply_patch(nopaque.corpora, patch);
 | 
			
		||||
  for (let subscriber of nopaque.corporaSubscribers) {subscriber._update(patch);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('update-jobs', function(msg) {
 | 
			
		||||
nopaque.socket.on('update-jobs', function(msg) {
 | 
			
		||||
  var patch;
 | 
			
		||||
 | 
			
		||||
  patch = JSON.parse(msg);
 | 
			
		||||
  jobs = jsonpatch.apply_patch(jobs, patch);
 | 
			
		||||
  for (let subscriber of jobsSubscribers) {subscriber._update(patch);}
 | 
			
		||||
  nopaque.jobs = jsonpatch.apply_patch(nopaque.jobs, patch);
 | 
			
		||||
  for (let subscriber of nopaque.jobsSubscribers) {subscriber._update(patch);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('init-foreign-corpora', function(msg) {
 | 
			
		||||
  foreignCorpora = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of foreignCorporaSubscribers) {subscriber._init(foreignCorpora);}
 | 
			
		||||
nopaque.socket.on('init-foreign-corpora', function(msg) {
 | 
			
		||||
  nopaque.foreignCorpora = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of nopaque.foreignCorporaSubscribers) {subscriber._init(nopaque.foreignCorpora);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('init-foreign-jobs', function(msg) {
 | 
			
		||||
  foreignJobs = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of foreignJobsSubscribers) {subscriber._init(foreignJobs);}
 | 
			
		||||
nopaque.socket.on('init-foreign-jobs', function(msg) {
 | 
			
		||||
  nopaque.foreignJobs = JSON.parse(msg);
 | 
			
		||||
  for (let subscriber of nopaque.foreignJobsSubscribers) {subscriber._init(nopaque.foreignJobs);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('update-foreign-corpora', function(msg) {
 | 
			
		||||
nopaque.socket.on('update-foreign-corpora', function(msg) {
 | 
			
		||||
  var patch;
 | 
			
		||||
 | 
			
		||||
  patch = JSON.parse(msg);
 | 
			
		||||
  foreignCorpora = jsonpatch.apply_patch(foreignCorpora, patch);
 | 
			
		||||
  for (let subscriber of foreignCorporaSubscribers) {subscriber._update(patch);}
 | 
			
		||||
  nopaque.foreignCorpora = jsonpatch.apply_patch(nopaque.foreignCorpora, patch);
 | 
			
		||||
  for (let subscriber of nopaque.foreignCorporaSubscribers) {subscriber._update(patch);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
socket.on('update-foreign-jobs', function(msg) {
 | 
			
		||||
nopaque.socket.on('update-foreign-jobs', function(msg) {
 | 
			
		||||
  var patch;
 | 
			
		||||
 | 
			
		||||
  patch = JSON.parse(msg);
 | 
			
		||||
  foreignJobs = jsonpatch.apply_patch(foreignJobs, patch);
 | 
			
		||||
  for (let subscriber of foreignJobsSubscribers) {subscriber._update(patch);}
 | 
			
		||||
  nopaque.foreignJobs = jsonpatch.apply_patch(nopaque.foreignJobs, patch);
 | 
			
		||||
  for (let subscriber of nopaque.foreignJobsSubscribers) {subscriber._update(patch);}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -96,10 +112,6 @@ document.addEventListener("DOMContentLoaded", function() {
 | 
			
		||||
                  {"alignment": "right", "constrainWidth": false, "coverTrigger": false});
 | 
			
		||||
  M.Dropdown.init(document.getElementById("nav-account"),
 | 
			
		||||
                  {"alignment": "right", "constrainWidth": false, "coverTrigger": false});
 | 
			
		||||
  for (let entry of document.querySelectorAll("#slide-out a:not(.subheader)")) {
 | 
			
		||||
    if (entry.href === window.location.href) {
 | 
			
		||||
      entry.parentNode.classList.add("active");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  socket.emit("subscribe_user_ressources");
 | 
			
		||||
  nopaque.navigation.init();
 | 
			
		||||
  nopaque.socket.emit("subscribe_user_ressources");
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user