<template>
  <div class="ButtonsBlock" v-if="selectedItems.length">
    <div
      v-if="
        $AC.haveOneOfScope([
          $AC.scopes.MILITARY_RECRUIT_SPECIALIST,
          $AC.scopes.SYSTEM_ADMINISTRATOR,
        ])
      "
      class="DopButton"
    >
      <div class="row flex items-center q-gutter-xs">
        <div class="q-pr-sm">
          <span class="DopButton-TextFiled"> Выбрано: </span>
          <span class="DopButton-TextField DopButton-TextFiled__Bold">
            {{ selectedItems.length }}
          </span>
        </div>
        <r-btn
          class="DopButton-Button"
          label="Запросить личное дело"
          icon="pgs-file-search"
          @click="() => (requestLdFlag = true)"
        />
      </div>
    </div>
    <!-- FIXME: Вытащить в диалог -->
    <q-dialog v-model="requestLdFlag">
      <personal-file-request :selected="selectedItems" @onReload="onReload" />
    </q-dialog>
  </div>
</template>

<script lang="ts">
import { Component, PropSync, Vue } from 'vue-property-decorator';
import MultiInit from '@/recruits/components/dialogs/MultiInit.vue';
import PersonalFileRequest from '@/recruits/components/dialogs/PersonalFileRequest.vue';
import { MilitaryRegistrationItem } from '@/recruits/openapi/person-registry';

@Component({
  components: {
    PersonalFileRequest,
    MultiInit,
  },
})
export default class ListButtons extends Vue {
  @PropSync('selected')
  selectedItems: MilitaryRegistrationItem['processTraceId'][];

  requestLdFlag = false;
  public onReload(): void {
    this.$emit('onReload');
  }
}
</script>

<style lang="scss">
.ButtonsBlock {
  align-items: center;
}
.DopButton {
  box-sizing: border-box;
  background-color: rgba(15, 32, 160, 0.08);
  border-radius: 20px;
  padding: 4px;
  margin-top: -5px;
  margin-bottom: -5px;
  &-TextFiled {
    margin-left: 8px;
    margin-right: 8px;
    font-family: 'Golos UI', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;
    color: rgba(2, 12, 18, 0.58);
    &__Bold {
      font-weight: 500;
      color: #015e98;
    }
  }
  &-Button {
    &__Color {
      &__DarkBlue {
        background: linear-gradient(92.91deg, #1491cf 0%, #0f68a0 100%);
        box-shadow: 0 0.6px 1.8px rgba(7, 46, 71, 0.12),
          0 3.2px 8px rgba(7, 46, 71, 0.15);
        color: rgba(255, 255, 255, 0.92);
      }
    }
  }
}
</style>
