clipboard-rails 1.5.16 → 1.6.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 +4 -4
- data/README.md +49 -0
- data/lib/clipboard/rails/version.rb +1 -1
- data/vendor/assets/javascripts/clipboard.js +26 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fdde22aa567b1e181a2eb373a59f8b9a5dacc792
|
4
|
+
data.tar.gz: be7cd97ee8d48b8ea85f09511ae4574afe19cb46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ed84fdf6938a670897f3aba81b1848913d09f2ec7bd6ecc8da3251a0848733a8e7c1762ea3c89515d26e36f9e78a25dc564f26afe40f09ac3099916af2d695e
|
7
|
+
data.tar.gz: 0a43c16cdb82ec9973b831bbb79edde4f66646ace8b0f29f548822ebf8b9eff26ae1f3a80b8a10f9b20b1c8ec3ea6006e10fd5d8cfbced0bf8051ad25a29ac3a
|
data/README.md
CHANGED
@@ -67,6 +67,55 @@ If you omit this attribute, **copy** will be used by default.
|
|
67
67
|
|
68
68
|
Read the clipboard.js documentation here http://zenorocha.github.io/clipboard.js/ for full usage information.
|
69
69
|
|
70
|
+
|
71
|
+
## Add Tooltips + Highlight animation:
|
72
|
+
|
73
|
+
Add Tooltips + Highlight animation with Clipboard.js on button click using Bootstrap Tooltip
|
74
|
+
|
75
|
+
``` javascript
|
76
|
+
|
77
|
+
// Tooltip
|
78
|
+
|
79
|
+
$('button').tooltip({
|
80
|
+
trigger: 'click',
|
81
|
+
placement: 'bottom'
|
82
|
+
});
|
83
|
+
|
84
|
+
function setTooltip(btn, message) {
|
85
|
+
$(btn).tooltip('hide')
|
86
|
+
.attr('data-original-title', message)
|
87
|
+
.tooltip('show');
|
88
|
+
}
|
89
|
+
|
90
|
+
function hideTooltip(btn) {
|
91
|
+
setTimeout(function() {
|
92
|
+
$(btn).tooltip('hide');
|
93
|
+
}, 1000);
|
94
|
+
}
|
95
|
+
|
96
|
+
// Clipboard
|
97
|
+
|
98
|
+
var clipboard = new Clipboard('button');
|
99
|
+
|
100
|
+
clipboard.on('success', function(e) {
|
101
|
+
setTooltip(e.trigger, 'Copied!');
|
102
|
+
hideTooltip(e.trigger);
|
103
|
+
});
|
104
|
+
|
105
|
+
clipboard.on('error', function(e) {
|
106
|
+
setTooltip(e.trigger, 'Failed!');
|
107
|
+
hideTooltip(e.trigger);
|
108
|
+
});
|
109
|
+
```
|
110
|
+
|
111
|
+
``` html
|
112
|
+
<!-- Animation on buttons HTML -->
|
113
|
+
<button class="btn btn-primary" data-clipboard-text="It worked!">Click me</button>
|
114
|
+
<button class="btn btn-primary" data-clipboard-text="It worked again!">Click me</button>
|
115
|
+
```
|
116
|
+
|
117
|
+
|
118
|
+
|
70
119
|
## Development
|
71
120
|
|
72
121
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake false` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* clipboard.js v1.
|
2
|
+
* clipboard.js v1.6.0
|
3
3
|
* https://zenorocha.github.io/clipboard.js
|
4
4
|
*
|
5
5
|
* Licensed MIT © Zeno Rocha
|
@@ -240,9 +240,19 @@ function select(element) {
|
|
240
240
|
selectedText = element.value;
|
241
241
|
}
|
242
242
|
else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
|
243
|
-
element.
|
243
|
+
var isReadOnly = element.hasAttribute('readonly');
|
244
|
+
|
245
|
+
if (!isReadOnly) {
|
246
|
+
element.setAttribute('readonly', '');
|
247
|
+
}
|
248
|
+
|
249
|
+
element.select();
|
244
250
|
element.setSelectionRange(0, element.value.length);
|
245
251
|
|
252
|
+
if (!isReadOnly) {
|
253
|
+
element.removeAttribute('readonly');
|
254
|
+
}
|
255
|
+
|
246
256
|
selectedText = element.value;
|
247
257
|
}
|
248
258
|
else {
|
@@ -452,7 +462,6 @@ module.exports = E;
|
|
452
462
|
this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';
|
453
463
|
// Move element to the same position vertically
|
454
464
|
var yPosition = window.pageYOffset || document.documentElement.scrollTop;
|
455
|
-
this.fakeElem.addEventListener('focus', window.scrollTo(0, yPosition));
|
456
465
|
this.fakeElem.style.top = yPosition + 'px';
|
457
466
|
|
458
467
|
this.fakeElem.setAttribute('readonly', '');
|
@@ -728,6 +737,20 @@ module.exports = E;
|
|
728
737
|
this.clipboardAction = null;
|
729
738
|
}
|
730
739
|
}
|
740
|
+
}], [{
|
741
|
+
key: 'isSupported',
|
742
|
+
value: function isSupported() {
|
743
|
+
var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];
|
744
|
+
|
745
|
+
var actions = typeof action === 'string' ? [action] : action;
|
746
|
+
var support = !!document.queryCommandSupported;
|
747
|
+
|
748
|
+
actions.forEach(function (action) {
|
749
|
+
support = support && !!document.queryCommandSupported(action);
|
750
|
+
});
|
751
|
+
|
752
|
+
return support;
|
753
|
+
}
|
731
754
|
}]);
|
732
755
|
|
733
756
|
return Clipboard;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clipboard-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mohammed Sadiq
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|