Skip to content
Snippets Groups Projects
CondensateDetailPage.vue 56.7 KiB
Newer Older
<template>
moon's avatar
moon committed
    <base-toaster
      :open="toasterIsOpen"
      @close="hideDialog"
    >
      <div class="flex justify-between items-center">
        <font-awesome-icon
          class="ml-3"
          icon="fa-solid fa-thumbs-up "
          size="lg"
        />

        <h4>Request submitted successfully!</h4>
moon's avatar
moon committed
        <button
          class="btn btn-outline"
          @click="hideDialog"
        >
          <font-awesome-icon
            icon="fa-regular fa-circle-xmark"
            size="2x"
          />
        </button>
      </div>
    </base-toaster>
    <div class="flex flex-wrap justify-center">
      <!-- Sidebar -->
      <!--<div class="bg-light border-right" id="sidebar-wrapper">-->
      <!--&lt;!&ndash;<div class="sidebar-heading">Menu </div>&ndash;&gt;-->
      <!--<div class="list-group list-group-flush">-->
      <!--<a href="#" class="list-group-item list-group-item-action bg-light">Search</a>-->
      <!--<a href="#" class="list-group-item list-group-item-action bg-light">Columns</a>-->
      <!--<a href="#" class="list-group-item list-group-item-action bg-light">Filters</a>-->
      <!--<a href="#" class="list-group-item list-group-item-action bg-light">Download</a>-->
      <!--<a href="#" class="list-group-item list-group-item-action bg-light">Contacts</a>-->
      <!--</div>-->
      <!--</div>-->
      <!-- /#sidebar-wrapper -->

        <fetch-condensate :condensate="condensate">
          <template slot-scope="{ response, loading, fetchError }">
moon's avatar
moon committed
            <slot
              :response="response"
              :loading="loading"
              :fetchError="fetchError"
moon's avatar
moon committed
            >
              <div v-if="loading || response === null">
moon's avatar
moon committed
                <base-spinner />
moon's avatar
moon committed
                <h2
                  v-if="fetchError"
                  class="text-red-500"
                >
moon's avatar
moon committed
                  {{ fetchError }}
              <!-- <div v-if="loading">
                <base-spinner></base-spinner>
              </div> -->
              <div v-if="response">
                <div class="flex space-x-4">
                  <h2>{{ response.data.name }}</h2>

                  <button
                    v-if="
                      getUserData !== null &&
moon's avatar
moon committed
                        (getUserData === 'Maintainer' ||
                        getUserData === 'Contributor')
                    "
                    class="rounded-lg px-5 py-4 text-center"
                    @click="toggleChangeName"
                  >
                    <font-awesome-icon
                      size="lg"
                      icon="fa-solid fa-pen-to-square fa-xl"
                    />
                  </button>
                </div>

                  v-if="changeName && (getUserData === 'Maintainer' ||
                        getUserData === 'Contributor')"
                  class="
                    bg-white
                    p-4
                    border border-gray-300
                    rounded-lg
                    bg-opacity-80
                  "
                >
                  <form
                    class="form-horizontal"
                    @submit.prevent="changeCondensateName(response)"
                  >
                    <div class="form-group space-y-4">
                      <div class="row">
                        <label
                          for="condensateName"
                          class="control-label col-sm-2"
moon's avatar
moon committed
                        >Name</label>
                        <div class="col-sm-10">
                          <div class="w-1/4">
                            <input
                              id="condensateName"
                              v-model.trim="condensateName"
                              class="form-control"
                              type="text"
                              placeholder="Enter condensate name."
                              @keyup="validateName"
moon's avatar
moon committed
                            >
                            <p
                              v-if="nameError && nameErrMsg"
                              class="text-red-500 mt-2 text-2xl font-bold"
                            >
                              {{ nameErrMsg }}
                            </p>
                      <div class="row">
                        <label
                          for="condensateName"
                          class="control-label col-sm-2"
