wip
This commit is contained in:
		
							parent
							
								
									190486d841
								
							
						
					
					
						commit
						c399e3151e
					
				|  | @ -60,7 +60,7 @@ export default defineComponent({ | |||
| 	methods: { | ||||
| 		async setAntenna() { | ||||
| 			const antennas = await this.$root.api('antennas/list'); | ||||
| 			const { canceled, result: antenna } = await this.$root.dialog({ | ||||
| 			const { canceled, result: antenna } = await this.$root.showDialog({ | ||||
| 				title: this.$t('selectAntenna'), | ||||
| 				type: null, | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -137,7 +137,7 @@ export default defineComponent({ | |||
| 				icon: faPencilAlt, | ||||
| 				text: this.$t('rename'), | ||||
| 				action: () => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						title: this.$t('rename'), | ||||
| 						input: { | ||||
| 							default: this.column.name, | ||||
|  |  | |||
|  | @ -60,7 +60,7 @@ export default defineComponent({ | |||
| 	methods: { | ||||
| 		async setList() { | ||||
| 			const lists = await this.$root.api('users/lists/list'); | ||||
| 			const { canceled, result: list } = await this.$root.dialog({ | ||||
| 			const { canceled, result: list } = await this.$root.showDialog({ | ||||
| 				title: this.$t('selectList'), | ||||
| 				type: null, | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -78,7 +78,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async setType() { | ||||
| 			const { canceled, result: src } = await this.$root.dialog({ | ||||
| 			const { canceled, result: src } = await this.$root.showDialog({ | ||||
| 				title: this.$t('timeline'), | ||||
| 				type: null, | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -1,10 +1,10 @@ | |||
| <template> | ||||
| <div class="mk-dialog" :class="{ iconOnly }"> | ||||
| <div class="mk-dialog" :class="{ iconOnly }" :style="{ pointerEvents: closing ? 'none' : 'auto' }"> | ||||
| 	<transition :name="$store.state.device.animation ? 'bg-fade' : ''" appear> | ||||
| 		<div class="bg _modalBg" ref="bg" @click="onBgClick" v-if="show"></div> | ||||
| 		<div class="bg _modalBg" @click="onBgClick" v-if="!closing" :style="{ pointerEvents: closing ? 'none' : 'auto' }"></div> | ||||
| 	</transition> | ||||
| 	<transition :name="$store.state.device.animation ? 'dialog' : ''" appear @after-leave="() => { destroyDom(); }"> | ||||
| 		<div class="main" ref="main" v-if="show"> | ||||
| 	<transition :name="$store.state.device.animation ? 'dialog' : ''" appear @after-leave="$emit('closed')"> | ||||
| 		<div class="main" v-if="!closing" :style="{ pointerEvents: closing ? 'none' : 'auto' }"> | ||||
| 			<template v-if="type == 'signin'"> | ||||
| 				<mk-signin/> | ||||
| 			</template> | ||||
|  | @ -114,12 +114,15 @@ export default defineComponent({ | |||
| 		autoClose: { | ||||
| 			type: Boolean, | ||||
| 			default: false | ||||
| 		} | ||||
| 		}, | ||||
| 		closing: { | ||||
| 			type: Boolean, | ||||
| 			default: false | ||||
| 		}, | ||||
| 	}, | ||||
| 
 | ||||
| 	data() { | ||||
| 		return { | ||||
| 			show: true, | ||||
| 			inputValue: this.input && this.input.default ? this.input.default : null, | ||||
| 			userInputValue: null, | ||||
| 			selectedValue: this.select ? this.select.default ? this.select.default : this.select.items ? this.select.items[0].value : this.select.groupedItems[0].items[0].value : null, | ||||
|  | @ -137,7 +140,7 @@ export default defineComponent({ | |||
| 					this.canOk = false; | ||||
| 				}); | ||||
| 			} | ||||
| 		} | ||||
| 		}, | ||||
| 	}, | ||||
| 
 | ||||
| 	mounted() { | ||||
|  | @ -145,7 +148,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		if (this.autoClose) { | ||||
| 			setTimeout(() => { | ||||
| 				this.close(); | ||||
| 				this.$emit('ok'); | ||||
| 			}, 1000); | ||||
| 		} | ||||
| 
 | ||||
|  | @ -165,7 +168,6 @@ export default defineComponent({ | |||
| 				const user = await this.$root.api('users/show', parseAcct(this.userInputValue)); | ||||
| 				if (user) { | ||||
| 					this.$emit('ok', user); | ||||
| 					this.close(); | ||||
| 				} | ||||
| 			} else { | ||||
| 				const result = | ||||
|  | @ -173,21 +175,11 @@ export default defineComponent({ | |||
| 					this.select ? this.selectedValue : | ||||
| 					true; | ||||
| 				this.$emit('ok', result); | ||||
| 				this.close(); | ||||
| 			} | ||||
| 		}, | ||||
| 
 | ||||
| 		cancel() { | ||||
| 			this.$emit('cancel'); | ||||
| 			this.close(); | ||||
| 		}, | ||||
| 
 | ||||
| 		close() { | ||||
| 			if (!this.show) return; | ||||
| 			this.show = false; | ||||
| 			this.$el.style.pointerEvents = 'none'; | ||||
| 			(this.$refs.bg as any).style.pointerEvents = 'none'; | ||||
| 			(this.$refs.main as any).style.pointerEvents = 'none'; | ||||
| 		}, | ||||
| 
 | ||||
| 		onBgClick() { | ||||
|  |  | |||
|  | @ -128,7 +128,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		rename() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('renameFile'), | ||||
| 				input: { | ||||
| 					placeholder: this.$t('inputNewFileName'), | ||||
|  | @ -153,7 +153,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		copyUrl() { | ||||
| 			copyToClipboard(this.file.url); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  | @ -172,7 +172,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async deleteFile() { | ||||
| 			const { canceled } = await this.$root.dialog({ | ||||
| 			const { canceled } = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('driveFileDeleteConfirm', { name: this.file.name }), | ||||
| 				showCancelButton: true | ||||
|  |  | |||
|  | @ -149,13 +149,13 @@ export default defineComponent({ | |||
| 				}).catch(err => { | ||||
| 					switch (err) { | ||||
| 						case 'detected-circular-definition': | ||||
| 							this.$root.dialog({ | ||||
| 							this.$root.showDialog({ | ||||
| 								title: this.$t('unableToProcess'), | ||||
| 								text: this.$t('circularReferenceFolder') | ||||
| 							}); | ||||
| 							break; | ||||
| 						default: | ||||
| 							this.$root.dialog({ | ||||
| 							this.$root.showDialog({ | ||||
| 								type: 'error', | ||||
| 								text: this.$t('error') | ||||
| 							}); | ||||
|  | @ -189,7 +189,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		rename() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('renameFolder'), | ||||
| 				input: { | ||||
| 					placeholder: this.$t('inputNewFolderName'), | ||||
|  | @ -217,14 +217,14 @@ export default defineComponent({ | |||
| 			}).catch(err => { | ||||
| 				switch(err.id) { | ||||
| 					case 'b0fc8a17-963c-405d-bfbc-859a487295e1': | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							type: 'error', | ||||
| 							title: this.$t('unableToDelete'), | ||||
| 							text: this.$t('hasChildFilesOrFolders') | ||||
| 						}); | ||||
| 						break; | ||||
| 					default: | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							type: 'error', | ||||
| 							text: this.$t('unableToDelete') | ||||
| 						}); | ||||
|  |  | |||
|  | @ -282,13 +282,13 @@ export default defineComponent({ | |||
| 				}).catch(err => { | ||||
| 					switch (err) { | ||||
| 						case 'detected-circular-definition': | ||||
| 							this.$root.dialog({ | ||||
| 							this.$root.showDialog({ | ||||
| 								title: this.$t('unableToProcess'), | ||||
| 								text: this.$t('circularReferenceFolder') | ||||
| 							}); | ||||
| 							break; | ||||
| 						default: | ||||
| 							this.$root.dialog({ | ||||
| 							this.$root.showDialog({ | ||||
| 								type: 'error', | ||||
| 								text: this.$t('error') | ||||
| 							}); | ||||
|  | @ -303,7 +303,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		urlUpload() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('uploadFromUrl'), | ||||
| 				input: { | ||||
| 					placeholder: this.$t('uploadFromUrlDescription') | ||||
|  | @ -315,7 +315,7 @@ export default defineComponent({ | |||
| 					folderId: this.folder ? this.folder.id : undefined | ||||
| 				}); | ||||
| 
 | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					title: this.$t('uploadFromUrlRequested'), | ||||
| 					text: this.$t('uploadFromUrlMayTakeTime') | ||||
| 				}); | ||||
|  | @ -323,7 +323,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		createFolder() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('createFolder'), | ||||
| 				input: { | ||||
| 					placeholder: this.$t('folderName') | ||||
|  | @ -340,7 +340,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		renameFolder(folder) { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('renameFolder'), | ||||
| 				input: { | ||||
| 					placeholder: this.$t('inputNewFolderName'), | ||||
|  | @ -367,14 +367,14 @@ export default defineComponent({ | |||
| 			}).catch(err => { | ||||
| 				switch(err.id) { | ||||
| 					case 'b0fc8a17-963c-405d-bfbc-859a487295e1': | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							type: 'error', | ||||
| 							title: this.$t('unableToDelete'), | ||||
| 							text: this.$t('hasChildFilesOrFolders') | ||||
| 						}); | ||||
| 						break; | ||||
| 					default: | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							type: 'error', | ||||
| 							text: this.$t('unableToDelete') | ||||
| 						}); | ||||
|  |  | |||
|  | @ -91,7 +91,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 			try { | ||||
| 				if (this.isFollowing) { | ||||
| 					const { canceled } = await this.$root.dialog({ | ||||
| 					const { canceled } = await this.$root.showDialog({ | ||||
| 						type: 'warning', | ||||
| 						text: this.$t('unfollowConfirm', { name: this.user.name || this.user.username }), | ||||
| 						showCancelButton: true | ||||
|  |  | |||
|  | @ -519,7 +519,7 @@ export default defineComponent({ | |||
| 			this.$root.api('notes/favorites/create', { | ||||
| 				noteId: this.appearNote.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -527,7 +527,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		del() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('noteDeleteConfirm'), | ||||
| 				showCancelButton: true | ||||
|  | @ -541,7 +541,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		delEdit() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('deleteAndEditConfirm'), | ||||
| 				showCancelButton: true | ||||
|  | @ -560,7 +560,7 @@ export default defineComponent({ | |||
| 			this.$root.api(favorite ? 'notes/favorites/create' : 'notes/favorites/delete', { | ||||
| 				noteId: this.appearNote.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -571,7 +571,7 @@ export default defineComponent({ | |||
| 			this.$root.api(watch ? 'notes/watching/create' : 'notes/watching/delete', { | ||||
| 				noteId: this.appearNote.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -716,7 +716,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		copyContent() { | ||||
| 			copyToClipboard(this.appearNote.text); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  | @ -724,7 +724,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		copyLink() { | ||||
| 			copyToClipboard(`${url}/notes/${this.appearNote.id}`); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  | @ -734,13 +734,13 @@ export default defineComponent({ | |||
| 			this.$root.api(pin ? 'i/pin' : 'i/unpin', { | ||||
| 				noteId: this.appearNote.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				if (e.id === '72dab508-c64d-498f-8740-a8eec1ba385a') { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: this.$t('pinLimitExceeded') | ||||
| 					}); | ||||
|  | @ -749,7 +749,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async promote() { | ||||
| 			const { canceled, result: days } = await this.$root.dialog({ | ||||
| 			const { canceled, result: days } = await this.$root.showDialog({ | ||||
| 				title: this.$t('numberOfDays'), | ||||
| 				input: { type: 'number' } | ||||
| 			}); | ||||
|  | @ -760,12 +760,12 @@ export default defineComponent({ | |||
| 				noteId: this.appearNote.id, | ||||
| 				expiresAt: Date.now() + (86400000 * days) | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  |  | |||
|  | @ -134,7 +134,7 @@ export default defineComponent({ | |||
| 		acceptGroupInvitation() { | ||||
| 			this.groupInviteDone = true; | ||||
| 			this.$root.api('users/groups/invitations/accept', { invitationId: this.notification.invitation.id }); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ export default defineComponent({ | |||
| 		click() { | ||||
| 			if (this.value.action === 'dialog') { | ||||
| 				this.hpml.eval(); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					text: this.hpml.interpolate(this.value.content) | ||||
| 				}); | ||||
| 			} else if (this.value.action === 'resetRandom') { | ||||
|  | @ -39,7 +39,7 @@ export default defineComponent({ | |||
| 					} : {}) | ||||
| 				}); | ||||
| 
 | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					text: this.hpml.interpolate(this.value.message) | ||||
| 				}); | ||||
|  |  | |||
|  | @ -44,7 +44,7 @@ export default defineComponent({ | |||
| 	methods: { | ||||
| 		upload() { | ||||
| 			return new Promise((ok) => { | ||||
| 				const dialog = this.$root.dialog({ | ||||
| 				const dialog = this.$root.showDialog({ | ||||
| 					type: 'waiting', | ||||
| 					text: this.$t('uploading') + '...', | ||||
| 					showOkButton: false, | ||||
|  | @ -80,7 +80,7 @@ export default defineComponent({ | |||
| 				fileIds: file ? [file.id] : undefined, | ||||
| 			}).then(() => { | ||||
| 				this.posted = true; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  |  | |||
|  | @ -49,7 +49,7 @@ export default defineComponent({ | |||
| 					ast = parse(this.page.script); | ||||
| 				} catch (e) { | ||||
| 					console.error(e); | ||||
| 					/*this.$root.dialog({ | ||||
| 					/*this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: 'Syntax error :(' | ||||
| 					});*/ | ||||
|  | @ -59,7 +59,7 @@ export default defineComponent({ | |||
| 					this.hpml.eval(); | ||||
| 				}).catch(e => { | ||||
| 					console.error(e); | ||||
| 					/*this.$root.dialog({ | ||||
| 					/*this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: e | ||||
| 					});*/ | ||||
|  |  | |||
|  | @ -62,7 +62,7 @@ export default defineComponent({ | |||
| 			}); | ||||
| 		}, | ||||
| 		async rename(file) { | ||||
| 			const { canceled, result } = await this.$root.dialog({ | ||||
| 			const { canceled, result } = await this.$root.showDialog({ | ||||
| 				title: this.$t('enterFileName'), | ||||
| 				input: { | ||||
| 					default: file.name | ||||
|  |  | |||
|  | @ -469,7 +469,7 @@ export default defineComponent({ | |||
| 			if (!this.renote && !this.quoteId && paste.startsWith(url + '/notes/')) { | ||||
| 				e.preventDefault(); | ||||
| 
 | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'info', | ||||
| 					text: this.$t('quoteQuestion'), | ||||
| 					showCancelButton: true | ||||
|  |  | |||
|  | @ -127,7 +127,7 @@ export default defineComponent({ | |||
| 		search() { | ||||
| 			if (this.searching) return; | ||||
| 
 | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('search'), | ||||
| 				input: true | ||||
| 			}).then(async ({ canceled, result: query }) => { | ||||
|  | @ -277,7 +277,7 @@ export default defineComponent({ | |||
| 		async addAcount() { | ||||
| 			this.$root.new(await import('./signin-dialog.vue')).$once('login', res => { | ||||
| 				this.$store.dispatch('addAcount', res); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -297,7 +297,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		switchAccountWithToken(token: string) { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'waiting', | ||||
| 				iconOnly: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -145,7 +145,7 @@ export default defineComponent({ | |||
| 				this.$emit('login', res); | ||||
| 			}).catch(err => { | ||||
| 				if (err === null) return; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('signinFailed') | ||||
| 				}); | ||||
|  | @ -166,7 +166,7 @@ export default defineComponent({ | |||
| 						this.challengeData = res; | ||||
| 						return this.queryKey(); | ||||
| 					}).catch(() => { | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							type: 'error', | ||||
| 							text: this.$t('signinFailed') | ||||
| 						}); | ||||
|  | @ -186,7 +186,7 @@ export default defineComponent({ | |||
| 				}).then(res => { | ||||
| 					this.$emit('login', res); | ||||
| 				}).catch(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: this.$t('loginFailed') | ||||
| 					}); | ||||
|  |  | |||
|  | @ -193,7 +193,7 @@ export default defineComponent({ | |||
| 				this.$refs.hcaptcha?.reset?.(); | ||||
| 				this.$refs.recaptcha?.reset?.(); | ||||
| 
 | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('error') | ||||
| 				}); | ||||
|  |  | |||
|  | @ -206,11 +206,12 @@ export default defineComponent({ | |||
| 			}); | ||||
| 		}); | ||||
| 
 | ||||
| 		this.$on('keydown', (e: KeyboardEvent) => { | ||||
| 		// TODO: vue3 | ||||
| 		/*this.$on('keydown', (e: KeyboardEvent) => { | ||||
| 			if (e.code == 'Enter') { | ||||
| 				this.$emit('enter'); | ||||
| 			} | ||||
| 		}); | ||||
| 		});*/ | ||||
| 	}, | ||||
| 	methods: { | ||||
| 		focus() { | ||||
|  |  | |||
|  | @ -100,13 +100,13 @@ export default defineComponent({ | |||
| 			const t = this.$t('selectList'); // なぜか後で参照すると null になるので最初にメモリに確保しておく | ||||
| 			const lists = await this.$root.api('users/lists/list'); | ||||
| 			if (lists.length === 0) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('youHaveNoLists') | ||||
| 				}); | ||||
| 				return; | ||||
| 			} | ||||
| 			const { canceled, result: listId } = await this.$root.dialog({ | ||||
| 			const { canceled, result: listId } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: t, | ||||
| 				select: { | ||||
|  | @ -121,12 +121,12 @@ export default defineComponent({ | |||
| 				listId: listId, | ||||
| 				userId: this.user.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -136,13 +136,13 @@ export default defineComponent({ | |||
| 		async inviteGroup() { | ||||
| 			const groups = await this.$root.api('users/groups/owned'); | ||||
| 			if (groups.length === 0) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('youHaveNoGroups') | ||||
| 				}); | ||||
| 				return; | ||||
| 			} | ||||
| 			const { canceled, result: groupId } = await this.$root.dialog({ | ||||
| 			const { canceled, result: groupId } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('group'), | ||||
| 				select: { | ||||
|  | @ -157,12 +157,12 @@ export default defineComponent({ | |||
| 				groupId: groupId, | ||||
| 				userId: this.user.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -174,12 +174,12 @@ export default defineComponent({ | |||
| 				userId: this.user.id | ||||
| 			}).then(() => { | ||||
| 				this.user.isMuted = !this.user.isMuted; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}, e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -193,12 +193,12 @@ export default defineComponent({ | |||
| 				userId: this.user.id | ||||
| 			}).then(() => { | ||||
| 				this.user.isBlocking = !this.user.isBlocking; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}, e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -212,12 +212,12 @@ export default defineComponent({ | |||
| 				userId: this.user.id | ||||
| 			}).then(() => { | ||||
| 				this.user.isSilenced = !this.user.isSilenced; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}, e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -231,12 +231,12 @@ export default defineComponent({ | |||
| 				userId: this.user.id | ||||
| 			}).then(() => { | ||||
| 				this.user.isSuspended = !this.user.isSuspended; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}, e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -244,7 +244,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async getConfirmed(text: string): Promise<Boolean> { | ||||
| 			const confirm = await this.$root.dialog({ | ||||
| 			const confirm = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				showCancelButton: true, | ||||
| 				title: 'confirm', | ||||
|  |  | |||
|  | @ -141,7 +141,7 @@ export default defineComponent({ | |||
| 		search() { | ||||
| 			if (this.searching) return; | ||||
| 
 | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('search'), | ||||
| 				input: true | ||||
| 			}).then(async ({ canceled, result: query }) => { | ||||
|  | @ -183,7 +183,7 @@ export default defineComponent({ | |||
| 				'direct', | ||||
| 			]; | ||||
| 
 | ||||
| 			const { canceled, result: column } = await this.$root.dialog({ | ||||
| 			const { canceled, result: column } = await this.$root.showDialog({ | ||||
| 				title: this.$t('_deck.addColumn'), | ||||
| 				type: null, | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -301,7 +301,7 @@ export default defineComponent({ | |||
| 		search() { | ||||
| 			if (this.searching) return; | ||||
| 
 | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('search'), | ||||
| 				input: true | ||||
| 			}).then(async ({ canceled, result: query }) => { | ||||
|  | @ -351,7 +351,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async addWidget(place) { | ||||
| 			const { canceled, result: widget } = await this.$root.dialog({ | ||||
| 			const { canceled, result: widget } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('chooseWidget'), | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -92,7 +92,7 @@ export default defineComponent({ | |||
| 				params.channelId = this.channelId; | ||||
| 				this.$root.api('channels/update', params) | ||||
| 				.then(channel => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
|  | @ -100,7 +100,7 @@ export default defineComponent({ | |||
| 			} else { | ||||
| 				this.$root.api('channels/create', params) | ||||
| 				.then(channel => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ export default defineComponent({ | |||
| 		const acct = new URL(location.href).searchParams.get('acct'); | ||||
| 		if (acct == null) return; | ||||
| 
 | ||||
| 		const dialog = this.$root.dialog({ | ||||
| 		const dialog = this.$root.showDialog({ | ||||
| 			type: 'waiting', | ||||
| 			text: this.$t('fetchingAsApObject') + '...', | ||||
| 			showOkButton: false, | ||||
|  | @ -26,7 +26,7 @@ export default defineComponent({ | |||
| 				if (res.type == 'User') { | ||||
| 					this.follow(res.object); | ||||
| 				} else { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: 'Not a user' | ||||
| 					}).then(() => { | ||||
|  | @ -34,7 +34,7 @@ export default defineComponent({ | |||
| 					}); | ||||
| 				} | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}).then(() => { | ||||
|  | @ -47,7 +47,7 @@ export default defineComponent({ | |||
| 			this.$root.api('users/show', parseAcct(acct)).then(user => { | ||||
| 				this.follow(user); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}).then(() => { | ||||
|  | @ -61,7 +61,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async follow(user) { | ||||
| 			const { canceled } = await this.$root.dialog({ | ||||
| 			const { canceled } = await this.$root.showDialog({ | ||||
| 				type: 'question', | ||||
| 				text: this.$t('followConfirm', { name: user.name || user.username }), | ||||
| 				showCancelButton: true | ||||
|  | @ -75,14 +75,14 @@ export default defineComponent({ | |||
| 			this.$root.api('following/create', { | ||||
| 				userId: user.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}).then(() => { | ||||
| 					window.close(); | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}).then(() => { | ||||
|  |  | |||
|  | @ -57,7 +57,7 @@ export default defineComponent({ | |||
| 			}).catch(() => { | ||||
| 				this.submitting = false; | ||||
| 
 | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('error') | ||||
| 				}); | ||||
|  |  | |||
|  | @ -68,7 +68,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		remove(announcement) { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('removeAreYouSure', { x: announcement.title }), | ||||
| 				showCancelButton: true | ||||
|  | @ -82,24 +82,24 @@ export default defineComponent({ | |||
| 		save(announcement) { | ||||
| 			if (announcement.id == null) { | ||||
| 				this.$root.api('admin/announcements/create', announcement).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						text: this.$t('saved') | ||||
| 					}); | ||||
| 				}).catch(e => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: e | ||||
| 					}); | ||||
| 				}); | ||||
| 			} else { | ||||
| 				this.$root.api('admin/announcements/update', announcement).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						text: this.$t('saved') | ||||
| 					}); | ||||
| 				}).catch(e => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: e | ||||
| 					}); | ||||
|  |  | |||
|  | @ -128,7 +128,7 @@ export default defineComponent({ | |||
| 		async add(e) { | ||||
| 			const files = await selectFile(this, e.currentTarget || e.target, null, true); | ||||
| 
 | ||||
| 			const dialog = this.$root.dialog({ | ||||
| 			const dialog = this.$root.showDialog({ | ||||
| 				type: 'waiting', | ||||
| 				text: this.$t('doing') + '...', | ||||
| 				showOkButton: false, | ||||
|  | @ -141,7 +141,7 @@ export default defineComponent({ | |||
| 			}))) | ||||
| 			.then(() => { | ||||
| 				this.$refs.emojis.reload(); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -159,7 +159,7 @@ export default defineComponent({ | |||
| 				aliases: this.aliases.split(' '), | ||||
| 			}); | ||||
| 
 | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  | @ -168,7 +168,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async del() { | ||||
| 			const { canceled } = await this.$root.dialog({ | ||||
| 			const { canceled } = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('removeAreYouSure', { x: this.selected.name }), | ||||
| 				showCancelButton: true | ||||
|  | @ -187,12 +187,12 @@ export default defineComponent({ | |||
| 				emojiId: this.selectedRemote.id, | ||||
| 			}).then(() => { | ||||
| 				this.$refs.emojis.reload(); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  |  | |||
|  | @ -34,7 +34,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		clear() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('clearCachedFilesConfirm'), | ||||
| 				showCancelButton: true | ||||
|  | @ -42,7 +42,7 @@ export default defineComponent({ | |||
| 				if (canceled) return; | ||||
| 
 | ||||
| 				this.$root.api('admin/drive/clean-remote-files', {}).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
|  |  | |||
|  | @ -578,7 +578,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		deleteAllLogs() { | ||||
| 			this.$root.api('admin/delete-logs').then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  |  | |||
|  | @ -255,7 +255,7 @@ export default defineComponent({ | |||
| 			this.$root.api('admin/federation/remove-all-following', { | ||||
| 				host: this.instance.host | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -266,7 +266,7 @@ export default defineComponent({ | |||
| 			this.$root.api('admin/federation/delete-all-files', { | ||||
| 				host: this.instance.host | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  |  | |||
|  | @ -57,7 +57,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		clear() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				title: this.$t('clearQueueConfirmTitle'), | ||||
| 				text: this.$t('clearQueueConfirmText'), | ||||
|  | @ -66,7 +66,7 @@ export default defineComponent({ | |||
| 				if (canceled) return; | ||||
| 
 | ||||
| 				this.$root.api('admin/queue/clear', {}).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ export default defineComponent({ | |||
| 			}).then((relay: any) => { | ||||
| 				this.refresh(); | ||||
| 			}).catch((e: any) => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.message || e | ||||
| 				}); | ||||
|  | @ -74,7 +74,7 @@ export default defineComponent({ | |||
| 			}).then(() => { | ||||
| 				this.refresh(); | ||||
| 			}).catch((e: any) => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.message || e | ||||
| 				}); | ||||
|  |  | |||
|  | @ -402,7 +402,7 @@ export default defineComponent({ | |||
| 	mounted() { | ||||
| 		this.$refs.enableHcaptcha.$on('change', () => { | ||||
| 			if (this.enableHcaptcha && this.enableRecaptcha) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'question', // warning だと間違って cancel するかもしれない | ||||
| 					showCancelButton: true, | ||||
| 					title: this.$t('settingGuide'), | ||||
|  | @ -419,7 +419,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		this.$refs.enableRecaptcha.$on('change', () => { | ||||
| 			if (this.enableRecaptcha && this.enableHcaptcha) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'question', // warning だと間違って cancel するかもしれない | ||||
| 					showCancelButton: true, | ||||
| 					title: this.$t('settingGuide'), | ||||
|  | @ -438,12 +438,12 @@ export default defineComponent({ | |||
| 	methods: { | ||||
| 		invite() { | ||||
| 			this.$root.api('admin/invite').then(x => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'info', | ||||
| 					text: x.code | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -472,12 +472,12 @@ export default defineComponent({ | |||
| 				subject: 'Test email', | ||||
| 				text: 'Yo' | ||||
| 			}).then(x => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					splash: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -546,13 +546,13 @@ export default defineComponent({ | |||
| 			}).then(() => { | ||||
| 				this.$store.dispatch('instance/fetch'); | ||||
| 				if (withDialog) { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
| 				} | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  |  | |||
|  | @ -89,7 +89,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		async updateRemoteUser() { | ||||
| 			await this.$root.api('admin/update-remote-user', { userId: this.user.id }).then(res => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -98,7 +98,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async resetPassword() { | ||||
| 			const dialog = this.$root.dialog({ | ||||
| 			const dialog = this.$root.showDialog({ | ||||
| 				type: 'waiting', | ||||
| 				iconOnly: true | ||||
| 			}); | ||||
|  | @ -106,12 +106,12 @@ export default defineComponent({ | |||
| 			this.$root.api('admin/reset-password', { | ||||
| 				userId: this.user.id, | ||||
| 			}).then(({ password }) => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					text: this.$t('newPasswordIs', { password }) | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -121,7 +121,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async toggleSilence() { | ||||
| 			const confirm = await this.$root.dialog({ | ||||
| 			const confirm = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				showCancelButton: true, | ||||
| 				text: this.silenced ? this.$t('silenceConfirm') : this.$t('unsilenceConfirm'), | ||||
|  | @ -135,7 +135,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async toggleSuspend() { | ||||
| 			const confirm = await this.$root.dialog({ | ||||
| 			const confirm = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				showCancelButton: true, | ||||
| 				text: this.suspended ? this.$t('suspendConfirm') : this.$t('unsuspendConfirm'), | ||||
|  | @ -154,7 +154,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async deleteAllFiles() { | ||||
| 			const confirm = await this.$root.dialog({ | ||||
| 			const confirm = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				showCancelButton: true, | ||||
| 				text: this.$t('deleteAllFilesConfirm'), | ||||
|  | @ -162,13 +162,13 @@ export default defineComponent({ | |||
| 			if (confirm.canceled) return; | ||||
| 			const process = async () => { | ||||
| 				await this.$root.api('admin/delete-all-files-of-a-user', { userId: this.user.id }); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}; | ||||
| 			await process().catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.toString() | ||||
| 				}); | ||||
|  |  | |||
|  | @ -152,7 +152,7 @@ export default defineComponent({ | |||
| 				let _notFound = false; | ||||
| 				const notFound = () => { | ||||
| 					if (_notFound) { | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							type: 'error', | ||||
| 							text: this.$t('noSuchUser') | ||||
| 						}); | ||||
|  | @ -185,19 +185,19 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async addUser() { | ||||
| 			const { canceled: canceled1, result: username } = await this.$root.dialog({ | ||||
| 			const { canceled: canceled1, result: username } = await this.$root.showDialog({ | ||||
| 				title: this.$t('username'), | ||||
| 				input: true | ||||
| 			}); | ||||
| 			if (canceled1) return; | ||||
| 
 | ||||
| 			const { canceled: canceled2, result: password } = await this.$root.dialog({ | ||||
| 			const { canceled: canceled2, result: password } = await this.$root.showDialog({ | ||||
| 				title: this.$t('password'), | ||||
| 				input: { type: 'password' } | ||||
| 			}); | ||||
| 			if (canceled2) return; | ||||
| 
 | ||||
| 			const dialog = this.$root.dialog({ | ||||
| 			const dialog = this.$root.showDialog({ | ||||
| 				type: 'waiting', | ||||
| 				iconOnly: true | ||||
| 			}); | ||||
|  | @ -207,12 +207,12 @@ export default defineComponent({ | |||
| 				password: password, | ||||
| 			}).then(res => { | ||||
| 				this.$refs.users.reload(); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.id | ||||
| 				}); | ||||
|  |  | |||
|  | @ -140,14 +140,14 @@ export default defineComponent({ | |||
| 			const groups1 = await this.$root.api('users/groups/owned'); | ||||
| 			const groups2 = await this.$root.api('users/groups/joined'); | ||||
| 			if (groups1.length === 0 && groups2.length === 0) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'warning', | ||||
| 					title: this.$t('youHaveNoGroups'), | ||||
| 					text: this.$t('joinOrCreateGroup'), | ||||
| 				}); | ||||
| 				return; | ||||
| 			} | ||||
| 			const { canceled, result: group } = await this.$root.dialog({ | ||||
| 			const { canceled, result: group } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('group'), | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -97,7 +97,7 @@ export default defineComponent({ | |||
| 					const ext = lio >= 0 ? file.name.slice(lio) : ''; | ||||
| 					const formatted = `${formatTimeString(new Date(file.lastModified), this.$store.state.settings.pastedFileName).replace(/{{number}}/g, '1')}${ext}`; | ||||
| 					const name = this.$store.state.settings.pasteDialog | ||||
| 						? await this.$root.dialog({ | ||||
| 						? await this.$root.showDialog({ | ||||
| 							title: this.$t('enterFileName'), | ||||
| 							input: { | ||||
| 								default: formatted | ||||
|  | @ -109,7 +109,7 @@ export default defineComponent({ | |||
| 				} | ||||
| 			} else { | ||||
| 				if (items[0].kind == 'file') { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: this.$t('onlyOneFileCanBeAttached') | ||||
| 					}); | ||||
|  | @ -134,7 +134,7 @@ export default defineComponent({ | |||
| 				return; | ||||
| 			} else if (e.dataTransfer.files.length > 1) { | ||||
| 				e.preventDefault(); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('onlyOneFileCanBeAttached') | ||||
| 				}); | ||||
|  |  | |||
|  | @ -144,7 +144,7 @@ export default defineComponent({ | |||
| 				this.form.upload(e.dataTransfer.files[0]); | ||||
| 				return; | ||||
| 			} else if (e.dataTransfer.files.length > 1) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('onlyOneFileCanBeAttached') | ||||
| 				}); | ||||
|  |  | |||
|  | @ -150,14 +150,14 @@ export default defineComponent({ | |||
| 				}); | ||||
| 			} | ||||
| 
 | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
| 		}, | ||||
| 
 | ||||
| 		async deleteAntenna() { | ||||
| 			const { canceled } = await this.$root.dialog({ | ||||
| 			const { canceled } = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('removeAreYouSure', { x: this.antenna.name }), | ||||
| 				showCancelButton: true | ||||
|  | @ -168,7 +168,7 @@ export default defineComponent({ | |||
| 				antennaId: this.antenna.id, | ||||
| 			}); | ||||
| 
 | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -93,12 +93,12 @@ export default defineComponent({ | |||
| 					groupId: this.group.id, | ||||
| 					userId: user.id | ||||
| 				}).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
| 				}).catch(e => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: e | ||||
| 					}); | ||||
|  | @ -116,7 +116,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async renameGroup() { | ||||
| 			const { canceled, result: name } = await this.$root.dialog({ | ||||
| 			const { canceled, result: name } = await this.$root.showDialog({ | ||||
| 				title: this.$t('groupName'), | ||||
| 				input: { | ||||
| 					default: this.group.name | ||||
|  | @ -138,12 +138,12 @@ export default defineComponent({ | |||
| 					groupId: this.group.id, | ||||
| 					userId: user.id | ||||
| 				}).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
| 				}).catch(e => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: e | ||||
| 					}); | ||||
|  | @ -152,7 +152,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async deleteGroup() { | ||||
| 			const { canceled } = await this.$root.dialog({ | ||||
| 			const { canceled } = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('removeAreYouSure', { x: this.group.name }), | ||||
| 				showCancelButton: true | ||||
|  | @ -162,7 +162,7 @@ export default defineComponent({ | |||
| 			await this.$root.api('users/groups/delete', { | ||||
| 				groupId: this.group.id | ||||
| 			}); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -82,14 +82,14 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async create() { | ||||
| 			const { canceled, result: name } = await this.$root.dialog({ | ||||
| 			const { canceled, result: name } = await this.$root.showDialog({ | ||||
| 				title: this.$t('groupName'), | ||||
| 				input: true | ||||
| 			}); | ||||
| 			if (canceled) return; | ||||
| 			await this.$root.api('users/groups/create', { name: name }); | ||||
| 			this.$refs.owned.reload(); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  | @ -98,7 +98,7 @@ export default defineComponent({ | |||
| 			this.$root.api('users/groups/invitations/accept', { | ||||
| 				invitationId: invitation.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  |  | |||
|  | @ -42,14 +42,14 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async create() { | ||||
| 			const { canceled, result: name } = await this.$root.dialog({ | ||||
| 			const { canceled, result: name } = await this.$root.showDialog({ | ||||
| 				title: this.$t('enterListName'), | ||||
| 				input: true | ||||
| 			}); | ||||
| 			if (canceled) return; | ||||
| 			await this.$root.api('users/lists/create', { name: name }); | ||||
| 			this.$refs.list.reload(); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -93,12 +93,12 @@ export default defineComponent({ | |||
| 					userId: user.id | ||||
| 				}).then(() => { | ||||
| 					this.users.push(user); | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
| 				}).catch(e => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: e | ||||
| 					}); | ||||
|  | @ -116,7 +116,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async renameList() { | ||||
| 			const { canceled, result: name } = await this.$root.dialog({ | ||||
| 			const { canceled, result: name } = await this.$root.showDialog({ | ||||
| 				title: this.$t('enterListName'), | ||||
| 				input: { | ||||
| 					default: this.list.name | ||||
|  | @ -133,7 +133,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async deleteList() { | ||||
| 			const { canceled } = await this.$root.dialog({ | ||||
| 			const { canceled } = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('removeAreYouSure', { x: this.list.name }), | ||||
| 				showCancelButton: true | ||||
|  | @ -143,7 +143,7 @@ export default defineComponent({ | |||
| 			await this.$root.api('users/lists/delete', { | ||||
| 				listId: this.list.id | ||||
| 			}); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -89,7 +89,7 @@ export default defineComponent({ | |||
| 	}, | ||||
| 	methods: { | ||||
| 		register() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('password'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  | @ -105,7 +105,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		unregister() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('password'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  | @ -118,7 +118,7 @@ export default defineComponent({ | |||
| 					this.usePasswordLessLogin = false; | ||||
| 					this.updatePasswordLessLogin(); | ||||
| 				}).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
|  | @ -131,13 +131,13 @@ export default defineComponent({ | |||
| 			this.$root.api('i/2fa/done', { | ||||
| 				token: this.token | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 				this.$store.state.i.twoFactorEnabled = true; | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -156,7 +156,7 @@ export default defineComponent({ | |||
| 			}).then(key => { | ||||
| 				this.registration = null; | ||||
| 				key.lastUsed = new Date(); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  | @ -164,7 +164,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		unregisterKey(key) { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('password'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  | @ -178,7 +178,7 @@ export default defineComponent({ | |||
| 					this.usePasswordLessLogin = false; | ||||
| 					this.updatePasswordLessLogin(); | ||||
| 				}).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
|  | @ -187,7 +187,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		addSecurityKey() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('password'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  |  | |||
|  | @ -33,7 +33,7 @@ export default defineComponent({ | |||
| 					permission: permissions, | ||||
| 				}); | ||||
| 
 | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					title: this.$t('token'), | ||||
| 					text: token | ||||
|  | @ -41,7 +41,7 @@ export default defineComponent({ | |||
| 			}); | ||||
| 		}, | ||||
| 		regenerateToken() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.$t('password'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ export default defineComponent({ | |||
| 		chooseUploadFolder() { | ||||
| 			selectDriveFolder(this.$root, false).then(async folder => { | ||||
| 				await this.$store.dispatch('settings/set', { key: 'uploadFolder', value: folder ? folder.id : null }); | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  |  | |||
|  | @ -45,12 +45,12 @@ export default defineComponent({ | |||
| 				this.exportTarget == 'user-lists' ? 'i/export-user-lists' : | ||||
| 				null, {}) | ||||
| 			.then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'info', | ||||
| 					text: this.$t('exportRequested') | ||||
| 				}); | ||||
| 			}).catch((e: any) => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.message | ||||
| 				}); | ||||
|  | @ -68,7 +68,7 @@ export default defineComponent({ | |||
| 			data.append('file', file); | ||||
| 			data.append('i', this.$store.state.i.token); | ||||
| 
 | ||||
| 			const dialog = this.$root.dialog({ | ||||
| 			const dialog = this.$root.showDialog({ | ||||
| 				type: 'waiting', | ||||
| 				text: this.$t('uploading') + '...', | ||||
| 				showOkButton: false, | ||||
|  | @ -85,7 +85,7 @@ export default defineComponent({ | |||
| 				this.reqImport(f); | ||||
| 			}) | ||||
| 			.catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  | @ -102,12 +102,12 @@ export default defineComponent({ | |||
| 				null, { | ||||
| 					fileId: file.id | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'info', | ||||
| 					text: this.$t('importRequested') | ||||
| 				}); | ||||
| 			}).catch((e: any) => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.message | ||||
| 				}); | ||||
|  |  | |||
|  | @ -122,7 +122,7 @@ export default defineComponent({ | |||
| 				}).then(i => { | ||||
| 					this.$store.state.i.includingNotificationTypes = i.includingNotificationTypes; | ||||
| 				}).catch(err => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: err.message | ||||
| 					}); | ||||
|  |  | |||
|  | @ -160,14 +160,14 @@ export default defineComponent({ | |||
| 				this.$store.state.i.bannerUrl = i.bannerUrl; | ||||
| 
 | ||||
| 				if (notify) { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						iconOnly: true, autoClose: true | ||||
| 					}); | ||||
| 				} | ||||
| 			}).catch(err => { | ||||
| 				this.saving = false; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: err.id | ||||
| 				}); | ||||
|  |  | |||
|  | @ -25,7 +25,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async change() { | ||||
| 			const { canceled: canceled1, result: currentPassword } = await this.$root.dialog({ | ||||
| 			const { canceled: canceled1, result: currentPassword } = await this.$root.showDialog({ | ||||
| 				title: this.$t('currentPassword'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  | @ -33,7 +33,7 @@ export default defineComponent({ | |||
| 			}); | ||||
| 			if (canceled1) return; | ||||
| 
 | ||||
| 			const { canceled: canceled2, result: newPassword } = await this.$root.dialog({ | ||||
| 			const { canceled: canceled2, result: newPassword } = await this.$root.showDialog({ | ||||
| 				title: this.$t('newPassword'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  | @ -41,7 +41,7 @@ export default defineComponent({ | |||
| 			}); | ||||
| 			if (canceled2) return; | ||||
| 
 | ||||
| 			const { canceled: canceled3, result: newPassword2 } = await this.$root.dialog({ | ||||
| 			const { canceled: canceled3, result: newPassword2 } = await this.$root.showDialog({ | ||||
| 				title: this.$t('newPasswordRetype'), | ||||
| 				input: { | ||||
| 					type: 'password' | ||||
|  | @ -50,14 +50,14 @@ export default defineComponent({ | |||
| 			if (canceled3) return; | ||||
| 
 | ||||
| 			if (newPassword !== newPassword2) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('retypedNotMatch') | ||||
| 				}); | ||||
| 				return; | ||||
| 			} | ||||
| 
 | ||||
| 			const dialog = this.$root.dialog({ | ||||
| 			const dialog = this.$root.showDialog({ | ||||
| 				type: 'waiting', | ||||
| 				iconOnly: true | ||||
| 			}); | ||||
|  | @ -66,12 +66,12 @@ export default defineComponent({ | |||
| 				currentPassword, | ||||
| 				newPassword | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch(e => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  |  | |||
|  | @ -64,7 +64,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async add() { | ||||
| 			const { canceled, result: type } = await this.$root.dialog({ | ||||
| 			const { canceled, result: type } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('_pages.chooseBlock'), | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -62,7 +62,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async rename() { | ||||
| 			const { canceled, result: title } = await this.$root.dialog({ | ||||
| 			const { canceled, result: title } = await this.$root.showDialog({ | ||||
| 				title: 'Enter title', | ||||
| 				input: { | ||||
| 					type: 'text', | ||||
|  | @ -75,7 +75,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async add() { | ||||
| 			const { canceled, result: type } = await this.$root.dialog({ | ||||
| 			const { canceled, result: type } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('_pages.chooseBlock'), | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -210,7 +210,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	methods: { | ||||
| 		async changeType() { | ||||
| 			const { canceled, result: type } = await this.$root.dialog({ | ||||
| 			const { canceled, result: type } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('_pages.selectType'), | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -239,14 +239,14 @@ export default defineComponent({ | |||
| 			const onError = err => { | ||||
| 				if (err.id == '3d81ceae-475f-4600-b2a8-2bc116157532') { | ||||
| 					if (err.info.param == 'name') { | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							type: 'error', | ||||
| 							title: this.$t('_pages.invalidNameTitle'), | ||||
| 							text: this.$t('_pages.invalidNameText') | ||||
| 						}); | ||||
| 					} | ||||
| 				} else if (err.code == 'NAME_ALREADY_EXISTS') { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: this.$t('_pages.nameAlreadyExists') | ||||
| 					}); | ||||
|  | @ -258,7 +258,7 @@ export default defineComponent({ | |||
| 				this.$root.api('pages/update', options) | ||||
| 				.then(page => { | ||||
| 					this.currentName = this.name.trim(); | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						text: this.$t('_pages.updated') | ||||
| 					}); | ||||
|  | @ -268,7 +268,7 @@ export default defineComponent({ | |||
| 				.then(page => { | ||||
| 					this.pageId = page.id; | ||||
| 					this.currentName = this.name.trim(); | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						text: this.$t('_pages.created') | ||||
| 					}); | ||||
|  | @ -278,7 +278,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		del() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('removeAreYouSure', { x: this.title.trim() }), | ||||
| 				showCancelButton: true | ||||
|  | @ -287,7 +287,7 @@ export default defineComponent({ | |||
| 				this.$root.api('pages/delete', { | ||||
| 					pageId: this.pageId, | ||||
| 				}).then(() => { | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'success', | ||||
| 						text: this.$t('_pages.deleted') | ||||
| 					}); | ||||
|  | @ -297,7 +297,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async add() { | ||||
| 			const { canceled, result: type } = await this.$root.dialog({ | ||||
| 			const { canceled, result: type } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('_pages.chooseBlock'), | ||||
| 				select: { | ||||
|  | @ -312,7 +312,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async addVariable() { | ||||
| 			let { canceled, result: name } = await this.$root.dialog({ | ||||
| 			let { canceled, result: name } = await this.$root.showDialog({ | ||||
| 				title: this.$t('_pages.enterVariableName'), | ||||
| 				input: { | ||||
| 					type: 'text', | ||||
|  | @ -324,7 +324,7 @@ export default defineComponent({ | |||
| 			name = name.trim(); | ||||
| 
 | ||||
| 			if (this.hpml.isUsedName(name)) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('_pages.variableNameIsAlreadyUsed') | ||||
| 				}); | ||||
|  |  | |||
|  | @ -105,7 +105,7 @@ export default defineComponent({ | |||
| 			this.$root.api('i/update', { | ||||
| 				pinnedPageId: pin ? this.page.id : null, | ||||
| 			}).then(() => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  |  | |||
|  | @ -295,7 +295,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	watch: { | ||||
| 		lang() { | ||||
| 			const dialog = this.$root.dialog({ | ||||
| 			const dialog = this.$root.showDialog({ | ||||
| 				type: 'waiting', | ||||
| 				iconOnly: true | ||||
| 			}); | ||||
|  | @ -306,7 +306,7 @@ export default defineComponent({ | |||
| 				.then(() => location.reload()) | ||||
| 				.catch(() => { | ||||
| 					dialog.close(); | ||||
| 					this.$root.dialog({ | ||||
| 					this.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						iconOnly: true, | ||||
| 						autoClose: true | ||||
|  |  | |||
|  | @ -85,7 +85,7 @@ export default defineComponent({ | |||
| 			try { | ||||
| 				ast = parse(this.script); | ||||
| 			} catch (e) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: 'Syntax error :(' | ||||
| 				}); | ||||
|  | @ -93,7 +93,7 @@ export default defineComponent({ | |||
| 			} | ||||
| 			const meta = AiScript.collectMetadata(ast); | ||||
| 			if (meta == null) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: 'No metadata found :(' | ||||
| 				}); | ||||
|  | @ -101,7 +101,7 @@ export default defineComponent({ | |||
| 			} | ||||
| 			const data = meta.get(null); | ||||
| 			if (data == null) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: 'No metadata found :(' | ||||
| 				}); | ||||
|  | @ -109,7 +109,7 @@ export default defineComponent({ | |||
| 			} | ||||
| 			const { name, version, author, description, permissions, config } = data; | ||||
| 			if (name == null || version == null || author == null) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: 'Required property not found :(' | ||||
| 				}); | ||||
|  | @ -142,7 +142,7 @@ export default defineComponent({ | |||
| 				ast: serialize(ast) | ||||
| 			}); | ||||
| 
 | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  | @ -154,7 +154,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		uninstall() { | ||||
| 			this.$store.commit('deviceUser/uninstallPlugin', this.selectedPluginId); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -61,7 +61,7 @@ export default defineComponent({ | |||
| 	methods: { | ||||
| 		async addItem() { | ||||
| 			const menu = Object.keys(this.menuDef).filter(k => !this.$store.state.deviceUser.menu.includes(k)); | ||||
| 			const { canceled, result: item } = await this.$root.dialog({ | ||||
| 			const { canceled, result: item } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('addItem'), | ||||
| 				select: { | ||||
|  |  | |||
|  | @ -194,7 +194,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 		copyThemeCode() { | ||||
| 			copyToClipboard(this.selectedThemeCode); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  | @ -206,21 +206,21 @@ export default defineComponent({ | |||
| 			try { | ||||
| 				theme = JSON5.parse(code); | ||||
| 			} catch (e) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('_theme.invalid') | ||||
| 				}); | ||||
| 				return false; | ||||
| 			} | ||||
| 			if (!validateTheme(theme)) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: this.$t('_theme.invalid') | ||||
| 				}); | ||||
| 				return false; | ||||
| 			} | ||||
| 			if (this.$store.state.device.themes.some(t => t.id === theme.id)) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'info', | ||||
| 					text: this.$t('_theme.alreadyInstalled') | ||||
| 				}); | ||||
|  | @ -242,7 +242,7 @@ export default defineComponent({ | |||
| 			this.$store.commit('device/set', { | ||||
| 				key: 'themes', value: themes | ||||
| 			}); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				text: this.$t('_theme.installed', { name: theme.name }) | ||||
| 			}); | ||||
|  | @ -254,7 +254,7 @@ export default defineComponent({ | |||
| 			this.$store.commit('device/set', { | ||||
| 				key: 'themes', value: themes | ||||
| 			}); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				iconOnly: true, autoClose: true | ||||
| 			}); | ||||
|  |  | |||
|  | @ -141,7 +141,7 @@ export default defineComponent({ | |||
| 
 | ||||
| 	beforeRouteLeave(to, from, next) { | ||||
| 		if (this.changed) { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('leaveConfirm'), | ||||
| 				showCancelButton: true | ||||
|  | @ -171,7 +171,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async add() { | ||||
| 			const { canceled, result: id } = await this.$root.dialog({ | ||||
| 			const { canceled, result: id } = await this.$root.showDialog({ | ||||
| 				type: null, | ||||
| 				title: this.$t('_rooms.addFurniture'), | ||||
| 				select: { | ||||
|  | @ -198,12 +198,12 @@ export default defineComponent({ | |||
| 				room: room.getRoomInfo() | ||||
| 			}).then(() => { | ||||
| 				this.changed = false; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
| 			}).catch((e: any) => { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.message | ||||
| 				}); | ||||
|  | @ -211,7 +211,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		clear() { | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('_rooms.clearConfirm'), | ||||
| 				showCancelButton: true | ||||
|  |  | |||
|  | @ -77,7 +77,7 @@ export default defineComponent({ | |||
| 			}), { | ||||
| 				in: (q) => { | ||||
| 					return new Promise(ok => { | ||||
| 						this.$root.dialog({ | ||||
| 						this.$root.showDialog({ | ||||
| 							title: q, | ||||
| 							input: {} | ||||
| 						}).then(({ canceled, result: a }) => { | ||||
|  | @ -108,7 +108,7 @@ export default defineComponent({ | |||
| 			try { | ||||
| 				ast = parse(this.code); | ||||
| 			} catch (e) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: 'Syntax error :(' | ||||
| 				}); | ||||
|  | @ -117,7 +117,7 @@ export default defineComponent({ | |||
| 			try { | ||||
| 				await aiscript.exec(ast); | ||||
| 			} catch (e) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e | ||||
| 				}); | ||||
|  |  | |||
|  | @ -64,7 +64,7 @@ export default defineComponent({ | |||
| 				initialText: text.trim() | ||||
| 			}).$once('posted', () => { | ||||
| 				this.posted = true; | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'success', | ||||
| 					iconOnly: true, autoClose: true | ||||
| 				}); | ||||
|  |  | |||
|  | @ -0,0 +1,50 @@ | |||
| <template> | ||||
| <div> | ||||
| 	<portal to="header"><fa :icon="faExclamationTriangle"/>TEST</portal> | ||||
| 
 | ||||
| 	<div class="_card"> | ||||
| 		<div class="_title">Dialog</div> | ||||
| 		<div class="_content"> | ||||
| 			<mk-input v-model:value="dialogTitle"> | ||||
| 				<span>Title</span> | ||||
| 			</mk-input> | ||||
| 			<mk-button @click="showDialog()">Show</mk-button> | ||||
| 		</div> | ||||
| 	</div> | ||||
| </div> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons'; | ||||
| import MkButton from '../components/ui/button.vue'; | ||||
| import MkInput from '../components/ui/input.vue'; | ||||
| 
 | ||||
| export default defineComponent({ | ||||
| 	components: { | ||||
| 		MkButton, | ||||
| 		MkInput, | ||||
| 	}, | ||||
| 
 | ||||
| 	metaInfo() { | ||||
| 		return { | ||||
| 			title: this.$t('notFound') as string | ||||
| 		}; | ||||
| 	}, | ||||
| 
 | ||||
| 	data() { | ||||
| 		return { | ||||
| 			dialogTitle: 'Title', | ||||
| 			faExclamationTriangle | ||||
| 		} | ||||
| 	}, | ||||
| 
 | ||||
| 	methods: { | ||||
| 		showDialog() { | ||||
| 			this.$root.showDialog({ | ||||
| 				title: this.dialogTitle, | ||||
| 			}) | ||||
| 		} | ||||
| 	} | ||||
| }); | ||||
| </script> | ||||
|  | @ -155,7 +155,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 
 | ||||
| 		async confirm(): Promise<boolean> { | ||||
| 			const { canceled } = await this.$root.dialog({ | ||||
| 			const { canceled } = await this.$root.showDialog({ | ||||
| 				type: 'warning', | ||||
| 				text: this.$t('leaveConfirm'), | ||||
| 				showCancelButton: true | ||||
|  | @ -172,7 +172,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 	 | ||||
| 		async del(i: number) { | ||||
| 			const { canceled } = await this.$root.dialog({  | ||||
| 			const { canceled } = await this.$root.showDialog({  | ||||
| 				type: 'warning', | ||||
| 				showCancelButton: true, | ||||
| 				text: this.$t('_theme.deleteConstantConfirm', { const: this.theme[i][0] }), | ||||
|  | @ -182,7 +182,7 @@ export default defineComponent({ | |||
| 		}, | ||||
| 	 | ||||
| 		async addConst() { | ||||
| 			const { canceled, result } = await this.$root.dialog({ | ||||
| 			const { canceled, result } = await this.$root.showDialog({ | ||||
| 				title: this.$t('_theme.inputConstantName'), | ||||
| 				input: true | ||||
| 			}); | ||||
|  | @ -196,7 +196,7 @@ export default defineComponent({ | |||
| 			this.$store.commit('device/set', { | ||||
| 				key: 'themes', value: themes | ||||
| 			}); | ||||
| 			this.$root.dialog({ | ||||
| 			this.$root.showDialog({ | ||||
| 				type: 'success', | ||||
| 				text: this.$t('_theme.installed', { name: theme.name }) | ||||
| 			}); | ||||
|  | @ -208,7 +208,7 @@ export default defineComponent({ | |||
| 			try { | ||||
| 				applyTheme(theme, false); | ||||
| 			} catch (e) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.message | ||||
| 				}); | ||||
|  | @ -229,7 +229,7 @@ export default defineComponent({ | |||
| 				this.theme = convertToViewModel(theme); | ||||
| 				this.themeToImport = ''; | ||||
| 			} catch (e) { | ||||
| 				this.$root.dialog({ | ||||
| 				this.$root.showDialog({ | ||||
| 					type: 'error', | ||||
| 					text: e.message | ||||
| 				}); | ||||
|  |  | |||
|  | @ -1,11 +1,12 @@ | |||
| <template> | ||||
| <DeckUI v-if="deckmode"/> | ||||
| <DefaultUI v-else/> | ||||
| <!-- Render modals here --> | ||||
| 
 | ||||
| <XDialog v-if="dialog" v-bind="dialog" :key="dialog.id" @ok="onDialogOk" @closed="onDialogClosed"/> | ||||
| </template> | ||||
| 
 | ||||
| <script lang="ts"> | ||||
| import { defineComponent } from 'vue'; | ||||
| import { defineComponent, defineAsyncComponent } from 'vue'; | ||||
| import DefaultUI from './default.vue'; | ||||
| import DeckUI from './deck.vue'; | ||||
| import { instanceName, deckmode } from './config'; | ||||
|  | @ -14,6 +15,7 @@ export default defineComponent({ | |||
| 	components: { | ||||
| 		DefaultUI, | ||||
| 		DeckUI, | ||||
| 		XDialog: defineAsyncComponent(() => import('./components/dialog.vue')), | ||||
| 	}, | ||||
| 
 | ||||
| 	metaInfo: { | ||||
|  | @ -39,13 +41,31 @@ export default defineComponent({ | |||
| 		}; | ||||
| 	}, | ||||
| 
 | ||||
| 	computed: { | ||||
| 		dialog() { | ||||
| 			if (this.$store.state.dialogs.length === 0) return null; | ||||
| 
 | ||||
| 			// what: ダイアログが複数ある場合は、一番最後に追加されたダイアログを表示する | ||||
| 			// why: ダイアログが一度に複数表示されるとユーザビリティが悪いため。 | ||||
| 			return this.$store.state.dialogs[this.$store.state.dialogs.length - 1]; | ||||
| 		} | ||||
| 	}, | ||||
| 
 | ||||
| 	methods: { | ||||
| 		api(endpoint: string, data: { [x: string]: any } = {}, token?) { | ||||
| 			return this.$store.dispatch('api', { endpoint, data, token }); | ||||
| 		}, | ||||
| 
 | ||||
| 		dialog(opts) { | ||||
| 		showDialog(opts) { | ||||
| 			this.$store.commit('showDialog', opts); | ||||
| 		}, | ||||
| 
 | ||||
| 		onDialogOk(result) { | ||||
| 			this.$store.commit('requestDialogClose', this.dialog.id); | ||||
| 		}, | ||||
| 
 | ||||
| 		onDialogClosed() { | ||||
| 			this.$store.commit('removeDialog', this.dialog.id); | ||||
| 		} | ||||
| 	} | ||||
| }); | ||||
|  |  | |||
|  | @ -69,6 +69,7 @@ export const router = createRouter({ | |||
| 		{ path: '/miauth/:session', component: page('miauth') }, | ||||
| 		{ path: '/authorize-follow', component: page('follow') }, | ||||
| 		{ path: '/share', component: page('share') }, | ||||
| 		{ path: '/test', component: page('test') }, | ||||
| 		{ path: '/:catchAll(.*)', component: page('not-found') } | ||||
| 	], | ||||
| 	// なんかHacky
 | ||||
|  |  | |||
|  | @ -9,14 +9,14 @@ export function createAiScriptEnv(vm, opts) { | |||
| 		USER_NAME: vm.$store.getters.isSignedIn ? values.STR(vm.$store.state.i.name) : values.NULL, | ||||
| 		USER_USERNAME: vm.$store.getters.isSignedIn ? values.STR(vm.$store.state.i.username) : values.NULL, | ||||
| 		'Mk:dialog': values.FN_NATIVE(async ([title, text, type]) => { | ||||
| 			await vm.$root.dialog({ | ||||
| 			await vm.$root.showDialog({ | ||||
| 				type: type ? type.value : 'info', | ||||
| 				title: title.value, | ||||
| 				text: text.value, | ||||
| 			}); | ||||
| 		}), | ||||
| 		'Mk:confirm': values.FN_NATIVE(async ([title, text, type]) => { | ||||
| 			const confirm = await vm.$root.dialog({ | ||||
| 			const confirm = await vm.$root.showDialog({ | ||||
| 				type: type ? type.value : 'question', | ||||
| 				showCancelButton: true, | ||||
| 				title: title.value, | ||||
|  |  | |||
|  | @ -42,7 +42,7 @@ export class Hpml { | |||
| 			}), ...initLib(this)}, { | ||||
| 				in: (q) => { | ||||
| 					return new Promise(ok => { | ||||
| 						vm.$root.dialog({ | ||||
| 						vm.$root.showDialog({ | ||||
| 							title: q, | ||||
| 							input: {} | ||||
| 						}).then(({ canceled, result: a }) => { | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| export default ($root: any) => { | ||||
| 	if ($root.$store.getters.isSignedIn) return; | ||||
| 
 | ||||
| 	$root.dialog({ | ||||
| 	$root.showDialog({ | ||||
| 		title: $root.$t('signinRequired'), | ||||
| 		text: null | ||||
| 	}); | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ export async function search(v: any, q: string) { | |||
| 		} | ||||
| 
 | ||||
| 		v.$root.$emit('warp', date); | ||||
| 		v.$root.dialog({ | ||||
| 		v.$root.showDialog({ | ||||
| 			icon: faHistory, | ||||
| 			iconOnly: true, autoClose: true | ||||
| 		}); | ||||
|  | @ -34,7 +34,7 @@ export async function search(v: any, q: string) { | |||
| 	} | ||||
| 
 | ||||
| 	if (q.startsWith('https://')) { | ||||
| 		const dialog = v.$root.dialog({ | ||||
| 		const dialog = v.$root.showDialog({ | ||||
| 			type: 'waiting', | ||||
| 			text: v.$t('fetchingAsApObject') + '...', | ||||
| 			showOkButton: false, | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ export function selectFile(component: any, src: any, label: string | null, multi | |||
| 			input.type = 'file'; | ||||
| 			input.multiple = multiple; | ||||
| 			input.onchange = () => { | ||||
| 				const dialog = component.$root.dialog({ | ||||
| 				const dialog = component.$root.showDialog({ | ||||
| 					type: 'waiting', | ||||
| 					text: component.$t('uploading') + '...', | ||||
| 					showOkButton: false, | ||||
|  | @ -35,7 +35,7 @@ export function selectFile(component: any, src: any, label: string | null, multi | |||
| 				Promise.all(promises).then(driveFiles => { | ||||
| 					res(multiple ? driveFiles : driveFiles[0]); | ||||
| 				}).catch(e => { | ||||
| 					component.$root.dialog({ | ||||
| 					component.$root.showDialog({ | ||||
| 						type: 'error', | ||||
| 						text: e | ||||
| 					}); | ||||
|  |  | |||
|  | @ -263,7 +263,18 @@ export const store = createStore({ | |||
| 		}, | ||||
| 
 | ||||
| 		showDialog(state, dialog) { | ||||
| 			state.dialogs.push(dialog); | ||||
| 			state.dialogs.push({ | ||||
| 				...dialog, | ||||
| 				id: Math.random().toString() // TODO: uuidとか使う
 | ||||
| 			}); | ||||
| 		}, | ||||
| 
 | ||||
| 		requestDialogClose(state, dialogId) { | ||||
| 			state.dialogs.find(d => d.id === dialogId).closing = true; | ||||
| 		}, | ||||
| 
 | ||||
| 		removeDialog(state, dialogId) { | ||||
| 			state.dialogs = state.dialogs.filter(d => d.id !== dialogId); | ||||
| 		}, | ||||
| 
 | ||||
| 		setFullView(state, v) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue