jslint
[ckeditor.git] / skins / ckeditor / plugins / plinn_styles / plugin.js
index 7301c07..835b08b 100644 (file)
@@ -1,3 +1,4 @@
+/* © 2014 Benoît Pin, MINES ParisTech */
 ( function() {
 
 var PlinnStylesCombo = function(editor) {
 ( function() {
 
 var PlinnStylesCombo = function(editor) {
@@ -13,6 +14,20 @@ var PlinnStylesCombo = function(editor) {
        this.styles = [];
 };
 
        this.styles = [];
 };
 
+PlinnStylesCombo.prototype.onRender = function() {
+       var self = this;
+       this.editor.on('selectionChange', function(evt){self.checkSelection(evt);});
+};
+
+PlinnStylesCombo.prototype.checkSelection = function(evt) {
+       if (evt.data.selection.getRanges().length > 1) {
+               this.disable();
+       }
+       else {
+               this.enable();
+       }
+};
+
 PlinnStylesCombo.prototype.loadStyle = function(definition) {
        this.styles.push(definition);
        this.styles[definition.name] = definition;
 PlinnStylesCombo.prototype.loadStyle = function(definition) {
        this.styles.push(definition);
        this.styles[definition.name] = definition;
@@ -23,18 +38,18 @@ PlinnStylesCombo.prototype.init = function() {
        for (i=0 ; i < this.styles.length ; i++) {
                style = this.styles[i];
                this.add(style.name,
        for (i=0 ; i < this.styles.length ; i++) {
                style = this.styles[i];
                this.add(style.name,
-                                '<div class="' + style.className + '">' +
-                                       style.name + 
-                                '</div>',
-                                style.name
-                               );
+                               '<div class="' + style.className + '">' +
+                                       style.name + 
+                               '</div>',
+                               style.name
+                               );
        }
 };
 
 PlinnStylesCombo.prototype.onClick = function(value) {
        this.editor.focus();
        this.editor.fire('saveSnapshot');
        }
 };
 
 PlinnStylesCombo.prototype.onClick = function(value) {
        this.editor.focus();
        this.editor.fire('saveSnapshot');
-       var style = this.styles[value]
+       var style = this.styles[value];
        var className = style.className;
        var ranges = this.editor.getSelection().getRanges();
        var element = this.editor.elementPath().lastElement;
        var className = style.className;
        var ranges = this.editor.getSelection().getRanges();
        var element = this.editor.elementPath().lastElement;
@@ -66,7 +81,7 @@ PlinnStylePlugin.prototype.init = function(editor) {
        this.combo = new PlinnStylesCombo(editor);
        editor.ui.addRichCombo('PlinnStyles', this.combo);
        var self = this;
        this.combo = new PlinnStylesCombo(editor);
        editor.ui.addRichCombo('PlinnStyles', this.combo);
        var self = this;
-       editor.on('stylesSet', function(evt){self.onStylesSet(evt)});
+       editor.on('stylesSet', function(evt){self.onStylesSet(evt);});
 };
 
 PlinnStylePlugin.prototype.onStylesSet = function(evt) {
 };
 
 PlinnStylePlugin.prototype.onStylesSet = function(evt) {