Skip to content

Commit 0fb96a9

Browse files
Update ckanext/scheming/assets/js/scheming-suggestions.js
Co-authored-by: Copilot <[email protected]>
1 parent 6012d36 commit 0fb96a9

File tree

1 file changed

+18
-30
lines changed

1 file changed

+18
-30
lines changed

ckanext/scheming/assets/js/scheming-suggestions.js

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -85,38 +85,26 @@ ckan.module('scheming-suggestions', function($) {
8585
var formula = $(this).data('formula');
8686
var $copyBtn = $(this);
8787

88-
// Create a temp textarea to copy from
89-
var $temp = $("<textarea>");
90-
$("body").append($temp);
91-
$temp.val(formula).select();
92-
93-
try {
94-
// Execute copy command
95-
var successful = document.execCommand('copy');
88+
// Use Clipboard API to copy formula
89+
navigator.clipboard.writeText(formula).then(function() {
90+
// Show success state
91+
$copyBtn.addClass('copy-success');
9692

97-
if (successful) {
98-
// Show success state
99-
$copyBtn.addClass('copy-success');
100-
101-
// Store original content
102-
var $icon = $copyBtn.find('svg');
103-
var originalHtml = $icon.html();
104-
105-
// Show checkmark
106-
$icon.html('<path d="M20 6L9 17l-5-5"></path>');
107-
108-
// Reset after 2 seconds
109-
setTimeout(function() {
110-
$copyBtn.removeClass('copy-success');
111-
$icon.html(originalHtml);
112-
}, 2000);
113-
}
114-
} catch (err) {
93+
// Store original content
94+
var $icon = $copyBtn.find('svg');
95+
var originalHtml = $icon.html();
96+
97+
// Show checkmark
98+
$icon.html('<path d="M20 6L9 17l-5-5"></path>');
99+
100+
// Reset after 2 seconds
101+
setTimeout(function() {
102+
$copyBtn.removeClass('copy-success');
103+
$icon.html(originalHtml);
104+
}, 2000);
105+
}).catch(function(err) {
115106
console.error('Could not copy formula: ', err);
116-
}
117-
118-
// Remove temp textarea
119-
$temp.remove();
107+
});
120108
});
121109

122110
// Handle apply suggestion button

0 commit comments

Comments
 (0)