sibu 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 187225523e44d7872b43460ec38fa2fb60279279
4
- data.tar.gz: 0b666532cb850f434cfe870f97fbe185f75b4f92
3
+ metadata.gz: ee29b0c95ac6340e5d0a42975ba4c699b19a413d
4
+ data.tar.gz: d25ad5770ab28ddd5dea0424506449a70ac74d12
5
5
  SHA512:
6
- metadata.gz: 44ebbdfbceaa354891598646aed2e6fcaa61b157978dd1e151c87ef39413a4cdd3389abf1faacf3e6ea1d805ef5b1e3ef7fe2dd41da3b9263b5cb8879da69a3f
7
- data.tar.gz: 3617c7fdbbac46f19f70200e2bba5e13ea656a9e0f65bc97132c07a862c356f6b59d31fe8529a5b231bb119bafc9763ce0c5bb5f74130f3e16e6bd7a5459261f
6
+ metadata.gz: 8fe798120905a4ce03a06b170ac5568cc86aab93056d7e04578b3aa9171492a1da52340b98384318c107f20724655250f0144dc5ffef5833776fd4eba0772c77
7
+ data.tar.gz: 16c4d3f1f5048fa095813055ea968b9fccab205cd0333a12ccda5fb6a49645df26372305a4fdf989ea808f77f95e5c7a09d5b0627d2cb97ad11cf0bbfa824d3f
@@ -70,11 +70,11 @@ module Sibu
70
70
  def edit_element
71
71
  @content_type = params[:content_type]
72
72
  @links = @site.pages_path_by_id if @site
73
- @element = @entity.element(@section_id, @element_id)
73
+ @element = @entity.element(*@section_id.split('|'), @element_id)
74
74
  end
75
75
 
76
76
  def update_element
77
- @updated = @entity.update_element(@section_id, element_params)
77
+ @updated = @entity.update_element(*@section_id.split('|'), element_params)
78
78
  end
79
79
 
80
80
  def edit_section
@@ -36,9 +36,9 @@ module Sibu
36
36
 
37
37
  def site_section(id, sub_id = nil, &block)
38
38
  @sb_entity = @site
39
- @sb_section = sub_id ? [id, sub_id] : id
39
+ @sb_section = sub_id ? [id, sub_id] : [id]
40
40
  if block_given?
41
- "<sb-edit data-id='#{id}' data-entity='site'>#{capture(self, &block)}</sb-edit>".html_safe
41
+ "<sb-edit data-id='#{@sb_section.join('|')}' data-entity='site'>#{capture(self, &block)}</sb-edit>".html_safe
42
42
  else
43
43
  self
44
44
  end
@@ -46,8 +46,8 @@ module Sibu
46
46
 
47
47
  def section(id, sub_id = nil, &block)
48
48
  @sb_entity = @page
49
- @sb_section = sub_id ? [id, sub_id] : id
50
- "<sb-edit data-id='#{id}' data-entity='page'>#{capture(self, &block)}</sb-edit>".html_safe
49
+ @sb_section = sub_id ? [id, sub_id] : [id]
50
+ "<sb-edit data-id='#{@sb_section.join('|')}' data-entity='page'>#{capture(self, &block)}</sb-edit>".html_safe
51
51
  end
52
52
 
53
53
  def site_sections(id)
@@ -64,13 +64,13 @@ module Sibu
64
64
 
65
65
  def each
66
66
  # Todo : init array when empty
67
- @sb_entity.section(@sb_section).each do |elt|
67
+ @sb_entity.section(*@sb_section).each do |elt|
68
68
  yield(elt.except("elements"), elt["elements"])
69
69
  end
70
70
  end
71
71
 
72
72
  def each_elements
73
- @sb_entity.section(@sb_section).each do |elt|
73
+ @sb_entity.section(*@sb_section).each do |elt|
74
74
  yield(*elt["elements"])
75
75
  end
76
76
  end
@@ -20,22 +20,14 @@ module Sibu
20
20
  elsif ids.length == 2
21
21
  subsection(*ids)
22
22
  end
23
- # s = section(ids[0])
24
- # sub = s.select {|elt| elt["id"] == ids[1]}
25
- # unless sub
26
- # sub = {"id" => ids[1], "elements" => []}
27
- # self.sections[ids[0]] << sub
28
- # save
29
- # end
30
- # elts = sub
31
- # end
32
- # elts.blank? ? {"default" => {}} : Hash[elts.map {|e| [e["id"], e.except("id")]}]
33
23
  end
