HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/Worklist/components/MessageView.vue
<template>
  <div class="chat-users">
    <div class="chat-conversation p-3">
      <div
        data-simplebar
        style="max-height: 470px"
        id="containerElement"
        ref="current"
      >
        <ul class="list-unstyled">
          <li
            v-for="data of messagesData"
            :key="data.message"
            :class="{ right: `${data.userType}` === 'sender' }"
          >
            <div class="conversation-list">
              <b-dropdown variant="white" menu-class="dropdown-menu-end">
                <template v-slot:button-content>
                  <i class="bx bx-dots-vertical-rounded"></i>
                </template>
                <b-dropdown-item>Copy</b-dropdown-item>
                <b-dropdown-item>Save</b-dropdown-item>
                <b-dropdown-item>Forward</b-dropdown-item>
                <b-dropdown-item>Delete</b-dropdown-item>
              </b-dropdown>
              <div class="ctext-wrap">
                <div class="conversation-name">{{ data.name }}</div>
                <p>{{ data.message }}</p>
                <p class="chat-time mb-0">
                  <i class="bx bx-time-five align-middle me-1"></i>
                  {{ data.time }}
                </p>
              </div>
            </div>
          </li>
        </ul>
      </div>
    </div>
    <div class="p-3 chat-input-section">
      <form @submit.prevent="formSubmit" class="row">
        <div class="col">
          <div class="position-relative">
            <input
              type="text"
              v-model="form.message"
              class="form-control chat-input rounded"
              placeholder="Enter Message..."
              :class="{
                'is-invalid': submitted && $v.form.message.$error,
              }"
            />
            <div
              v-if="submitted && $v.form.message.$error"
              class="invalid-feedback"
            >
              <span v-if="!$v.form.message.required"
                >This value is required.</span
              >
            </div>
          </div>
        </div>
        <div class="col-auto">
          <button
            type="submit"
            class="btn btn-primary btn-rounded chat-send w-md"
          >
            <span class="d-none d-sm-inline-block me-2">Send</span>
            <i class="mdi mdi-send"></i>
          </button>
        </div>
      </form>
    </div>
  </div>
</template>
<script>
import moment from 'moment';
import { required } from 'vuelidate/lib/validators';
import { BDropdown,BDropdownItem } from 'bootstrap-vue-next'


export default {
  props: {
    task: {
      type: Object,
      required: true,
    },
  },
  data() {
    return {
      form: {
        message: '',
      },
      submitted: false,
      messagesData: [
        {
          name: `${this.task.interaction_details.leadDetails.leadFirstName}  ${this.task.interaction_details.leadDetails.leadLastName}`,
          message: this.task.interaction_details.payload.message,
          time: moment(
            new Date(this.task.interaction_details.createdAt),
          ).fromNow(),
          userType: 'receiver',
        },
      ],
    };
  },
  validations: {
    form: {
      message: {
        required,
      },
    },
  },
  methods: {
    formSubmit(e) {
      this.submitted = true;
      // stop here if form is invalid
      // this.$v.$touch();
      // if (this.$v.$invalid) {
      //   return;
      // }
    },
  },
  components: {   
    BDropdown,BDropdownItem
  },

};
</script>