Class: EditorOverlay

EditorOverlay(options)

new EditorOverlay(options)

Overlay that shows an editor

Parameters:
Name Type Description
options Object

Configuration options

Source:

Extends

Members

closeOnContentTap

Flag overlay to close on content tap

Properties:
Type Description
boolean
Inherited From:
Source:

defaults

Properties:
Name Type Description
defaults Object

Default options hash.

Properties
Name Type Description
loginButton Object

options to render an sign in button

signupButton Object

options to render a sign up button

anonButton Object

options to render an edit anonymously button

warningOptions Object

options for a MessageBox to display anonymous message warning

api mw.Api

an api module to retrieve pages

Overrides:
Mixes In:
Source:

editor

Source:

events

Overrides:
Source:

fullScreen

Is overlay fullscreen

Properties:
Type Description
boolean
Inherited From:
Source:

hasFixedHeader

Identify whether the element contains position fixed elements

Properties:
Type Description
boolean
Inherited From:
Source:

hideOnExitClick

True if this.hide() should be invoked before firing the Overlay-exit event

Properties:
Type Description
boolean
Inherited From:
Source:

isTemplateMode

Tells the View to ignore tagName and className when constructing the element and to rely solely on the template

Properties:
Name Type Description
isTemplateMode boolean
Inherited From:
Source:

parseHTML

See parseHTML method of util singleton

Inherited From:
Source:

sectionLine

Source:

tagName

Name of tag that contains the rendered template

Properties:
Name Type Description
tagName string
Inherited From:
Source:

template

Properties:
Name Type Description
Specifies Mixed

the template used in render(). Object|string|HoganTemplate

Inherited From:
Source:

templatePartials

Specifies partials (sub-templates) for the main template. Example:

Properties:
Type Description
Object
Overrides:
Source:
Example
// example content for the "some" template (sub-template will be
    // inserted where {{>content}} is):
    // <h1>Heading</h1>
    // {{>content}}

    oo.mfExtend( SomeView, View, {
      template: M.template.get( 'some.hogan' ),
      templatePartials: { content: M.template.get( 'sub.hogan' ) }
    }

Methods

$(query) → {JQuery.Object}

Wraps this.$el.find, so that you can search for elements in the view's ($el's) scope.

Parameters:
Name Type Description
query string

A jQuery CSS selector.

Inherited From:
Source:
Returns:

jQuery object containing results of the search.

Type
JQuery.Object

_parseBlockInfo(data) → {string|false}

Parameters:
Name Type Description
data string
Source:
Returns:
Type
string | false

_resizeEditor()

Resize the editor textarea, maintaining scroll position in iOS

Source:

