summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
author1STEP621 <86859447+1STEP621@users.noreply.github.com>2023-12-15 17:18:31 +0900
committerGitHub <noreply@github.com>2023-12-15 17:18:31 +0900
commitc41924399b1c0b06b451159644789fe00a29d7da (patch)
treedc16d71afb9cff6e1aa8b33e34aca8b700078c6a /packages
parentperf(frontend): introduce MkLazy for lazy loading (diff)
downloadsharkey-c41924399b1c0b06b451159644789fe00a29d7da.tar.gz
sharkey-c41924399b1c0b06b451159644789fe00a29d7da.tar.bz2
sharkey-c41924399b1c0b06b451159644789fe00a29d7da.zip
コード入力ボックスでTabを入力できるように (#12671)
Diffstat (limited to 'packages')
-rw-r--r--packages/frontend/src/components/MkTextarea.vue10
-rw-r--r--packages/frontend/src/pages/flash/flash-edit.vue2
-rw-r--r--packages/frontend/src/pages/registry.value.vue2
-rw-r--r--packages/frontend/src/pages/settings/custom-css.vue2
-rw-r--r--packages/frontend/src/pages/settings/plugin.install.vue2
-rw-r--r--packages/frontend/src/pages/settings/theme.install.vue2
-rw-r--r--packages/frontend/src/pages/theme-editor.vue2
7 files changed, 16 insertions, 6 deletions
diff --git a/packages/frontend/src/components/MkTextarea.vue b/packages/frontend/src/components/MkTextarea.vue
index 23fdd5bfe1..696787122e 100644
--- a/packages/frontend/src/components/MkTextarea.vue
+++ b/packages/frontend/src/components/MkTextarea.vue
@@ -91,6 +91,16 @@ const onKeydown = (ev: KeyboardEvent) => {
if (ev.code === 'Enter') {
emit('enter');
}
+
+ if (props.code && ev.key === 'Tab') {
+ const pos = inputEl.value?.selectionStart ?? 0;
+ const posEnd = inputEl.value?.selectionEnd ?? v.value.length;
+ v.value = v.value.slice(0, pos) + '\t' + v.value.slice(posEnd);
+ nextTick(() => {
+ inputEl.value?.setSelectionRange(pos + 1, pos + 1);
+ });
+ ev.preventDefault();
+ }
};
const updated = () => {
diff --git a/packages/frontend/src/pages/flash/flash-edit.vue b/packages/frontend/src/pages/flash/flash-edit.vue
index cfda4d6556..365b054f7a 100644
--- a/packages/frontend/src/pages/flash/flash-edit.vue
+++ b/packages/frontend/src/pages/flash/flash-edit.vue
@@ -15,7 +15,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts._play.summary }}</template>
</MkTextarea>
<MkButton primary @click="selectPreset">{{ i18n.ts.selectFromPresets }}<i class="ti ti-chevron-down"></i></MkButton>
- <MkTextarea v-model="script" class="_monospace" tall spellcheck="false">
+ <MkTextarea v-model="script" code tall spellcheck="false">
<template #label>{{ i18n.ts._play.script }}</template>
</MkTextarea>
<div class="_buttons">
diff --git a/packages/frontend/src/pages/registry.value.vue b/packages/frontend/src/pages/registry.value.vue
index 29406ec83c..1b2cf9f237 100644
--- a/packages/frontend/src/pages/registry.value.vue
+++ b/packages/frontend/src/pages/registry.value.vue
@@ -26,7 +26,7 @@ SPDX-License-Identifier: AGPL-3.0-only
</MkKeyValue>
</FormSplit>
- <MkTextarea v-model="valueForEditor" tall class="_monospace">
+ <MkTextarea v-model="valueForEditor" tall code>
<template #label>{{ i18n.ts.value }} (JSON)</template>
</MkTextarea>
diff --git a/packages/frontend/src/pages/settings/custom-css.vue b/packages/frontend/src/pages/settings/custom-css.vue
index e33e778246..8e52686c12 100644
--- a/packages/frontend/src/pages/settings/custom-css.vue
+++ b/packages/frontend/src/pages/settings/custom-css.vue
@@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="_gaps_m">
<FormInfo warn>{{ i18n.ts.customCssWarn }}</FormInfo>
- <MkTextarea v-model="localCustomCss" manualSave tall class="_monospace" style="tab-size: 2;">
+ <MkTextarea v-model="localCustomCss" manualSave tall code style="tab-size: 2;">
<template #label>CSS</template>
</MkTextarea>
</div>
diff --git a/packages/frontend/src/pages/settings/plugin.install.vue b/packages/frontend/src/pages/settings/plugin.install.vue
index f304d777a5..44472d47d9 100644
--- a/packages/frontend/src/pages/settings/plugin.install.vue
+++ b/packages/frontend/src/pages/settings/plugin.install.vue
@@ -7,7 +7,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<div class="_gaps_m">
<FormInfo warn>{{ i18n.ts._plugin.installWarn }}</FormInfo>
- <MkTextarea v-model="code" tall>
+ <MkTextarea v-model="code" tall code>
<template #label>{{ i18n.ts.code }}</template>
</MkTextarea>
diff --git a/packages/frontend/src/pages/settings/theme.install.vue b/packages/frontend/src/pages/settings/theme.install.vue
index c2ca53c743..0f3fbad0b7 100644
--- a/packages/frontend/src/pages/settings/theme.install.vue
+++ b/packages/frontend/src/pages/settings/theme.install.vue
@@ -5,7 +5,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template>
<div class="_gaps_m">
- <MkTextarea v-model="installThemeCode">
+ <MkTextarea v-model="installThemeCode" code>
<template #label>{{ i18n.ts._theme.code }}</template>
</MkTextarea>
diff --git a/packages/frontend/src/pages/theme-editor.vue b/packages/frontend/src/pages/theme-editor.vue
index 0d137137fc..c4138e23de 100644
--- a/packages/frontend/src/pages/theme-editor.vue
+++ b/packages/frontend/src/pages/theme-editor.vue
@@ -51,7 +51,7 @@ SPDX-License-Identifier: AGPL-3.0-only
<template #label>{{ i18n.ts.editCode }}</template>
<div class="_gaps_m">
- <MkTextarea v-model="themeCode" tall>
+ <MkTextarea v-model="themeCode" tall code>
<template #label>{{ i18n.ts._theme.code }}</template>
</MkTextarea>
<MkButton primary @click="applyThemeCode">{{ i18n.ts.apply }}</MkButton>