Skip to content

Commit 69f4972

Browse files
authored
Fixed copy to clipboard and updated Discovery.js (#81)
* Fixed copy to clipboard and updated Discovery.js * Flash message when copying from navbar
1 parent e8dbd99 commit 69f4972

File tree

6 files changed

+28
-31
lines changed

6 files changed

+28
-31
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 1.13.2 (06-09-2022)
2+
3+
* Fixed copy to clipboard in FireFox
4+
* Updated `discovery` to `1.0.0-beta.68`
5+
16
## 1.13.1 (18-07-2022)
27

38
* Fixed manifest permissions

package-lock.json

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jsondiscovery",
3-
"version": "1.13.1",
3+
"version": "1.13.2",
44
"description": "Browser (Chrome, Firefox) extension for JSON discovery",
55
"author": "[email protected]",
66
"license": "MIT",
@@ -11,7 +11,7 @@
1111
"build": "NODE_ENV=production node ./scripts/build.js && node ./scripts/zip.js"
1212
},
1313
"devDependencies": {
14-
"@discoveryjs/discovery": "1.0.0-beta.66",
14+
"@discoveryjs/discovery": "1.0.0-beta.68",
1515
"@discoveryjs/json-ext": "^0.5.7",
1616
"css-tree": "^2.1.0",
1717
"esbuild": "^0.14.49",

src/discovery/copy-to-clipboard.js

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,12 @@
11
import { flashMessage } from './flash-messages';
2-
3-
export async function copyToClipboard(text) {
4-
try {
5-
await navigator.clipboard.writeText(text);
6-
} catch (err) {
7-
// clipboard textarea fallback
8-
const textarea = document.createElement('textarea');
9-
textarea.innerText = text;
10-
document.body.appendChild(textarea);
11-
textarea.select();
12-
document.execCommand('copy');
13-
document.body.removeChild(textarea);
14-
}
15-
16-
flashMessage('JSON copied to clipboard', 'success');
17-
}
2+
import copyText from '@discoveryjs/discovery/src/core/utils/copy-text';
183

194
export const copyToClipboardButton = {
205
view: 'button',
216
content: 'text:"Copy to clipboard"',
227
onClick(_, { json }) {
23-
copyToClipboard(json);
8+
copyText(json).then(() => {
9+
flashMessage('JSON copied to clipboard', 'success');
10+
});
2411
}
2512
};

src/discovery/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ import * as pages from './pages';
1212
export function initDiscovery(options, data) {
1313
const { settings, progressbar, raw } = options;
1414
const { darkmode = 'auto' } = settings;
15-
const discovery = new Widget(options.node, null, {
15+
const discovery = new Widget({
16+
defaultPage: null,
17+
container: options.node,
1618
inspector: true,
1719
darkmode,
1820
darkmodePersistent: false,

src/discovery/navbar.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { navButtons } from '@discoveryjs/discovery';
2-
import { copyToClipboard } from './copy-to-clipboard';
2+
import copyText from '@discoveryjs/discovery/src/core/utils/copy-text';
33
import { downloadAsFile } from './download-as-file';
4+
import { flashMessage } from './flash-messages';
45

56
export default host => {
67
host.nav.append({
@@ -31,7 +32,9 @@ export default host => {
3132
});
3233
host.nav.menu.append({
3334
content: 'text:"Copy JSON to clipboard"',
34-
onClick: (_, { hide }) => hide() & copyToClipboard(host.raw.json)
35+
onClick: (_, { hide }) => hide() &
36+
copyText(host.raw.json) &
37+
flashMessage('JSON copied to clipboard', 'success')
3538
});
3639
host.nav.menu.append({
3740
content: 'text:"Settings"',

0 commit comments

Comments
 (0)