Module: Decidim::IconHelper
- Includes:
- LayoutHelper
- Included in:
- ActivitiesCell, ActivityCell, Admin::ContentBlockCell, Amendable::AmendmentsCell, Assemblies::AssembliesHelper, Assemblies::AssemblyStatsPresenter, AttachmentsHelper, BadgeCell, Blogs::PostsController, Budgets::ProjectVotedHintCell, Budgets::ProjectVotesCountCell, Budgets::ProjectsController, ButtonCell, CardCell, CardMetadataCell, Comments::CommentCell, Comments::CommentsCell, Conferences::ConferenceStatsPresenter, ContentBlocks::FooterSubHeroCell, ContentBlocks::HowToParticipateCell, ContentBlocks::SubHeroCell, DateRangeCell, Elections::ElectionsController, EndorsementButtonsCell, FiltersHelper, Decidim::Initiatives::InitiativesController, LastActivitiesController, Meetings::Directory::ApplicationHelper, NavbarAdminLinkCell, NotificationCell, ParticipatoryProcesses::ParticipatoryProcessGroupStatsPresenter, ParticipatoryProcesses::ParticipatoryProcessHelper, ParticipatoryProcesses::ParticipatoryProcessStatsPresenter, ProfileSidebarCell, Proposals::CollaborativeDraftsController, ResourceTypesFilterCell, TabPanelsCell, Votings::ContentBlocks::PollingStationsCell, Votings::VotingStatsPresenter
- Defined in:
- decidim-core/app/helpers/decidim/icon_helper.rb
Overview
Helpers related to icons
Constant Summary collapse
- DEFAULT_RESOURCE_TYPE_ICONS =
{ "all" => "apps-2-line", "Decidim::Proposals::CollaborativeDraft" => "draft-line", "Decidim::Comments::Comment" => "chat-1-line", "Decidim::Debates::Debate" => "discuss-line", "Decidim::Initiative" => "lightbulb-flash-line", "Decidim::Meetings::Meeting" => "map-pin-line", "Decidim::Blogs::Post" => "pen-nib-line", "Decidim::Proposals::Proposal" => "chat-new-line", "Decidim::Budgets::Order" => "check-double-line", "Decidim::Budgets::Budget" => "coin-line", "Decidim::Budgets::Project" => "coin-line", "Decidim::Assembly" => "government-line", "Decidim::Amendment" => "git-branch-line", "Decidim::ParticipatoryProcess" => "treasure-map-line", "Decidim::Category" => "price-tag-3-line", "Decidim::Scope" => "scan-line", "Decidim::Conference" => "mic-line", "Decidim::Votings::Voting" => "check-double-fill", "Decidim::User" => "user-line", "Decidim::UserGroup" => "group-line", "comments_count" => "wechat-line", "upcoming" => "calendar-2-line", "past" => "calendar-check-line", "in_person" => "community-line", "online" => "webcam-line", "hybrid" => "home-wifi-line", "official" => "star-line", "participants" => "open-arm-line", "user_group" => "team-line", "user_groups" => "team-line", "images" => "image-line", "documents" => "file-text-line", "like" => "heart-add-line", "dislike" => "dislike-line", "follow" => "notification-3-line", "unfollow" => "notification-3-fill", "share" => "share-line", "other" => "question-line" }.freeze
Instance Method Summary collapse
-
#component_icon(component, options = {}) ⇒ Object
Public: Returns an icon given an instance of a Component.
-
#manifest_icon(manifest, options = {}) ⇒ Object
Public: Returns an icon given an instance of a Manifest.
-
#resource_icon(resource, options = {}) ⇒ Object
Public: Finds the correct icon for the given resource.
- #resource_type_icon(resource_type, options = {}) ⇒ Object
- #resource_type_icon_key(resource_type) ⇒ Object
- #text_with_resource_icon(resource_name, text) ⇒ Object
Methods included from LayoutHelper
#_icon_classes, #apple_favicon, #application_path, #current_user_unread_data, #extended_navigation_bar, #external_icon, #favicon, #icon, #legacy_favicon, #organization_colors, #role
Methods included from TooltipHelper
Methods included from ModalHelper
Instance Method Details
#component_icon(component, options = {}) ⇒ Object
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.
56 57 58 |
# File 'decidim-core/app/helpers/decidim/icon_helper.rb', line 56 def component_icon(component, = {}) manifest_icon(component.manifest, ) end |
#manifest_icon(manifest, options = {}) ⇒ Object
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.
67 68 69 70 71 72 73 |
# File 'decidim-core/app/helpers/decidim/icon_helper.rb', line 67 def manifest_icon(manifest, = {}) if manifest.respond_to?(:icon) && manifest.icon.present? external_icon manifest.icon, else icon "question-mark", end end |
#resource_icon(resource, options = {}) ⇒ Object
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.
83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'decidim-core/app/helpers/decidim/icon_helper.rb', line 83 def resource_icon(resource, = {}) if resource.instance_of?(Decidim::Comments::Comment) icon "comment-square", elsif resource.respond_to?(:component) && resource.component.present? component_icon(resource.component, ) elsif resource.respond_to?(:manifest) && resource.manifest.present? manifest_icon(resource.manifest, ) elsif resource.is_a?(Decidim::User) icon "person", else icon "bell", end end |
#resource_type_icon(resource_type, options = {}) ⇒ Object
97 98 99 |
# File 'decidim-core/app/helpers/decidim/icon_helper.rb', line 97 def resource_type_icon(resource_type, = {}) icon resource_type_icon_key(resource_type), end |
#resource_type_icon_key(resource_type) ⇒ Object
101 102 103 |
# File 'decidim-core/app/helpers/decidim/icon_helper.rb', line 101 def resource_type_icon_key(resource_type) DEFAULT_RESOURCE_TYPE_ICONS[resource_type.to_s] || DEFAULT_RESOURCE_TYPE_ICONS["other"] end |
#text_with_resource_icon(resource_name, text) ⇒ Object
105 106 107 108 109 110 |
# File 'decidim-core/app/helpers/decidim/icon_helper.rb', line 105 def text_with_resource_icon(resource_name, text) output = "" output += resource_type_icon resource_name output += content_tag :span, text output.html_safe end |