sibu 0.1.13 → 0.1.14

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: 55c6e2a83ee5222226abadce0270913620fc0be7
4
- data.tar.gz: 838423c80a797ef3c8a5f4022d94f23b6c8e880a
3
+ metadata.gz: c61f2f2905326da60f6cd60d7a4288fda6c788b4
4
+ data.tar.gz: ff7bb3dc20761e3919071963598eca29ad12fb61
5
5
  SHA512:
6
- metadata.gz: 8e638a83f6b58bafa9bf0cd6a17850586f538f1dd3b4909849924ba47687bc6970bb29982768f4f2d20d5468c32094953a4562fea2a132f86c2c075c3e2c48e0
7
- data.tar.gz: a596fe89724f5f320f239ba844538d6e9556e14a67059b18af7de73c13c1c4fa1a335399721a9b97ec252650d36f97aa985a88d938a66ef8006e2377ab259a5a
6
+ metadata.gz: a0d470dac9b1215dd9d27e59b21e278c40beae5abbaed2dde2718348945dd9e42411c1e9ccef307e9cec56de5736cdc90d23684621e2a2574c1ace95861d8c28
7
+ data.tar.gz: 9d7896645eb2ae46714c8f60acf0e379a93738ad159f075a986a79d5ff979e4d4b8f3b792e4628db91b1be897366901913024bf2e25cef084d18c7523d364a10
@@ -7,29 +7,29 @@
7
7
  position: relative
8
8
  }
9
9
 
10
- sb-edit {
11
- position: relative;
12
- display: inherit;
13
- width: 100%;
14
- }
10
+ /*sb-edit {*/
11
+ /*position: relative;*/
12
+ /*display: inherit;*/
13
+ /*width: 100%;*/
14
+ /*}*/
15
15
 
16
- sb-edit div.sb-overlay {
17
- position: absolute;
18
- z-index: 999;
19
- opacity: 0;
20
- background-color: rgba(0, 0, 0, 0.5);
21
- cursor: pointer;
22
- top: 0;
23
- left: 0;
24
- }
16
+ /*sb-edit div.sb-overlay {*/
17
+ /*position: absolute;*/
18
+ /*z-index: 999;*/
19
+ /*opacity: 0;*/
20
+ /*background-color: rgba(0, 0, 0, 0.5);*/
21
+ /*cursor: pointer;*/
22
+ /*top: 0;*/
23
+ /*left: 0;*/
24
+ /*}*/
25
25
 
26
- sb-edit div.sb-overlay a {
27
- display: inline-block;
28
- width: 100%;
29
- height: 100%;
30
- }
26
+ /*sb-edit div.sb-overlay a {*/
27
+ /*display: inline-block;*/
28
+ /*width: 100%;*/
29
+ /*height: 100%;*/
30
+ /*}*/
31
31
 
