class Matestack::Ui::Core::Page

Private Class Methods

new(options = {}) click to toggle source
Calls superclass method Matestack::Ui::Core::Base::new
# File lib/matestack/ui/core/page.rb, line 6
def initialize(options = {})
  super(nil, nil, options)
end

Private Instance Methods

component_attributes() click to toggle source
# File lib/matestack/ui/core/page.rb, line 46
def component_attributes
  {
    is: 'matestack-ui-core-page-content',
    ':params': params.to_json,
    'inline-template': true
  }
end
create_children() click to toggle source
# File lib/matestack/ui/core/page.rb, line 10
def create_children
  self.page do
    self.response
  end
end
page() { || ... } click to toggle source
# File lib/matestack/ui/core/page.rb, line 16
def page
  if params[:only_page]
    div class: 'matestack-page-root' do
      yield
    end
  else
    Base.new(:component, component_attributes) do
      div class: 'matestack-page-container', 'v-bind:class': '{ "loading": loading === true }'  do
        if Matestack::Ui::Core::Context.app.respond_to? :loading_state_element
          div class: 'loading-state-element-wrapper', 'v-bind:class': '{ "loading": loading === true }'  do
            Matestack::Ui::Core::Context.app.loading_state_element
          end
        end
        div class: 'matestack-page-wrapper', 'v-bind:class': '{ "loading": loading === true }' do
          div 'v-if': 'asyncPageTemplate == null' do
            div class: 'matestack-page-root' do
              yield
            end
          end
          div 'v-if': 'asyncPageTemplate != null' do
            div class: 'matestack-page-root' do
              Base.new('v-runtime-template', ':template': 'asyncPageTemplate')
            end
          end
        end
      end
    end
  end
end