|
@@ -44,12 +44,13 @@ for(let k in localeScripts){
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
-const { themeStyle } = defineProps({
|
|
|
+const props = defineProps({
|
|
|
title: {
|
|
|
type: String,
|
|
|
default: 'magic-api'
|
|
|
},
|
|
|
- themeStyle: Object
|
|
|
+ themeStyle: Object,
|
|
|
+ header: Object
|
|
|
})
|
|
|
const version = constants.MAGIC_API_VERSION_TEXT
|
|
|
const skinVisible = ref(false)
|
|
@@ -69,26 +70,26 @@ bus.$on(Message.OPEN, item => {
|
|
|
}
|
|
|
})
|
|
|
})
|
|
|
-const buttons = ref([
|
|
|
+const buttons = computed(() => [
|
|
|
{name: `${$i('message.run')}(Ctrl + Q)`, icon: 'run', disabled: computed(() => opened.value.runnable !== true || opened.value.running === true), onClick: ()=> bus.$emit(Message.DO_TEST)},
|
|
|
{name: `${$i('message.save')}(Ctrl + S)`, icon: 'save', onClick: () => bus.$emit(Message.DO_SAVE, true)},
|
|
|
{name: `${$i('message.search')}(Ctrl + Shift + F)`, icon: 'search', onClick: () => bus.$emit(Message.DO_SEARCH)},
|
|
|
{name: $i('message.upload'), icon: 'upload', onClick: () => bus.$emit(Message.DO_UPLOAD)},
|
|
|
{name: $i('message.export'), icon: 'download', onClick: () => bus.$emit(Message.DO_DOWNLOAD)},
|
|
|
{name: $i('message.push'), icon: 'push', onClick: () => bus.$emit(Message.DO_PUSH)},
|
|
|
- {name: $i('message.skin'), icon: 'skin', onClick: () => {skinVisible.value = !skinVisible.value; localeVisible.value = false}},
|
|
|
+ {name: $i('message.skin'), displayKey: 'skin', icon: 'skin', onClick: () => {skinVisible.value = !skinVisible.value; localeVisible.value = false}},
|
|
|
{name: $i('message.i18n'), icon: 'i18n', onClick: () => {localeVisible.value = !localeVisible.value; skinVisible.value = false}},
|
|
|
{name: $i('message.reload'), icon: 'refresh', onClick: () => bus.$emit(Message.RELOAD_RESOURCES)}
|
|
|
-])
|
|
|
+].filter(it => props.header[it.displayKey] !== false))
|
|
|
const switchTheme = $theme => {
|
|
|
constants.THEME = $theme
|
|
|
bus.$emit(Message.SWITCH_THEME, $theme)
|
|
|
bus.status('message.switchSkin',true, $theme)
|
|
|
monaco.editor.setTheme($theme)
|
|
|
- Object.keys(themeStyle).forEach(key => themeStyle[key] = undefined)
|
|
|
+ Object.keys(props.themeStyle).forEach(key => props.themeStyle[key] = undefined)
|
|
|
let theme = Themes[$theme]
|
|
|
store.set(constants.STORE.theme, $theme)
|
|
|
- Object.keys(theme).forEach((key) => themeStyle[`--${key}`] = theme[key])
|
|
|
+ Object.keys(theme).forEach((key) => props.themeStyle[`--${key}`] = theme[key])
|
|
|
skinVisible.value = false
|
|
|
}
|
|
|
const storeTheme = store.get(constants.STORE.theme)
|