mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 18:30:09 +00:00
refactored marks a bit + fixed a minor bug...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
ee57d68922
commit
8f43056c0c
@ -96,6 +96,17 @@ var toggleBookmark = makeMarkToggler(
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function removeAllBookmarks(mode){
|
||||||
|
mode = mode == null ? 'ribbon' : mode
|
||||||
|
var res = setAllMarks('off', mode, BOOKMARKS, toggleBookmark)
|
||||||
|
$('.viewer')
|
||||||
|
.trigger('togglingBookmarks', [res, 'off'])
|
||||||
|
.trigger('removingBookmarks', [res, mode])
|
||||||
|
bookmarksUpdated()
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// focus next/prev bookmark...
|
// focus next/prev bookmark...
|
||||||
//
|
//
|
||||||
var nextBookmark = makeNextFromListAction(
|
var nextBookmark = makeNextFromListAction(
|
||||||
|
|||||||
@ -195,7 +195,7 @@ function setupInfo(viewer){
|
|||||||
})
|
})
|
||||||
.on([
|
.on([
|
||||||
'focusingImage',
|
'focusingImage',
|
||||||
'togglingMark',
|
'togglingMarks',
|
||||||
'togglingBookmark',
|
'togglingBookmark',
|
||||||
'removeingAllMarks',
|
'removeingAllMarks',
|
||||||
'removeingRibbonMarks',
|
'removeingRibbonMarks',
|
||||||
|
|||||||
@ -760,22 +760,25 @@ var KEYBOARD_CONFIG = {
|
|||||||
markAll('all')
|
markAll('all')
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
|
|
||||||
'unmark-ribbon': doc('Unmark current ribbon',
|
'unmark-ribbon': doc('Unmark current ribbon',
|
||||||
function(){
|
function(){
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
removeImageMarks('ribbon')
|
unmarkAll('ribbon')
|
||||||
}),
|
}),
|
||||||
|
'unmark-all': doc('Unmark all images',
|
||||||
|
function(){ unmarkAll('all') }),
|
||||||
|
|
||||||
D: {
|
D: {
|
||||||
ctrl: 'unmark-ribbon',
|
ctrl: 'unmark-ribbon',
|
||||||
'ctrl+shift': doc('Unmark all images',
|
'ctrl+shift': 'unmark-all',
|
||||||
function(){ removeImageMarks('all') }),
|
|
||||||
},
|
},
|
||||||
U: {
|
U: {
|
||||||
default: doc('Unmark current image',
|
default: doc('Unmark current image',
|
||||||
function(){ toggleMark('off') }),
|
function(){ toggleMark('off') }),
|
||||||
ctrl: 'unmark-ribbon',
|
ctrl: 'unmark-ribbon',
|
||||||
shift: doc('Unamrk all',
|
shift: 'unmark-all',
|
||||||
function(){ removeImageMarks('all') }),
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
119
ui/marks.js
119
ui/marks.js
@ -302,6 +302,47 @@ function shiftGIDInSparseList(gid, list){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// NOTE: this is sparse-only...
|
||||||
|
function setAllMarks(action, mode, list, toggler){
|
||||||
|
action = action == null ? toggler('?') : action
|
||||||
|
mode = mode == null ? 'ribbon' : mode
|
||||||
|
|
||||||
|
var updated = []
|
||||||
|
|
||||||
|
if(action == 'on'){
|
||||||
|
var _update = function(e){
|
||||||
|
if(list.indexOf(e) < 0){
|
||||||
|
list[DATA.order.indexOf(e)] = e
|
||||||
|
updated.push(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
var _update = function(e){
|
||||||
|
var i = list.indexOf(e)
|
||||||
|
if(i >= 0){
|
||||||
|
delete list[i]
|
||||||
|
updated.push(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// marks from current ribbon (default)...
|
||||||
|
if(mode == 'ribbon'){
|
||||||
|
var res = getRibbonGIDs()
|
||||||
|
|
||||||
|
// all marks...
|
||||||
|
} else if(mode == 'all'){
|
||||||
|
var res = getLoadedGIDs()
|
||||||
|
}
|
||||||
|
|
||||||
|
res.forEach(_update)
|
||||||
|
|
||||||
|
updateImages(updated)
|
||||||
|
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
*
|
*
|
||||||
@ -380,7 +421,7 @@ var toggleMarksView = createCSSClassToggler(
|
|||||||
var toggleMark = makeMarkToggler(
|
var toggleMark = makeMarkToggler(
|
||||||
'marked',
|
'marked',
|
||||||
'selected',
|
'selected',
|
||||||
'togglingMark',
|
'togglingMarks',
|
||||||
function(gid, action){
|
function(gid, action){
|
||||||
// add marked image to list...
|
// add marked image to list...
|
||||||
if(action == 'on'){
|
if(action == 'on'){
|
||||||
@ -397,67 +438,22 @@ var toggleMark = makeMarkToggler(
|
|||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function markAllImagesTo(action, mode){
|
||||||
function setAllMarks(action, mode){
|
|
||||||
action = action == null ? toggleMark('?') : action
|
|
||||||
mode = mode == null ? 'ribbon' : mode
|
mode = mode == null ? 'ribbon' : mode
|
||||||
|
var res = setAllMarks(action, mode, MARKED, toggleMark)
|
||||||
var updated = []
|
$('.viewer')
|
||||||
|
.trigger('togglingMarks', [res, action])
|
||||||
if(action == 'on'){
|
.trigger('removingMarks', [res, mode])
|
||||||
var _update = function(e){
|
|
||||||
if(MARKED.indexOf(e) < 0){
|
|
||||||
MARKED[DATA.order.indexOf(e)] = e
|
|
||||||
updated.push(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var _update = function(e){
|
|
||||||
var i = MARKED.indexOf(e)
|
|
||||||
if(i >= 0){
|
|
||||||
delete MARKED[i]
|
|
||||||
updated.push(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// marks from current ribbon (default)...
|
|
||||||
if(mode == 'ribbon'){
|
|
||||||
var res = getRibbonGIDs()
|
|
||||||
|
|
||||||
// all marks...
|
|
||||||
} else if(mode == 'all'){
|
|
||||||
var res = getLoadedGIDs()
|
|
||||||
}
|
|
||||||
|
|
||||||
res.forEach(_update)
|
|
||||||
|
|
||||||
updateImages(updated)
|
|
||||||
|
|
||||||
$('.viewer').trigger('togglingMarks', [updated, action])
|
|
||||||
|
|
||||||
marksUpdated()
|
marksUpdated()
|
||||||
|
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// mode can be:
|
// mode can be:
|
||||||
// - 'ribbon'
|
// - 'ribbon'
|
||||||
// - 'all'
|
// - 'all'
|
||||||
function removeImageMarks(mode){
|
function unmarkAll(mode){ markAllImagesTo('off', mode) }
|
||||||
mode = mode == null ? 'ribbon' : mode
|
function markAll(mode){ markAllImagesTo('on', mode) }
|
||||||
var res = setAllMarks('off', mode)
|
|
||||||
$('.viewer').trigger('removingMarks', [res, mode])
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function markAll(mode){
|
|
||||||
mode = mode == null ? 'ribbon' : mode
|
|
||||||
var res = setAllMarks('on', mode)
|
|
||||||
$('.viewer').trigger('addingMarks', [res, mode])
|
|
||||||
return res
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// NOTE: this only does it's work in the current ribbon...
|
// NOTE: this only does it's work in the current ribbon...
|
||||||
@ -689,19 +685,19 @@ function markImagesDialog(){
|
|||||||
var msg = 'inverted ribbon marks'
|
var msg = 'inverted ribbon marks'
|
||||||
|
|
||||||
} else if(/Mark all.*current ribbon/.test(res)){
|
} else if(/Mark all.*current ribbon/.test(res)){
|
||||||
markAll()
|
markAll('ribbon')
|
||||||
var msg = 'marked ribbon'
|
var msg = 'marked ribbon'
|
||||||
|
|
||||||
} else if(/Mark all/.test(res)){
|
} else if(/Mark all/.test(res)){
|
||||||
markAll()
|
markAll('all')
|
||||||
var msg = 'marked ribbon'
|
var msg = 'marked all'
|
||||||
|
|
||||||
} else if(/Unmark all in/.test(res)){
|
} else if(/Unmark all in/.test(res)){
|
||||||
removeImageMarks('ribbon')
|
unmarkAll('ribbon')
|
||||||
var msg = 'unmarked ribbon'
|
var msg = 'unmarked ribbon'
|
||||||
|
|
||||||
} else if(/Unmark all images/.test(res)){
|
} else if(/Unmark all images/.test(res)){
|
||||||
removeImageMarks('all')
|
unmarkAll('all')
|
||||||
var msg = 'unmarked all'
|
var msg = 'unmarked all'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -775,11 +771,6 @@ function setupMarks(viewer){
|
|||||||
|
|
||||||
return viewer
|
return viewer
|
||||||
// XXX do we actually need this???
|
// XXX do we actually need this???
|
||||||
.on('togglingMarks', function(evt, lst, action){
|
|
||||||
lst.forEach(function(gid){
|
|
||||||
viewer.trigger('togglingMark', [gid, action])
|
|
||||||
})
|
|
||||||
})
|
|
||||||
.on('sortedImages', function(){
|
.on('sortedImages', function(){
|
||||||
MARKED = populateSparceGIDList(MARKED)
|
MARKED = populateSparceGIDList(MARKED)
|
||||||
marksUpdated()
|
marksUpdated()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user