medium-editor-rails 2.1.0 → 2.2.0
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7dde5397c49e9ca83dbc11bf66e79b5b4345b057
|
4
|
+
data.tar.gz: 4488ea4ce630bbc1d36ed1619575901c8320ac7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8a38f3ba2fccfee0bb0ff99c535b79fe7b424d6500cba782a6620d437ad9bfb1b3b75a355d91606a9f83a8a9e0dbe3c6f627288669a81fb87b69d8bec2cc064
|
7
|
+
data.tar.gz: 155235c9e6b70b6ef7ff2138f29fda2fc98146b3dc66bae2904bc3a0f373cb44697a8dcb5313201fc6dd7e2e55f1ccef34bf71f52b17b3814c274dd50bf29850
|
data/README.md
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
[](https://codeclimate.com/github/marjinal1st/medium-editor-rails)
|
5
5
|
[](https://gemnasium.com/marjinal1st/medium-editor-rails)
|
6
6
|
|
7
|
-
This gem integrates [Medium Editor](https://github.com/
|
7
|
+
This gem integrates [Medium Editor](https://github.com/yabwe/medium-editor) with Rails asset pipeline.
|
8
8
|
|
9
9
|
## Version
|
10
10
|
|
11
|
-
The latest version of Medium Editor bundled by this gem is [5.14.4](https://github.com/
|
11
|
+
The latest version of Medium Editor bundled by this gem is [5.14.4](https://github.com/yabwe/medium-editor/releases)
|
12
12
|
|
13
13
|
## Installation
|
14
14
|
|
data/medium-editor-rails.gemspec
CHANGED
@@ -6,9 +6,9 @@ require 'medium-editor-rails/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = 'medium-editor-rails'
|
8
8
|
gem.version = MediumEditorRails::Rails::VERSION
|
9
|
-
gem.authors = ['Ahmet Sezgin Duran']
|
10
|
-
gem.email = ['marjinalist1@gmail.com']
|
11
|
-
gem.summary = %q{
|
9
|
+
gem.authors = ['Ahmet Sezgin Duran', 'Gabriel Medina']
|
10
|
+
gem.email = ['marjinalist1@gmail.com', 'gmedina.santos@gmail.com']
|
11
|
+
gem.summary = %q{Metdium Editor integrated in Rails asset pipeline}
|
12
12
|
gem.description = gem.summary
|
13
13
|
gem.homepage = 'https://github.com/marjinal1st/medium-editor-rails'
|
14
14
|
gem.license = 'MIT'
|
@@ -2354,6 +2354,20 @@ MediumEditor.extensions = {};
|
|
2354
2354
|
return range;
|
2355
2355
|
},
|
2356
2356
|
|
2357
|
+
/**
|
2358
|
+
* Clear the current highlighted selection and set the caret to the start or the end of that prior selection, defaults to end.
|
2359
|
+
*
|
2360
|
+
* @param {DomDocument} doc Current document
|
2361
|
+
* @param {boolean} moveCursorToStart A boolean representing whether or not to set the caret to the beginning of the prior selection.
|
2362
|
+
*/
|
2363
|
+
clearSelection: function (doc, moveCursorToStart) {
|
2364
|
+
if (moveCursorToStart) {
|
2365
|
+
doc.getSelection().collapseToStart();
|
2366
|
+
} else {
|
2367
|
+
doc.getSelection().collapseToEnd();
|
2368
|
+
}
|
2369
|
+
},
|
2370
|
+
|
2357
2371
|
/**
|
2358
2372
|
* Move cursor to the given node with the given offset.
|
2359
2373
|
*
|
@@ -3409,6 +3423,11 @@ MediumEditor.extensions = {};
|
|
3409
3423
|
formSaveLabel: '✓',
|
3410
3424
|
formCloseLabel: '×',
|
3411
3425
|
|
3426
|
+
/* activeClass: [string]
|
3427
|
+
* set class which added to shown form
|
3428
|
+
*/
|
3429
|
+
activeClass: 'medium-editor-toolbar-form-active',
|
3430
|
+
|
3412
3431
|
/* hasForm: [boolean]
|
3413
3432
|
*
|
3414
3433
|
* Setting this to true will cause getForm() to be called
|
@@ -3431,14 +3450,34 @@ MediumEditor.extensions = {};
|
|
3431
3450
|
* This function should return true/false reflecting
|
3432
3451
|
* whether the form is currently displayed
|
3433
3452
|
*/
|
3434
|
-
isDisplayed: function () {
|
3453
|
+
isDisplayed: function () {
|
3454
|
+
if (this.hasForm) {
|
3455
|
+
return this.getForm().classList.contains(this.activeClass);
|
3456
|
+
}
|
3457
|
+
return false;
|
3458
|
+
},
|
3459
|
+
|
3460
|
+
/* hideForm: [function ()]
|
3461
|
+
*
|
3462
|
+
* This function should show the form element inside
|
3463
|
+
* the toolbar container
|
3464
|
+
*/
|
3465
|
+
showForm: function () {
|
3466
|
+
if (this.hasForm) {
|
3467
|
+
this.getForm().classList.add(this.activeClass);
|
3468
|
+
}
|
3469
|
+
},
|
3435
3470
|
|
3436
3471
|
/* hideForm: [function ()]
|
3437
3472
|
*
|
3438
3473
|
* This function should hide the form element inside
|
3439
3474
|
* the toolbar container
|
3440
3475
|
*/
|
3441
|
-
hideForm: function () {
|
3476
|
+
hideForm: function () {
|
3477
|
+
if (this.hasForm) {
|
3478
|
+
this.getForm().classList.remove(this.activeClass);
|
3479
|
+
}
|
3480
|
+
},
|
3442
3481
|
|
3443
3482
|
/************************ Helpers ************************
|
3444
3483
|
* The following are helpers that are either set by MediumEditor
|
@@ -3627,11 +3666,11 @@ MediumEditor.extensions = {};
|
|
3627
3666
|
|
3628
3667
|
// Used by medium-editor when the default toolbar is to be displayed
|
3629
3668
|
isDisplayed: function () {
|
3630
|
-
return
|
3669
|
+
return MediumEditor.extensions.form.prototype.isDisplayed.apply(this);
|
3631
3670
|
},
|
3632
3671
|
|
3633
3672
|
hideForm: function () {
|
3634
|
-
|
3673
|
+
MediumEditor.extensions.form.prototype.hideForm.apply(this);
|
3635
3674
|
this.getInput().value = '';
|
3636
3675
|
},
|
3637
3676
|
|
@@ -3651,7 +3690,7 @@ MediumEditor.extensions = {};
|
|
3651
3690
|
|
3652
3691
|
this.base.saveSelection();
|
3653
3692
|
this.hideToolbarDefaultActions();
|
3654
|
-
|
3693
|
+
MediumEditor.extensions.form.prototype.showForm.apply(this);
|
3655
3694
|
this.setToolbarPosition();
|
3656
3695
|
|
3657
3696
|
input.value = opts.url;
|
@@ -4125,9 +4164,20 @@ MediumEditor.extensions = {};
|
|
4125
4164
|
this.document.execCommand('AutoUrlDetect', false, false);
|
4126
4165
|
},
|
4127
4166
|
|
4167
|
+
isLastInstance: function () {
|
4168
|
+
var activeInstances = 0;
|
4169
|
+
for (var i = 0; i < this.window._mediumEditors.length; i++) {
|
4170
|
+
var editor = this.window._mediumEditors[i];
|
4171
|
+
if (editor !== null && editor.getExtensionByName('autoLink') !== undefined) {
|
4172
|
+
activeInstances++;
|
4173
|
+
}
|
4174
|
+
}
|
4175
|
+
return activeInstances === 1;
|
4176
|
+
},
|
4177
|
+
|
4128
4178
|
destroy: function () {
|
4129
4179
|
// Turn AutoUrlDetect back on
|
4130
|
-
if (this.document.queryCommandSupported('AutoUrlDetect')) {
|
4180
|
+
if (this.document.queryCommandSupported('AutoUrlDetect') && this.isLastInstance()) {
|
4131
4181
|
this.document.execCommand('AutoUrlDetect', false, true);
|
4132
4182
|
}
|
4133
4183
|
},
|
@@ -7104,7 +7154,7 @@ MediumEditor.parseVersionString = function (release) {
|
|
7104
7154
|
|
7105
7155
|
MediumEditor.version = MediumEditor.parseVersionString.call(this, ({
|
7106
7156
|
// grunt-bump looks for this:
|
7107
|
-
'version': '5.
|
7157
|
+
'version': '5.15.0'
|
7108
7158
|
}).version);
|
7109
7159
|
|
7110
7160
|
return MediumEditor;
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: medium-editor-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmet Sezgin Duran
|
8
|
+
- Gabriel Medina
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
12
|
+
date: 2016-03-24 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: railties
|
@@ -38,9 +39,10 @@ dependencies:
|
|
38
39
|
- - "~>"
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: '1.0'
|
41
|
-
description:
|
42
|
+
description: Metdium Editor integrated in Rails asset pipeline
|
42
43
|
email:
|
43
44
|
- marjinalist1@gmail.com
|
45
|
+
- gmedina.santos@gmail.com
|
44
46
|
executables: []
|
45
47
|
extensions: []
|
46
48
|
extra_rdoc_files: []
|
@@ -95,5 +97,5 @@ rubyforge_project:
|
|
95
97
|
rubygems_version: 2.6.1
|
96
98
|
signing_key:
|
97
99
|
specification_version: 4
|
98
|
-
summary:
|
100
|
+
summary: Metdium Editor integrated in Rails asset pipeline
|
99
101
|
test_files: []
|