新增 window.temporaryStore

This commit is contained in:
fofolee 2022-04-12 10:54:35 +08:00
parent 8df2305879
commit a02392d7b5
7 changed files with 52 additions and 24 deletions

View File

@ -177,6 +177,20 @@ if (process.platform == 'win32') quickcommand.runVbs = function(script) {
})
}
window.temporaryStore = {
listeners: {}
}
window.temporaryStoreSoldOut = () => {
_.forIn(temporaryStore.listeners, (listener, key) => {
document.removeEventListener(...listener)
})
window.temporaryStore = {
listeners: {}
}
}
// python -c
window.runPythonCommand = py => {
try {

View File

@ -45,8 +45,7 @@ export default defineComponent({
//
this.$router.push("loading");
//
document.removeEventListener("keydown", this.$profile.tmp.handleEnter);
this.$profile.tmp = {};
window.temporaryStoreSoldOut();
//
this.$utools.putDB(
_.cloneDeep(this.$profile),
@ -63,7 +62,7 @@ export default defineComponent({
font-size: 11px;
}
:root {
--q-dark: #303133;
--q-dark-page: #303133;
--q-dark: #303133;
--q-dark-page: #303133;
}
</style>

View File

@ -11,7 +11,6 @@ let defaultProfile = {
defaultPrimaryColor: "#009688",
backgroundImg: null,
codeHistory: {},
tmp: {}
}
let userProfile = UTOOLS.getDB(
UTOOLS.DBPRE.CFG + "preferences"
@ -26,4 +25,4 @@ export default boot(async({
app.config.globalProperties.$utools = UTOOLS
app.config.globalProperties.$programmings = programmings
app.config.globalProperties.$profile = defaultProfile
})
})

View File

@ -157,10 +157,12 @@ export default {
setTimeout(() => {
if (this.subInputValue) querySubInput();
}, 100);
this.$profile.tmp.handleEnter = (event) => {
let handler = (event) => {
if (event.keyCode == 13) querySubInput();
};
document.addEventListener("keydown", this.$profile.tmp.handleEnter);
let listener = ["keydown", handler, true];
document.addEventListener(...listener);
window.temporaryStore.listeners.subInputListener = listener;
},
// payload
async getTempPayload(currentCommand) {
@ -204,10 +206,10 @@ export default {
});
},
stopRun() {
if (this.$profile.tmp.handleEnter) {
if (window.temporaryStore.listeners.subInputListener) {
this.subInputValue = "";
document.removeEventListener("keydown", this.$profile.tmp.handleEnter);
utools.removeSubInput();
window.temporaryStoreSoldOut();
}
},
},

View File

@ -60,7 +60,7 @@
</template>
<script>
import pinyinMatch from "pinyin-match"
import pinyinMatch from "pinyin-match";
export default {
data() {
@ -77,7 +77,7 @@ export default {
},
mounted() {
window.SelectList = this;
quickcommand.updateSelectList = (opt, id) => {
window.temporaryStore.updateSelectList = (opt, id) => {
if (typeof id === "undefined") this.items.push(opt);
else this.items[id] = opt;
};
@ -122,11 +122,11 @@ export default {
},
onDialogHide() {
this.clear();
this.$emit("hide");
},
onOKClick() {
utools.removeSubInput();
let selected =
this.options.optionType === "json"
? this.matchedItems[this.currentIndex]
@ -139,8 +139,6 @@ export default {
},
onCancelClick() {
this.setUtoolsHeight(this.listMaxHeight);
utools.removeSubInput();
this.hide();
},
@ -185,6 +183,12 @@ export default {
setUtoolsHeight(height) {
utools.setExpendHeight(Math.min(height, this.listMaxHeight));
},
clear() {
utools.removeSubInput();
this.setUtoolsHeight(this.listMaxHeight);
window.temporaryStoreSoldOut();
},
},
};
</script>

View File

@ -112,6 +112,11 @@ const quickcommand = {
console.log('取消')
})
}),
updateSelectList: (opt, id) => {
if (!window.temporaryStore.updateSelectList) throw "请先初始化SelectList"
window.temporaryStore.updateSelectList(opt, id)
}
}
export default quickcommand
export default quickcommand

View File

@ -1,41 +1,46 @@
const routes = [{
path: '/configuration',
name: 'configuration',
component: () =>
import ('pages/ConfigurationPage.vue')
import('pages/ConfigurationPage.vue')
},
{
path: '/code',
name: 'code',
component: () =>
import ('pages/RunCodePage.vue')
import('pages/RunCodePage.vue')
},
{
path: '/newcommand',
component: () =>
import ('pages/NewCommand.vue')
import('pages/NewCommand.vue')
},
{
path: '/:type(default|files|img|key|regex|window|professional)_:uid(\\w+)',
name: 'command',
component: () =>
import ('pages/CommandPage.vue')
import('pages/CommandPage.vue')
},
{
path: '/panel_:tags(\\w+)',
name: 'panel',
component: () =>
import ('pages/ConfigurationPage.vue')
import('pages/ConfigurationPage.vue')
},
{
path: '/needupdate',
name: 'needupdate',
props: true,
component: () =>
import ('pages/updateWarningPage.vue')
import('pages/updateWarningPage.vue')
},
{
path: '/loading',
name: 'loading',
component: () =>
import ('pages/LoadingPage.vue')
import('pages/LoadingPage.vue')
}
]
export default routes
export default routes