moon's avatar
moon committed
                        >Reason</label>
                        <div class="col-sm-10">
                          <div class="w-3/4">
                            <textarea
                              v-model.trim="condensateNameComment"
                              class="
                                form-control
                                block
                                px-3
                                py-1.5
                                text-base
                                font-normal
                                text-gray-700
                                bg-white bg-clip-padding
                                border border-solid border-gray-300
                                rounded
                                transition
                                ease-in-out
                                m-0
                                focus:text-gray-700
                                focus:bg-white
                                focus:border-blue-600
                                focus:outline-none
                              "
                              rows="5"
                              :placeholder="
                                getUserData === 'Maintainer'
                                  ? 'Optional'
                                  : 'Mandatory'
                              "
                              @keyup="descriptionKeyup"
                            />
                            <p
                              v-if="
                                nameCommentErr && condensateNameCommentErrMsg
                              "
                              class="text-red-500 mt-2 text-2xl font-bold"
                            >
                              {{ condensateNameCommentErrMsg }}
                            </p>
                          </div>
                          <div class="flex space-x-4 mt-4">
                            <button
                              type="submit"
                              class="
                                text-white
                                bg-blue-500
                                hover:bg-blue-700
                                focus:ring-2 focus:ring-blue-300
                                rounded-lg
                                inline-flex
                                items-center
                                px-5
                                py-2.5
                                text-center
                                font-bold
                              "
                            >
                              Save
                            </button>
                            <button
                              class="
                                bg-white
                                hover:bg-gray-200
                                focus:ring-2 focus:ring-gray-300
                                rounded-lg
                                border border-gray-300
                                px-5
                                py-2.5
                                hover:text-gray-900
                                font-bold
                              "
                              @click="toggleChangeName"
                            >
                              Cancel
                            </button>
moon's avatar
moon committed
                <h4 class="round">
                  General Information
                </h4>
                  <div class="panel-body">
                    <div class="container-fluid col-md-12">
moon's avatar
moon committed
                        <div class="text col-sm-3">
                          Canonical ID
                        </div>
                        <div class="col-sm-9">
                          {{ response.data.canonical_id }}
                        </div>
                      <div class="row">
moon's avatar
moon committed
                        <div class="text col-sm-3 text-2xl">
                          Species
                        </div>
                        <div class="col-sm-9 text-2xl">
                          {{ response.data.species_name }} ({{
                            response.data.species_tax_id
                          }})
                      <div class="row text-2xl">
moon's avatar
moon committed
                        <div class="text col-sm-3">
                          Description
                        </div>
                        <div class="col-sm-9 text-2xl">
                          {{ response.data.description }}
                          <button
                            v-if="
                              getUserData !== null &&
moon's avatar
moon committed
                                (getUserData === 'Maintainer' ||
                                getUserData === 'Contributor')
                            "
                            class="btn btn-primary btn-link"
                            @click="
                              toggleUpdateDescription(response.data.description)
                            "
                          >
                            <font-awesome-icon
                              icon="fa-solid fa-pen-to-square fa-xl"
                            />
                          </button>
                          <div
                            v-if="showUpdateDescription && (getUserData === 'Maintainer' ||
                        getUserData === 'Contributor')"
moon's avatar
moon committed
                            class="panel panel-default"
                          >
                            <div class="panel-body">
                              <div class="container-fluid col-md-12">
                                <form
                                  class="form-horizontal"
                                  autocomplete="off"
                                  @submit.prevent="updateDescription(response)"
                                >
                                  <div v-if="isLoading">
moon's avatar
moon committed
                                    <base-spinner />
                                  <div class="form-group">
                                    <label
                                      class="control-label col-sm-2"
                                      for="keyword"
moon's avatar
moon committed
                                    >Update description</label>
                                    <div class="col-sm-10">
                                      <textarea
moon's avatar
moon committed
                                        id="comment"
                                        v-model.trim="description"
                                        class="
                                          form-control
                                          block
                                          px-3
                                          py-1.5
                                          text-base
                                          font-normal
                                          text-gray-700
                                          bg-white bg-clip-padding
                                          border border-solid border-gray-300
                                          rounded
                                          transition
                                          ease-in-out
                                          m-0
                                          focus:text-gray-700
                                          focus:bg-white
                                          focus:border-blue-600
                                          focus:outline-none
                                        "
                                        rows="5"
                                        placeholder="Description"
                                        @keyup="descriptionKeyup"