after(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Inherited From:
Source:
Returns:
Type
this

append(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Inherited From:
Source:
Returns:
Type
this

appendTo(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

before(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Inherited From:
Source:
Returns:
Type
this

confirmSave() → {boolean}

If this is a new article, require confirmation before saving.

Inherited From:
Source:
Returns:

The user confirmed saving

Type
boolean

delegate(eventName, selector, listener)

Add a single event listener to the view's element (or a child element using selector). This only works for delegate-able events: not focus, blur, and not change, submit, and reset in Internet Explorer.

Parameters:
Name Type Description
eventName string
selector string
listener function
Inherited From:
Source:

delegateEvents(events)

Set callbacks, where this.events is a hash of

{ 'event selector': 'callback' }

{ 'mousedown .title': 'edit', 'click .button': 'save', 'click .open': function(e) { ... } }

pairs. Callbacks will be bound to the view, with this set properly. Uses event delegation for efficiency. Omitting the selector binds the event to this.el.

Parameters:
Name Type Description
events Object

Optionally set this events instead of the ones on this.

Inherited From:
Source:

detach(selectoropt) → {this}

Parameters:
Name Type Attributes Description
selector string <optional>
Inherited From:
Source:
Returns:
Type
this

getContent() → {string}

Returns the content of the user input field.

Source:
Returns:
Type
string

handleCaptcha(details)

Handles a failed save due to a CAPTCHA provided by ConfirmEdit extension.

Parameters:
Name Type Description
details Object

Details returned from the api.

Inherited From:
Source:

hasChanged() → {boolean}

Checks whether the existing content has changed.

Overrides:
Source:
Returns:
Type
boolean

hide(forceopt) → {boolean}

Detach the overlay from the current view

Parameters:
Name Type Attributes Description
force boolean <optional>

Whether the overlay should be closed regardless of state (see PhotoUploadProgress)

Inherited From:
Source:
Returns:

Whether the overlay was successfully hidden or not

Type
boolean

hideSpinner()

Hide the spinner near to the input field.

Inherited From:
Source:

initialize(options)

Run once during construction to set up the View

Parameters:
Name Type Description
options Object

Object passed to the constructor.

Properties
Name Type Attributes Description
events Object.<string, string> <optional>
Inherited From:
Source:

insertAfter(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

insertBefore(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

isVisualEditorEnabled() → {boolean}

Check whether VisualEditor is enabled or not.

Source:
Returns:
Type
boolean

log(data)

Logs an event to http://meta.wikimedia.org/wiki/Schema:EditAttemptStep

Parameters:
Name Type Description
data Object
Inherited From:
Source:

onClickBack()

Back button click handler

Overrides:
Source:

onClickContinue()

Continue button click handler

Overrides:
Source:

onClickSubmit()

Submit button click handler

Inherited From:
Source:

onExitClick()

Exit handler

Inherited From:
Source:

onInputWikitextEditor()

Wikitext Editor input handler

Source:

onSaveBegin()

Executed when the editor clicks the save button. Expects to be overridden by child class. Checks if the save needs to be confirmed.

Overrides:
Source:

onSaveComplete()

Executed when page save is complete. Handles reloading the page, showing toast messages.

Inherited From:
Source:

onSaveFailure(data)

Executed when page save fails. Handles logging the error. Subclasses should display error messages as appropriate.

Parameters:
Name Type Description
data Object

Details about the failure, from EditorGateway.parseSaveError

Overrides:
Source:

onStageChanges()

Prepares the penultimate screen before saving. Expects to be overridden by child class.

Overrides:
Source:

onTouchMove(ev)

Event handler for touch move, for IOS

Parameters:
Name Type Description
ev Object

Event Object

Inherited From:
Source:

onTouchStart(ev)

Event handler for touchstart, for IOS

Parameters:
Name Type Description
ev Object

Event Object

Inherited From:
Source:

postRender()

Function called after the view is rendered. Can be redefined in objects that extend View.

Overrides:
Source:

prepend(…contents) → {this}

Parameters:
Name Type Attributes Description
contents string | Node | Array.<Node> | JQuery <repeatable>
Inherited From:
Source:
Returns:
Type
this

prependTo(target) → {this}

Parameters:
Name Type Description
target string | Node | Array.<Node> | JQuery
Inherited From:
Source:
Returns:
Type
this

preRender()

Function called before the view is rendered. Can be redefined in objects that extend View.

Inherited From:
Source:

remove(selectoropt) → {this}

Parameters:
Name Type Attributes Description
selector string <optional>
Inherited From:
Source:
Returns:
Type
this

render(data)

Fill this.$el with template rendered using data if template is set.

Parameters:
Name Type Description
data Object

Template data. Will be merged into the view's options

Inherited From:
Source:

reportError(text, heading)

Report load errors back to the user. Silently record the error using EventLogging.

Parameters:
Name Type Description
text string

Text of message to display to user

heading string

heading text to display to user

Inherited From:
Source:

setContent(content)

Set content to the user input field.

Parameters:
Name Type Description
content string

The content to set.

Source:

setupEmulatedIosOverlayScrolling()

Setups an emulated scroll behaviour for overlays in ios.

Inherited From:
Source:

shouldConfirmLeave(forceopt) → {boolean}

Check, if the user should be asked if they really want to leave the page. Returns false, if he hasn't made changes, otherwise true.

Parameters:
Name Type Attributes Description
force boolean <optional>

Whether this function should always return false

Inherited From:
Source:
Returns:
Type
boolean

show()

Attach overlay to current view and show it.

Inherited From:
Source:

(protected) showHidden(className)

Show elements that are selected by the className. Also hide .hideable elements Can't use jQuery's hide() and show() because show() sets display: block. And we want display: table for headers.

Parameters:
Name Type Description
className string

CSS selector to show

Inherited From:
Source:

showSpinner()

Shows the spinner right to the input field.

Inherited From:
Source:

stopPropagation(ev)

Stop clicks in the overlay from propagating to the page (prevents non-fullscreen overlays from being closed when they're tapped)

Parameters:
Name Type Description
ev Object

Event Object

Inherited From:
Source:

undelegate(eventName, selector, listener)

A finer-grained undelegateEvents for removing a single delegated event. selector and listener are both optional.

Parameters:
Name Type Description
eventName string
selector string
listener function
Inherited From:
Source:

undelegateEvents()

Clears all callbacks previously bound to the view by delegateEvents. You usually don't need to use this, but may wish to if you have multiple views attached to the same DOM element.

Inherited From:
Source:

Events

hide

Fired when the overlay is closed.

Inherited From:
Source: