overlay_me 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,4 +35,5 @@ class OverlayMe.MenuClass extends OverlayMe.Draggable
35
35
 
36
36
 
37
37
  # create only 1 menu
38
- OverlayMe.menu = new OverlayMe.MenuClass() unless OverlayMe.menu_box
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
- return $o(@el).css('display') != 'none'
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
- $o(@el).css { display: 'none' }
9
+ @hide()
9
10
  else
10
- $o(@el).css { display: default_display_type }
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 = { destroyable: false }) ->
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
- OverlayMe.images_container = new OverlayMe.Overlays.ImagesContainer() unless OverlayMe.images_container
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}", OverlayMe.images_container.el).length > 0
19
- $o(OverlayMe.images_container.el).append @image()
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', (event) =>
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.ImagesContainer extends Backbone.View
4
+ class OverlayMe.Overlays.ContainerItself extends Backbone.View
5
5
 
6
- id: 'overlay_me_images_container'
6
+ tagName: 'div'
7
7
  css_attributes_to_save: ['display']
8
8
 
9
- initialize: ->
10
- container = $o('#overlay_me_images_container')
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 'overlay_me:toggle_all_display', =>
17
- @toggleDisplay()
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
- # extending few mixins - thx Derick - http://stackoverflow.com/questions/7853731/proper-way-of-doing-view-mixins-in-backbone
20
- _.extend OverlayMe.Overlays.ImagesContainer.prototype, OverlayMe.Mixin.Storable
21
- _.extend OverlayMe.Overlays.ImagesContainer.prototype, OverlayMe.Mixin.Hideable
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
- $o.each data, (index, img_path) ->
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
+
@@ -1,7 +1,7 @@
1
1
  module OverlayMe
2
2
  MAJOR_VERSION = 0
3
- MINOR_VERSION = 12
4
- PATCH_LEVEL = 1
3
+ MINOR_VERSION = 13
4
+ PATCH_LEVEL = 0
5
5
 
6
6
  VERSION = [MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL].join '.'
7
7
  end
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 + '/*.*' ].map{|path| '/'+path}
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 49, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 54, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 63, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 66, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 71, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 81, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 82, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 90, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 93, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 104, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 109, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 116, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 123, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 125, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
140
+ /* line 128, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
141
141
  #overlay_panel .slider-block label {
142
- font-size: 70%;
142
+ font-size: 60%;
143
143
  margin: 0 5px 0 0;
144
144
  vertical-align: top;
145
145
  }
146
- /* line 130, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 135, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 139, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
156
+ /* line 144, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
155
157
  #overlay_panel #images_mgnt .controls {
156
- padding-bottom: 5px;
158
+ padding-bottom: 2px;
157
159
  }
158
- /* line 141, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 146, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 153, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 156, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 173, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 176, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 183, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 187, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 194, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 199, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 201, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 206, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 210, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 218, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 221, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 225, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 229, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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 233, /Users/ffmini/Programming/overlay_me/stylesheets/overlay_me.css.scss */
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
  }