sibu 0.1.8 → 0.1.9

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.
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