overlay_me 0.12.1 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +6 -4
- data/javascripts/basics.js.coffee +6 -2
- data/javascripts/lib/underscore.js +409 -157
- data/javascripts/menu.js.coffee +2 -1
- data/javascripts/mixins/hideable.js.coffee +17 -4
- data/javascripts/mixins/storable.js.coffee +4 -0
- data/javascripts/overlays/image.js.coffee +7 -5
- data/javascripts/overlays/images_container.js.coffee +52 -13
- data/javascripts/overlays/images_directory.js.coffee +46 -0
- data/javascripts/overlays/images_mngt_div.js.coffee +0 -27
- data/javascripts/overlays.js.coffee +40 -2
- data/lib/overlay_me/version.rb +2 -2
- data/lib/overlay_me.rb +1 -1
- data/overlay_me.css +85 -40
- data/overlay_me.js +699 -246
- data/stylesheets/overlay_me.css.scss +47 -7
- data/vendor/assets/javascripts/overlay_me/overlay_me.min.js +54 -28
- metadata +7 -9
- data/demo_page.html +0 -33
data/javascripts/menu.js.coffee
CHANGED
@@ -35,4 +35,5 @@ class OverlayMe.MenuClass extends OverlayMe.Draggable
|
|
35
35
|
|
36
36
|
|
37
37
|
# create only 1 menu
|
38
|
-
|
38
|
+
if OverlayMe.mustLoad() # dont do it anytime
|
39
|
+
OverlayMe.menu = new OverlayMe.MenuClass() unless OverlayMe.menu_box
|
@@ -1,13 +1,26 @@
|
|
1
1
|
OverlayMe.Mixin.Hideable = {
|
2
2
|
|
3
3
|
isDisplayed: ->
|
4
|
-
|
4
|
+
element = @el || this
|
5
|
+
return $o(element).css('display') != 'none'
|
5
6
|
|
6
7
|
toggleDisplay: (default_display_type='block') ->
|
7
8
|
if @isDisplayed()
|
8
|
-
|
9
|
+
@hide()
|
9
10
|
else
|
10
|
-
|
11
|
-
@saveCss()
|
11
|
+
@show(default_display_type)
|
12
12
|
|
13
|
+
show: (default_display_type='block') ->
|
14
|
+
element = @el || this
|
15
|
+
$o(element).css { display: default_display_type }
|
16
|
+
@saveState()
|
17
|
+
|
18
|
+
hide: ->
|
19
|
+
element = @el || this
|
20
|
+
$o(element).css { display: 'none' }
|
21
|
+
@saveState()
|
22
|
+
|
23
|
+
saveState: ->
|
24
|
+
element = @el || this
|
25
|
+
@saveCss(element) if @saveCss
|
13
26
|
}
|
@@ -1,16 +1,20 @@
|
|
1
1
|
OverlayMe.Mixin.Storable = {
|
2
2
|
|
3
3
|
loadCss: (element=@el, default_css) ->
|
4
|
+
return unless @id
|
4
5
|
if ( cssData = localStorage.getItem(@id) )
|
5
6
|
$o(element).css(JSON.parse(cssData))
|
7
|
+
# console.log 'load: ', @id, cssData
|
6
8
|
else
|
7
9
|
$o(element).css(default_css) unless default_css == undefined
|
8
10
|
|
9
11
|
saveCss: (element=@el) ->
|
12
|
+
return unless @id
|
10
13
|
@css_attributes_to_save = ['top', 'left', 'display', 'opacity'] unless @css_attributes_to_save
|
11
14
|
cssData = {}
|
12
15
|
for css_attribute in @css_attributes_to_save
|
13
16
|
cssData[css_attribute] = $o(element).css(css_attribute)
|
17
|
+
# console.log 'save: ', @id, JSON.stringify(cssData)
|
14
18
|
localStorage.setItem(@id, JSON.stringify(cssData))
|
15
19
|
|
16
20
|
}
|
@@ -6,17 +6,18 @@ class OverlayMe.Overlays.Image extends Backbone.View
|
|
6
6
|
tagName: 'div'
|
7
7
|
className: 'overlay-image-block'
|
8
8
|
|
9
|
-
initialize: (image_src, options
|
9
|
+
initialize: (image_src, options) ->
|
10
|
+
$o.extend { destroyable: false }, options
|
10
11
|
@image_src = image_src
|
11
12
|
@image_id = OverlayMe.Overlays.urlToId(image_src)
|
12
13
|
$o(@el).attr 'data-img-id', @image_id
|
13
14
|
|
14
|
-
|
15
|
+
images_container = new OverlayMe.Overlays.ImagesContainer({ parent_path: options.parent_path })
|
15
16
|
|
16
17
|
@default_css = $o.extend {display: 'none', opacity: 0.5}, options.default_css
|
17
18
|
|
18
|
-
unless $o("##{@image_id}",
|
19
|
-
$o(
|
19
|
+
unless $o("##{@image_id}", images_container.el).length > 0
|
20
|
+
$o(images_container.el).append @image()
|
20
21
|
|
21
22
|
$o(@el).append @checkbox()
|
22
23
|
$o(@el).append @label()
|
@@ -25,7 +26,8 @@ class OverlayMe.Overlays.Image extends Backbone.View
|
|
25
26
|
slider_block.appendChild @make 'label', {}, 'Opacity'
|
26
27
|
slider_block.appendChild @slider()
|
27
28
|
$o(@el).append @delButton() if options.destroyable
|
28
|
-
$o(@el).bind 'click', (
|
29
|
+
$o(@el).bind 'click', (e) =>
|
30
|
+
e.stopPropagation()
|
29
31
|
@flickCheckbox()
|
30
32
|
$o(@el).bind 'mouseover', (event) =>
|
31
33
|
$o(@image.el).addClass 'highlight'
|
@@ -1,22 +1,61 @@
|
|
1
1
|
#= require 'mixins/storable'
|
2
2
|
#= require 'mixins/hideable'
|
3
3
|
|
4
|
-
class OverlayMe.Overlays.
|
4
|
+
class OverlayMe.Overlays.ContainerItself extends Backbone.View
|
5
5
|
|
6
|
-
|
6
|
+
tagName: 'div'
|
7
7
|
css_attributes_to_save: ['display']
|
8
8
|
|
9
|
-
initialize: ->
|
10
|
-
|
11
|
-
if container.length < 1 # happen only if the container div doesn't already exist
|
12
|
-
container = @make 'div', { id: 'overlay_me_images_container' }
|
13
|
-
$o('body').append container
|
14
|
-
@el = container
|
9
|
+
initialize: (attributes, options) ->
|
10
|
+
super(attributes, options)
|
15
11
|
@loadCss()
|
16
|
-
$o(window).bind
|
17
|
-
|
12
|
+
$o(window).bind "overlay_me:toggle_#{@id}_display", (event, options) =>
|
13
|
+
if options
|
14
|
+
if options.show then @show() else @hide()
|
15
|
+
else
|
16
|
+
@toggleDisplay()
|
17
|
+
|
18
|
+
_.extend OverlayMe.Overlays.ContainerItself.prototype, OverlayMe.Mixin.Storable
|
19
|
+
_.extend OverlayMe.Overlays.ContainerItself.prototype, OverlayMe.Mixin.Hideable
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
|
24
|
+
class OverlayMe.Overlays.ImagesContainer extends Backbone.View
|
25
|
+
|
26
|
+
initialize: (options) ->
|
27
|
+
# the master image_container will be referenced publicly
|
28
|
+
unless OverlayMe.images_container
|
29
|
+
OverlayMe.images_container = new OverlayMe.Overlays.ContainerItself id:'overlay_me_images_container'
|
30
|
+
$o('body').append OverlayMe.images_container.el
|
31
|
+
|
32
|
+
# if it's a local file, we build its eventual multi-directories structure
|
33
|
+
if options.parent_path
|
34
|
+
container = @subDirContainer(options.parent_path)
|
35
|
+
# either, the default main container is the one returned
|
36
|
+
else
|
37
|
+
container = OverlayMe.images_container
|
38
|
+
|
39
|
+
# I know, it's ugly but I just want the proper DOM element, Backbone Object or not
|
40
|
+
@el = container.el || container
|
41
|
+
|
42
|
+
|
43
|
+
subDirContainer: (path, done_bits=[]) ->
|
44
|
+
path_bits = _.difference(path.split('/'), _.union(done_bits, ''))
|
45
|
+
the_dir = path_bits.slice(0, 1).toString()
|
46
|
+
if done_bits.length > 0
|
47
|
+
sub_container_parent_post_string = done_bits.join(' ').replace(/\ ?(\w+)/g, ' #$1_container')
|
48
|
+
else
|
49
|
+
sub_container_parent_post_string = ''
|
18
50
|
|
19
|
-
|
20
|
-
|
21
|
-
|
51
|
+
sub_container = $o("#overlay_me_images_container #{sub_container_parent_post_string} ##{the_dir+'_container'}")
|
52
|
+
if sub_container.length < 1 # if the sub_container div doesn't already exist
|
53
|
+
sub_container = new OverlayMe.Overlays.ContainerItself id: the_dir+'_container'
|
54
|
+
$o("#overlay_me_images_container #{sub_container_parent_post_string}").append sub_container.el
|
22
55
|
|
56
|
+
if path_bits.length > 1
|
57
|
+
done_bits.push the_dir
|
58
|
+
return @subDirContainer path, done_bits
|
59
|
+
else
|
60
|
+
return sub_container
|
61
|
+
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#= require 'mixins/hideable'
|
2
|
+
|
3
|
+
class OverlayMe.Overlays.ImagesDirectory extends Backbone.View
|
4
|
+
|
5
|
+
tagName: 'div'
|
6
|
+
className: 'images_dir'
|
7
|
+
|
8
|
+
initialize: (dirname) ->
|
9
|
+
@dirname = dirname
|
10
|
+
@contentBlock = @make 'div', { id: @dirname, class: 'sub-block' }
|
11
|
+
_.extend @contentBlock, OverlayMe.Mixin.Hideable
|
12
|
+
_.extend @contentBlock, OverlayMe.Mixin.Storable
|
13
|
+
@contentBlock.css_attributes_to_save = ['display']
|
14
|
+
@contentBlock.loadCss(@contentBlock)
|
15
|
+
$o(@el).append @checkbox()
|
16
|
+
$o(@el).append @label()
|
17
|
+
$o(@el).append @contentBlock
|
18
|
+
$o(@el).bind 'click', (e) =>
|
19
|
+
e.stopPropagation()
|
20
|
+
@checkbox.click()
|
21
|
+
|
22
|
+
checkbox: ->
|
23
|
+
@checkbox = @make 'input', { type: "checkbox" }
|
24
|
+
if @contentBlock.isDisplayed()
|
25
|
+
@checkbox.checked = true
|
26
|
+
$o(@checkbox).bind 'click', (e) =>
|
27
|
+
e.stopPropagation()
|
28
|
+
@flickVisibility()
|
29
|
+
@checkbox
|
30
|
+
|
31
|
+
flickVisibility: ->
|
32
|
+
if @checkbox.checked
|
33
|
+
@contentBlock.show()
|
34
|
+
else
|
35
|
+
@contentBlock.hide()
|
36
|
+
$o(window).trigger "overlay_me:toggle_#{@dirname}_container_display", { show: @checkbox.checked }
|
37
|
+
|
38
|
+
label: ->
|
39
|
+
@label = @make 'label', {}, '/'+@dirname+'/'
|
40
|
+
|
41
|
+
append: (block) ->
|
42
|
+
@contentBlock.appendChild block
|
43
|
+
|
44
|
+
render: ->
|
45
|
+
this.el
|
46
|
+
|
@@ -5,15 +5,6 @@ class OverlayMe.Overlays.ImagesManagementDiv extends Backbone.View
|
|
5
5
|
|
6
6
|
initialize: ->
|
7
7
|
$o(@el).append @make 'legend', {}, 'Overlaying images'
|
8
|
-
@controlBlock = @make 'div', { class: 'controls' }
|
9
|
-
$o(@el).append @controlBlock
|
10
|
-
|
11
|
-
@controlBlock.appendChild @checkAllbox()
|
12
|
-
check_all_label = @make 'label', {}, 'All/None'
|
13
|
-
$o(check_all_label).bind 'click', =>
|
14
|
-
$o(@checkAllBox).trigger 'click'
|
15
|
-
@controlBlock.appendChild check_all_label
|
16
|
-
|
17
8
|
@overlaysListBlock = @make 'div', { class: 'overlays-list' }
|
18
9
|
$o(@el).append @overlaysListBlock
|
19
10
|
|
@@ -43,24 +34,6 @@ class OverlayMe.Overlays.ImagesManagementDiv extends Backbone.View
|
|
43
34
|
OverlayMe.dyn_manager.addImage @image_url_input.value
|
44
35
|
@image_url_input.value = ''
|
45
36
|
|
46
|
-
checkAllbox: ->
|
47
|
-
@checkAllBox = @make 'input', { type: "checkbox", class: 'check-all' }
|
48
|
-
$o(@checkAllBox).bind 'change', (event) =>
|
49
|
-
@checkAll()
|
50
|
-
@checkAllBox
|
51
|
-
|
52
|
-
checkAll: ->
|
53
|
-
checkbox_state = @checkAllBox.checked
|
54
|
-
for checkbox in $o('.overlay-image-block input[type=checkbox]')
|
55
|
-
if checkbox.checked != checkbox_state
|
56
|
-
$o(checkbox).trigger 'click'
|
57
|
-
@saveState()
|
58
|
-
|
59
|
-
# adding some retention (or not)
|
60
|
-
saveState: ->
|
61
|
-
# localStorage.setItem(@id, JSON.stringify({
|
62
|
-
# }))
|
63
|
-
|
64
37
|
render: ->
|
65
38
|
this.el
|
66
39
|
|
@@ -2,6 +2,7 @@
|
|
2
2
|
#= require 'menu_item'
|
3
3
|
#= require 'overlays/init'
|
4
4
|
#= require 'overlays/image'
|
5
|
+
#= require 'overlays/images_directory'
|
5
6
|
#= require 'overlays/dynamic_images_mngmt'
|
6
7
|
#= require 'overlays/content_div_mngmt'
|
7
8
|
#= require 'overlays/images_mngt_div'
|
@@ -42,8 +43,45 @@ if OverlayMe.mustLoad()
|
|
42
43
|
if data.length == 0 # in case all is empty (default for newcomers)
|
43
44
|
OverlayMe.loadDefaultImage()
|
44
45
|
else
|
45
|
-
|
46
|
-
OverlayMe.images_management_div.append new OverlayMe.Overlays.Image(img_path).render()
|
46
|
+
buildTree data
|
47
47
|
error: ->
|
48
48
|
OverlayMe.loadDefaultImage()
|
49
49
|
|
50
|
+
files_tree = {}
|
51
|
+
buildTree = (data) ->
|
52
|
+
$o.each data, (index, img_path) ->
|
53
|
+
bits = img_path.split('/')
|
54
|
+
position = files_tree
|
55
|
+
parent_path = '/'
|
56
|
+
while bits.length > 0
|
57
|
+
bit = bits[0]
|
58
|
+
bits = bits.slice(1)
|
59
|
+
continue if bit == ""
|
60
|
+
parent_path += bit + '/'
|
61
|
+
if position[bit] == undefined
|
62
|
+
if bits.length > 0
|
63
|
+
position[bit] = { parent_path: parent_path }
|
64
|
+
else
|
65
|
+
position['files'] = [] if position['files'] == undefined
|
66
|
+
position['files'].push bit
|
67
|
+
position = position[bit]
|
68
|
+
files_tree = shiftTofiles(files_tree)
|
69
|
+
displayTree(OverlayMe.images_management_div, files_tree)
|
70
|
+
|
71
|
+
shiftTofiles = (tree) ->
|
72
|
+
return tree if tree.files
|
73
|
+
keys = Object.keys(tree)
|
74
|
+
return tree if keys.length > 2 # parent_path + sub_dir
|
75
|
+
keys = _.without(keys, 'parent_path')
|
76
|
+
shiftTofiles(tree[keys[0]])
|
77
|
+
|
78
|
+
displayTree = (parent, tree) ->
|
79
|
+
for dir in Object.keys(tree)
|
80
|
+
continue if dir == 'files' || dir == 'parent_path'
|
81
|
+
sub_dir = new OverlayMe.Overlays.ImagesDirectory(dir)
|
82
|
+
parent.append sub_dir.render()
|
83
|
+
displayTree(sub_dir, tree[dir])
|
84
|
+
if tree.files
|
85
|
+
for img in tree.files
|
86
|
+
parent.append new OverlayMe.Overlays.Image(tree.parent_path+img, { parent_path: tree.parent_path }).render()
|
87
|
+
|
data/lib/overlay_me/version.rb
CHANGED
data/lib/overlay_me.rb
CHANGED
@@ -7,7 +7,7 @@ module OverlayMe
|
|
7
7
|
class App
|
8
8
|
def self.call(env)
|
9
9
|
Dir.chdir OverlayMe.root_dir if Dir[OverlayMe.root_dir]
|
10
|
-
images_urls = Dir[ OverlayMe.overlays_directory + '
|
10
|
+
images_urls = Dir[ OverlayMe.overlays_directory + '/**/*.*' ].map{|path| '/'+path}
|
11
11
|
[200, {"Content-Type" => "text/html"}, images_urls.to_json]
|
12
12
|
end
|
13
13
|
end
|
data/overlay_me.css
CHANGED
@@ -50,14 +50,14 @@ button {
|
|
50
50
|
vertical-align: baseline;
|
51
51
|
}
|
52
52
|
|
53
|
-
/* line
|
53
|
+
/* line 52, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
54
54
|
.menu-item {
|
55
55
|
text-align: left;
|
56
56
|
background-color: #CCC;
|
57
57
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
58
58
|
width: 200px;
|
59
59
|
}
|
60
|
-
/* line
|
60
|
+
/* line 57, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
61
61
|
.menu-item a.collaps-button {
|
62
62
|
cursor: pointer;
|
63
63
|
position: absolute;
|
@@ -68,16 +68,16 @@ button {
|
|
68
68
|
border: none;
|
69
69
|
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAJCAYAAADpeqZqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpivHDhQujz589TmZiYvjMQAP/+/eOQkZGZyfD//38ZIL77nzhwG4ilQJpA2BiIPxHQ8BGIDUHqYZpAOIWApiSYWmRNIDfPxaYaKD4bWR2KJiDmA+KzaHrOQMVxagJhfSD+ALXhA5TPQEgTCCcD8V+gpmRs8rg0MQI1eANpJmzyAAEGAKD/bax/HrzbAAAAAElFTkSuQmCC) no-repeat center 3px;
|
70
70
|
}
|
71
|
-
/* line
|
71
|
+
/* line 66, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
72
72
|
.menu-item a.collaps-button span {
|
73
73
|
display: none;
|
74
74
|
color: yellow;
|
75
75
|
}
|
76
|
-
/* line
|
76
|
+
/* line 69, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
77
77
|
.menu-item a.collaps-button span:hover {
|
78
78
|
color: yellow;
|
79
79
|
}
|
80
|
-
/* line
|
80
|
+
/* line 74, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
81
81
|
.menu-item label.title {
|
82
82
|
padding-left: 20px;
|
83
83
|
color: white;
|
@@ -87,21 +87,21 @@ button {
|
|
87
87
|
font-size: 14px;
|
88
88
|
background: none;
|
89
89
|
}
|
90
|
-
/* line
|
90
|
+
/* line 84, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
91
91
|
.menu-item.collapsed .item-content {
|
92
92
|
display: none;
|
93
93
|
}
|
94
|
-
/* line
|
94
|
+
/* line 85, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
95
95
|
.menu-item.collapsed a.collaps-button {
|
96
96
|
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANCAYAAAB7AEQGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKtJREFUeNpiuHz5ctD///+lgJgBF2Z68uRJOgMDw0EgNmTAAZiA4AeQVgHiA0CchFUREpsPiOcCjZ8NZWNVBAaMjIwpQGofEOvjVAQFxkATDwJxMkgNCy7HAk3kB1KzgApf4DIJBD4CcRpQ8TZcJp2D+vQiVjcBjZ8HpBxhCtAVfQbiVKDxIMd+QtbI8u/fP04gfQ+Iw4D4LDa7WSQlJUGBdxyIn+DyAUCAAQDxsEXD9kreLQAAAABJRU5ErkJggg==) no-repeat center top;
|
97
97
|
}
|
98
98
|
|
99
|
-
/* line
|
99
|
+
/* line 93, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
100
100
|
#overlay_panel .content-mgnt-block {
|
101
101
|
position: relative;
|
102
102
|
line-height: 10px;
|
103
103
|
}
|
104
|
-
/* line
|
104
|
+
/* line 96, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
105
105
|
#overlay_panel .content-mgnt-block .unicorns {
|
106
106
|
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAklJREFUeNqEks1u00AQx3d27V3HdezY+SBpkKBFoBZxQEKIOwfegBs3rtwoPABvw3sgceKAuFWtUBBSaT6ctvHXer2zOElTVaoKI/2lWWl/O//ZGZi8jgSPxFv3JX93+CJvfJ4/09++vzH6S/SVH59+IohH5JagxBilC4zNHHigSLvtTCPRnLYxtB4b29ojGglBc1PG1PAyLfUxzszIX7B86MwLP/iVkS566DWeEgo+gfrWdV1VJoZgpUdqon84p1a+wxI1CA+l3Z+yqu89N5a9v65EVgK8TOpgH/edZS6JAZ97/AkfKjF3pTpRkUrlfQFnoGlaHNc2F0sAzPIFWIl9WMEGTYUZJfyB12ED2l9UE6bkDAcoy+0QznXJ8nIEBosNuIb3xLoBNIlRhNlc7Ho9dDA6l1OC8gKGUGEnhAyBFmpSu8zqf9jAzqZ/RIUxFDR0G2LQ6ueIwUzGFIuE95livS4p2RaUVQYas/p+xQ4eiavPqO2nKPUcCrvlCR50uqlirXGeiUWeua4uva6vebNDwHIJErq2fW0Mdfcxpjqmqe37Nnd73US64Ummt8a5bCpZhh5UrZanfS9gBw/5tcorGSz1TJ/rCTljoomOGDTLsh+NUz8Ypdz/ndBwlpFeIdn7Hevm9miD9QNxdVGNSQzGSR3ao6Duekm23fqT3Al/Ju3waAEnr1xyayxnymhgNcU9Z7sx5LtWA+6bquxXaeLr5J+wMZebRQwDiwW2x0O7I1y7ZxOrS+X/4Y0DXJ0pANhgM4sKRv4KMACD6UDbVgTzkgAAAABJRU5ErkJggg==) no-repeat center center;
|
107
107
|
width: 15px;
|
@@ -110,12 +110,12 @@ button {
|
|
110
110
|
right: 0;
|
111
111
|
top: 6px;
|
112
112
|
}
|
113
|
-
/* line
|
113
|
+
/* line 107, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
114
114
|
#overlay_panel label {
|
115
115
|
margin: 0;
|
116
116
|
font-size: 14px;
|
117
117
|
}
|
118
|
-
/* line
|
118
|
+
/* line 112, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
119
119
|
#overlay_panel .content-mgnt-block, #overlay_panel #images_mgnt {
|
120
120
|
text-align: left;
|
121
121
|
padding: 3px 4px;
|
@@ -127,52 +127,63 @@ button {
|
|
127
127
|
-o-border-radius: 5px;
|
128
128
|
border-radius: 5px;
|
129
129
|
}
|
130
|
-
/* line
|
130
|
+
/* line 119, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
131
131
|
#overlay_panel .content-mgnt-block legend, #overlay_panel #images_mgnt legend {
|
132
132
|
font-size: 10px;
|
133
133
|
padding: 0 3px;
|
134
134
|
margin-left: 10px;
|
135
135
|
}
|
136
|
-
/* line
|
136
|
+
/* line 126, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
137
137
|
#overlay_panel .slider-block {
|
138
138
|
display: block;
|
139
139
|
}
|
140
|
-
/* line
|
140
|
+
/* line 128, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
141
141
|
#overlay_panel .slider-block label {
|
142
|
-
font-size:
|
142
|
+
font-size: 60%;
|
143
143
|
margin: 0 5px 0 0;
|
144
144
|
vertical-align: top;
|
145
145
|
}
|
146
|
-
/* line
|
146
|
+
/* line 133, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
147
147
|
#overlay_panel .slider-block input[type=range] {
|
148
148
|
margin: 0;
|
149
|
+
height: 14px;
|
150
|
+
width: 120px;
|
149
151
|
}
|
150
|
-
/* line
|
152
|
+
/* line 140, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
151
153
|
#overlay_panel #images_mgnt {
|
152
154
|
width: 186px;
|
153
155
|
}
|
154
|
-
/* line
|
156
|
+
/* line 144, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
155
157
|
#overlay_panel #images_mgnt .controls {
|
156
|
-
padding-bottom:
|
158
|
+
padding-bottom: 2px;
|
157
159
|
}
|
158
|
-
/* line
|
160
|
+
/* line 146, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
159
161
|
#overlay_panel #images_mgnt .controls label {
|
160
162
|
margin-right: 5px;
|
161
163
|
}
|
162
|
-
/* line
|
164
|
+
/* line 151, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
165
|
+
#overlay_panel #images_mgnt .overlay-image-block, #overlay_panel #images_mgnt .images_dir {
|
166
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
167
|
+
border-right: none;
|
168
|
+
border-left: none;
|
169
|
+
padding-top: 2px;
|
170
|
+
}
|
171
|
+
/* line 156, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
172
|
+
#overlay_panel #images_mgnt .overlay-image-block:first-child, #overlay_panel #images_mgnt .images_dir:first-child {
|
173
|
+
border-top: none;
|
174
|
+
padding-top: 0;
|
175
|
+
}
|
176
|
+
/* line 162, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
163
177
|
#overlay_panel #images_mgnt .overlay-image-block {
|
164
178
|
text-align: left;
|
165
179
|
position: relative;
|
166
180
|
width: 186px;
|
167
|
-
border: 1px solid rgba(255, 255, 255, 0.2);
|
168
|
-
border-right: none;
|
169
|
-
border-left: none;
|
170
181
|
}
|
171
|
-
/* line
|
182
|
+
/* line 166, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
172
183
|
#overlay_panel #images_mgnt .overlay-image-block.hovered {
|
173
184
|
background-color: rgba(255, 255, 0, 0.5);
|
174
185
|
}
|
175
|
-
/* line
|
186
|
+
/* line 169, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
176
187
|
#overlay_panel #images_mgnt .overlay-image-block .del-button {
|
177
188
|
position: absolute;
|
178
189
|
right: 0;
|
@@ -187,73 +198,107 @@ button {
|
|
187
198
|
font-weight: bold;
|
188
199
|
padding: 0 3px;
|
189
200
|
}
|
190
|
-
/* line
|
201
|
+
/* line 185, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
202
|
+
#overlay_panel #images_mgnt .images_dir {
|
203
|
+
line-height: 18px;
|
204
|
+
}
|
205
|
+
/* line 187, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
206
|
+
#overlay_panel #images_mgnt .images_dir .sub-block {
|
207
|
+
border-left: 2px white solid;
|
208
|
+
padding-left: 2px;
|
209
|
+
margin-left: 5px;
|
210
|
+
}
|
211
|
+
/* line 192, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
212
|
+
#overlay_panel #images_mgnt .images_dir > input[type=checkbox] {
|
213
|
+
-webkit-appearance: none;
|
214
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAANCAYAAAB7AEQGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKtJREFUeNpiuHz5ctD///+lgJgBF2Z68uRJOgMDw0EgNmTAAZiA4AeQVgHiA0CchFUREpsPiOcCjZ8NZWNVBAaMjIwpQGofEOvjVAQFxkATDwJxMkgNCy7HAk3kB1KzgApf4DIJBD4CcRpQ8TZcJp2D+vQiVjcBjZ8HpBxhCtAVfQbiVKDxIMd+QtbI8u/fP04gfQ+Iw4D4LDa7WSQlJUGBdxyIn+DyAUCAAQDxsEXD9kreLQAAAABJRU5ErkJggg==) no-repeat center center;
|
215
|
+
display: inline-block;
|
216
|
+
width: 13px;
|
217
|
+
height: 13px;
|
218
|
+
}
|
219
|
+
/* line 198, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
220
|
+
#overlay_panel #images_mgnt .images_dir > input[type=checkbox]:checked {
|
221
|
+
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAJCAYAAADpeqZqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpivHDhQujz589TmZiYvjMQAP/+/eOQkZGZyfD//38ZIL77nzhwG4ilQJpA2BiIPxHQ8BGIDUHqYZpAOIWApiSYWmRNIDfPxaYaKD4bWR2KJiDmA+KzaHrOQMVxagJhfSD+ALXhA5TPQEgTCCcD8V+gpmRs8rg0MQI1eANpJmzyAAEGAKD/bax/HrzbAAAAAElFTkSuQmCC) no-repeat center center;
|
222
|
+
width: 13px;
|
223
|
+
height: 13px;
|
224
|
+
margin: -2px 5px 0 0;
|
225
|
+
}
|
226
|
+
/* line 207, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
227
|
+
#overlay_panel #images_mgnt .dynamic-adds {
|
228
|
+
padding-top: 4px;
|
229
|
+
}
|
230
|
+
/* line 209, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
191
231
|
#overlay_panel #images_mgnt .dynamic-adds label {
|
192
232
|
font-size: 75%;
|
193
233
|
}
|
194
|
-
/* line
|
234
|
+
/* line 212, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
195
235
|
#overlay_panel #images_mgnt .dynamic-adds input {
|
196
236
|
width: 95px;
|
197
237
|
font-size: 10px;
|
238
|
+
margin-left: 2px;
|
198
239
|
}
|
199
|
-
/* line
|
240
|
+
/* line 217, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
241
|
+
#overlay_panel #images_mgnt .dynamic-adds button {
|
242
|
+
font-size: 10px;
|
243
|
+
}
|
244
|
+
/* line 223, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
200
245
|
#overlay_panel input[type=checkbox], #overlay_panel label, #overlay_panel #contentSlider, #overlay_panel .zindex-switch {
|
201
246
|
display: inline;
|
202
247
|
}
|
203
|
-
/* line
|
248
|
+
/* line 227, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
204
249
|
#overlay_panel input[type=checkbox] {
|
205
250
|
vertical-align: middle;
|
206
251
|
margin: -3px 5px 0 0;
|
207
252
|
}
|
208
253
|
|
209
|
-
/* line
|
254
|
+
/* line 234, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
210
255
|
#overlay_me_images_container {
|
211
256
|
position: absolute;
|
212
257
|
z-index: 4;
|
213
258
|
top: 0;
|
214
259
|
left: 0;
|
215
260
|
}
|
216
|
-
/* line
|
261
|
+
/* line 239, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
217
262
|
#overlay_me_images_container div {
|
218
263
|
position: absolute;
|
219
264
|
}
|
220
|
-
/* line
|
265
|
+
/* line 241, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
221
266
|
#overlay_me_images_container div.highlight {
|
222
267
|
border: 2px solid red;
|
223
268
|
margin-top: -2px;
|
224
269
|
margin-left: -2px;
|
225
270
|
}
|
226
|
-
/* line
|
271
|
+
/* line 246, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
227
272
|
#overlay_me_images_container div:hover {
|
228
273
|
cursor: move;
|
229
274
|
}
|
230
|
-
/* line
|
275
|
+
/* line 250, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
231
276
|
#overlay_me_images_container img {
|
232
277
|
position: absolute;
|
233
278
|
top: 0;
|
234
279
|
left: 0;
|
235
280
|
}
|
236
281
|
|
237
|
-
/* line
|
282
|
+
/* line 258, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
238
283
|
#overlay_me_menu.collapsed .drag-me, #overlay_me_menu.collapsed .menu-item {
|
239
284
|
width: 25px;
|
240
285
|
}
|
241
|
-
/* line
|
286
|
+
/* line 261, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
242
287
|
#overlay_me_menu.collapsed .drag-me {
|
243
288
|
height: 10px;
|
244
289
|
overflow: hidden;
|
245
290
|
}
|
246
|
-
/* line
|
291
|
+
/* line 265, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
247
292
|
#overlay_me_menu.collapsed button {
|
248
293
|
height: 10px;
|
249
294
|
overflow: hidden;
|
250
295
|
}
|
251
|
-
/* line
|
296
|
+
/* line 269, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
252
297
|
#overlay_me_menu.collapsed .overlay-image-block {
|
253
298
|
height: 14px;
|
254
299
|
margin-top: 3px;
|
255
300
|
}
|
256
|
-
/* line
|
301
|
+
/* line 273, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
|
257
302
|
#overlay_me_menu.collapsed .overlay-image-block label, #overlay_me_menu.collapsed #content_div_management_block, #overlay_me_menu.collapsed .controls, #overlay_me_menu.collapsed input[type=range], #overlay_me_menu.collapsed #overlay_panel #contentSlider, #overlay_me_menu.collapsed legend, #overlay_me_menu.collapsed .dynamic-adds, #overlay_me_menu.collapsed .unicorns, #overlay_me_menu.collapsed button.reset, #overlay_me_menu.collapsed button.hide, #overlay_me_menu.collapsed button.del-button {
|
258
303
|
display: none;
|
259
304
|
}
|