module Avo::Concerns::HasResourceStimulusControllers
def add_stimulus_attributes_for(entity, attributes, target_name = nil)
def add_stimulus_attributes_for(entity, attributes, target_name = nil) entity.get_stimulus_controllers.split(" ").each do |controller| attributes["#{controller}-target"] = target_name || "#{@field.id.to_s.underscore}_#{@field.type.to_s.underscore}_wrapper".camelize(:lower) end end
def get_stimulus_controllers
def get_stimulus_controllers return "" if @view.nil? controllers = [] case @view.to_sym when :show controllers << "resource-show" when :new, :edit controllers << "resource-edit" when :index controllers << "resource-index record-selector" end controllers << self.class.stimulus_controllers controllers.reject(&:blank?).join " " end
def stimulus_data_attributes
def stimulus_data_attributes attributes = { controller: get_stimulus_controllers, } get_stimulus_controllers.split(" ").each do |controller| attributes["#{controller}-view-value"] = @view end attributes end