| <template> | |
| <h3>Basic infos</h3> | |
| <div | |
| v-if="zipFile" | |
| v-bind="$attrs" | |
| > | |
| <ul class="align"> | |
| <li><strong> File name </strong> {{ zipFile.name }}</li> | |
| <li><strong> File size </strong> {{ zipFile.size }} Bytes</li> | |
| <li> | |
| <strong> File last modified date </strong> | |
| {{ zipFile.lastModifiedDate }} | |
| </li> | |
| </ul> | |
| </div> | |
| <div | |
| v-if="payload && payload.metadata" | |
| v-bind="$attrs" | |
| > | |
| <ul class="align"> | |
| <li | |
| v-for="formatter in MetadataFormat" | |
| :key="formatter.name" | |
| > | |
| <strong> {{ formatter.name }} </strong> | |
| <p class="wrap"> | |
| {{ String(payload[formatter.key]) }} | |
| </p> | |
| </li> | |
| </ul> | |
| </div> | |
| <div v-if="payload && payload.manifest"> | |
| <ul class="align"> | |
| <li> | |
| <strong> Incremental </strong> | |
| <!-- Check if the first partition is incremental or not --> | |
| <span v-if="payload.preBuild"> | |
| ✅ | |
| </span> | |
| <span v-else> ❌ </span> | |
| </li> | |
| <li> | |
| <strong> Partial </strong> | |
| <span v-if="payload.manifest.partialUpdate"> ✅ </span> | |
| <span v-else> ❌ </span> | |
| </li> | |
| <li> | |
| <strong> A/B update </strong> | |
| <span v-if="!payload.manifest.nonAB"> | |
| ✅ | |
| </span> | |
| <span v-else> ❌ </span> | |
| </li> | |
| <li> | |
| <strong> VAB </strong> | |
| <span v-if="payload.manifest.dynamicPartitionMetadata.snapshotEnabled"> | |
| ✅ | |
| </span> | |
| <span v-else> ❌ </span> | |
| </li> | |
| <li> | |
| <strong> VABC </strong> | |
| <span v-if="payload.manifest.dynamicPartitionMetadata.vabcEnabled"> | |
| ✅ | |
| </span> | |
| <span v-else> ❌ </span> | |
| </li> | |
| </ul> | |
| </div> | |
| </template> | |
| <script> | |
| import { Payload, MetadataFormat } from '@/services/payload.js' | |
| export default { | |
| props: { | |
| zipFile: { | |
| type: File, | |
| required: true, | |
| }, | |
| payload: { | |
| type: Payload, | |
| required: true, | |
| }, | |
| }, | |
| data() { | |
| return { | |
| MetadataFormat | |
| } | |
| } | |
| } | |
| </script> | |
| <style scoped> | |
| .align strong { | |
| display: inline-block; | |
| width: 50%; | |
| position: relative; | |
| padding-right: 10px; /* Ensures colon does not overlay the text */ | |
| text-align: right; | |
| } | |
| .align strong::after { | |
| content: ':'; | |
| } | |
| li { | |
| list-style-type: none; | |
| } | |
| .wrap { | |
| width: 50%; | |
| display: inline-block; | |
| white-space: pre-wrap; | |
| word-wrap: break-word; | |
| font-family: inherit; | |
| } | |
| </style> |