medium-editor-rails 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a32f7c8a56ef26f70498f6b0fe01a11bbc54e708
4
- data.tar.gz: 9cbf528d1def797dd37fb67952a7eff4fef41f61
3
+ metadata.gz: e6334aa6f7d7de244f56a2f69a38f76f7ff1e0f4
4
+ data.tar.gz: 7bbdaa4722048e7014a1f7f547916c02609ab331
5
5
  SHA512:
6
- metadata.gz: d07d7b49068f155fa7d1f78c70b8a8085259179ea653e12d9c58065f085c0511c02072012c4676b24265d9bab51cb63168e79352e183a347241fcc2a96afcd29
7
- data.tar.gz: efb7932a55e109d1ac2ade177dc8ecc5ce8f68b3f367b216bc14693f4f4f0341819227ebb5da647c87f12eae1bac1c5fb9702260d92034825b6d2b9735e0c56e
6
+ metadata.gz: 5340ce94ec2f120238764d75f94011a81edf06190197efd8e06fff0be2fd77430a127e0ac198d56d46ad4eaddf733226044ca1dc2bad6a4a8e1d0c78fab7287c
7
+ data.tar.gz: 7aa1dfda439284dd0c437e8a138c4d27f73420804b35f9fda37b018e0a5d682edecbe447debefb4a7e82be59a08215a2b00a295507821cc8adb79c4af3eaafa8
@@ -1,5 +1,9 @@
1
1
 
2
2
  #### [Current]
3
+ * [3e8148f](../../commit/3e8148f) - __(Ahmet Sezgin Duran)__ Update Medium Editor files
4
+
5
+ #### 0.11.0
6
+ * [90cef00](../../commit/90cef00) - __(Ahmet Sezgin Duran)__ Bump versions 0.11.0 and 1.9.4
3
7
  * [c949af6](../../commit/c949af6) - __(Ahmet Sezgin Duran)__ Update Medium Editor files
4
8
  * [6e867bb](../../commit/6e867bb) - __(Ahmet Sezgin Duran)__ Add Gemnasium badge
5
9
  * [618bf25](../../commit/618bf25) - __(Ahmet Sezgin Duran)__ Merge tag '0.10.0' into develop
