Esanders has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/318447

Change subject: Bring in target 'mode' property from MW
......................................................................

Bring in target 'mode' property from MW

Part of upstreaming visual/source switching.

Change-Id: I9d501cb77c714fbd299b5816d302b0bdde7833cd
---
M src/init/ve.init.Target.js
1 file changed, 33 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/VisualEditor/VisualEditor 
refs/changes/47/318447/1

diff --git a/src/init/ve.init.Target.js b/src/init/ve.init.Target.js
index c3327c2..2db4778 100644
--- a/src/init/ve.init.Target.js
+++ b/src/init/ve.init.Target.js
@@ -15,6 +15,7 @@
  * @constructor
  * @param {Object} [config] Configuration options
  * @cfg {Object} [toolbarConfig] Configuration options for the toolbar
+ * @cfg {Object} [mode='visual'] Initial editing mode. Must be in static.modes.
  */
 ve.init.Target = function VeInitTarget( config ) {
        config = config || {};
@@ -36,6 +37,8 @@
        this.toolbarConfig = config.toolbarConfig;
        this.$scrollContainer = this.getScrollContainer();
        this.toolbarScrollOffset = 0;
+
+       this.setMode( config.mode || 'visual' );
 
        this.setupTriggerListeners();
 
@@ -66,6 +69,15 @@
 OO.mixinClass( ve.init.Target, OO.EventEmitter );
 
 /* Static Properties */
+
+/**
+ * Editing modes available in the target
+ *
+ * @static
+ * @property {string[]}
+ * @inheritable
+ */
+ve.init.Target.static.modes = [ 'visual' ];
 
 ve.init.Target.static.toolbarGroups = [
        // History
@@ -178,6 +190,27 @@
 /* Methods */
 
 /**
+ * Set editing mode
+ *
+ * @param {string} mode Editing mode, see static.modes
+ */
+ve.init.Target.prototype.setMode = function ( mode ) {
+       if ( this.constructor.static.modes.indexOf( mode ) === -1 ) {
+               return;
+       }
+       if ( mode !== this.mode ) {
+               // The follow classes are used here:
+               // * ve-init-target-visual
+               // * ve-init-target-[modename]
+               if ( this.mode ) {
+                       this.$element.removeClass( 've-init-target-' + 
this.mode );
+               }
+               this.$element.addClass( 've-init-target-' + mode );
+               this.mode = mode;
+       }
+};
+
+/**
  * Bind event handlers to target and document
  */
 ve.init.Target.prototype.bindHandlers = function () {

-- 
To view, visit https://gerrit.wikimedia.org/r/318447
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9d501cb77c714fbd299b5816d302b0bdde7833cd
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to