34
24
 
35
25
  def subsection(id, subid)
36
26
  s = section(id)
37
- sub = s.select {|elt| elt["id"] == subid}.first
38
- unless sub
27
+ sub_idx = s.index {|elt| elt["id"] == subid}
28
+ if sub_idx
29
+ sub = s[sub_idx]
30
+ else
39
31
  sub = {"id" => subid, "elements" => []}
40
32
  self.sections[id] << sub
41
33
  save
@@ -43,21 +35,23 @@ module Sibu
43
35
  sub["elements"]
44
36
  end
45
37
 
46
- def element(section_id, element_id)
47
- elt = section(section_id).select {|e| e["id"] == element_id}.first
38
+ def element(*ids, element_id)
39
+ elt = section(*ids).select {|e| e["id"] == element_id}.first
48
40
  elt || {}
49
41
  end
50
42
 
51
43
  def update_section(*ids, value)
52
44
  end
53
45
 
54
- def update_element(section_id, value)
46
+ def update_element(*ids, value)
55
47
  sanitize_value(value)
56
- if self.sections[section_id].any? {|elt| elt["id"] == value["id"]}
57
- self.sections[section_id].map! {|elt| elt["id"] == value["id"] ? value : elt}
48
+ parent_section = section(*ids)
49
+ if parent_section.any? {|elt| elt["id"] == value["id"]}
50
+ parent_section.map! {|elt| elt["id"] == value["id"] ? value : elt}
58
51
  else
59
- self.sections[section_id] << value
52
+ parent_section << value
60
53
  end
54
+
61
55
  value if save
62
56
  end
63
57
 
@@ -2,9 +2,9 @@
2
2
  <html>
3
3
  <head>
4
4
  <title><%= conf[:title] %></title>
5
- <%= stylesheet_link_tag conf[:stylesheet], media: 'all' %>
5
+ <%= stylesheet_link_tag "#{conf[:stylesheet]}-edit", media: 'all' %>
6
6
  <%= stylesheet_link_tag 'sibu/sibu', media: 'all' %>
7
- <%= javascript_include_tag conf[:javascript] %>
7
+ <%= javascript_include_tag "#{conf[:javascript]}-edit" %>
8
8
  <%= javascript_include_tag 'sibu/sibu' %>
9
9
  <% if @site %>
10
10
  <%= stylesheet_link_tag @site.site_template.path, media: "all" %>
@@ -17,20 +17,22 @@
17
17
  <% unless conf[panel].blank? %>
18
18
  <div class="<%= panel == :content_panel ? 'sibu_content_panel' : 'sibu_panel' %>">
19
19
  <%= render conf[panel] %>
20
+ <% if panel == :content_panel %>
21
+ <div id="edit_panel" class="sibu_panel sibu_view"></div>
22
+ <div id="edit_mode_overlay" class="sibu_panel sibu_view">
23
+ <div class="overlay_top"></div>
24
+ <div class="overlay_right"></div>
25
+ <div class="overlay_left"></div>
26
+ <div class="overlay_bottom"></div>
27
+ <div class="edit_mode_actions">
28
+ <p>Modifier la section</p>
29
+ <button onclick="cancelEditMode()">Fermer</button>
30
+ </div>
31
+ </div>
32
+ <% end %>
20
33
  </div>
21
34
  <% end %>
22
35
  <% end %>
23
- <div id="edit_panel" class="sibu_view"></div>
24
- <div id="edit_mode_overlay">
25
- <div class="overlay_top"></div>
26
- <div class="overlay_right"></div>
27
- <div class="overlay_left"></div>
28
- <div class="overlay_bottom"></div>
29
- <div class="edit_mode_actions">
30
- <button onclick="cancelEditMode()">Fermer</button>
31
- </div>
32
- </div>
33
-
34
36
  <script>
35
37
  const TEXT_TAGS = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'span'];
36
38
  const IMG_TAGS = ['img'];
@@ -44,12 +46,14 @@
44
46
  var offset = elt.offset();
45
47
  var width = elt.width(), height = elt.height();
46
48
  var overlay = $("#edit_mode_overlay");
