app/helpers/pageflow/linkmap_page/areas_helper.rb in pageflow-linkmap-page-1.5.0 vs app/helpers/pageflow/linkmap_page/areas_helper.rb in pageflow-linkmap-page-2.0.0

- old
+ new

@@ -2,28 +2,54 @@ module LinkmapPage module AreasHelper include BackgroundImageHelper def linkmap_areas_div(entry, configuration) - hover_image_file = Pageflow::ImageFile.find_by_id(configuration['hover_image_id']) - visited_image_file = Pageflow::ImageFile.find_by_id(configuration['visited_image_id']) + color_map_file = + ColorMapFile.find_by_id(configuration['linkmap_color_map_file_id']) + masked_hover_image_file = + MaskedImageFile.find_by_id(configuration['linkmap_masked_hover_image_id']) + masked_visited_image_file = + MaskedImageFile.find_by_id(configuration['linkmap_masked_visited_image_id']) - mask_sprite_url_template = MaskSprite.new(id: 1, attachment_file_name: 'data').attachment.url - .gsub(%r'/(\d{3}/)+', '/:id_partition/') + hide_overlay_boxes = + configuration['mobile_panorama_navigation'] == 'pan_zoom' && + configuration['hide_linkmap_overlay_boxes'] + render('pageflow/linkmap_page/areas/div', entry: entry, configuration: configuration, + color_map_file: color_map_file, + masked_hover_image_file: masked_hover_image_file, + masked_visited_image_file: masked_visited_image_file, + css_classes: [ + 'linkmap_areas', + hide_overlay_boxes ? 'hide_overlay_boxes' : nil + ].compact.join(' '), data_attributes: { - hover_image_url: hover_image_file && - hover_image_file.attachment.url(:panorama_large), - visited_image_url: visited_image_file && - visited_image_file.attachment.url(:panorama_large), - mask_sprite_url_template: mask_sprite_url_template + color_map_file_id: configuration['color_map_file_id'] }) end + def linkmap_area_background_image_div(prefix, attributes, configuration, color_map_file) + if color_map_file && + attributes['mask_perma_id'].present? && + attributes['mask_perma_id'].split(':').first.to_i == color_map_file.id + background_image_div(configuration, + "linkmap_masked_#{prefix}_image", + class: "#{prefix}_image", + file_type: 'pageflow_linkmap_page_masked_image_files', + style_group: attributes['mask_perma_id'].split(':').last) + else + background_image_div(configuration, + "#{prefix}_image", + class: "#{prefix}_image", + style_group: :panorama) + end + end + def linkmap_area(entry, attributes, index, background_type = nil, &block) Link.new(self, entry, attributes.symbolize_keys, index, background_type).render(&block) end class Link < Struct.new(:template, :entry, :attributes, :index, :background_type) @@ -62,18 +88,18 @@ ExternalLinks::Site.find_by_revision_id_and_perma_id(entry.try(:revision), attributes[:target_id]) end def data_attributes - mask_id = background_type != 'hover_video' && attributes[:mask_perma_id] + mask_perma_id = background_type != 'hover_video' && attributes[:mask_perma_id] audio_file_id = attributes[:target_id] { target_type: attributes[:target_type], target_id: attributes[:target_id], audio_file: audio_file_id.present? ? "#{audio_file_id}.area_#{index}" : nil, page_transition: attributes[:page_transition], - mask_id: mask_id, + mask_perma_id: mask_perma_id, width: attributes[:width], height: attributes[:height] }.delete_if { |key, value| value.blank? } end