aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/route_section.js.coffee59
-rw-r--r--app/maps/application_map.rb3
-rw-r--r--app/views/route_sections_selectors/edit.html.erb2
3 files changed, 48 insertions, 16 deletions
diff --git a/app/assets/javascripts/route_section.js.coffee b/app/assets/javascripts/route_section.js.coffee
index f2e494c0c..74f095772 100644
--- a/app/assets/javascripts/route_section.js.coffee
+++ b/app/assets/javascripts/route_section.js.coffee
@@ -4,6 +4,7 @@ class @RouteSectionMap
routeSectionOption = $("option[value=#{route_section_id}]")
routeSectionOption.parent().val route_section_id
+ RouteSectionMap.changeStyle(routeSectionOption.parent())
$('#map-selection').show()
$('#empty-map-selection').hide()
@@ -16,7 +17,49 @@ class @RouteSectionMap
$('#map-selection').hide()
$('#empty-map-selection').show()
+ @editRoute = (el) ->
+ new_route_section_id = $(el).val()
+ edit_link = $(el).closest("tr").find("a.edit-route-section")
+
+ # Save edit link to play with it
+ unless edit_link.data("href-pattern")?
+ edit_link.data "href-pattern", edit_link.attr('href').replace(new RegExp("/route_sections/([0-9]+)/edit"), "/route_sections/:id/edit")
+
+ if !!new_route_section_id
+ edit_link.removeClass "disabled"
+ edit_link.attr 'href', edit_link.data("href-pattern").replace(/:id/, new_route_section_id)
+ else
+ edit_link.addClass "disabled"
+ edit_link.attr 'href', '#'
+
+ @featureStyle = (id, erase) ->
+ if id
+ features = route_section_geometry.getFeaturesByAttribute('id', id.toString())
+ if features.length > 0
+ feature = features[0]
+ style = null
+ if !erase
+ style =
+ strokeWidth: 3
+ strokeColor: 'green'
+ feature.style = style
+ feature.layer.redraw()
+
+ @changeStyle = (el) ->
+ id = $(el).val()
+ options = $(el).find('option').map(->
+ $(this).val()
+ )
+ $.each options, (key, value) ->
+ RouteSectionMap.featureStyle value, true
+ return
+ RouteSectionMap.featureStyle id, false
+
jQuery ->
+ $route_sections_selector = $('[name^="route_sections_selector[sections_attributes]"]')
+ $.each $route_sections_selector, (index, el) ->
+ RouteSectionMap.changeStyle el
+
if $("#map.route_section").length > 0 and user_geometry?
projWGS84 = new OpenLayers.Projection("EPSG:4326")
proj900913 = new OpenLayers.Projection("EPSG:900913")
@@ -33,20 +76,8 @@ jQuery ->
})
$('#new_route_sections_selector select').on 'change', ->
- new_route_section_id = $(this).val()
-
- edit_link = $(this).closest("tr").find("a.edit-route-section")
-
- # Save edit link to play with it
- unless edit_link.data("href-pattern")?
- edit_link.data "href-pattern", edit_link.attr('href').replace(new RegExp("/route_sections/([0-9]+)/edit"), "/route_sections/:id/edit")
-
- if !!new_route_section_id
- edit_link.removeClass "disabled"
- edit_link.attr 'href', edit_link.data("href-pattern").replace(/:id/, new_route_section_id)
- else
- edit_link.addClass "disabled"
- edit_link.attr 'href', '#'
+ RouteSectionMap.changeStyle this
+ RouteSectionMap.editRoute this
$('form.route_section').find('button[type="submit"]').on 'click', (e) ->
e.preventDefault();
diff --git a/app/maps/application_map.rb b/app/maps/application_map.rb
index 6de0ff8c2..25b1fc10a 100644
--- a/app/maps/application_map.rb
+++ b/app/maps/application_map.rb
@@ -73,7 +73,8 @@ class ApplicationMap
def to_html(options = {})
if not respond_to?(:ready?) or ready?
- "<div id=\"#{id}\" class=\"#{default_class}\"><button data-ce-id=\"#{id}\" data-ce-action=\"map-fullscreen\" class=\"ce-MapExpandBlock\"><i class=\"fa fa-expand\"></i></button></div> #{map.to_html(options)}".html_safe
+ expand = options[:no_fullscreen] ? '' : "<button data-ce-id=\"#{id}\" data-ce-action=\"map-fullscreen\" class=\"ce-MapExpandBlock\"><i class=\"fa fa-expand\"></i></button>"
+ "<div id=\"#{id}\" class=\"#{default_class}\">#{expand}</div>#{map.to_html(options)}".html_safe
end
end
diff --git a/app/views/route_sections_selectors/edit.html.erb b/app/views/route_sections_selectors/edit.html.erb
index 0cd58d9c1..a60b8b95b 100644
--- a/app/views/route_sections_selectors/edit.html.erb
+++ b/app/views/route_sections_selectors/edit.html.erb
@@ -1,7 +1,7 @@
<%= title_tag t('.title', journey_pattern: journey_name(@journey_pattern)) %>
<div class = "large-map">
- <%= @map.to_html %>
+ <%= @map.to_html(no_fullscreen: true) %>
</div>
<%= semantic_form_for resource, url: referential_line_route_journey_pattern_route_sections_selector_path(@referential, @line, @route, @journey_pattern), method: :put do |form| %>