moon's avatar
moon committed
                                      />

                                      <p
                                        v-if="descriptionErrorMsg"
                                        class="text-red-600 font-bold"
                                      >
                                        {{ descriptionErrorMsg }}
                                      </p>
                                    </div>
                                  </div>
                                  <div class="form-group">
                                    <label
                                      class="control-label col-sm-2"
                                      for="funComment"
moon's avatar
moon committed
                                    >Reason</label>

                                    <div class="col-sm-10">
                                      <textarea
moon's avatar
moon committed
                                        id="funComment"
                                        class="
                                          form-control
                                          block
                                          px-3
                                          py-1.5
                                          text-base
                                          font-normal
                                          text-gray-700
                                          bg-white bg-clip-padding
                                          border border-solid border-gray-300
                                          rounded
                                          transition
                                          ease-in-out
                                          m-0
                                          focus:text-gray-700
                                          focus:bg-white
                                          focus:border-blue-600
                                          focus:outline-none
                                        "
                                        rows="5"
                                        :placeholder="
                                          getUserData === 'Maintainer'
                                            ? 'Optional'
                                            : 'Mandatory'
                                        "
                                        @keyup="commentKeyup"
moon's avatar
moon committed
                                      />
                                        class="text-red-600 font-bold"
                                        {{ commentErrorMsg }}
                                      </p>
                                      <p
                                        v-if="descriptionMsg"
                                        class="text-green-600 font-bold"
                                        {{ descriptionMsg }}
                                      </p>
                                      <div class="flex space-x-4">
                                        <button
moon's avatar
moon committed
                                          id="dropdownMenuButton"
                                            hover:bg-blue-700
                                            focus:ring-2 focus:ring-blue-300
                                            rounded-lg
                                            inline-flex
                                            items-center
                                            px-5
                                            py-2.5
                                            text-center
                                            font-bold
                                          "
                                          type="submit"
                                        >
                                          Update
                                        </button>
                                        <button
moon's avatar
moon committed
                                          id="dropdownMenuButton"
                                          class="
                                            bg-white
                                            hover:bg-gray-200
                                            focus:ring-2 focus:ring-gray-300
                                            rounded-lg
                                            border border-gray-300
                                            px-5
                                            py-2.5
                                            hover:text-gray-900
                                            font-bold
                                          "
                                          type="button"
                                          @click="toggleUpdateDescription"
                                        >
                                        </button>
                                      </div>
