mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20:08 +00:00
started work on slideshow feature -- ui still in design...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
d6f1e40844
commit
0e34d92a4d
@ -18,6 +18,7 @@ var ui = require('features/ui')
|
|||||||
var status = require('features/ui-status')
|
var status = require('features/ui-status')
|
||||||
var marks = require('features/ui-marks')
|
var marks = require('features/ui-marks')
|
||||||
var widgets = require('features/ui-widgets')
|
var widgets = require('features/ui-widgets')
|
||||||
|
var slideshow = require('features/ui-slideshow')
|
||||||
var exteditor = require('features/external-editor')
|
var exteditor = require('features/external-editor')
|
||||||
var metadata = require('features/metadata')
|
var metadata = require('features/metadata')
|
||||||
var meta = require('features/meta')
|
var meta = require('features/meta')
|
||||||
|
|||||||
@ -111,6 +111,9 @@ core.ImageGridFeatures.Feature('viewer-testing', [
|
|||||||
'ui-context-action-menu',
|
'ui-context-action-menu',
|
||||||
'ui-widget-test',
|
'ui-widget-test',
|
||||||
|
|
||||||
|
// slideshow...
|
||||||
|
'ui-slideshow',
|
||||||
|
|
||||||
// ui control...
|
// ui control...
|
||||||
'ui-clickable',
|
'ui-clickable',
|
||||||
//'ui-autohide-cursor',
|
//'ui-autohide-cursor',
|
||||||
|
|||||||
90
ui (gen4)/features/ui-slideshow.js
Executable file
90
ui (gen4)/features/ui-slideshow.js
Executable file
@ -0,0 +1,90 @@
|
|||||||
|
/**********************************************************************
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
**********************************************************************/
|
||||||
|
|
||||||
|
define(function(require){ var module = {}
|
||||||
|
|
||||||
|
//var DEBUG = DEBUG != null ? DEBUG : true
|
||||||
|
|
||||||
|
var toggler = require('lib/toggler')
|
||||||
|
var actions = require('lib/actions')
|
||||||
|
var features = require('lib/features')
|
||||||
|
|
||||||
|
var core = require('features/core')
|
||||||
|
var base = require('features/base')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*********************************************************************/
|
||||||
|
|
||||||
|
// XXX stub...
|
||||||
|
var SlideshowActions = actions.Actions({
|
||||||
|
config: {
|
||||||
|
},
|
||||||
|
|
||||||
|
// XXX
|
||||||
|
// /Slideshow/
|
||||||
|
// Interval (3)/ -- not a toggler
|
||||||
|
// 0.2
|
||||||
|
// 1
|
||||||
|
// 3*
|
||||||
|
// 5
|
||||||
|
// Custom... -- click to edit
|
||||||
|
// Direction (forward)/
|
||||||
|
// forward*
|
||||||
|
// revrse
|
||||||
|
// Looping (on)/
|
||||||
|
// on*
|
||||||
|
// off
|
||||||
|
// Start
|
||||||
|
// XXX need to set the default value in title...
|
||||||
|
// XXX might be a good idea to make this with an editable value...
|
||||||
|
// i.e.
|
||||||
|
// Interval: 3s / -- 3s is editable...
|
||||||
|
// 0.2 x -- a history of values that can be
|
||||||
|
// selected w/o closing the dialog
|
||||||
|
// or can be removed...
|
||||||
|
// 1 x
|
||||||
|
// 3 x
|
||||||
|
// Custom... -- editable/placeholder... 'enter'
|
||||||
|
// selects value and adds it to
|
||||||
|
// history...
|
||||||
|
selectSlideshowInterval: ['Slideshow/Interval/*',
|
||||||
|
// XXX make this a custom menu rather than a lister... (???)
|
||||||
|
function(path, make){
|
||||||
|
make('0.2')
|
||||||
|
make('1')
|
||||||
|
make('3')
|
||||||
|
make('Custom...')
|
||||||
|
}],
|
||||||
|
toggleSlideshowDirection: ['Slideshow/Direction',
|
||||||
|
function(){}],
|
||||||
|
toggleSlideshowLooping: ['Slideshow/Looping',
|
||||||
|
function(){}],
|
||||||
|
toggleSlideshow: ['Slideshow/Start',
|
||||||
|
function(){}],
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
var Slideshow =
|
||||||
|
module.Slideshow = core.ImageGridFeatures.Feature({
|
||||||
|
title: '',
|
||||||
|
doc: '',
|
||||||
|
|
||||||
|
tag: 'ui-slideshow',
|
||||||
|
depends: [
|
||||||
|
'ui',
|
||||||
|
],
|
||||||
|
|
||||||
|
actions: SlideshowActions,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**********************************************************************
|
||||||
|
* vim:set ts=4 sw=4 : */
|
||||||
|
return module })
|
||||||
@ -40,7 +40,7 @@ var makeActionLister = function(list, filter, pre_order){
|
|||||||
|
|
||||||
return function(path, inline_state){
|
return function(path, inline_state){
|
||||||
inline_state = inline_state == null ?
|
inline_state = inline_state == null ?
|
||||||
that.config['actions-list-show-toggler-state-inline']
|
this.config['actions-list-show-toggler-state-inline']
|
||||||
: inline_state
|
: inline_state
|
||||||
|
|
||||||
var that = this
|
var that = this
|
||||||
@ -62,6 +62,13 @@ var makeActionLister = function(list, filter, pre_order){
|
|||||||
var n = paths[k][0]
|
var n = paths[k][0]
|
||||||
var k = filter ? filter(k, n) : k
|
var k = filter ? filter(k, n) : k
|
||||||
|
|
||||||
|
// prepare for toggler stuff...
|
||||||
|
var isToggler = that.isToggler && that.isToggler(n) || false
|
||||||
|
if(isToggler){
|
||||||
|
var cur_state = that[n]('?')
|
||||||
|
k = k +(inline_state ? (' ('+ cur_state +')') : '')
|
||||||
|
}
|
||||||
|
|
||||||
// XXX this expects that .client will trigger an open event...
|
// XXX this expects that .client will trigger an open event...
|
||||||
var waitFor = function(child){
|
var waitFor = function(child){
|
||||||
// we got a widget, wait for it to close...
|
// we got a widget, wait for it to close...
|
||||||
@ -85,19 +92,16 @@ var makeActionLister = function(list, filter, pre_order){
|
|||||||
}
|
}
|
||||||
|
|
||||||
// toggler -- add state list...
|
// toggler -- add state list...
|
||||||
if(that.isToggler && that.isToggler(n)){
|
if(isToggler){
|
||||||
var states = that[n]('??')
|
var states = that[n]('??')
|
||||||
var cur = that[n]('?')
|
|
||||||
|
|
||||||
// bool toggler...
|
// bool toggler...
|
||||||
if(cur == 'on' || cur == 'off'){
|
if(cur_state == 'on' || cur_state == 'off'){
|
||||||
states = ['off', 'on']
|
states = ['off', 'on']
|
||||||
}
|
}
|
||||||
|
|
||||||
states.forEach(function(state){
|
states.forEach(function(state){
|
||||||
//actions[k +'/'+ state + (cur == state ? ' *': '')] =
|
actions[k +'/'+ state + (cur_state == state ? ' *': '')] =
|
||||||
actions[k +(inline_state ? (' ('+ cur +')') : '')
|
|
||||||
+'/'+ state + (cur == state ? ' *': '')] =
|
|
||||||
function(){
|
function(){
|
||||||
that[n](state)
|
that[n](state)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user