32
- sb-edit .sb-editable {
32
+ .sb-editable {
33
33
  cursor: pointer;
34
34
  outline: dashed rgba(94, 219, 255, 0.8) 2px;
35
35
  outline-offset: -3px;
@@ -81,6 +81,17 @@ sb-edit .sb-editable {
81
81
  background-color: white;
82
82
  }
83
83
 
84
+ #edit_overlays > * {
85
+ position: absolute;
86
+ z-index: 999;
87
+ background-color: rgba(94, 219, 255, 0.5);
88
+ opacity: 0;
89
+ display: flex;
90
+ justify-content: center;
91
+ align-items: center;
92
+ cursor: pointer;
93
+ }
94
+
84
95
  .trix-button-group--block-tools {
85
96
  display: none !important;
86
97
  }
@@ -72,19 +72,20 @@ module Sibu
72
72
  def edit_element
73
73
  @content_type = params[:content_type]
74
74
  @links = @site.pages_path_by_id if @site
75
- @element = @entity.element(*@section_id.split('|'), @element_id)
75
+ @element = @entity.element(*@section_id.split('|'), *@element_id.split('|'))
76
76
  end
77
77
 
78
78
  def update_element
79
- @updated = @entity.update_element(*@section_id.split('|'), element_params)
79
+ ids = (@section_id.split('|') + @element_id.split('|')).uniq[0...-1]
80
+ @updated = @entity.update_element(*ids, element_params)
80
81
  end
81
82
 
82
83
  def clone_element
83
- @cloned = @entity.clone_element(*@section_id.split('|'), @element_id)
84
+ @cloned = @entity.clone_element(*@section_id.split('|'), *@element_id.split('|'))
84
85
  end
85
86
 
86
87
  def delete_element
87
- @deleted = @entity.delete_element(*@section_id.split('|'), @element_id)
88
+ @deleted = @entity.delete_element(*@section_id.split('|'), *@element_id.split('|'))
88
89
  end
89
90
 
90
91
  def edit_section
@@ -21,7 +21,7 @@ module Sibu
21
21
  define_method(t) do |elt, html_opts = {}|
22
22
  defaults = {"id" => elt.is_a?(Hash) ? elt["id"] : elt, "text" => "Texte à modifier"}
23
23
  content = defaults.merge(elt.is_a?(Hash) ? elt : (select_element(elt) || {}))
24
- html_opts.merge!({class: "sb-#{t} #{html_opts[:class]}", data: {id: elt.is_a?(Hash) ? elt["id"] : elt}}) if action_name != 'show'
24
+ html_opts.merge!({class: "sb-#{t} #{html_opts[:class]}", data: {id: elt_id(elt)}}) if action_name != 'show'
25
25
  content_tag(t, raw(content["text"]).html_safe, html_opts)
26
26
  end
27
27
  end
@@ -100,7 +100,7 @@ module Sibu
100
100
  wrapper = opts.delete(:wrapper)
101
101
  defaults = {"id" => elt.is_a?(Hash) ? elt["id"] : elt, "src" => "/default.jpg"}
102
102
  content = defaults.merge(elt.is_a?(Hash) ? elt : (select_element(elt) || {}))
103
- opts.merge!({class: "sb-img #{opts[:class]}", data: {id: elt.is_a?(Hash) ? elt["id"] : elt}}) if action_name != 'show'
103
+ opts.merge!({class: "sb-img #{opts[:class]}", data: {id: elt_id(elt)}}) if action_name != 'show'
104
104
  wrapper ? content_tag(wrapper, content_tag(:img, nil, content.except("id")), opts) : content_tag(:img, nil, content.except("id").merge(opts))
105
105
  end
106
106
 
@@ -117,31 +117,53 @@ module Sibu
117
117
  end
118
118
  alias site sb_site
119
119
 
120
- def repeat(&block)
121
- ((action_name != 'show' ? "<sb-edit data-id='#{@sb_section}' data-entity='#{@sb_entity == @site ? 'site' : 'page'}'>" : '') +
122
- @sb_entity.section(@sb_section).map {|elt| capture(elt, &block)}.join('') +
123
- (action_name != 'show' ? "</sb-edit>" : '')).html_safe
124
- end
125
-
126
- def secsion(id)
127
- @sb_section = id
128
- if block_given?
129
- if current_action != 'show'
130
- "<sb-edit data-id='#{@sb_section}' data-entity='#{@sb_entity == @site ? 'site' : 'page'}'>#{capture(self, &block)}</sb-edit>".html_safe
131
- else
132
- capture(self, &block)
133
- end
134
- else
135
- self
136
- end
137
- end
120
+ # def repeat(id, tag, html_opts = {}, &block)
121
+ # @sb_section = [id]
122
+ # opts = action_name != 'show' ? html_opts.merge({"data-sb-id" => id, "data-sb-entity" => @sb_entity == @site ? 'site' : 'page'}) : html_opts
123
+ # ((action_name != 'show' ? "<sb-edit data-id='#{@sb_section}' data-entity='#{@sb_entity == @site ? 'site' : 'page'}'>" : '') +
124
+ # @sb_entity.section(@sb_section).map {|elt| capture(elt, &block)}.join('') +
125
+ # (action_name != 'show' ? "</sb-edit>" : '')).html_safe
126
+ # end
138
127
 
139
- def secsions(id)
128
+ # def secsion(id)
129
+ # @sb_section = id
130
+ # if block_given?
131
+ # if current_action != 'show'
132
+ # "<sb-edit data-id='#{@sb_section}' data-entity='#{@sb_entity == @site ? 'site' : 'page'}'>#{capture(self, &block)}</sb-edit>".html_safe
133
+ # else
134
+ # capture(self, &block)
135
+ # end
136
+ # else
137
+ # self
138
+ # end
139
+ # end
140
+ #
141
+ # def secsions(id)
142
+ #
143
+ # end
140
144
 
145
+ def secsion(id, tag, html_opts = {}, &block)
146
+ @sb_section = [id]
147
+ opts = action_name != 'show' ? html_opts.merge({"data-sb-id" => id, "data-sb-entity" => @sb_entity == @site ? 'site' : 'page'}) : html_opts
148
+ content_tag(tag, capture(self, &block), opts)
141
149
  end
142
150
 
143
- def elts
151
+ def secsions(id, tag, html_opts = {}, &block)
152
+ (@sb_entity.section(id).map.with_index do |elt, i|
153
+ @sb_section = [id, elt["id"]]
154
+ opts = action_name != 'show' ? html_opts.merge({"data-sb-id" => @sb_section.join('|'), "data-sb-entity" => @sb_entity == @site ? 'site' : 'page'}) : html_opts
155
+ content_tag(tag, capture(self, i, &block), opts)
156
+ end).join('').html_safe
157
+ end
144
158
 
159
+ # Note : could work well - set the ids hierarchy in elements retrieved from the db
160
+ def elts(id)
161
+ items = []
162
+ @sb_entity.section(*@sb_section, id).each do |item|
163
+ item["id"] = [id, item["id"]].join("|")
164
+ items << item
165
+ end
166
+ items
145
167
  end
146
168
 
147
169
  # def bg_img(elt, html_opts = {})
@@ -154,7 +176,7 @@ module Sibu
154
176
  def link(elt, html_opts = {}, &block)
155
177
  defaults = {"id" => elt.is_a?(Hash) ? elt["id"] : elt, "value" => "", "text" => "Nouveau lien"}
156
178
  content = defaults.merge(elt.is_a?(Hash) ? elt : (select_element(elt) || {}))
157
- html_opts.merge!({class: "sb-link #{html_opts[:class]}", data: {id: elt.is_a?(Hash) ? elt["id"] : elt}}) if action_name != 'show'
179
+ html_opts.merge!({class: "sb-link #{html_opts[:class]}", data: {id: elt_id(elt)}}) if action_name != 'show'
158
180
  val = content["value"] || ""
159
181
  if val.to_s.include?('http')
160
182
  href = val
@@ -171,15 +193,19 @@ module Sibu
171
193
  def form_label(elt, html_opts = {}, &block)
172
194
  defaults = {"id" => elt.is_a?(Hash) ? elt["id"] : elt, "text" => "Texte à modifier"}
173
195
  content = defaults.merge(elt.is_a?(Hash) ? elt : (select_element(elt) || {}))
174
- html_opts.merge!({class: "sb-label #{html_opts[:class]}", data: {id: elt.is_a?(Hash) ? elt["id"] : elt}}) if action_name != 'show'
196
+ html_opts.merge!({class: "sb-label #{html_opts[:class]}", data: {id: elt_id(elt)}}) if action_name != 'show'
175
197
  content_tag(:label, raw(content["text"]).html_safe, html_opts)
176
198
  end
177
199
 
178
200
  def interactive_map(elt, html_opts = {}, &block)
179
201
  defaults = {"data-lat" => "45.68854", "data-lng" => "5.91587", "data-title" => "Titre marqueur"}
180
202
  content = elt.is_a?(Hash) ? defaults.merge(elt) : (select_element(elt) || {"id" => elt}).merge(defaults)
181
- html_opts.merge!({class: "sb-map #{html_opts[:class]}", data: {id: elt.is_a?(Hash) ? elt["id"] : elt}}) if action_name != 'show'
203
+ html_opts.merge!({class: "sb-map #{html_opts[:class]}", data: {id: elt_id(elt)}}) if action_name != 'show'
182
204
  content_tag(:div, nil, content.merge(html_opts))
183
205
  end
206
+
207
+ def elt_id(elt)
208
+ elt.is_a?(Hash) ? elt["id"] : elt
209
+ end
184
210
  end
185
211
  end
@@ -9,11 +9,11 @@ module Sibu
9
9
  end
10
10
 
11
11
  def primary_fonts
12
- Rails.application.config.sibu[:primary_fonts]
12
+ [''] + Rails.application.config.sibu[:primary_fonts]
13
13
  end
14
14
 
15
15
  def secondary_fonts
16
- Rails.application.config.sibu[:secondary_fonts]
16
+ [''] + Rails.application.config.sibu[:secondary_fonts]
17
17
  end
18
18
  end
19
19
  end
@@ -10,6 +10,12 @@
10
10
  <%= stylesheet_link_tag @site.site_template.path, media: "all" %>
11
11
  <%= javascript_include_tag "#{@site.site_template.path}-core" %>
12
12
  <% end %>
13
+ <% unless @site.primary_font.blank? %>
14
+ <%= stylesheet_link_tag "fonts/#{@site.primary_font.downcase}", media: "all" %>
15
+ <% end %>
16
+ <% unless @site.secondary_font.blank? %>
17
+ <%= stylesheet_link_tag "fonts/#{@site.secondary_font.downcase}", media: "all" %>
18
+ <% end %>
13
19
  <%= csrf_meta_tags %>
14
20
  <%= yield :styles %>
15
21
  </head>
@@ -29,10 +35,11 @@
29
35
  <p id="edit_section_msg">Modifier la section</p>
30
36
  <button id="clone_section" onclick="cloneSection()">Dupliquer</button>
31
37
  <button id="delete_section" onclick="deleteSection()">Supprimer</button>
32
- <button onclick="cancelEditMode()">Annuler</button>
38
+ <button onclick="cancelEditMode()">Fermer</button>
33
39
  </div>
34
40
  </div>
35
- <% end %>
41
+ <div id="edit_overlays"></div>
42
+ <% end %>
36
43
  </div>
37
44
  <% end %>
38
45
  <% end %>
@@ -45,48 +52,48 @@
45
52
  initOverlays();
46
53
  });