moon's avatar
moon committed
                        v-show="response.data.synonyms"
                        class="row"
                      >
                        <div class="text col-sm-3">
                          Also Known As
                        </div>
                        <div class="col-sm-9">
                          {{
                            response.data.synonyms
                              ? response.data.synonyms
moon's avatar
moon committed
                                .map((a) =>
                                  a
moon's avatar
moon committed
                                    .replace(/\b\w/g, (l) => l.toUpperCase())
                                )
                                .join(", ")
                          <button
                            v-if="
                              getUserData !== null &&
                                (getUserData === 'Maintainer' ||
                                getUserData === 'Contributor')
                            "
                            class="btn btn-primary btn-link"
                            @click="showAddDeleteSynonym = !showAddDeleteSynonym"
                          >
                            <font-awesome-icon
                              icon="fa-solid fa-pen-to-square fa-xl"
                            />
                          </button>
                          <add-delete-synonym
                            v-if="showAddDeleteSynonym && (getUserData === 'Maintainer' ||
                        getUserData === 'Contributor')"
                            :synonym-data="response.data.synonyms"
                            :condensate-id="response.data.canonical_id"
                            @update-key="updatedKey += 1"
                            @close="closeAddDeleteSynonym"
                          />
moon's avatar
moon committed
                      <div
                        v-if="getIsExperimental=== 'false'"
                        class="row text-2xl"
                      >
                        <div class="text col-sm-3 text-2xl">
                          Markers
                          <a
                            class="uniprot-link tooltipped tooltipped-e"
                            aria-label="Proteins which can help in unique identification of the condensate organelle"
                          >
                            <span class="fa fa-info-circle" />
                          </a>
                        </div>
                        <div class="col-sm-9">
                          <span v-if="!response.data.biomarkers"> None </span>

                          <span
                            v-else
                            v-html="getProteinLinks(response.data.biomarkers)"
moon's avatar
moon committed
                          />

                          <button
                            v-if="
                              getUserData !== null &&
moon's avatar
moon committed
                                (getUserData === 'Maintainer' ||
                                getUserData === 'Contributor')
                            "
                            class="btn btn-primary btn-link"
                            @click="showAddDeleteMarker = !showAddDeleteMarker"
                          >
                            <font-awesome-icon
                              icon="fa-solid fa-pen-to-square fa-xl"
                            />
                          </button>
                          <add-delete-marker
                            v-if="showAddDeleteMarker && (getUserData === 'Maintainer' ||
                        getUserData === 'Contributor')"
                            :marker-data="response.data.biomarkers"
                            :condensate-id="response.data.canonical_id"
                            :proteins="response.data.proteins"
moon's avatar
moon committed
                            @update-key="updatedKey += 1"
                            @close="closeAddDeleteMarker"
                      <div class="row text-2xl">
moon's avatar
moon committed
                        <div class="text col-sm-3">
                          No. of Proteins
                        </div>
                        <div class="col-sm-9">
                          {{ response.data.protein_count }}
                        </div>
                      <div class="row text-2xl">
moon's avatar
moon committed
                        <div class="text col-sm-3 text-2xl">
                          Evidence star
                        </div>
                        <div class="flex col-sm-9">
                          <star-rating
                            :star-size="20"
                            :show-rating="false"
                            :rating="
                              response.data.confidence_score
                                ? response.data.confidence_score
moon's avatar
moon committed
                                : 0
moon's avatar
moon committed
                          />
moon's avatar
moon committed
                <div
                  v-show="response.data.experiments.length > 0"
                  class="border bg-white shadow-md rounded-lg my-14 p-8"
                >
moon's avatar
moon committed
                  <h4 class="round">
                    Experiments
                  </h4>
                  <div class="panel panel-default">
moon's avatar
moon committed
                    <table
                      id="experiment-table"
                      class="csi table table-hover table-responsive"
                    >
                      <thead>
                        <tr class="active">
                          <!--                                    <th>Exp. ID</th>-->
                          <th>Method</th>
                          <th>Phase Separated</th>
                          <th>pH value</th>
                          <th>Morphology</th>
                          <th>PubMed</th>
                          <th>Solute Concentration</th>
                          <th>Temperature</th>
                          <th>Salts</th>
                        </tr>
                      </thead>
                      <tbody>
                        <tr
                          v-for="(item, index) in response.data.experiments"
moon's avatar
moon committed
                          :key="index"
                        >
                          <!--                                    <td>{{item.exp_id}}</td>-->
                          <td class="text-nowrap">
                            {{ item.detection_method }}
                          </td>
                          <td>{{ item.is_phase_separated }}</td>
                          <td>{{ item.ph_value }}</td>
                          <td>{{ item.morphology }}</td>
                          <td class="text-nowrap">
                            <a
                              :id="item.publication_link.split('/')[3]"
                              :href="item.publication_link"
                              class="uniprot-link tooltipped tooltipped-n tooltipped-multiline"
                              target="_blank"
moon's avatar
moon committed
                              @mouseover="fetchPubMedId(item.publication_link.split('/')[3])"
                            >
                              {{ item.publication_link.split('/')[3] }}
                              <i class="glyphicon glyphicon-link" />
                            </a>
                          <td>
                            {{ tokenize(item.solute_concentrations, ";") }}
                          </td>
                          <td>
                            {{ item.temperature }}
                          </td>
                          <td>
                            <ul
