Skip to content

Commit

Permalink
Finalize nav buttons, clean up
Browse files Browse the repository at this point in the history
  • Loading branch information
lahmatiy committed Nov 26, 2024
1 parent bb55e2b commit 6fb3b14
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 31 deletions.
2 changes: 0 additions & 2 deletions src/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ getSettings().then(settings => {
app.setPageHash(location.hash);
app.setLocationSync(true);

app.notify('test', { test: 123 });

iframe.classList.add('ready');
});
});
Binary file added src/discovery/img/clipboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 16 additions & 3 deletions src/discovery/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
* Navigation bar
*/
.discovery-nav-popup .splitter {
margin: 4px 0;
height: 1px;
border-bottom: inherit;
}

Expand Down Expand Up @@ -61,10 +59,25 @@
background-color: currentColor;
visibility: visible;
}

.view-page-header .view-button.expand-all:empty::after {
mask-image: url('./img/expand-all.svg');
}
.view-page-header .view-button.expand-all:empty::after {
mask-image: url('./img/expand-all.svg');
}

.discovery-nav > .view-nav-button[data-name="upload-data-from-clipboard"]::before {
content: '';
display: inline-block;
vertical-align: text-top;
height: 15px;
aspect-ratio: 1;
margin-left: -7px;
margin-right: -7px;
mask: url('./img/clipboard.png') no-repeat center / 17px;
background-color: currentColor;
opacity: .85;
}

/* Safari quirk mode fix */
.view-expand > .header > .trigger {
Expand Down
32 changes: 28 additions & 4 deletions src/discovery/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,39 @@ export function initDiscovery() {
* Discovery empty page initialization
*/
export function initAppDiscovery() {
const discovery = new App({
new App({
...commonConfig,
mode: 'modelfree',
upload: { clipboard: true },
extensions: [
embedExtension,
flashMessages
flashMessages,
function buttons(host) {
host.nav.before('inspect', {
name: 'upload-data-from-clipboard',
when: '#.actions.uploadDataFromClipboard and #.datasets',
onClick: '=#.actions.uploadDataFromClipboard',
tooltip: {
position: 'trigger',
content: 'text:"Paste JSON from clipboard"'
}
});
// FIXME: use navButtons.unloadData instead, once issue with modelfree render cancel is solved
host.nav.menu.append({
name: 'unload-data',
when: '#.actions.unloadData and #.datasets',
content: 'text:"Unload data"',
onClick() {
host.action.call('unloadData');
host.scheduleRender();
}
});
host.nav.primary.append({
name: 'github',
href: 'https://github.com/discoveryjs/JsonDiscovery',
external: true
});
}
]
});

// discovery.nav.remove('index-page');
}
50 changes: 28 additions & 22 deletions src/discovery/navbar.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { copyText } from '@discoveryjs/discovery/lib/core/utils/copy-text.js';

const splitter = {
view: 'block',
className: 'splitter'
Expand All @@ -18,22 +16,14 @@ export default host => {
host.setPage('whatsnew');
}
});
host.nav.prepend({
when: '#.page = "discovery"',
content: 'text:"Copy URL"',
async onClick() {
copyText(await host.action.call('permalink'));
host.action.call('flashMessage', 'URL copied to clipboard');
}
});
host.nav.prepend({
when: '#.page != "raw"',
content: 'text:"Raw JSON"',
onClick: () => host.setPage('raw'),
tooltip: {
position: 'trigger',
content: 'text:"Show JSON as is"'
}
onClick: () => host.setPage('raw')
// tooltip: {
// position: 'trigger',
// content: 'text:"Show JSON as is"'
// }
});
host.nav.prepend({
when: '#.page != "default"',
Expand All @@ -47,19 +37,29 @@ export default host => {
//
// Burger menu
//
host.nav.menu.append(splitter);
host.nav.menu.append({
content: 'text:"Copy JSON to clipboard"',
async onClick(_, { hide }) {
hide();
await host.action.call('copyToClipboard');
host.action.call('flashMessage', 'JSON copied to clipboard');
}
});
host.nav.menu.append({
content: 'text:"Download JSON as file"',
when: '#.actions.downloadAsFile',
onClick(_, { hide }) {
hide();
host.action.call('downloadAsFile');
}
});
host.nav.menu.append({
content: 'text:"Copy JSON to clipboard"',
async onClick(_, { hide }) {
content: 'text:"Save JSON as file..."',
when: '#.actions.saveAsFile',
onClick(_, { hide }) {
hide();
await host.action.call('copyToClipboard');
host.action.call('flashMessage', 'JSON copied to clipboard');
host.action.call('saveAsFile');
}
});

Expand All @@ -71,10 +71,8 @@ export default host => {
host.setPage('whatsnew');
}
});

host.nav.menu.append(splitter);
host.nav.menu.append({
content: 'text:"Settings"',
content: 'text:"Settings..."',
onClick(_, { hide }) {
hide();
host.setPage('settings');
Expand All @@ -89,4 +87,12 @@ export default host => {
href: 'https://github.com/discoveryjs/JsonDiscovery',
external: true
});

// host.nav.primary.append({
// content: 'text:"\u00D7"',
// tooltip: { position: 'trigger', content: 'text:"Close JsonDiscovery"' },
// onClick() {
// host.action.call('exit');
// }
// });
};

0 comments on commit 6fb3b14

Please sign in to comment.