47
- overlay.find(".overlay_top").css("height", offset.top);
48
- overlay.find(".overlay_bottom").css("top", offset.top + height);
49
- overlay.find(".overlay_left").css({"height": height, "width": offset.left, "top": offset.top});
50
- overlay.find(".overlay_right").css({"height": height, "left": offset.left + width, "top": offset.top});
51
- overlay.find(".edit_mode_actions").css({"top": (offset.top <= 40 ? (offset.top + height) : (offset.top - 40)), left: offset.left, width: width});
49
+ var yPosition = offset.top - $(".sibu_content_panel").offset().top;
50
+ overlay.find(".overlay_top").css("height", yPosition);
51
+ overlay.find(".overlay_bottom").css("top", yPosition + height);
52
+ overlay.find(".overlay_left").css({"height": height, "width": offset.left, "top": yPosition});
53
+ overlay.find(".overlay_right").css({"height": height, "left": offset.left + width, "top": yPosition});
54
+ overlay.find(".edit_mode_actions").css({"top": (yPosition <= 40 ? (yPosition + height) : (yPosition - 40)), left: offset.left, width: width});
52
55
  overlay.show();
56
+ window.scrollTo(0, yPosition);
53
57
  initInnerOverlays(elt);
54
58
  elt.remove();
55
59
  }
@@ -1,8 +1,9 @@
1
1
  <h2>Modifier l'image</h2>
2
2
  <div id="edit_msg"></div>
3
- <div class="sibu_form">
3
+ <div class="sibu_edit_form">
4
4
  <%= form_tag(update_element_site_page_path(@site.id, @page.id), method: :patch, remote: true) do |f| %>
5
- <div class="sibu_select_images">
5
+ <div class="sibu_select_images sibu_field">
6
+ <p>Sélectionnez ou <%= link_to 'téléchargez', new_site_image_path(@site.id) %> une image</p>
6
7
  <% @site.images.each do |image| %>
7
8
  <div class="sibu_image">
8
9
  <%= image_tag image.file_url(:small) %>
@@ -8,6 +8,7 @@ editPanel.html("");
8
8
  <% elsif @content_type == 'media' %>
9
9
  editPanel.html("<%= j(render 'media_edit_panel') %>");
10
10
  editPanel.find(".sibu_image img").click(function() {
11
+ $(this).toggleClass('selected');
11
12
  $("#element_src").val($(this).attr("src"));
12
13
  });
13
14
  <% elsif @content_type == 'link' %>
@@ -10,7 +10,7 @@
10
10
  <th>Modèle</th>
11
11
  <th>Chemin d'accès</th>
12
12
  <th>Mise à jour</th>
13
- <th></th>
13
+ <th colspan="2"></th>
14
14
  </tr>
15
15
  </thead>
16
16
  <tbody>
@@ -20,7 +20,7 @@
20
20
  <td><%= p.template %></td>
21
21
  <td><%= p.path %></td>
22
22
  <td><%= l p.updated_at %></td>
23
- <td>
23
+ <td colspan="2">
24
24
  <%= link_to 'Voir', site_page_path(@site.id, p), target: '_blank' %> |
25
25
  <%= link_to 'Editer', site_page_edit_content_path(site_id: @site.id, page_id: p.id) %> |
26
26
  <%= link_to 'Modifier', edit_site_page_path(@site.id, p) %> |
@@ -9,7 +9,7 @@
9
9
  <th>Nom</th>
10
10
  <th>Modèle</th>
11
11
  <th>Mise à jour</th>
12
- <th></th>
12
+ <th colspan="2"></th>
13
13
  </tr>
14
14
  </thead>
15
15
  <tbody>
@@ -18,9 +18,9 @@
18
18
  <td><%= s.name %></td>
19
19
  <td><%= s.site_template.name if s.site_template %></td>
20
20
  <td><%= l s.updated_at %></td>
21
- <td>
22
- <%= link_to 'Voir', site_path(s), target: '_blank' %> |
21
+ <td colspan="2">
23
22
  <%= link_to 'Pages', site_pages_path(s) %> |
23
+ <%= link_to 'Images', site_images_path(s) %> |
24
24
  <%= link_to 'Modifier', edit_site_path(s) %> |
25
25
  <%= link_to 'Supprimer', site_path(s), method: :delete, data: {confirm: "Supprimer le site \"#{s.name}\" ?"} %>
26
26
  </td>
@@ -1,3 +1,3 @@
1
1
  module Sibu
2
- VERSION = '0.1.8'
2
+ VERSION = '0.1.9'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sibu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Baptiste Vilain