moon's avatar
moon committed
                              v-for="(item_salt, index_salt) in item.salts"
                              :key="index_salt"
moon's avatar
moon committed
                                v-for="(value, key, index_li) in item_salt"
                                :key="index_li"
                              >
                                {{ key }} : {{ value }}
                              </li>
                            </ul>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </div>
                <div class="my-14 border bg-white shadow-md rounded-lg p-8">
moon's avatar
moon committed
                  <h4>Proteins</h4>
moon's avatar
moon committed
                  <button
                    v-if="
moon's avatar
moon committed
                        !response.data.is_experimental &&
                        (getUserData === 'Maintainer' ||
moon's avatar
moon committed
                        getUserData === 'Contributor')
                    "
                    class="
                      hover:bg-blue-700
                      focus:ring-2 focus:ring-blue-300
                      rounded-lg
                      inline-flex
                      items-center
                      px-5
                      py-3
                      text-center
                      font-bold
                    "
moon's avatar
moon committed
                    type="button"
                    @click="showAddProtein = !showAddProtein"
                  >
                    Add a protein to this condensate
                  </button>
moon's avatar
moon committed
                  <div
                    v-if="showAddProtein && (getUserData === 'Maintainer' ||
                        getUserData === 'Contributor')"
moon's avatar
moon committed
                    class="panel panel-default mt-4"
                  >
moon's avatar
moon committed
                    <div class="panel-body">
                      <div class="container-fluid col-md-12">
                        <div v-if="isLoading">
                          <base-spinner />
moon's avatar
moon committed
                        <form
                          class="form-horizontal"
                          autocomplete="off"
                          @submit.prevent="addProtein(response)"
                        >
                          <div class="form-group">
moon's avatar
moon committed
                            <label
                              class="control-label col-sm-2"
                              for="species"
                            >Add protein with uniprot ID</label>
raghosh's avatar
raghosh committed
                            <div class="col-sm-4 text-2xl">
                              <div class="flex">
                                <input
                                  id="keyword"
                                  v-model.trim="uniprotId"
                                  class="form-control"
                                  type="text"
raghosh's avatar
raghosh committed
                                  placeholder="Uniprot ID. (e.g. P35637)"
raghosh's avatar
raghosh committed
                                  @keyup="uniprotKeyup"
moon's avatar
moon committed
                                >
raghosh's avatar
raghosh committed

                                <a
                                  class="
                                    uniprot-link
                                    tooltipped
                                    ml-2
                                    tooltipped-e
                                  "
                                  aria-label="Proteins which can help in unique identification of the condensate organelle"
                                >
                                  <span class="fa fa-info-circle" />
                                </a>
                              </div>

moon's avatar
moon committed
                              <p
                                v-if="isUniProtIdError"
                                class="text-red-600 mt-4 font-bold"
moon's avatar
moon committed
                                v-html="uniprotIdErrorMsg"
                              />
moon's avatar
moon committed
                            </div>
                          </div>
                          <div class="form-group">
moon's avatar
moon committed
                            <label
                              class="control-label col-sm-2"
                              for="keyword"
                            >Reason</label>
moon's avatar
moon committed
                            <div class="col-sm-8">
                              <textarea
                                id="comment"
                                v-model.trim="proteinComment"
                                class="
                                  form-control
                                  block
                                  px-3
                                  py-1.5
                                  text-base
                                  font-normal
                                  text-gray-700
                                  bg-white bg-clip-padding
                                  border border-solid border-gray-300
                                  rounded
                                  transition
                                  ease-in-out
                                  m-0
                                  focus:text-gray-700
                                  focus:bg-white
                                  focus:border-blue-600
                                  focus:outline-none
                                "
