✨ Keyboard shortcuts
This commit is contained in:
@@ -494,6 +494,7 @@ fieldset.yellow legend {
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kbd,
|
||||||
select,
|
select,
|
||||||
input,
|
input,
|
||||||
option,
|
option,
|
||||||
|
|||||||
@@ -27,13 +27,19 @@
|
|||||||
class="icon"
|
class="icon"
|
||||||
@click="removeFolder"
|
@click="removeFolder"
|
||||||
v-tooltip="'Delete folder'"
|
v-tooltip="'Delete folder'"
|
||||||
|
v-close-popover
|
||||||
>
|
>
|
||||||
<i class="material-icons">delete</i>
|
<i class="material-icons">delete</i>
|
||||||
<span>Delete</span>
|
<span>Delete</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<button class="icon" @click="editFolder" v-tooltip="'Edit folder'">
|
<button
|
||||||
|
class="icon"
|
||||||
|
@click="editFolder"
|
||||||
|
v-tooltip="'Edit folder'"
|
||||||
|
v-close-popover
|
||||||
|
>
|
||||||
<i class="material-icons">edit</i>
|
<i class="material-icons">edit</i>
|
||||||
<span>Edit</span>
|
<span>Edit</span>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
class="icon"
|
class="icon"
|
||||||
@click="removeRequest"
|
@click="removeRequest"
|
||||||
v-tooltip="'Delete request'"
|
v-tooltip="'Delete request'"
|
||||||
|
v-close-popover
|
||||||
>
|
>
|
||||||
<i class="material-icons">delete</i>
|
<i class="material-icons">delete</i>
|
||||||
<span>Delete</span>
|
<span>Delete</span>
|
||||||
@@ -38,6 +39,7 @@
|
|||||||
class="icon"
|
class="icon"
|
||||||
@click="$emit('edit-request')"
|
@click="$emit('edit-request')"
|
||||||
v-tooltip="'Edit request'"
|
v-tooltip="'Edit request'"
|
||||||
|
v-close-popover
|
||||||
>
|
>
|
||||||
<i class="material-icons">edit</i>
|
<i class="material-icons">edit</i>
|
||||||
<span>Edit</span>
|
<span>Edit</span>
|
||||||
|
|||||||
@@ -40,6 +40,16 @@
|
|||||||
<i class="material-icons">more_vert</i>
|
<i class="material-icons">more_vert</i>
|
||||||
</button>
|
</button>
|
||||||
<template slot="popover">
|
<template slot="popover">
|
||||||
|
<div>
|
||||||
|
<button
|
||||||
|
class="icon"
|
||||||
|
@click="showShortcuts = true"
|
||||||
|
v-close-popover
|
||||||
|
>
|
||||||
|
<i class="material-icons">keyboard</i>
|
||||||
|
<span>Shortcuts</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a
|
<a
|
||||||
href="https://opencollective.com/postwoman"
|
href="https://opencollective.com/postwoman"
|
||||||
@@ -210,6 +220,33 @@
|
|||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
|
<modal v-if="showShortcuts" @close="showShortcuts = false">
|
||||||
|
<div slot="header">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<div class="flex-wrap">
|
||||||
|
<h3 class="title">Shortcuts</h3>
|
||||||
|
<div>
|
||||||
|
<button class="icon" @click="showShortcuts = false">
|
||||||
|
<i class="material-icons">close</i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div slot="body">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<span>
|
||||||
|
<kbd>Save to Collection:</kbd>
|
||||||
|
<kbd>Ctrl</kbd><kbd>S</kbd>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div slot="footer"></div>
|
||||||
|
</modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -219,10 +256,12 @@
|
|||||||
import intializePwa from "../assets/js/pwa";
|
import intializePwa from "../assets/js/pwa";
|
||||||
import logo from "../components/logo";
|
import logo from "../components/logo";
|
||||||
import * as version from "../.postwoman/version.json";
|
import * as version from "../.postwoman/version.json";
|
||||||
|
import modal from "../components/modal";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
logo
|
logo,
|
||||||
|
modal
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
@@ -240,7 +279,8 @@ export default {
|
|||||||
// that can be called to show the user the installation
|
// that can be called to show the user the installation
|
||||||
// prompt.
|
// prompt.
|
||||||
showInstallPrompt: null,
|
showInstallPrompt: null,
|
||||||
version: {}
|
version: {},
|
||||||
|
showShortcuts: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -1942,6 +1942,13 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.observeRequestButton();
|
this.observeRequestButton();
|
||||||
|
this._keyListener = function(e) {
|
||||||
|
if (e.key === "s" && (e.ctrlKey || e.metaKey)) {
|
||||||
|
e.preventDefault();
|
||||||
|
this.saveRequest();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
document.addEventListener("keydown", this._keyListener.bind(this));
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.urlExcludes = this.$store.state.postwoman.settings.URL_EXCLUDES || {
|
this.urlExcludes = this.$store.state.postwoman.settings.URL_EXCLUDES || {
|
||||||
@@ -1974,6 +1981,9 @@ export default {
|
|||||||
this.setRouteQueryState();
|
this.setRouteQueryState();
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
document.removeEventListener('keydown', this._keyListener);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user