47
54
 
48
- function setEditMode(elt) {
49
- var offset = elt.offset();
50
- var width = elt.width(), height = elt.height();
51
- var overlay = $("#edit_mode_overlay");
52
- var yPosition = offset.top - $(".sibu_content_panel").offset().top;
53
- var section = elt.parents("sb-edit").first();
54
- overlay.find(".overlay_top").css("height", yPosition);
55
- overlay.find(".overlay_bottom").css("top", yPosition + height);
56
- overlay.find(".overlay_left").css({"height": height, "width": offset.left, "top": yPosition});
57
- overlay.find(".overlay_right").css({"height": height, "left": offset.left + width, "top": yPosition});
58
- overlay.find(".edit_mode_actions").css({"top": (yPosition <= 40 ? (yPosition + height) : (yPosition - 40)), left: offset.left, width: width});
59
- overlay.find("#edit_section_msg").text("Modifier la section");
60
- overlay.show();
55
+ function setEditMode(section, overlay, left, top, width, height) {
56
+ // var offset = elt.offset();
57
+ // var width = elt.width(), height = elt.height();
58
+ var editMode = $("#edit_mode_overlay");
59
+ // var yPosition = offset.top - $(".sibu_content_panel").offset().top;
60
+ // var section = elt.parents("sb-edit").first();
61
+ editMode.find(".overlay_top").css("height", top);
62
+ editMode.find(".overlay_bottom").css("top", top + height);
63
+ editMode.find(".overlay_left").css({"height": height, "width": left, "top": top});
64
+ editMode.find(".overlay_right").css({"height": height, "left": left + width, "top": top});
65
+ editMode.find(".edit_mode_actions").css({"top": (top <= 40 ? (top + height) : (top - 40)), left: left, width: width});
66
+ editMode.find("#edit_section_msg").text("Modifier la section");
67
+ editMode.show();
61
68
  if(!section.data('duplicate')) {
62
- overlay.find("#clone_section").hide();
63
- overlay.find("#delete_section").hide();
69
+ editMode.find("#clone_section").hide();
70
+ editMode.find("#delete_section").hide();
64
71
  } else {
65
- overlay.find("#clone_section").show();
66
- overlay.find("#delete_section").show();
72
+ editMode.find("#clone_section").show();
73
+ editMode.find("#delete_section").show();
67
74
  }
68
- window.scrollTo(0, yPosition);
75
+ window.scrollTo(0, top);
69
76
  section.addClass('sb-editing');
70
- initInnerOverlays(elt);
71
- elt.remove();
77
+ initInnerOverlays(section);
78
+ $("#edit_overlays").html("");
72
79
  }
73
80
 
74
81
  function cancelEditMode() {
75
82
  $("#edit_mode_overlay").hide();
76
83
  cancelEdit();
77
- $("sb-edit.sb-editing").removeClass("sb-editing");
84
+ $(".sb-editing").removeClass("sb-editing");
78
85
  initOverlays();
79
86
  }
80
87
 
81
88
  function cloneSection() {
82
89
  if (window.confirm("Dupliquer la section ?")) {
83
- var section = $("sb-edit.sb-editing");
90
+ var section = $(".sb-editing").first();
84
91
  $.ajax({
85
92
  url: "<%= clone_section_site_page_path(@site.id, @page.id) %>",
86
93
  method: "POST",
87
94
  data: {
88
- section_id: section.data("id"),
89
- entity: section.data("entity")
95
+ section_id: section.data("sb-id"),
96
+ entity: section.data("sb-entity")
90
97
  }
91
98
  })
92
99
  }
@@ -94,13 +101,13 @@
94
101
 
95
102
  function deleteSection() {
96
103
  if (window.confirm("Supprimer la section ?")) {
97
- var section = $("sb-edit.sb-editing");
104
+ var section = $(".sb-editing").first();
98
105
  $.ajax({
99
106
  url: "<%= delete_section_site_page_path(@site.id, @page.id) %>",
100
107
  method: "DELETE",
101
108
  data: {
102
- section_id: section.data("id"),
103
- entity: section.data("entity")
109
+ section_id: section.data("sb-id"),
110
+ entity: section.data("sb-entity")
104
111
  }
105
112
  })
106
113
  }
@@ -123,8 +130,8 @@
123
130
  })
124
131
  }