moon's avatar
moon committed
                                rows="5"
                                :placeholder="
                                  getUserData === 'Maintainer'
                                    ? 'Optional.'
                                    : 'Mandatory.'
                                "
                                @keyup="validateProteinComment"
                              />
                              <p
                                v-if="proteinCommentErr"
                                class="text-red-600 font-bold"
                              >
                                {{ commentErrorMsg }}
                              </p>
                              <p
                                v-if="isSubmitted"
                                :class="
                                  error
                                    ? 'text-red-600 font-bold'
                                    : 'text-green-600 font-bold'
                                "
                              >
                                {{ message }}
                              </p>
                              <div class="flex space-x-4">
                                <button
                                  id="dropdownMenuButton"
                                  class="
                                    hover:bg-blue-700
                                    focus:ring-2 focus:ring-blue-300
                                    rounded-lg
                                    inline-flex
                                    items-center
                                    px-5
                                    py-2.5
                                    text-center
                                    font-bold
                                  "
moon's avatar
moon committed
                                  type="submit"
                                >
                                  Add
                                </button>
                                <button
                                  id="dropdownMenuButton"
                                  class="
                                    bg-white
                                    hover:bg-gray-200
                                    focus:ring-2 focus:ring-gray-300
                                    rounded-lg
                                    border border-gray-300
                                    px-5
                                    py-2.5
                                    hover:text-gray-900
                                    font-bold
                                  "
moon's avatar
moon committed
                                  type="button"
                                  @click="cancelAddProtein"
moon's avatar
moon committed
                                >
                                  Cancel
                                </button>
                              </div>
moon's avatar
moon committed
                        </form>
                      </div>
moon's avatar
moon committed
                  <llps-table
                    id="protein-table"
                    :data="response.data.proteins"
                    :canonical-id="response.data.canonical_id"
                    :map="response.data.protein_confidence_score"
                    :is-experimental="response.data.is_experimental"
                    :pubmed="response.data.protein_pubmed_ids"
                    :db-tags="response.data.protein_source_db_tags"
                    :protein-driver-criterion="
                      response.data.protein_driver_criterion
                    "
                    :protein-experimental-evidence="
                      response.data.protein_exp_evidence
                    "
                    :protein-functional-type="
                      response.data.protein_functional_type
moon's avatar
moon committed
                    @update-key="updatedKey += 1"
                  />

                <!-- for above llps table protein functiona type data -->
                <!-- :protein-driver-criterion="response.data.protein_driver_criterion"
                    :protein-experimental-evidence="response.data.protein_exp_evidence" -->
                <!-- :protein-functional-type="response.data.protein_functional_type" -->

                <!-- <fetch-user-specific-update-items :id="response.data.canonical_id">
                <template slot-scope="{ response, loading }">
          <slot :response="response" :loading="loading">
            <div v-if="loading || response === null">Loading...</div>
            <div v-else>
                 <h4 class="round">Requests</h4>
             <condensate-update-items-table id="condensateUpdateItem" :data="response" />
                </div>
          </slot>
        </template>
moon's avatar
moon committed
                <div
                  class="border bg-white shadow-md rounded-lg p-8"
moon's avatar
moon committed
                >
                  <h4 class="round mb-8">
                    All submitted changes for this condensate
                  </h4>
moon's avatar
moon committed
                  <condensate-update-items-table
moon's avatar
moon committed
                    id="condensateUpdateItem"
                    :key="updatedKey"
moon's avatar
moon committed
                    :data="response.data.canonical_id"
                  />
                </div>
