mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20:08 +00:00
some refactoring + bugfixes...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
9de88ea5db
commit
005e6f9c23
@ -12,7 +12,7 @@ define(function(require){ var module = {}
|
||||
console.log('>>> data')
|
||||
|
||||
|
||||
var object = require('object')
|
||||
var object = require('lib/object')
|
||||
|
||||
var formats = require('formats')
|
||||
var sha1 = require('./ext-lib/sha1')
|
||||
|
||||
@ -179,6 +179,7 @@ function loadJSON(path){
|
||||
// a) error
|
||||
// b) append '**' (current behavior)
|
||||
// ...(a) seems more logical...
|
||||
// XXX do a task version...
|
||||
var loadIndex =
|
||||
module.loadIndex =
|
||||
function(path, index_dir, logger){
|
||||
@ -457,6 +458,16 @@ function(base, previews, index_dir, absolute_path){
|
||||
}
|
||||
|
||||
|
||||
// XXX
|
||||
var copyPreviews =
|
||||
module.copyPreviews =
|
||||
function(){
|
||||
var q = tasks.Queue.clone()
|
||||
|
||||
// XXX
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Build a data and images objects from the json returned by loadIndex(..)
|
||||
//
|
||||
|
||||
@ -11,7 +11,7 @@ console.log('>>> images')
|
||||
|
||||
var sha1 = require('./ext-lib/sha1')
|
||||
|
||||
var object = require('object')
|
||||
var object = require('lib/object')
|
||||
|
||||
|
||||
|
||||
|
||||
@ -51,7 +51,11 @@ function makeConstructor(name, a, b){
|
||||
obj.__proto__ = _constructor.prototype
|
||||
// XXX for some reason this does not resolve from .__proto__
|
||||
// XXX this also is a regular attr and not a prop...
|
||||
obj.constructor = _constructor
|
||||
//obj.constructor = _constructor
|
||||
Object.defineProperty(obj, 'constructor', {
|
||||
value: _constructor,
|
||||
enumerable: false,
|
||||
})
|
||||
//obj.__proto__.constructor = _constructor
|
||||
|
||||
|
||||
@ -10,80 +10,14 @@ console.log('>>> tasks')
|
||||
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||
|
||||
var actions = require('lib/actions')
|
||||
var object = require('lib/object')
|
||||
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
|
||||
/*
|
||||
var Promise = require('promise')
|
||||
|
||||
function PTask(fn) {
|
||||
if (!(this instanceof PTask)){
|
||||
return new PTask(fn)
|
||||
}
|
||||
Promise.call(this, fn)
|
||||
}
|
||||
PTask.prototype = Object.create(Promise.prototype)
|
||||
PTask.prototype.constructor = PTask
|
||||
|
||||
PTask.prototype.spread = function (cb) {
|
||||
return this.then(function (arr) {
|
||||
return cb.apply(this, arr);
|
||||
})
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
|
||||
// XXX experimental...
|
||||
// Create a task...
|
||||
//
|
||||
// Task(<func>, <arg>[, ...])
|
||||
// -> <task>
|
||||
//
|
||||
// A task is a deferred like object that runs a function returning a
|
||||
// deferred and adds to it the ability to restart.
|
||||
//
|
||||
// Restarting is possible only of the original is rejected.
|
||||
//
|
||||
// Restarting will call the original function with the original set of
|
||||
// arguments and reset the task.
|
||||
//
|
||||
// XXX this depends on that func(..) will return a deferred...
|
||||
// XXX restarting will not transfer the handlers...
|
||||
// ...this might be a deal breaker...
|
||||
module.Task = function(func){
|
||||
var args = [].slice.call(arguments)
|
||||
|
||||
// remove func from args...
|
||||
args.splice(0, 1)
|
||||
|
||||
return ({
|
||||
restart: function(){
|
||||
// XXX jQuery compatible, need promise state check...
|
||||
if(this.isRejected == null || this.isRejected()){
|
||||
this.__proto__ = func.apply(null, args)
|
||||
}
|
||||
return this
|
||||
},
|
||||
}).restart()
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
|
||||
module.TaskPrototype = {
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
|
||||
var Queue =
|
||||
module.Queue = actions.Actions({
|
||||
var QueueActions =
|
||||
module.QueueActions = actions.Actions({
|
||||
config: {
|
||||
'running-pool-size': 8,
|
||||
// XXX at this point these is ignored...
|
||||
@ -139,6 +73,7 @@ module.Queue = actions.Actions({
|
||||
taskStarted: ['', function(){}],
|
||||
taskFailed: ['', function(){}],
|
||||
taskDone: ['', function(){}],
|
||||
allTasksDone: ['', function(){}],
|
||||
|
||||
|
||||
// task manipulation actions...
|
||||
@ -326,6 +261,15 @@ module.Queue = actions.Actions({
|
||||
// XXX
|
||||
failed.push(elem)
|
||||
that.taskFailed(elem[0], task)
|
||||
|
||||
// run some more...
|
||||
that._run()
|
||||
|
||||
// queue empty...
|
||||
if(this.__ready && this.__ready.len == 0
|
||||
&& this.__running && this.__running.len == 0){
|
||||
this.allTasksDone()
|
||||
}
|
||||
})
|
||||
// push to done and ._run some more...
|
||||
.then(function(){
|
||||
@ -336,10 +280,16 @@ module.Queue = actions.Actions({
|
||||
var done = that.__done = that.__done || []
|
||||
|
||||
done.push(elem)
|
||||
that.taskDone(elem[0], task)
|
||||
|
||||
// run some more...
|
||||
that._run()
|
||||
that.taskDone(elem[0], task)
|
||||
|
||||
// queue empty...
|
||||
if(this.__ready && this.__ready.len == 0
|
||||
&& this.__running && this.__running.len == 0){
|
||||
this.allTasksDone()
|
||||
}
|
||||
})
|
||||
|
||||
// other...
|
||||
@ -353,8 +303,11 @@ module.Queue = actions.Actions({
|
||||
done.push(elem)
|
||||
that.taskDone(elem[0], task)
|
||||
|
||||
// run some more...
|
||||
that._run()
|
||||
// queue empty...
|
||||
if(this.__ready && this.__ready.len == 0
|
||||
&& this.__running && this.__running.len == 0){
|
||||
this.allTasksDone()
|
||||
}
|
||||
}
|
||||
})() }
|
||||
|
||||
@ -383,9 +336,9 @@ module.Queue = actions.Actions({
|
||||
})
|
||||
|
||||
|
||||
|
||||
// XXX need to make the queue usable as an object...
|
||||
// XXX
|
||||
var Queue =
|
||||
module.Queue =
|
||||
object.makeConstructor('Queue', QueueActions)
|
||||
|
||||
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ console.log('>>> browse-walk')
|
||||
|
||||
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||
|
||||
var object = require('../../object')
|
||||
var object = require('../object')
|
||||
var browse = require('./browse')
|
||||
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ console.log('>>> browse')
|
||||
//var promise = require('promise')
|
||||
|
||||
var keyboard = require('../keyboard')
|
||||
var object = require('../../object')
|
||||
var object = require('../object')
|
||||
var widget = require('./widget')
|
||||
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ console.log('>>> drawer')
|
||||
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||
|
||||
var keyboard = require('../keyboard')
|
||||
var object = require('../../object')
|
||||
var object = require('../object')
|
||||
var widget = require('./widget')
|
||||
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ console.log('>>> overlay')
|
||||
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||
|
||||
var keyboard = require('../keyboard')
|
||||
var object = require('../../object')
|
||||
var object = require('../object')
|
||||
var widget = require('./widget')
|
||||
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ console.log('>>> widget')
|
||||
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||
|
||||
var keyboard = require('../keyboard')
|
||||
var object = require('../../object')
|
||||
var object = require('../object')
|
||||
|
||||
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ console.log('>>> ribbons')
|
||||
// XXX is this correct...
|
||||
//require('ext-lib/jquery')
|
||||
|
||||
var object = require('object')
|
||||
var object = require('lib/object')
|
||||
|
||||
var data = require('data')
|
||||
var images = require('images')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user