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 <bm2736...@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-unsubscr...@echarts.apache.org For additional commands, e-mail: commits-h...@echarts.apache.org