mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 18:30:09 +00:00
added a generic way to use node and requirejs modules in most contexts including node-webkit...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
d29903f024
commit
799f8a0e32
@ -7,17 +7,6 @@
|
|||||||
define(function(require){ var module = {}
|
define(function(require){ var module = {}
|
||||||
console.log('>>> actions')
|
console.log('>>> actions')
|
||||||
|
|
||||||
//var DEBUG = DEBUG != null ? DEBUG : true
|
|
||||||
|
|
||||||
// can be:
|
|
||||||
// 'jQuery'
|
|
||||||
// 'node'
|
|
||||||
//
|
|
||||||
var EVT_MODE =
|
|
||||||
module.EVT_MODE =
|
|
||||||
typeof(window) != null && window.jQuery ? 'jQuery'
|
|
||||||
: typeof(global) != null && global.jQuery ? 'jQuery'
|
|
||||||
: 'node'
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
@ -36,15 +25,28 @@ module.EVT_MODE =
|
|||||||
//
|
//
|
||||||
/*********************************************************************/
|
/*********************************************************************/
|
||||||
|
|
||||||
|
// XXX test the context if it's a jQuery object use it's interface and
|
||||||
|
// if it's a events.EventEmitter instance use that...
|
||||||
var fireEvent =
|
var fireEvent =
|
||||||
module.fireEvent =
|
module.fireEvent =
|
||||||
function(context, name, args){
|
function(context, name, args){
|
||||||
if(EVT_MODE == 'jQuery'){
|
var EventEmitter = nodejs != null
|
||||||
|
? nodejs.require('events').EventEmitter
|
||||||
|
: null
|
||||||
|
var jQuery = typeof(jQuery) != 'undefined' ? jQuery : null
|
||||||
|
|
||||||
|
if(typeof(context) == typeof('str')
|
||||||
|
|| (jq_object != null
|
||||||
|
&& context instanceof jQuery)){
|
||||||
var c = $(context)
|
var c = $(context)
|
||||||
.trigger(name, args)
|
.trigger(name, args)
|
||||||
} else {
|
|
||||||
|
} else if(EventEmitter != null && context instanceof EventEmitter){
|
||||||
var c = context
|
var c = context
|
||||||
.emit.apply(context, [name].concat(args))
|
.emit.apply(context, [name].concat(args))
|
||||||
|
|
||||||
|
} else {
|
||||||
|
console.error('Incompatible event context type:', context)
|
||||||
}
|
}
|
||||||
return c
|
return c
|
||||||
}
|
}
|
||||||
@ -113,14 +115,14 @@ function Action(context, name, doc, code){
|
|||||||
// NOTE: context is dynamic.
|
// NOTE: context is dynamic.
|
||||||
var Actions =
|
var Actions =
|
||||||
module.Action =
|
module.Action =
|
||||||
function Actions(context, names, actions){
|
function Actions(context, names, actions, mode){
|
||||||
actions = actions == null ? {} : actions
|
actions = actions == null ? {} : actions
|
||||||
Object.keys(names).forEach(function(e){
|
Object.keys(names).forEach(function(e){
|
||||||
var doc = names[e]
|
var doc = names[e]
|
||||||
var code = doc.constructor.name == 'Array' ? doc[1] : null
|
var code = doc.constructor.name == 'Array' ? doc[1] : null
|
||||||
doc = code != null ? doc : doc[0]
|
doc = code != null ? doc : doc[0]
|
||||||
|
|
||||||
actions[e] = Action(context, e, doc, code)
|
actions[e] = Action(context, e, doc, code, mode)
|
||||||
})
|
})
|
||||||
return actions
|
return actions
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,11 @@
|
|||||||
*
|
*
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
window.isNodeWebKit = (typeof(process) === 'object' && process.features.uv) ? true : false
|
window.nodejs = (typeof(process) === 'object' && process.features.uv)
|
||||||
|
? {
|
||||||
|
require: window.require,
|
||||||
|
}
|
||||||
|
: null
|
||||||
|
|
||||||
|
|
||||||
define(function(require){ var module = {}
|
define(function(require){ var module = {}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user