125
132
 
126
- function initInnerOverlays(elt) {
127
- var editables = elt.parents("sb-edit").first().find("[class*='sb-']");
133
+ function initInnerOverlays(section) {
134
+ var editables = section.find("[class*='sb-']");
128
135
  editables.off();
129
136
  editables.hover(function() {
130
137
  $(this).addClass("sb-editable");
@@ -134,8 +141,7 @@
134
141
  editables.click(function(evt) {
135
142
  evt.preventDefault();
136
143
  var elt = $(this), tag = elt.prop("tagName").toLowerCase();
137
- var section = elt.parents("sb-edit").first();
138
- var eltId = elt.data("id"), sectionId = section.data("id"), entity = section.data("entity");
144
+ var eltId = elt.data("id"), sectionId = section.data("sb-id"), entity = section.data("sb-entity");
139
145
  if (TEXT_TAGS.indexOf(tag) !== -1) {
140
146
  editContent(eltId, sectionId, entity, 'text');
141
147
  } else if (IMG_TAGS.indexOf(tag) !== -1 || elt.hasClass('sb-img')) {
@@ -149,25 +155,55 @@
149
155
  }
150
156
 
151
157
  function initOverlays() {
152
- $("div.sb-overlay").remove();
153
- $("sb-edit").each(function() {
154
- var elt = $(this);
155
- elt.prepend("<div class='sb-overlay'><a>Modifier</a></div>");
156
- var overlay = elt.find(".sb-overlay");
157
- var dimensions = overlayDimensions(overlay, elt);
158
- overlay.width(dimensions.width);
159
- overlay.height(dimensions.height);
160
-
161
- elt.hover(function() {
162
- overlay.css("opacity", 1);
163
- }, function() {
164
- overlay.css("opacity", 0);
165
- });
158
+ // $("div.sb-overlay").remove();
159
+ // $("sb-edit").each(function() {
160
+ // var elt = $(this);
161
+ // elt.prepend("<div class='sb-overlay'><a>Modifier</a></div>");
162
+ // var overlay = elt.find(".sb-overlay");
163
+ // var dimensions = overlayDimensions(overlay, elt);
164
+ // overlay.width(dimensions.width);
165
+ // overlay.height(dimensions.height);
166
+ //
167
+ // elt.hover(function() {
168
+ // overlay.css("opacity", 1);
169
+ // }, function() {
170
+ // overlay.css("opacity", 0);
171
+ // });
172
+ //
173
+ // overlay.click(function() {
174
+ // setEditMode($(this));
175
+ // })
176
+ // });
177
+ var container = $("#edit_overlays");
178
+ container.html("");
179
+ $("[data-sb-id]").each(function() {
180
+ var section = $(this);
181
+ var offset = section.offset();
182
+ var yOffset = offset.top - $(".sibu_content_panel").offset().top;
183
+ var width = section.outerWidth(), height = (section.outerHeight() === 0 ? childrenHeight(section) : section.outerHeight());
184
+ var overlay = $("<div>Modifier</div>");
185
+ container.append(overlay);
186
+ overlay.css({top: yOffset, left: offset.left, width: width, height: height});
187
+ overlay.hover(function() {
188
+ $(this).css("opacity", 1);
189
+ }, function() {
190
+ $(this).css("opacity", 0);
191
+ });
192
+ overlay.click(function() {
193
+ setEditMode(section, $(this), offset.left, yOffset, width, height);
194
+ })
195
+ });
196
+ }
166
197
 
167
- overlay.click(function() {
168
- setEditMode($(this));
169
- })
198
+ function childrenHeight(parentElt) {
199
+ var height = 0;
200
+ parentElt.find("*").each(function() {
201
+ var childHeight = $(this).height();
202
+ if(childHeight > height) {
203
+ height = childHeight;
204
+ }
170
205
  });
206
+ return height;
171
207
  }
172
208
 
173
209
  function overlayDimensions(overlay, element) {
@@ -10,6 +10,12 @@
10
10
  <%= stylesheet_link_tag @site.site_template.path, media: "all" %>
11
11
  <%= javascript_include_tag @site.site_template.path %>
12
12
  <% end %>
13
+ <% unless @site.primary_font.blank? %>
14
+ <%= stylesheet_link_tag "fonts/#{@site.primary_font.downcase}", media: "all" %>
15
+ <% end %>
16
+ <% unless @site.secondary_font.blank? %>
17
+ <%= stylesheet_link_tag "fonts/#{@site.secondary_font.downcase}", media: "all" %>
18
+ <% end %>
13
19
  <%= csrf_meta_tags %>
14
20
  <%= yield :styles %>
15
21
  </head>
@@ -12,6 +12,7 @@
12
12
  {prompt: 'Sélectionnez une page'} %>
13
13
  </div>
14
14
  <%= hidden_field_tag 'element[id]', @element["id"] %>
15
+ <%= hidden_field_tag :element_id, @element_id %>
15
16
  <%= hidden_field_tag :section_id, @section_id %>
16
17
  <%= hidden_field_tag :entity, @entity_type %>
17
18
  <div class="sibu_actions">
@@ -7,7 +7,7 @@
7
7
  <p>Sélectionnez ou <%= link_to 'téléchargez', new_site_image_path(@site.id, page_id: @page.id) %> une image</p>
8
8
  <% @site.images.each do |image| %>
9
9
  <div class="sibu_image">
10
- <%= image_tag image.file_url(:small) %>
10
+ <%= image_tag image.file_url(:medium), class: (@element["src"] == image.file_url(:medium) ? 'selected' : '') %>
11
11
  </div>
12
12
  <% end %>
13
13
  </div>
@@ -17,6 +17,7 @@
17
17
  </div>
18
18
  <%= hidden_field_tag 'element[id]', @element["id"] %>
19
19
  <%= hidden_field_tag 'element[src]', @element["src"] %>
20
+ <%= hidden_field_tag :element_id, @element_id %>
20
21
  <%= hidden_field_tag :section_id, @section_id %>
21
22
  <%= hidden_field_tag :entity, @entity_type %>
22
23
  <div class="sibu_actions">
@@ -4,6 +4,7 @@
4
4
  <%= form_tag(update_element_site_page_path(@site.id, @page.id), method: :patch, remote: true) do |f| %>
5
5
  <%= trix_editor_tag 'element[text]', '', input: 'element_text' %>
6
6
  <%= hidden_field_tag 'element[id]', @element["id"] %>
7
+ <%= hidden_field_tag :element_id, @element_id %>
7
8
  <%= hidden_field_tag :section_id, @section_id %>
8
9
  <%= hidden_field_tag :entity, @entity_type %>
9
10
  <div class="sibu_actions">
@@ -2,7 +2,7 @@
2
2
  $("#edit_panel #edit_msg").html("<p class='sibu_alert'>Une erreur s'est produite lors de l'enregistrement.</p>");
3
3
  <% else %>
4
4
  $("#edit_panel").slideUp();
5
- var clonedElt = $("sb-edit[data-id='<%= @section_id %>']").find("[data-id='<%= @element_id %>']").first();
5
+ var clonedElt = $("[data-sb-id='<%= @section_id %>']").find("[data-id='<%= @element_id %>']").first();
6
6
  var newElt = clonedElt.clone();
7
7
  newElt.data("id", "<%= @cloned["id"] %>");
8
8
  clonedElt.after(newElt);
@@ -1,4 +1,3 @@
1
- <%= render 'custom_styles' %>
2
1
  <div class="edit_content">
3
2
  <%= render "shared/#{@site.site_template.path}/site" %>
4
3
  </div>
@@ -7,9 +7,13 @@ editPanel.html("");
7
7
  editorElt.editor.loadHTML("<%= j(raw(text_value.gsub("\n", "<br/>"))) %>");
8
8
  <% elsif @content_type == 'media' %>
9
9
  editPanel.html("<%= j(render 'media_edit_panel') %>");
10
- editPanel.find(".sibu_image img").click(function() {
11
- $(this).toggleClass('selected');
12
- $("#element_src").val($(this).attr("src"));
10
+ var images = editPanel.find(".sibu_image img");
11
+ images.click(function() {
12
+ if(!$(this).hasClass('selected')) {
13
+ images.removeClass('selected');
14
+ $(this).addClass('selected');
15
+ $("#element_src").val($(this).attr("src"));
16
+ }
13
17
  });
14
18
  <% elsif @content_type == 'link' %>
15
19
  editPanel.html("<%= j(render 'link_edit_panel') %>");
@@ -1,2 +1 @@
1
- <%= render 'custom_styles' %>
2
1
  <%= render "shared/#{@site.site_template.path}/site" %>
@@ -2,13 +2,18 @@
2
2
  $("#edit_panel #edit_msg").html("<p class='sibu_alert'>Une erreur s'est produite lors de l'enregistrement.</p>");
3
3
  <% else %>
4
4
  $("#edit_panel").slideUp();
5
- var updatedElt = $("sb-edit[data-id='<%= @section_id %>']").find("[data-id='<%= @updated["id"] %>']");
5
+ var updatedElt = $("[data-sb-id='<%= @section_id %>']").find("[data-id='<%= @element_id %>']");
6
6
  <% if @updated["text"] %>
7
7
  updatedElt.html("<%= j(raw @updated["text"]) %>");
8
8
  <% end %>
9
9
  <% unless @updated.except("id", "text").blank? %>
10
+ var tag = updatedElt.prop("tagName").toLowerCase();
10
11
  <% @updated.except("id", "text").each_pair do |attr, val| %>
11
- updatedElt.attr("<%= attr %>", "<%= val %>");
12
+ if(("<%= attr %>" === 'src' || "<%= attr %>" === 'alt') && tag !== 'img') {
13
+ updatedElt.find("img").attr("<%= attr %>", "<%= val %>");
14
+ } else {
15
+ updatedElt.attr("<%= attr %>", "<%= val %>");
16
+ }
12
17
  <% end %>
13
18
  <% end %>
14
19
  <% end %>
@@ -31,11 +31,11 @@
31
31
  </div>
32
32
  <div class="sibu_field">
33
33
  <%= f.label :name, 'Police de caractères (titres)' %>
34
-
34
+ <%= f.select :primary_font, primary_fonts, {prompt: 'Police par défaut'} %>
35
35
  </div>
36
36
  <div class="sibu_field">
37
37
  <%= f.label :name, 'Police de caractères (corps)' %>
38
-
38
+ <%= f.select :secondary_font, secondary_fonts, {prompt: 'Police par défaut'} %>
39
39
  </div>
40
40
  <%= f.hidden_field :user_id %>
41
41
  <div class="sibu_actions">
data/lib/sibu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Sibu
2
- VERSION = '0.1.13'
2
+ VERSION = '0.1.14'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sibu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.13
4
+ version: 0.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Baptiste Vilain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-14 00:00:00.000000000 Z
11
+ date: 2018-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails