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