wip
This commit is contained in:
		
							parent
							
								
									6df010a71e
								
							
						
					
					
						commit
						7797a0746a
					
				
					 2 changed files with 35 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -6,6 +6,10 @@
 | 
			
		|||
	@drop.stop="onDrop"
 | 
			
		||||
>
 | 
			
		||||
	<div class="content">
 | 
			
		||||
		<div v-if="visibility == 'specified'" class="visibleUsers">
 | 
			
		||||
			<span v-for="u in visibleUsers">{{ u | userName }}<a @click="removeVisibleUser(u)">[x]</a></span>
 | 
			
		||||
			<a @click="addVisibleUser">+ユーザーを追加</a>
 | 
			
		||||
		</div>
 | 
			
		||||
		<input v-show="useCw" v-model="cw" placeholder="内容への注釈 (オプション)">
 | 
			
		||||
		<textarea :class="{ with: (files.length != 0 || poll) }"
 | 
			
		||||
			ref="text" v-model="text" :disabled="posting"
 | 
			
		||||
| 
						 | 
				
			
			@ -64,6 +68,7 @@ export default Vue.extend({
 | 
			
		|||
			cw: null,
 | 
			
		||||
			geo: null,
 | 
			
		||||
			visibility: 'public',
 | 
			
		||||
			visibleUsers: [],
 | 
			
		||||
			autocomplete: null,
 | 
			
		||||
			draghover: false
 | 
			
		||||
		};
 | 
			
		||||
| 
						 | 
				
			
			@ -259,6 +264,22 @@ export default Vue.extend({
 | 
			
		|||
			});
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		addVisibleUser() {
 | 
			
		||||
			(this as any).apis.input({
 | 
			
		||||
				title: 'ユーザー名を入力してください'
 | 
			
		||||
			}).then(username => {
 | 
			
		||||
				(this as any).api('users/show', {
 | 
			
		||||
					username
 | 
			
		||||
				}).then(user => {
 | 
			
		||||
					this.visibleUsers.push(user);
 | 
			
		||||
				});
 | 
			
		||||
			});
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		removeVisibleUser(user) {
 | 
			
		||||
			this.visibleUsers = this.visibleUsers.filter(u => u != user);
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
		post() {
 | 
			
		||||
			this.posting = true;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -270,6 +291,7 @@ export default Vue.extend({
 | 
			
		|||
				poll: this.poll ? (this.$refs.poll as any).get() : undefined,
 | 
			
		||||
				cw: this.useCw ? this.cw || '' : undefined,
 | 
			
		||||
				visibility: this.visibility,
 | 
			
		||||
				visibleUserIds: this.visibleUsers.map(u => u.id),
 | 
			
		||||
				geo: this.geo ? {
 | 
			
		||||
					coordinates: [this.geo.longitude, this.geo.latitude],
 | 
			
		||||
					altitude: this.geo.altitude,
 | 
			
		||||
| 
						 | 
				
			
			@ -395,6 +417,14 @@ root(isDark)
 | 
			
		|||
				border-bottom solid 1px rgba($theme-color, 0.1) !important
 | 
			
		||||
				border-radius 4px 4px 0 0
 | 
			
		||||
 | 
			
		||||
		> .visibleUsers
 | 
			
		||||
			margin-bottom 8px
 | 
			
		||||
			font-size 14px
 | 
			
		||||
 | 
			
		||||
			> span
 | 
			
		||||
				margin-right 16px
 | 
			
		||||
				color isDark ? #fff : #666
 | 
			
		||||
 | 
			
		||||
		> .medias
 | 
			
		||||
			margin 0
 | 
			
		||||
			padding 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -76,7 +76,11 @@ export default async (user: IUser, data: {
 | 
			
		|||
		geo: data.geo || null,
 | 
			
		||||
		appId: data.app ? data.app._id : null,
 | 
			
		||||
		visibility: data.visibility,
 | 
			
		||||
		visibleUserIds: data.visibleUsers ? data.visibleUsers.map(u => u._id) : [],
 | 
			
		||||
		visibleUserIds: data.visibility == 'specified'
 | 
			
		||||
			? data.visibleUsers
 | 
			
		||||
				? data.visibleUsers.map(u => u._id)
 | 
			
		||||
				: []
 | 
			
		||||
			: [],
 | 
			
		||||
 | 
			
		||||
		// 以下非正規化データ
 | 
			
		||||
		_reply: data.reply ? { userId: data.reply.userId } : null,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue