summaryrefslogtreecommitdiff
path: root/src/client/components
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2020-04-13 23:46:53 +0900
committersyuilo <syuilotan@yahoo.co.jp>2020-04-13 23:46:53 +0900
commita19e252c9e7e1d892a383641a50e1455bb68e332 (patch)
tree9bacfc5e334791705de73f4fdf2643445b694b2f /src/client/components
parentモデレーション周りのv11の機能復元 (#6249) (diff)
downloadmisskey-a19e252c9e7e1d892a383641a50e1455bb68e332.tar.gz
misskey-a19e252c9e7e1d892a383641a50e1455bb68e332.tar.bz2
misskey-a19e252c9e7e1d892a383641a50e1455bb68e332.zip
feat(client): Improve pages aiscript
Diffstat (limited to 'src/client/components')
-rw-r--r--src/client/components/page/page.vue19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/client/components/page/page.vue b/src/client/components/page/page.vue
index 0f1769fc8f..3723fcd3ce 100644
--- a/src/client/components/page/page.vue
+++ b/src/client/components/page/page.vue
@@ -26,7 +26,7 @@ class Script {
this.aoiScript = aoiScript;
this.onError = onError;
- if (this.page.script) {
+ if (this.page.script && this.aoiScript.aiscript) {
let ast;
try {
ast = parse(this.page.script);
@@ -49,8 +49,10 @@ class Script {
});*/
});
} else {
- this.eval();
- cb();
+ setTimeout(() => {
+ this.eval();
+ cb();
+ }, 1);
}
}
@@ -71,7 +73,7 @@ class Script {
}
public callAiScript(fn: string) {
- this.aoiScript.aiscript.execFn(this.aoiScript.aiscript.scope.get(fn), []);
+ if (this.aoiScript.aiscript) this.aoiScript.aiscript.execFn(this.aoiScript.aiscript.scope.get(fn), []);
}
}
@@ -103,18 +105,23 @@ export default Vue.extend({
randomSeed: Math.random(),
visitor: this.$store.state.i,
page: this.page,
- url: url
+ url: url,
+ enableAiScript: !this.$store.state.device.disablePagesScript
}), e => {
console.dir(e);
}, () => {
this.script = s;
});
- s.aoiScript.aiscript.scope.opts.onUpdated = (name, value) => {
+ if (s.aoiScript.aiscript) s.aoiScript.aiscript.scope.opts.onUpdated = (name, value) => {
s.eval();
};
},
+ beforeDestroy() {
+ if (this.script.aoiScript.aiscript) this.script.aoiScript.aiscript.abort();
+ },
+
methods: {
getPageVars() {
return collectPageVars(this.page.content);