Sha256: 7b94c23f4da86adfddcc2c8e7cea8910b875729d1f4f1565601a9e307ec6f34f
Contents?: true
Size: 1.84 KB
Versions: 5
Compression:
Stored size: 1.84 KB
Contents
# frozen_string_literal: true module Decidim # Helpers related to icons module IconHelper include Decidim::LayoutHelper # Public: Returns an icon given an instance of a Component. It defaults to # a question mark when no icon is found. # # component - The component to generate the icon for. # options - a Hash with options # # Returns an HTML tag with the icon. def component_icon(component, options = {}) manifest_icon(component.manifest, options) end # Public: Returns an icon given an instance of a Manifest. It defaults to # a question mark when no icon is found. # # manifest - The manifest to generate the icon for. # options - a Hash with options # # Returns an HTML tag with the icon. def manifest_icon(manifest, options = {}) if manifest.respond_to?(:icon) && manifest.icon.present? external_icon manifest.icon, options else icon "question-mark", options end end # Public: Finds the correct icon for the given resource. If the resource has a # Component then it uses it to find the icon, otherwise checks for the resource # manifest to find the icon. # # resource - The resource to generate the icon for. # options - a Hash with options # # Returns an HTML tag with the icon. def resource_icon(resource, options = {}) if resource.class.name == "Decidim::Comments::Comment" icon "comment-square", options elsif resource.respond_to?(:component) && resource.component.present? component_icon(resource.component, options) elsif resource.respond_to?(:manifest) && resource.manifest.present? manifest_icon(resource.manifest, options) elsif resource.is_a?(Decidim::User) icon "person", options else icon "bell", options end end end end
Version data entries
5 entries across 5 versions & 1 rubygems