%PDF-
%PDF-
Mini Shell
Mini Shell
(function(){"use strict";BX.namespace("BX.im.list.queue");BX.im.list.queue=function(t){t=t||{};this.listInstance=t.list;this.TYPE_ALL="all";this.TYPE_ADD="add";this.TYPE_UPDATE="update";this.list={};this.list[this.TYPE_ADD]={};this.list[this.TYPE_UPDATE]={};this.pause=false;this.updateInterval=1e3;if(!this.listInstance){clearInterval(this.updateIntervalId);this.updateIntervalId=setInterval(this.worker.bind(this),this.updateInterval)}};BX.im.list.queue.prototype.add=function(t,e,i){if(!this.listInstance){return false}if(t==this.TYPE_ALL){return false}this.list[t][e]=i;return true};BX.im.list.queue.prototype.delete=function(t,e){if(!this.listInstance){return false}if(t==this.TYPE_ALL){delete this.list[this.TYPE_ADD][e];delete this.list[this.TYPE_UPDATE][e]}else{delete this.list[t][e]}return true};BX.im.list.queue.prototype.clear=function(){if(!this.listInstance){return false}this.list[this.TYPE_ADD]={};this.list[this.TYPE_UPDATE]={};return true};BX.im.list.queue.prototype.pause=function(){this.pause=true;return true};BX.im.list.queue.prototype.continue=function(){this.pause=false;return true};BX.im.list.queue.prototype.worker=function(){if(!this.listInstance||this.pause){return false}var t=new Date;var e=[];for(var i in this.list[this.TYPE_ADD]){if(!this.list[this.TYPE_ADD].hasOwnProperty(i)){continue}e.push(this.list[this.TYPE_ADD][i]);delete this.list[this.TYPE_ADD][i]}if(e.length>0){this.listInstance.addItems(e)}var s=[];for(var i in this.list[this.TYPE_UPDATE]){if(!this.list[this.TYPE_UPDATE].hasOwnProperty(i)){continue}s.push({filter:{"params.id":this.list[this.TYPE_UPDATE][i]["id"]},element:this.list[this.TYPE_UPDATE][i]});delete this.list[this.TYPE_UPDATE][i]}if(s.length>0){this.listInstance.updateItems(s)}if(e.length>0||s.length>0){console.info("BX.im.list.queue.worker: added - "+e.length+" / updated - "+s.length+" ("+(new Date-t)+"ms)",{add:e,update:s})}return true};BX.im.list.queue.prototype.destroy=function(){if(!this.listInstance){return false}clearInterval(this.updateIntervalId);return true}})();
Zerion Mini Shell 1.0