# -*- encoding : utf-8 -*- class Card; module Set; class Rule # Set: All rule cards (Editor) # module Editor; extend Card::Set def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/rules/set/rule/editor.rb"; end module HtmlFormat; parent.send :register_set_format, Card::Format::HtmlFormat, self; extend Card::Set::AbstractFormat attr_accessor :rule_context def current_rule force_reload=true @current_rule = nil if force_reload @current_rule ||= begin rule = determine_current_rule reload_rule rule end end def determine_current_rule existing = find_existing_rule_card return existing if existing Card.new name: "#{Card[:all].name}+#{card.rule_user_setting_name}" end view :rule_help, unknown: true, perms: :none, cache: :never do wrap_with :div, class: "alert alert-info rule-instruction" do rule_based_help end end view :show_rule, cache: :never, unknown: true do return "No Current Rule" if card.new_card? voo.items[:view] ||= :link output [ show_rule_set(card.rule_set), _render_core ] end def show_rule_set set wrap_with :div, class: "rule-set" do %( #{link_to_card set.name, set.label}:) end end view :quick_edit, unknown: true, template: :haml, wrap: :slot do setting_title + short_help_text + quick_editor end def quick_form card_form :update, "data-slot-selector": ".set-info.card-slot", success: { view: :quick_edit_success } do quick_editor end end def set_info notify_change=nil wrap true, class: "set-info" do haml :set_info, notify_change: notify_change end end def undo_button link_to "undo", method: :post, rel: "nofollow", class: "btn btn-secondary ml-2 btn-sm btn-reduced-padding slotter", remote: true, "data-slot-selector": ".card-slot.quick_edit-view", path: { action: :update, revert_actions: [card.last_action_id], revert_to: :previous } end view :quick_edit_success do set_info true end def quick_editor if card.right.codename == :default @edit_rule_success = {} rules_type_formgroup else rule_content_formgroup end end view :rule_bridge_link, unknown: true do opts = bridge_link_opts(class: "edit-rule-link nav-link", "data-toggle": "pill", "data-cy": "#{setting_title.to_name.key}-pill") opts[:path].delete(:layout) link_to_view(:overlay_rule, (setting_title + short_help_text), opts) end def setting_title card.name.tag.tr "*", "" end def short_help_text "