|
|
@@ -1360,6 +1360,7 @@ const handleUploadCode = async () => {
|
|
|
const create_app_loading = ref(false)
|
|
|
const webId = ref('')
|
|
|
const showAiWebModal = ref(false)
|
|
|
+const isEdit = ref(false)
|
|
|
|
|
|
const handle_add_aiWeb = _.throttle(async () => {
|
|
|
create_app_loading.value = true
|
|
|
@@ -1372,6 +1373,7 @@ const handle_add_aiWeb = _.throttle(async () => {
|
|
|
webId.value = existingWebElement.webId
|
|
|
create_app_loading.value = false
|
|
|
showAiWebModal.value = true
|
|
|
+ isEdit.value = true
|
|
|
return
|
|
|
}
|
|
|
|
|
|
@@ -1402,11 +1404,25 @@ const addAiWeb = async (code: string) => {
|
|
|
const file = new File([code], 'index.html', { type: 'text/html' })
|
|
|
isLoading.value = true
|
|
|
const url = await uploadFileToS3(file)
|
|
|
- createSlide()
|
|
|
- createFrameElement(url, 73, webId.value)
|
|
|
+ if (isEdit.value) {
|
|
|
+ const elements = currentSlide.value?.elements || []
|
|
|
+ const frameElement = elements.find((el: any) => el.type === 'frame' && (el.toolType === 73))
|
|
|
+ if (frameElement) {
|
|
|
+ slidesStore.updateElement({
|
|
|
+ id: frameElement.id,
|
|
|
+ props: { url: url }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ createSlide()
|
|
|
+ createFrameElement(url, 73, webId.value)
|
|
|
+ }
|
|
|
+
|
|
|
isLoading.value = false
|
|
|
showAiWebModal.value = false
|
|
|
webId.value = ''
|
|
|
+ isEdit.value = false
|
|
|
}
|
|
|
</script>
|
|
|
|