moon's avatar
moon committed
                    :id="response.data.canonical_id"
                    entity="condensate"
                  />

                <!-- <request-update-item-table
                id="protein-table"
                :data="response.data.proteins"
              /> -->
                <!--                            {{response.data.experiments}}-->
                <!--<div class="panel panel-default">-->
                <!--<table class="csi table table-hover table-responsive">-->
                <!--<thead>-->
                <!--<tr class="active">-->
                <!--<th>Name</th>-->
                <!--<th>Species</th>-->
                <!--<th>Uniprot</th>-->
                <!--<th>Sequence</th>-->
                <!--</tr>-->
                <!--</thead>-->
                <!--<tbody>-->
                <!--<tr v-for="(item, index) in response.data.llps_ptms" v-bind:key="index">-->
                <!--<td class="col-sm-6">{{item.name}}</td>-->
                <!--<td>{{item.species_name}}</td>-->
                <!--<td>{{item.uniprot_id}}</td>-->
                <!--<td>-->
                <!--<input type="text" :value="item.sequence">-->
                <!--<button class="copy-button" :name="'item.uniprot_id'" :id="'item.uniprot_id'" :data-clipboard-text="item.sequence">Copy</button>-->
                <!--</td>-->
                <!--</tr>-->
                <!--</tbody>-->
                <!--</table>-->
                <!--</div>-->

                <!--<h4 class="round">Additional Information</h4>-->
                <!--<div class="panel panel-default">-->
                <!--<div class="panel-body">-->
                <!--<div class="row">-->
                <!--<div class="text col-sm-3">Proteins</div>-->
                <!--<div class="col-sm-9">-->
                <!--{{response.data.proteins}}-->
                <!--</div>-->
                <!--</div>-->
                <!--</div>-->
                <!--</div>-->
              </div>
            </slot>
          </template>
        </fetch-condensate>
      </div>
</template>

<script>
moon's avatar
moon committed
import fetchCondensate from '@/components/DDCODE/fetchCondensate.vue';
import llpsTable from '@/components/LlpsTable.vue';
import AddDeleteMarker from './CMS/addDeleteMarker.vue';
import AddDeleteSynonym from './CMS/addDeleteSynonym.vue';
moon's avatar
moon committed
import BaseSpinner from './UI/BaseSpinner.vue';
import CondensateUpdateItemsTable from './CondensateUpdateItemsTable.vue';
import BaseToaster from './UI/BaseToaster.vue';
import StarRating from 'vue-star-rating';
import ContributorListTable from './ContributorListTable.vue';
//import FetchUserSpecificUpdateItems from './CMS/fetchUserSpecificUpdateItems.vue';
//import RequestUpdateItemTable from "./RequestUpdateItemTable.vue";
// import TheModal from './UI/TheModal.vue';
moon's avatar
moon committed
const _ = require('lodash');
require('./js/clipboard');
moon's avatar
moon committed
let host = require('./js/const').apiHost;
moon's avatar
moon committed
  name: 'CondensateDetailPage',
    AddDeleteSynonym,
    BaseSpinner,
    BaseToaster,
moon's avatar
moon committed
  props: ['condensateId'],
  data() {
    return {
      condensate: this.$route.params.condensate
        ? this.$route.params.condensate
        : this.condensateId,
moon's avatar
moon committed
      dbNames: require('./js/const').db,
      isDev: process.env.NODE_ENV === 'development',
moon's avatar
moon committed
      uniprotId: '',
      comment: '',
      proteinComment: '',
      condensateNameComment: '',
      condensateNameCommentErrMsg: '',
      markerComment: '',
      descriptionComment: '',
      description: '',
      descriptionMsg: '',
      condensateName: '',
      descriptionErrorMsg: '',
      isUniProtIdError: false,
      isCommentError: false,
      isSubmitted: false,
      error: false,
      showAddDeleteSynonym: false,
moon's avatar
moon committed
      commentErrorMsg: '',
      descriptionCommentErr: false,
      nameCommentErr: false,
      proteinCommentErr: false,
      markerCommentErr: false,
moon's avatar
moon committed
      uniprotIdErrorMsg: '',
      message: '',
      isLoading: false,
      toasterIsOpen: false,
moon's avatar
moon committed
      return this.$store.getters['User/jwt'];
moon's avatar
moon committed
      const userRole = this.$store.getters['User/userRole'];
    getIsExperimental(){
     
     return this.$store.getters['Param/isExperimental']
    }
      
    
  },
  created(){
    this.$store.dispatch('Param/getIsExperimentalFlagFromStorage');
    cancelAddProtein(){
     this.uniprotId='',
     this.proteinComment = '',
     this.showAddProtein = false
    },
moon's avatar
moon committed
      (this.nameErrMsg = ''), (this.nameError = false);
    showDialog() {