44 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
    <div id="app">
 | 
						|
      <div class="chat-window" :style="this.style" :class="{
 | 
						|
          'animated': !showWindow && hideAnimated,
 | 
						|
          'hidden': !showWindow
 | 
						|
        }">
 | 
						|
        <div class="chat-messages" ref="messages">
 | 
						|
          <message v-for="msg in filteredMessages"
 | 
						|
                   :templates="templates"
 | 
						|
                   :multiline="msg.multiline"
 | 
						|
                   :args="msg.args"
 | 
						|
                   :params="msg.params"
 | 
						|
                   :color="msg.color"
 | 
						|
                   :template="msg.template"
 | 
						|
                   :template-id="msg.templateId"
 | 
						|
                   :key="msg.id">
 | 
						|
          </message>
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
      <div class="chat-input">
 | 
						|
        <div v-show="showInput" class="input">
 | 
						|
          <span class="prefix" :class="{ any: modes.length > 1 }" :style="{ color: modeColor }">{{modePrefix}}</span>
 | 
						|
          <textarea v-model="message"
 | 
						|
                    ref="input"
 | 
						|
                    type="text"
 | 
						|
                    autofocus
 | 
						|
                    spellcheck="false"
 | 
						|
                    rows="1"
 | 
						|
                    @keyup.esc="hideInput"
 | 
						|
                    @keyup="keyUp"
 | 
						|
                    @keydown="keyDown"
 | 
						|
                    @keypress.enter.prevent="send">
 | 
						|
          </textarea>
 | 
						|
        </div>
 | 
						|
        <suggestions :message="message" :suggestions="suggestions">
 | 
						|
        </suggestions>
 | 
						|
        <div class="chat-hide-state" v-show="showHideState">
 | 
						|
          {{hideStateString}}
 | 
						|
        </div>
 | 
						|
      </div>
 | 
						|
    </div>
 | 
						|
</template>
 | 
						|
 | 
						|
<script lang="ts" src="./App.ts"></script> |