mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
moved the examples to a separate module...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
86f75e1b68
commit
d1c3a8c65a
@ -48,6 +48,7 @@ require('features/meta')
|
||||
require('features/experimental')
|
||||
require('features/tests')
|
||||
require('features/demo')
|
||||
require('features/examples')
|
||||
|
||||
// node features...
|
||||
if(typeof(window) == 'undefined' || window.nodejs != null){
|
||||
|
||||
147
ui (gen4)/features/examples.js
Executable file
147
ui (gen4)/features/examples.js
Executable file
@ -0,0 +1,147 @@
|
||||
/**********************************************************************
|
||||
*
|
||||
*
|
||||
*
|
||||
**********************************************************************/
|
||||
((typeof define)[0]=='u'?function(f){module.exports=f(require)}:define)
|
||||
(function(require){ var module={} // make module AMD/node compatible...
|
||||
/*********************************************************************/
|
||||
|
||||
var actions = require('lib/actions')
|
||||
var features = require('lib/features')
|
||||
|
||||
var core = require('features/core')
|
||||
|
||||
|
||||
|
||||
/*********************************************************************/
|
||||
|
||||
var ExampleActions = actions.Actions({
|
||||
config: {
|
||||
// XXX stuff for togglers...
|
||||
},
|
||||
|
||||
exampleAction: ['- Test/',
|
||||
function(){
|
||||
// XXX
|
||||
}],
|
||||
|
||||
// a normal method...
|
||||
exampleMethod: function(){
|
||||
console.log('example method:', [].slice.call(arguments))
|
||||
return 'example result'
|
||||
},
|
||||
|
||||
// XXX does not work -- see actions.Actions(..) for details...
|
||||
exampleAlias: ['Test/Action alias',
|
||||
'focusImage: "prev"'],
|
||||
|
||||
// action constructor for testing...
|
||||
makeExampleAction: ['- Test/',
|
||||
function(name){
|
||||
this[name] = actions.Action.apply(actions.Action, arguments) }],
|
||||
|
||||
// promise handling...
|
||||
//
|
||||
// also see corresponding WidgetTest.handlers
|
||||
exampleSyncAction: ['- Test/',
|
||||
//{await: true},
|
||||
function(t){
|
||||
return new Promise(function(resolve){
|
||||
setTimeout(function(){ resolve() }, t || 1000) })
|
||||
}],
|
||||
exampleAsyncAction: ['- Test/',
|
||||
{await: false},
|
||||
function(t){
|
||||
return new Promise(function(resolve){
|
||||
setTimeout(function(){ resolve() }, t || 1000) })
|
||||
}],
|
||||
|
||||
// Togglers...
|
||||
//
|
||||
exampleToggler: ['- Test/',
|
||||
function(){
|
||||
}],
|
||||
|
||||
// XXX docs...
|
||||
// XXX BUG? false is not shown in the dialog button...
|
||||
exampleConfigTogglerMin: ['- Test/',
|
||||
core.doc`Minimal config toggler...
|
||||
|
||||
This will toggle between true and false.
|
||||
`,
|
||||
core.makeConfigToggler('example-option-min')],
|
||||
// XXX docs...
|
||||
exampleConfigToggler: ['- Test/',
|
||||
core.makeConfigToggler(
|
||||
// option name...
|
||||
'example-option',
|
||||
// option states...
|
||||
//
|
||||
// NOTE: 'none' represents an undefined value, but when
|
||||
// setting 'none' state, 'none' is explicitly written as
|
||||
// option value.
|
||||
// This is done intentionally as deleting the attribute
|
||||
// can expose the shadowed option value.
|
||||
['A', 'B', 'C', 'none'],
|
||||
// post-callback (optional)...
|
||||
function(state){
|
||||
console.log('exampleConfigToggler: callback: shifting state to:', state)
|
||||
})],
|
||||
// XXX docs...
|
||||
exampleConfigTogglerFull: ['- Test/',
|
||||
core.makeConfigToggler(
|
||||
// option name...
|
||||
'example-option-full',
|
||||
// option states...
|
||||
function(){
|
||||
return ['A', 'B', 'C', 'none']
|
||||
},
|
||||
// pre-callback...
|
||||
function(state){
|
||||
if(state == 'C'){
|
||||
console.log('exampleConfigToggler: pre-callback: preventing shift to:', state)
|
||||
// we can prevent a state change by returning false...
|
||||
// XXX should we be able to return a different state here???
|
||||
return false
|
||||
}
|
||||
|
||||
console.log('exampleConfigToggler: pre-callback: shifting state to:', state)
|
||||
},
|
||||
// post-callback...
|
||||
function(state){
|
||||
console.log('exampleConfigToggler: post-callback: shifting state to:', state)
|
||||
})],
|
||||
|
||||
// XXX move this to a ui-dependant feature...
|
||||
exampleCSSClassToggler: ['- Test/',
|
||||
function(){
|
||||
}],
|
||||
|
||||
// XXX event and event use...
|
||||
|
||||
// XXX inner/outer action...
|
||||
|
||||
})
|
||||
|
||||
var Example =
|
||||
module.Example = core.ImageGridFeatures.Feature({
|
||||
title: '',
|
||||
doc: '',
|
||||
|
||||
// XXX
|
||||
tag: 'action-examples',
|
||||
depends: [
|
||||
// XXX
|
||||
],
|
||||
|
||||
actions: ExampleActions,
|
||||
|
||||
handlers: [],
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* vim:set ts=4 sw=4 : */ return module })
|
||||
@ -55,6 +55,8 @@ core.ImageGridFeatures.Feature('viewer-testing', [
|
||||
// ...this is best included by direct feature dependency.
|
||||
'index-format',
|
||||
|
||||
// XXX
|
||||
'action-examples',
|
||||
|
||||
'collections',
|
||||
|
||||
|
||||
@ -2641,36 +2641,6 @@ var WidgetTestActions = actions.Actions({
|
||||
.attr(attrs))
|
||||
}],
|
||||
|
||||
// a normal method...
|
||||
testMethod: function(){
|
||||
console.log('test method:', [].slice.call(arguments))
|
||||
return 'test result'
|
||||
},
|
||||
|
||||
// XXX does not work -- see actions.Actions(..) for details...
|
||||
testAlias: ['Test/Action alias',
|
||||
'focusImage: "prev"'],
|
||||
|
||||
// action constructor for testing...
|
||||
makeAction: ['- Test/',
|
||||
function(name){
|
||||
this[name] = actions.Action.apply(actions.Action, arguments) }],
|
||||
|
||||
// promise handling...
|
||||
//
|
||||
// also see corresponding WidgetTest.handlers
|
||||
syncAction: ['- Test/',
|
||||
//{await: true},
|
||||
function(t){
|
||||
return new Promise(function(resolve){
|
||||
setTimeout(function(){ resolve() }, t || 1000) })
|
||||
}],
|
||||
asyncAction: ['- Test/',
|
||||
{await: false},
|
||||
function(t){
|
||||
return new Promise(function(resolve){
|
||||
setTimeout(function(){ resolve() }, t || 1000) })
|
||||
}],
|
||||
})
|
||||
|
||||
var WidgetTest =
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user