Class: PortEditorMdSectionView

PortEditorMdSectionView()

A section of the Portal Editor for adding/editing a Markdown page to a Portal

Constructor

new PortEditorMdSectionView()

Source:

Extends

Members

attributes :object

The HTML attributes to set on this view's element
Type:
  • object
Source:

className :string

The HTML classes to use for this view's element
Type:
  • string
Overrides:
Source:

editorView :PortalEditorView

A reference to the PortalEditorView
Type:
Overrides:
Source:

events :object

The events this view will listen to and the associated function to call.
Type:
  • object
Overrides:
Source:

imageUploaderContainer :string

A jQuery selector for the element that will contain the ImageUploader view
Type:
  • string
Source:

introEl :string

A jQuery selector for the element that will contain the markdown section introduction text
Type:
  • string
Source:

markdownEditorContainer :string

A jQuery selector for the element that will contain the markdown editor
Type:
  • string
Source:

model :PortalSectionModel

The PortalSectionModel that is being edited
Type:
Overrides:
Source:

sectionType :string

The type of section view this is
Type:
  • string
Source:

sectionsOptions :Object.<string, PortEditorSectionView#sectionOption>

Information about each of the section types available to a user. Note that the key (e.g. "freeform") is used to ID the UI selection element.
Type:
Inherited From:
Source:

sectionsOptionsContainer :string

A jQuery selector for the element that the section option buttons should be inserted into
Type:
  • string
Inherited From:
Source:

tagName :string

The HTML tag name for this view's element
Type:
  • string
Inherited From:
Source:

template :Underscore.Template

References to templates for this view. HTML files are converted to Underscore.js templates
Type:
  • Underscore.Template
Overrides:
Source:

titleEl :string

A jQuery selector for the element that will contain the markdown section title text
Type:
  • string
Source:

type :string

The type of View this is
Type:
  • string
Overrides:
Source:

uniqueSectionLabel :string

The unique label for this Section. It most likely matches the label on the model, but may include a number after if more than one section has the same name.
Type:
  • string
Inherited From:
Source:

Methods

addNewSection(e)

Gets the section type to add, and triggers an event so the rest of the app will add a new section
Parameters:
Name Type Description
e Event The element that was clicked that represents the section option
Inherited From:
Source:

disableSectionOption(sectionType)

Adds styling and content to a section option element to indicate that the user already added the maximum allowable number of this section type (i.e. it's disabled).
Parameters:
Name Type Description
sectionType string The section name. This is the same string used as the key in sectionsOptions (e.g. "freeform").
Inherited From:
Source:

enableSectionOption(sectionType)

Adds styling and content to a section option element to indicate that the user is able to add more of this section type (i.e. it's not disabled).
Parameters:
Name Type Description
sectionType string The section name. This is the same string used as the key in sectionsOptions (e.g. "freeform").
Inherited From:
Source:

initialize(options)

Is executed when a new PortEditorMdSectionView is created
Parameters:
Name Type Description
options object A literal object with options to pass to the view
Overrides:
Source:

render() → {PortEditorMdSectionView}

Renders this view.
Overrides:
Source:
Returns:
This view
Type
PortEditorMdSectionView

resizeTextarea(textareas)

resizeTextarea - Set the height of a textarea element based on its scrollHeight.
Parameters:
Name Type Description
textareas jQuery The textarea element or elements to be resized.
Source:

showValidation()

showValidation - Display validation errors if any are retuned by the PortalSection model
Source:

toggleDisableSectionOption(sectionType)

Checks whether a section type is available to a user to add, then calls functions that change content and styling to indicate the availability to the user.
Parameters:
Name Type Description
sectionType string The section name. This is the same string used as the key in sectionsOptions (e.g. "freeform").
Inherited From:
Source:

Type Definitions

sectionOption

Information about a section type that can be added to a portal
Type:
  • object
Properties:
Name Type Description
title string The name of the section type to be displayed to the user
description string A brief description of the section type, to be displayed to the user
limiter string | number The limiter is used to determine whether the user is allowed to add more of this section type. If limiter is a number, then it's used as the maximum number of the given sections allowed (currently this only applies to 'freeform'/markdown sections). If limiter is a string, it should be the name of the 'hide' option in the project model (e.g. hideMetrics for the metrics view). In this case, it's assumed that only one of the given page type is allowed.
svg string SVG that illustrates the section type. SVG elements should use classes to define fill colors that are not greyscale, so that they may be greyed-out to indicate that a section type is unavailable. SVG elements that use theme colors should use the classes 'theme-primary-fill', 'theme-secondary-fill', and 'theme-accent-fill'.
Inherited From:
Source: