mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-29 10:20:08 +00:00
more marking support, toggleImageMarkBlock(...) not yet supported...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
9c2ceb95ae
commit
afa14dabfa
17
ui/base.js
17
ui/base.js
@ -870,12 +870,15 @@ var toggleImageMark = createCSSClassToggler('.current.image', 'marked',
|
||||
function removeImageMarks(mode){
|
||||
// remove marks from current ribbon (default)...
|
||||
if(mode == 'ribbon' || mode == null){
|
||||
return getRibbon()
|
||||
var ribbon = getRibbon()
|
||||
$('.viewer').trigger('removeingRibbonMarks', [ribbon])
|
||||
return ribbon
|
||||
.find('.marked')
|
||||
.removeClass('marked')
|
||||
|
||||
// remove all marks...
|
||||
} else if(mode == 'all'){
|
||||
$('.viewer').trigger('removeingAllMarks')
|
||||
return $('.marked')
|
||||
.removeClass('marked')
|
||||
}
|
||||
@ -885,12 +888,14 @@ function removeImageMarks(mode){
|
||||
function markAll(mode){
|
||||
// remove marks from current ribbon (default)...
|
||||
if(mode == 'ribbon' || mode == null){
|
||||
return getRibbon()
|
||||
var ribbon = getRibbon()
|
||||
$('.viewer').trigger('markingRibbon', [ribbon])
|
||||
return ribbon
|
||||
.find('.image:not(.marked)')
|
||||
.addClass('marked')
|
||||
|
||||
// remove all marks...
|
||||
} else if(mode == 'all'){
|
||||
$('.viewer').trigger('markingAll')
|
||||
return $('.image:not(.marked)').addClass('marked')
|
||||
}
|
||||
}
|
||||
@ -898,7 +903,9 @@ function markAll(mode){
|
||||
|
||||
// NOTE: this only does it's work in the current ribbon...
|
||||
function invertImageMarks(){
|
||||
return getRibbon()
|
||||
var ribbon = getRibbon()
|
||||
$('.viewer').trigger('invertingMarks', [ribbon])
|
||||
return ribbon
|
||||
.find('.image')
|
||||
.toggleClass('marked')
|
||||
}
|
||||
@ -906,10 +913,12 @@ function invertImageMarks(){
|
||||
|
||||
// Toggle marks in the current continuous section of marked or unmarked
|
||||
// images...
|
||||
// XXX need to make this dynamic data compatible...
|
||||
function toggleImageMarkBlock(image){
|
||||
if(image == null){
|
||||
image = $('.current.image')
|
||||
}
|
||||
//$('.viewer').trigger('togglingImageBlockMarks', [image])
|
||||
// we need to invert this...
|
||||
var state = toggleImageMark()
|
||||
var _convert = function(){
|
||||
|
||||
35
ui/data.js
35
ui/data.js
@ -541,6 +541,8 @@ function setupDataBindings(viewer){
|
||||
})
|
||||
|
||||
|
||||
// marks...
|
||||
// XXX toggle marking a block is not yet supported...
|
||||
.on('togglingMark', function(evt, img, action){
|
||||
var gid = getImageGID(img)
|
||||
|
||||
@ -553,6 +555,39 @@ function setupDataBindings(viewer){
|
||||
MARKS.splice(MARKS.indexOf(gid), 1)
|
||||
}
|
||||
})
|
||||
.on('removeingRibbonMarks', function(evt, ribbon){
|
||||
$.each(DATA.ribbons[getRibbonIndex(ribbon)], function(_, e){
|
||||
var i = MARKS.indexOf(e)
|
||||
if(i != -1){
|
||||
MARKS.splice(i, 1)
|
||||
}
|
||||
})
|
||||
})
|
||||
.on('removeingAllMarks', function(evt){
|
||||
MARKS.splice(0, MARKS.length)
|
||||
})
|
||||
.on('markingRibbon', function(evt, ribbon){
|
||||
$.each(DATA.ribbons[getRibbonIndex(ribbon)], function(_, e){
|
||||
var i = MARKS.indexOf(e)
|
||||
if(i == -1){
|
||||
MARKS.push(e)
|
||||
}
|
||||
})
|
||||
})
|
||||
.on('markingAll', function(evt){
|
||||
MARKS.splice(0, MARKS.length)
|
||||
MARKS.concat(DATA.order)
|
||||
})
|
||||
.on('invertingMarks', function(evt, ribbon){
|
||||
$.each(DATA.ribbons[getRibbonIndex(ribbon)], function(_, e){
|
||||
var i = MARKS.indexOf(e)
|
||||
if(i == -1){
|
||||
MARKS.push(e)
|
||||
} else {
|
||||
MARKS.splice(i, 1)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -24,8 +24,10 @@
|
||||
position: absolute;
|
||||
display: block;
|
||||
|
||||
/* neede for scaling/zooming to behave correctly and not shift the
|
||||
element, when its dimensions change... */
|
||||
/* NOTE: this needs for scaling/zooming to behave correctly and not
|
||||
shift the element, when its dimensions change...
|
||||
...this is because .ribbon-set will both be used for scaling
|
||||
and aligning... */
|
||||
transform-origin: top left;
|
||||
-ms-transform-origin: top left;
|
||||
-webkit-transform-origin: top left; /* Safari and Chrome */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user