medium-editor-rails 1.4.2 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4845247670516b2ca15fb5f3723f7f1aa360ab22
4
- data.tar.gz: 0b0d17dadcd0c6dafab41c723311841fabe3927e
3
+ metadata.gz: cbf348d6b92b44e3d48f0033b45a4dec0b3b8a0b
4
+ data.tar.gz: 54456f0f6231b89c1a873a71f5f76cf99cf76299
5
5
  SHA512:
6
- metadata.gz: cf8dd7040eaa863a61b86c2a136622f8770950b43c9149438639e50487a7263e7b24b983fd3d7d7bf524bb4a224a08eee7eb9efedf19a453d4dab7ff9c25a281
7
- data.tar.gz: 4623476567bee1b1812d5e6dcbc1db59deb435548b6b30a2bc191e1686037cec318d86bd4e4f56ad4ecd88e0ea16aba5e9985064b143c3127d7c930fe09e2ba1
6
+ metadata.gz: f3ed8f0561a890ce7003daf677799590aae0fccc9ac8b1b1e2f2e188cdd956518838f2fd65494b281be482cc748f861c7615aa4d932b520d64ea5aed438cd865
7
+ data.tar.gz: cab44695b359967168b53067b2cba1f86bc8f48432fdd2b893b182e2eab3eeff5368d3f7d567421a236e6b1033a19f64de1aa35ef6a6a52d4bf3d0bc82ae0d6e
@@ -1,5 +1,12 @@
1
1
 
2
2
  #### [Current]
3
+ * [c57cd48](../../commit/c57cd48) - __(Ahmet Sezgin Duran)__ Update Medium Editor files
4
+ * [0b99797](../../commit/0b99797) - __(Ahmet Sezgin Duran)__ Merge tag '1.4.2' into develop
5
+
6
+ 1.4.2
7
+
8
+ #### 1.4.2
9
+ * [edda875](../../commit/edda875) - __(Ahmet Sezgin Duran)__ Bump versions 1.4.2 and 2.4.2
3
10
  * [cad5c5c](../../commit/cad5c5c) - __(Ahmet Sezgin Duran)__ Update Medium Editor files
4
11
  * [2666922](../../commit/2666922) - __(Ahmet Sezgin Duran)__ Merge tag '1.3.0' into develop
5
12
 
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 [2.4.2](https://github.com/daviferreira/medium-editor/releases)
11
+ The latest version of Medium Editor bundled by this gem is [2.4.4](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 = '1.4.2'
4
- MEDIUM_EDITOR_VERSION = '2.4.2'
3
+ VERSION = '1.4.4'
4
+ MEDIUM_EDITOR_VERSION = '2.4.4'
5
5
  end
6
6
  end
@@ -2127,11 +2127,38 @@ function MediumEditor(elements, options) {
2127
2127
  },
2128
2128
 
2129
2129
  execAction: function (action, e) {
2130
- if (action.indexOf('append-') > -1) {
2131
- this.execFormatBlock(action.replace('append-', ''));
2130
+ /*jslint regexp: true*/
2131
+ var fullAction = /^full-(.+)$/gi,
2132
+ appendAction = /^append-(.+)$/gi,
2133
+ justifyAction = /^justify(left|center|right|full)$/gi,
2134
+ match;
2135
+ /*jslint regexp: false*/
2136
+
2137
+ // Actions starting with 'full-' should be applied to to the entire contents of the editable element
2138
+ // (ie full-bold, full-append-pre, etc.)
2139
+ match = fullAction.exec(action);
2140
+ if (match) {
2141
+ // Store the current selection to be restored after applying the action
2142
+ this.saveSelection();
2143
+ // Select all of the contents before calling the action
2144
+ this.selectAllContents();
2145
+ this.execAction(match[1], e);
2146
+ // Restore the previous selection
2147
+ this.restoreSelection();
2148
+ return;
2149
+ }
2150
+
2151
+ // Actions starting with 'append-' should attempt to format a block of text ('formatBlock') using a specific
2152
+ // type of block element (ie append-blockquote, append-h1, append-pre, etc.)
2153
+ match = appendAction.exec(action);
2154
+ if (match) {
2155
+ this.execFormatBlock(match[1]);
2132
2156
  this.setToolbarPosition();
2133
2157
  this.setToolbarButtonStates();
2134
- } else if (action === 'anchor') {
2158
+ return;
2159
+ }
2160
+
2161
+ if (action === 'anchor') {
2135
2162
  if (!this.options.disableAnchorForm) {
2136
2163
  this.triggerAnchorAction(e);
2137
2164
  }
@@ -2140,7 +2167,8 @@ function MediumEditor(elements, options) {
2140
2167
  } else {
2141
2168
  this.options.ownerDocument.execCommand(action, false, null);
2142
2169
  this.setToolbarPosition();
2143
- if (action.indexOf('justify') === 0) {
2170
+ // Manually update the toolbar for text-alignment actions
2171
+ if (justifyAction.test(action)) {
2144
2172
  this.setToolbarButtonStates();
2145
2173
  }
2146
2174
  }
@@ -2276,6 +2304,23 @@ function MediumEditor(elements, options) {
2276
2304
  });
2277
2305
  },
2278
2306
 
2307
+ selectAllContents: function () {
2308
+ var range = this.options.ownerDocument.createRange(),
2309
+ sel = this.options.contentWindow.getSelection(),
2310
+ currNode = meSelection.getSelectionElement(this.options.contentWindow);
2311
+
2312
+ if (currNode) {
2313
+ // Move to the lowest descendant node that still selects all of the contents
2314
+ while (currNode.children.length === 1) {
2315
+ currNode = currNode.children[0];
2316
+ }
2317
+
2318
+ range.selectNodeContents(currNode);
2319
+ sel.removeAllRanges();
2320
+ sel.addRange(range);
2321
+ }
2322
+ },
2323
+
2279
2324
  // http://stackoverflow.com/questions/17678843/cant-restore-selection-after-html-modify-even-if-its-the-same-html
2280
2325
  // Tim Down
2281
2326
  // TODO: move to selection.js and clean up old methods there
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: 1.4.2
4
+ version: 1.4.4
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: 2015-02-16 00:00:00.000000000 Z
11
+ date: 2015-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties