|
@@ -17,7 +17,7 @@
|
|
|
|
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
|
import { defineComponent, toRefs, watch } from 'vue'
|
|
|
-import { NButton, NForm, NFormItem, NSpace } from 'naive-ui'
|
|
|
+import { NButton, NForm, NFormItem, NSpace, NSpin } from 'naive-ui'
|
|
|
import { useI18n } from 'vue-i18n'
|
|
|
import { useForm } from './use-form'
|
|
|
import { useEdit } from './use-edit'
|
|
@@ -38,7 +38,7 @@ export default defineComponent({
|
|
|
const { getResourceView, handleUpdateContent } = useEdit(state)
|
|
|
|
|
|
const handleFileContent = () => {
|
|
|
- state.fileForm.content = resourceViewRef.value.content
|
|
|
+ state.fileForm.content = resourceViewRef.state.value.content
|
|
|
handleUpdateContent(fileId)
|
|
|
}
|
|
|
|
|
@@ -47,10 +47,9 @@ export default defineComponent({
|
|
|
}
|
|
|
|
|
|
const resourceViewRef = getResourceView(fileId)
|
|
|
-
|
|
|
watch(
|
|
|
- () => resourceViewRef.value.content,
|
|
|
- () => (state.fileForm.content = resourceViewRef.value.content)
|
|
|
+ () => resourceViewRef.state.value.content,
|
|
|
+ () => (state.fileForm.content = resourceViewRef.state.value.content)
|
|
|
)
|
|
|
|
|
|
return {
|
|
@@ -65,44 +64,52 @@ export default defineComponent({
|
|
|
const { t } = useI18n()
|
|
|
return (
|
|
|
<Card title={t('resource.file.file_details')}>
|
|
|
- <div class={styles['file-edit-content']}>
|
|
|
- <h2>
|
|
|
- <span>{this.resourceViewRef.alias}</span>
|
|
|
- </h2>
|
|
|
- <NForm
|
|
|
- rules={this.rules}
|
|
|
- ref='fileFormRef'
|
|
|
- class={styles['form-content']}
|
|
|
- disabled={this.componentName !== 'resource-file-edit'}
|
|
|
- >
|
|
|
- <NFormItem path='content'>
|
|
|
- <MonacoEditor v-model={[this.resourceViewRef.content, 'value']} />
|
|
|
- </NFormItem>
|
|
|
- <NSpace>
|
|
|
- <NButton
|
|
|
- type='info'
|
|
|
- size='small'
|
|
|
- text
|
|
|
- style={{ marginRight: '15px' }}
|
|
|
- onClick={this.handleReturn}
|
|
|
- class='btn-cancel'
|
|
|
- >
|
|
|
- {t('resource.file.return')}
|
|
|
- </NButton>
|
|
|
- {this.componentName === 'resource-file-edit' && (
|
|
|
+ {this.resourceViewRef.isReady.value ? (
|
|
|
+ <div class={styles['file-edit-content']}>
|
|
|
+ <h2>
|
|
|
+ <span>{this.resourceViewRef.state.value.alias}</span>
|
|
|
+ </h2>
|
|
|
+ <NForm
|
|
|
+ rules={this.rules}
|
|
|
+ ref='fileFormRef'
|
|
|
+ class={styles['form-content']}
|
|
|
+ disabled={this.componentName !== 'resource-file-edit'}
|
|
|
+ >
|
|
|
+ <NFormItem path='content'>
|
|
|
+ <MonacoEditor
|
|
|
+ v-model={[this.resourceViewRef.state.value.content, 'value']}
|
|
|
+ />
|
|
|
+ </NFormItem>
|
|
|
+ <NSpace>
|
|
|
<NButton
|
|
|
type='info'
|
|
|
size='small'
|
|
|
- round
|
|
|
- onClick={() => this.handleFileContent()}
|
|
|
- class='btn-submit'
|
|
|
+ text
|
|
|
+ style={{ marginRight: '15px' }}
|
|
|
+ onClick={this.handleReturn}
|
|
|
+ class='btn-cancel'
|
|
|
>
|
|
|
- {t('resource.file.save')}
|
|
|
+ {t('resource.file.return')}
|
|
|
</NButton>
|
|
|
- )}
|
|
|
- </NSpace>
|
|
|
- </NForm>
|
|
|
- </div>
|
|
|
+ {this.componentName === 'resource-file-edit' && (
|
|
|
+ <NButton
|
|
|
+ type='info'
|
|
|
+ size='small'
|
|
|
+ round
|
|
|
+ onClick={() => this.handleFileContent()}
|
|
|
+ class='btn-submit'
|
|
|
+ >
|
|
|
+ {t('resource.file.save')}
|
|
|
+ </NButton>
|
|
|
+ )}
|
|
|
+ </NSpace>
|
|
|
+ </NForm>
|
|
|
+ </div>
|
|
|
+ ) : (
|
|
|
+ <NSpace justify='center'>
|
|
|
+ <NSpin show={true} />
|
|
|
+ </NSpace>
|
|
|
+ )}
|
|
|
</Card>
|
|
|
)
|
|
|
}
|