new SourceEditorOverlay(options, dataPromiseopt)
Overlay that shows an editor
Parameters:
Name | Type | Attributes | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object | Configuration options Properties
|
|||||||||
dataPromise |
jQuery.Promise |
<optional> |
Optional promise for loading content |
Extends
Members
defaults
Properties:
Name | Type | Description | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
defaults |
Object | Default options hash. Properties
|
- Inherited From:
- Mixes In:
- Source:
editor
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:
sectionId
- Inherited From:
- Source:
sectionLine
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 |
- 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: util.template( '<source-code>' ),
templatePartials: { content: util.template( '<source-code>' ) }
}
Methods
_resizeEditor()
Resize the editor textarea, maintaining scroll position in iOS
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
createAnonTalkWarning() → {jQuery.Element}
Creates and returns a copy of the anon talk message warning
- Inherited From:
- Source:
Returns:
- Type
- jQuery.Element
createAnonWarning(options) → {jQuery.Element}
Sets additional values used for anonymous editing warning.
Parameters:
Name | Type | Description |
---|---|---|
options |
Object |
- Inherited From:
- Source:
Returns:
- Type
- jQuery.Element
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
or blur
.
Parameters:
Name | Type | Description |
---|---|---|
eventName |
string | |
selector |
string | |
listener |
function |
- Inherited From:
- Source:
delegateEvents(events)
Set callbacks, where this.options.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.
Returns:
- Type
- string
getLoadingPromise() → {jQuery.Promise}
Get a promise that is resolved when the editor data has loaded, or rejected when we're refusing to load the editor because the user is blocked.
- Inherited From:
- Source:
Returns:
- Type
- jQuery.Promise
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() → {boolean}
Detach the overlay from the current view Should not be overriden as soon to be deprecated.
- 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
|
- 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.
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:
logFeatureUse(data)
Logs an event to http://meta.wikimedia.org/wiki/Schema:VisualEditorFeatureUse
Parameters:
Name | Type | Description |
---|---|---|
data |
Object |
- Inherited From:
- Source:
onBeforeExit(exit, cancel)
Parameters:
Name | Type | Description |
---|---|---|
exit |
function | Callback to exit the overlay |
cancel |
function | Callback to cancel exiting the overlay |
- Inherited From:
- Source:
onClickBack()
Back button click handler
- Overrides:
- Source:
onClickContinue()
Continue button click handler
- Inherited From:
- Source:
onClickSubmit()
Submit button click handler
- Inherited From:
- Source:
onExitClick(ev)
ClickBack event handler
Parameters:
Name | Type | Description |
---|---|---|
ev |
Object | event object |
- Inherited From:
- Source:
onInputWikitextEditor()
Wikitext Editor input handler
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(newRevId)
Executed when page save is complete. Updates urls and shows toast message.
Parameters:
Name | Type | Description |
---|---|---|
newRevId |
number | null | ID of the newly created revision, or null if it was a null edit. |
- Overrides:
- 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 | API response |
- Overrides:
- Source:
onStageChanges()
Prepares the penultimate screen before saving. Expects to be overridden by child class.
- Overrides:
- Source:
parseHTML(html) → {jQuery.Object}
See parseHTML method of util singleton
Parameters:
Name | Type | Description |
---|---|---|
html |
string | to turn into a jQuery object. |
- Inherited From:
- Source:
Returns:
- Type
- jQuery.Object
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)
Report load errors back to the user. Silently record the error using EventLogging.
Parameters:
Name | Type | Description |
---|---|---|
text |
string | Text (HTML) of message 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. |
show()
Attach overlay to current view and show it.
- Overrides:
- 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:
showSaveCompleteMsg()
showSpinner()
Shows the spinner right to the input field.
- 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: