Sha256: bcbf9a449c3d095b1f2bd7acf48fe23f002b33c1b78764e51e7440331f091468
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true require "view_component/version" require "view_component/translatable" module SolidusAdmin # BaseComponent is the base class for all components in Solidus Admin. class BaseComponent < ViewComponent::Base include SolidusAdmin::ComponentsHelper include Turbo::FramesHelper def icon_tag(name, **attrs) render component("ui/icon").new(name: name, **attrs) end def missing_translation(key, options) keys = I18n.normalize_keys(options[:locale] || I18n.locale, key, options[:scope]) logger.debug " [#{self.class}] Missing translation: #{keys.join('.')}" if (options[:locale] || I18n.default_locale) != :en t(key, **options, locale: :en) else "translation missing: #{keys.join('.')}" end end def self.stimulus_id @stimulus_id ||= name.underscore .sub(/^solidus_admin\/(.*)\/component$/, '\1') .gsub("/", "--") .tr("_", "-") end delegate :stimulus_id, to: :class def spree @spree ||= Spree::Core::Engine.routes.url_helpers end def solidus_admin @solidus_admin ||= SolidusAdmin::Engine.routes.url_helpers end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
solidus_admin-0.3.1 | app/components/solidus_admin/base_component.rb |
solidus_admin-0.3.0 | app/components/solidus_admin/base_component.rb |