Fix Event API. Update demos. Update tests (#793)

This commit is contained in:
Beto Muniz 2022-02-02 12:13:00 -03:00 committed by GitHub
parent 9698b1176a
commit 7d675f5fc1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 59 additions and 26 deletions

View File

@ -20,11 +20,15 @@
var clipboard = new ClipboardJS(btn);
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
</script>
</body>

View File

@ -20,11 +20,15 @@
var clipboard = new ClipboardJS(btns);
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
</script>
</body>

View File

@ -19,11 +19,15 @@
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
</script>
</body>

View File

@ -22,11 +22,15 @@
});
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
</script>
</body>

View File

@ -21,11 +21,15 @@
});
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
</script>
</body>

View File

@ -24,11 +24,15 @@
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
</script>
</body>

View File

@ -24,7 +24,9 @@
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {

View File

@ -24,11 +24,15 @@
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
clipboard.on('error', function (e) {
console.log(e);
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
});
</script>
</body>

11
dist/clipboard.js vendored
View File

@ -287,16 +287,17 @@ var Clipboard = /*#__PURE__*/function (_Emitter) {
key: "onClick",
value: function onClick(e) {
var trigger = e.delegateTarget || e.currentTarget;
var selectedText = actions_default({
action: this.action(trigger),
var action = this.action(trigger) || 'copy';
var text = actions_default({
action: action,
container: this.container,
target: this.target(trigger),
text: this.text(trigger)
}); // Fires an event based on the copy operation result.
this.emit(selectedText ? 'success' : 'error', {
action: this.action,
text: selectedText,
this.emit(text ? 'success' : 'error', {
action: action,
text: text,
trigger: trigger,
clearSelection: function clearSelection() {
if (trigger) {

File diff suppressed because one or more lines are too long

View File

@ -69,17 +69,18 @@ class Clipboard extends Emitter {
*/
onClick(e) {
const trigger = e.delegateTarget || e.currentTarget;
const selectedText = ClipboardActionDefault({
action: this.action(trigger),
const action = this.action(trigger) || 'copy';
const text = ClipboardActionDefault({
action,
container: this.container,
target: this.target(trigger),
text: this.text(trigger),
});
// Fires an event based on the copy operation result.
this.emit(selectedText ? 'success' : 'error', {
action: this.action,
text: selectedText,
this.emit(text ? 'success' : 'error', {
action,
text,
trigger,
clearSelection() {
if (trigger) {

View File

@ -158,6 +158,7 @@ describe('Clipboard', () => {
clipboard.on('success', (e) => {
assert.property(e, 'action');
assert.equal(e.action, 'copy');
assert.property(e, 'text');
assert.property(e, 'trigger');
assert.property(e, 'clearSelection');