data/README.md CHANGED
@@ -8,7 +8,7 @@ This gem integrates [Medium Editor](https://github.com/daviferreira/medium-edito
8
8
 
9
9
  ## Version
10
10
 
11
- The latest version of Medium Editor bundled by this gem is [1.9.4](https://github.com/daviferreira/medium-editor/releases)
11
+ The latest version of Medium Editor bundled by this gem is [1.9.8](https://github.com/daviferreira/medium-editor/releases)
12
12
 
13
13
  ## Installation
14
14
 
@@ -1,6 +1,6 @@
1
1
  module MediumEditorRails
2
2
  module Rails
3
- VERSION = '0.11.0'
4
- MEDIUM_EDITOR_VERSION = '1.9.4'
3
+ VERSION = '0.12.0'
4
+ MEDIUM_EDITOR_VERSION = '1.9.8'
5
5
  end
6
6
  end
@@ -276,14 +276,18 @@ if (typeof module === 'object') {
276
276
 
277
277
  this.elements[index].addEventListener('keyup', function (e) {
278
278
  var node = getSelectionStart(),
279
- tagName;
279
+ tagName,
280
+ editorElement;
281
+
280
282
  if (node && node.getAttribute('data-medium-element') && node.children.length === 0 && !(self.options.disableReturn || node.getAttribute('data-disable-return'))) {
281
283
  document.execCommand('formatBlock', false, 'p');
282
284
  }
283
285
  if (e.which === 13) {
284
286
  node = getSelectionStart();
285
287
  tagName = node.tagName.toLowerCase();
286
- if (!(self.options.disableReturn || this.getAttribute('data-disable-return')) &&
288
+ editorElement = self.getSelectionElement();
289
+
290
+ if (!(self.options.disableReturn || editorElement.getAttribute('data-disable-return')) &&
287
291
  tagName !== 'li' && !self.isListItemChild(node)) {
288
292
  if (!e.shiftKey) {
289
293
  document.execCommand('formatBlock', false, 'p');
@@ -375,7 +379,11 @@ if (typeof module === 'object') {
375
379
  'unorderedlist': '<button class="medium-editor-action medium-editor-action-unorderedlist" data-action="insertunorderedlist" data-element="ul">' + buttonLabels.unorderedlist + '</button>',
376
380
  'pre': '<button class="medium-editor-action medium-editor-action-pre" data-action="append-pre" data-element="pre">' + buttonLabels.pre + '</button>',
377
381
  'indent': '<button class="medium-editor-action medium-editor-action-indent" data-action="indent" data-element="ul">' + buttonLabels.indent + '</button>',
378
- 'outdent': '<button class="medium-editor-action medium-editor-action-outdent" data-action="outdent" data-element="ul">' + buttonLabels.outdent + '</button>'
382
+ 'outdent': '<button class="medium-editor-action medium-editor-action-outdent" data-action="outdent" data-element="ul">' + buttonLabels.outdent + '</button>',
383
+ 'justifyCenter': '<button class="medium-editor-action medium-editor-action-justifyCenter" data-action="justifyCenter" data-element="">' + buttonLabels.justifyCenter + '</button>',
384
+ 'justifyFull': '<button class="medium-editor-action medium-editor-action-justifyFull" data-action="justifyFull" data-element="">' + buttonLabels.justifyFull + '</button>',
385
+ 'justifyLeft': '<button class="medium-editor-action medium-editor-action-justifyLeft" data-action="justifyLeft" data-element="">' + buttonLabels.justifyLeft + '</button>',
386
+ 'justifyRight': '<button class="medium-editor-action medium-editor-action-justifyRight" data-action="justifyRight" data-element="">' + buttonLabels.justifyRight + '</button>'
379
387
  };
380
388
  return buttonTemplates[btnType] || false;
381
389
  },
@@ -399,7 +407,11 @@ if (typeof module === 'object') {
399
407
  'unorderedlist': '<b>&bull;</b>',
400
408
  'pre': '<b>0101</b>',
401
409
  'indent': '<b>&rarr;</b>',
402
- 'outdent': '<b>&larr;</b>'
410
+ 'outdent': '<b>&larr;</b>',
411
+ 'justifyCenter': '<b>C</b>',
412
+ 'justifyFull': '<b>J</b>',
413
+ 'justifyLeft': '<b>L</b>',
414
+ 'justifyRight': '<b>R</b>'
403
415
  };
404
416
  if (buttonLabelType === 'fontawesome') {
405
417
  customButtonLabels = {
@@ -415,7 +427,11 @@ if (typeof module === 'object') {
415
427
  'unorderedlist': '<i class="fa fa-list-ul"></i>',
416
428
  'pre': '<i class="fa fa-code fa-lg"></i>',
417
429
  'indent': '<i class="fa fa-indent"></i>',
418
- 'outdent': '<i class="fa fa-outdent"></i>'
430
+ 'outdent': '<i class="fa fa-outdent"></i>',
431
+ 'justifyCenter': '<i class="fa fa-align-center"></i>',
432
+ 'justifyFull': '<i class="fa fa-align-justify"></i>',
433
+ 'justifyLeft': '<i class="fa fa-align-left"></i>',
434
+ 'justifyRight': '<i class="fa fa-align-right"></i>'
419
435
  };
420
436
  } else if (typeof buttonLabelType === 'object') {
421
437
  customButtonLabels = buttonLabelType;
@@ -625,36 +641,31 @@ if (typeof module === 'object') {
625
641
  },
626
642
 
627
643
  findMatchingSelectionParent: function(testElementFunction) {
628
- var selection = window.getSelection(),
629
- range, current, parent,
630
- result,
631
- getElement = function (e) {
632
- var localParent = e;
633
- try {
634
- while (!testElementFunction(localParent)) {
635
- localParent = localParent.parentNode;
636
- }
637
- } catch (errb) {
638
- return false;
639
- }
640
- return localParent;
641
- };
642
- // First try on current node
643
- try {
644
- range = selection.getRangeAt(0);
645
- current = range.commonAncestorContainer;
646
- parent = current.parentNode;
647
-
648
- if (testElementFunction(current)) {
649
- result = current;
650
- } else {
651
- result = getElement(parent);
652
- }
653
- // If not search in the parent nodes.
654
- } catch (err) {
655
- result = getElement(parent);
644
+ var selection = window.getSelection(), range, current;
645
+
646
+ if (selection.rangeCount === 0) {
647
+ return false;
656
648
  }
657
- return result;
649
+
650
+ range = selection.getRangeAt(0);
651
+ current = range.commonAncestorContainer;
652
+
653
+ do {
654
+ if (current.nodeType === 1){
655
+ if ( testElementFunction(current) )
656
+ {
657
+ return current;
658
+ }
659
+ // do not traverse upwards past the nearest containing editor
660
+ if (current.getAttribute('data-medium-element')) {
661
+ return false;
662
+ }
663
+ }
664
+
665
+ current = current.parentNode;
666
+ } while (current);
667
+
668
+ return false;
658
669
  },
659
670
 
660
671
  getSelectionElement: function () {
@@ -1325,7 +1336,8 @@ if (typeof module === 'object') {
1325
1336
  }
1326
1337
  document.execCommand('insertHTML', false, html);
1327
1338
  } else {
1328
- document.execCommand('insertHTML', false, e.clipboardData.getData('text/plain'));
1339
+ html = self.htmlEntities(e.clipboardData.getData('text/plain'));
1340
+ document.execCommand('insertHTML', false, html);
1329
1341
  }
1330
1342
  }
1331
1343
  };
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: medium-editor-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahmet Sezgin Duran
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-16 00:00:00.000000000 Z
11
+ date: 2014-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties