You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2021/09/07 08:05:09 UTC
[echarts-examples] 01/02: add language switch confirm
This is an automated email from the ASF dual-hosted git repository.
shenyi pushed a commit to branch typescript
in repository https://gitbox.apache.org/repos/asf/echarts-examples.git
commit 91a9f36c6b8c9137b9912923f4d61816aef26400
Author: pissang <bm...@gmail.com>
AuthorDate: Tue Sep 7 15:39:47 2021 +0800
add language switch confirm
---
src/common/i18n.js | 14 ++++++++++++--
src/editor/Editor.vue | 24 ++++++++++++++++++++----
src/editor/Preview.vue | 8 ++++----
3 files changed, 36 insertions(+), 10 deletions(-)
diff --git a/src/common/i18n.js b/src/common/i18n.js
index 206515a..8bb0e56 100644
--- a/src/common/i18n.js
+++ b/src/common/i18n.js
@@ -26,7 +26,12 @@ export default {
tooltip: {
jsMode: 'JavaScript',
tsMode: 'TypeScript. Provides Better Intelligent'
- }
+ },
+
+ codeChangedConfirm:
+ "Modified code will be lost. Do you wan't to continue?",
+ confirmButtonText: 'Yes',
+ cancelButtonText: 'No'
},
chartTypes: {
@@ -98,7 +103,12 @@ export default {
tooltip: {
jsMode: 'JavaScript 代码编辑',
tsMode: 'TypeScript 代码编辑,提供更好的代码补全和类型检查。'
- }
+ },
+
+ codeChangedConfirm: '已经修改过的代码将会丢失,是否确认继续?',
+
+ confirmButtonText: '确认',
+ cancelButtonText: '取消'
},
chartTypes: {
diff --git a/src/editor/Editor.vue b/src/editor/Editor.vue
index f0f8abd..2070a26 100644
--- a/src/editor/Editor.vue
+++ b/src/editor/Editor.vue
@@ -292,11 +292,27 @@ export default {
},
changeLang(lang) {
if ((URL_PARAMS.lang || 'js').toLowerCase() !== lang) {
- goto(
- Object.assign({}, URL_PARAMS, {
- lang
+ if (!this.initialCode || store.sourceCode === this.initialCode) {
+ goto(
+ Object.assign({}, URL_PARAMS, {
+ lang
+ })
+ );
+ } else {
+ this.$confirm(this.$t('editor.codeChangedConfirm'), '', {
+ confirmButtonText: this.$t('editor.confirmButtonText'),
+ cancelButtonText: this.$t('editor.cancelButtonText'),
+ type: 'warning'
})
- );
+ .then(() => {
+ goto(
+ Object.assign({}, URL_PARAMS, {
+ lang
+ })
+ );
+ })
+ .catch(() => {});
+ }
}
},
format() {
diff --git a/src/editor/Preview.vue b/src/editor/Preview.vue
index dd573d5..89518da 100644
--- a/src/editor/Preview.vue
+++ b/src/editor/Preview.vue
@@ -57,10 +57,10 @@
</el-col>
</el-row>
</div>
- <span class="render-config-trigger" slot="reference"
- ><i class="el-icon-setting el-icon--left"></i
- >{{ $t('editor.renderCfgTitle') }}</span
- >
+ <span class="render-config-trigger" slot="reference">
+ <i class="el-icon-setting el-icon--left"></i
+ >{{ $t('editor.renderCfgTitle') }}
+ </span>
</el-popover>
</div>
<template v-if="inEditor">
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org