extends layout

block vars
  - var body_span = 9
  - var sidebar_span = 12 - body_span
  - var use_affix = true
  - var items = self.result.ns_classes
  - var has_namespace = true

block nav-item
  - var display_name = item.ctx.name.substr(item.namespace.length)
  if item.ctx.name===self.name
    li.active
      a(href='#'+self.klass.html_id)= display_name
    each property in self.properties
      li.cormo-class-property(class=property.isPrivate ? 'private' : '')
        a(href='#'+property.html_id)= property.ctx.name
          if property.isPrivate
            span.pull-right.label.label-private private
          if property.static
            span.pull-right.label.label-static static
          if property.abstract
            span.pull-right.label.label-abstract abstract
          if property.async
            span.pull-right.label.label-async async
          if property.override
            span.pull-right.label.label-override override
          if property.ctx.type==='property'
            span.pull-right.label.label-property property
  else
    li
      a(href=self.rel_path+item.filename+'.html')= display_name

block body
  span.fix-anchor(id=self.klass.html_id)
  section
    h1.class_title= self.name.substr(self.klass.namespace.length)
      if self.klass.extends.length
        span.extends!= ' extends ' + self.klass.extends.map(function (t) { return self.makeTypeLink(self.rel_path, t); }).join(', ')
      if self.klass.uses.length
        span.uses!= ' uses ' + self.klass.uses.map(function (t) { return self.makeTypeLink(self.rel_path, t); }).join(', ')
      if self.klass.abstract
        span.label.label-abstract abstract
    div!= self.convertLink(self.rel_path, self.klass.description.summary)
    div!= self.convertLink(self.rel_path, self.klass.description.body)
    if self.klass.subclasses.length
      dl
        dt Direct known subclasses:
        dd!= self.klass.subclasses.map(function (t) { return self.makeTypeLink(self.rel_path, t); }).join(', ')
    if self.klass.usedbys.length
      dl
        dt Used by:
        dd!= self.klass.usedbys.map(function (t) { return self.makeTypeLink(self.rel_path, t); }).join(', ')
    - var supplement_item = self.klass
    include supplement
    if self.klass.class_code
      - var showcode_label = 'Show class code'
      - var showcode_defined_in = self.klass.defined_in
      - var showcode_line_number = self.klass.class_line_number
      - var showcode_code = self.klass.class_code
      include method-showcode
    if !self.klass.static
      div.panel.panel-info
        div.panel-heading.collapsed(data-toggle='collapse',data-target='#'+self.klass.html_id+'_ctor_body')
          h3.panel-title Constructor
            span.pull-right.glyphicon
        div.panel-collapse.collapse(id=self.klass.html_id+'_ctor_body')
          div.panel-body
            - var parameters = self.klass.params
            include method-parameters
            if self.klass.code
              - var showcode_label = 'Show code'
              - var showcode_defined_in = self.klass.defined_in
              - var showcode_line_number = self.klass.line_number
              - var showcode_code = self.klass.code
              include method-showcode
  each item in self.properties
    span.fix-anchor(id=item.html_id)
    section(class=item.isPrivate ? 'private' : '')
      - var display_name = item.ctx.fullname
      - var is_method_of_class = true
      - var method = item.override || item
      include method
