🔥 Remove actions
This commit is contained in:
parent
b593189a9a
commit
84b2c105d1
@ -5,11 +5,12 @@ import type { HasMetadata } from "./repo/ResourceRepo";
|
||||
|
||||
export class Pod implements HasMetadata
|
||||
{
|
||||
status?: Status
|
||||
|
||||
|
||||
constructor (
|
||||
public metadata: Metadata,
|
||||
public spec: Spec
|
||||
public spec: Spec,
|
||||
public status: Status
|
||||
) { }
|
||||
}
|
||||
|
||||
@ -24,6 +25,10 @@ class Spec {
|
||||
class Status
|
||||
{
|
||||
phase?: PodStatus
|
||||
|
||||
constructor(
|
||||
public containerStatuses: ContainerStatus[]
|
||||
) {}
|
||||
}
|
||||
|
||||
export class Container
|
||||
@ -34,6 +39,13 @@ export class Container
|
||||
) {}
|
||||
}
|
||||
|
||||
export class ContainerStatus
|
||||
{
|
||||
constructor(
|
||||
public restartCount: number
|
||||
) {}
|
||||
}
|
||||
|
||||
enum PodStatus
|
||||
{
|
||||
RUNNING = "Running",
|
||||
|
||||
@ -2,9 +2,6 @@
|
||||
<div>
|
||||
<p class="grid-element">{{ namespace.metadata.name }}</p>
|
||||
<p class="grid-element">{{ calcAge(namespace.metadata.creationTimestamp) }}</p>
|
||||
<div class="grid-element">
|
||||
<ActionButton>delete</ActionButton>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -5,9 +5,6 @@
|
||||
<p class="grid-element">{{ calcAge(persistentVolumeClaim.metadata.creationTimestamp) }}</p>
|
||||
<p class="grid-element">{{ persistentVolumeClaim.spec.storageClassName }}</p>
|
||||
<p class="grid-element">{{ persistentVolumeClaim.spec.accessModes.map(mode => mapAccessMode(mode)).join(", ") }}</p>
|
||||
<div class="grid-element">
|
||||
<ActionButton>delete</ActionButton>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -2,9 +2,6 @@
|
||||
<div>
|
||||
<p class="grid-element">{{ persistentVolume.metadata.name }}</p>
|
||||
<p class="grid-element">{{ calcAge(persistentVolume.metadata.creationTimestamp) }}</p>
|
||||
<div class="grid-element">
|
||||
<ActionButton>delete</ActionButton>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@ -4,9 +4,6 @@
|
||||
<p class="grid-element">{{ configMap.metadata.namespace }}</p>
|
||||
<p class="grid-element">{{ calcAge(configMap.metadata.creationTimestamp) }}</p>
|
||||
<p class="grid-element"><span v-if="configMap.data">{{ Object.keys(configMap.data).length }}</span><span v-else>-</span></p>
|
||||
<div class="grid-element">
|
||||
<ActionButton>delete</ActionButton>
|
||||
</div>
|
||||
<ConfigmapViewComponent v-if="show" :config-map="configMap" @close="show = false"></ConfigmapViewComponent>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
<p class="grid-element">{{ calcAge(deployment.metadata.creationTimestamp) }}</p>
|
||||
<p class="grid-element">{{ deployment.spec.replicas }}</p>
|
||||
<div class="grid-element action-buttons">
|
||||
<ActionButton>delete</ActionButton>
|
||||
<ActionButton>autorenew</ActionButton>
|
||||
<ActionButton @click="() => rescaleDeploymentPopup.open()">height</ActionButton>
|
||||
</div>
|
||||
|
||||
@ -5,9 +5,6 @@
|
||||
<p class="grid-element">{{ calcAge(ingress.metadata.creationTimestamp) }}</p>
|
||||
<p class="grid-element">{{ ingress.spec.ingressClassName }}</p>
|
||||
<p class="grid-element">{{ ingress.spec.rules.length }}</p>
|
||||
<div class="grid-element action-buttons">
|
||||
<ActionButton>delete</ActionButton>
|
||||
</div>
|
||||
<IngressViewPopup v-if="showViewPopup" :ingress="ingress" ref="viewIngressPopup" @close="showViewPopup = false"></IngressViewPopup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -6,7 +6,6 @@
|
||||
<p>Namespace</p>
|
||||
<p>Age</p>
|
||||
<p>Entries</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
<ConfigMapComponent v-for="(configMap, index) in configMaps" :config-map="configMap" class="resource" :class="{ even: index % 2 }"></ConfigMapComponent>
|
||||
</div>
|
||||
@ -30,6 +29,6 @@ onUnmounted(() => {
|
||||
<style scoped>
|
||||
.config-map-container {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto auto 1fr auto;
|
||||
grid-template-columns: auto auto auto 1fr;
|
||||
}
|
||||
</style>
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<TableComponent :loading="customResourceDefinitions == null">
|
||||
<TableComponent :loading="customResourceDefinitions == null" v-for="customResourceDefinitions in [repo.get().value]">
|
||||
<div class="resource-container crd-container">
|
||||
<div class="header">
|
||||
<p>Name</p>
|
||||
@ -14,10 +14,16 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import type { CustomResourceDefinition } from '~/classes/CustomResourceDefinition';
|
||||
import { ResourceRepo } from '~/classes/repo/ResourceRepo';
|
||||
import type {CustomResourceDefinition} from "~/classes/CustomResourceDefinition";
|
||||
|
||||
const customResourceDefinitions = ResourceRepo.init<CustomResourceDefinition>().load('custom-resource-definitions').get();
|
||||
const repo = ResourceRepo.init<CustomResourceDefinition>();
|
||||
onMounted(() => {
|
||||
repo.listen("custom-resource-definitions");
|
||||
});
|
||||
onUnmounted(() => {
|
||||
repo.clear();
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
@ -7,7 +7,6 @@
|
||||
<p>Age</p>
|
||||
<p>Ingress Class Name</p>
|
||||
<p>Rules</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
<IngressComponent :ingress="ingress" v-for="(ingress, index) in ingresses" class="resource" :class="{ even: index % 2 }"></IngressComponent>
|
||||
</div>
|
||||
@ -29,6 +28,6 @@ onUnmounted(() => {
|
||||
|
||||
<style scoped>
|
||||
.ingress-container {
|
||||
grid-template-columns: auto auto auto auto 1fr auto;
|
||||
grid-template-columns: auto auto auto auto 1fr;
|
||||
}
|
||||
</style>
|
||||
@ -4,7 +4,6 @@
|
||||
<div class="header">
|
||||
<p>Name</p>
|
||||
<p>Age</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
<NamespaceComponent :namespace="namespace" v-for="(namespace, index) in namespaces" class="resource" :class="{ even: index % 2 }"></NamespaceComponent>
|
||||
</div>
|
||||
@ -27,6 +26,6 @@ onUnmounted(() => {
|
||||
|
||||
<style scoped>
|
||||
.namespace-container {
|
||||
grid-template-columns: auto 1fr auto;
|
||||
grid-template-columns: auto 1fr;
|
||||
}
|
||||
</style>
|
||||
@ -7,7 +7,6 @@
|
||||
<p>Age</p>
|
||||
<p>Storage Class</p>
|
||||
<p>Access Modes</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
<PersistentVolumeClaimComponent v-for="(persistentVolumeClaim, index) in persistentVolumeClaims" :persistent-volume-claim="persistentVolumeClaim" class="resource" :class="{ even: index % 2 }"></PersistentVolumeClaimComponent>
|
||||
</div>
|
||||
@ -32,6 +31,6 @@ onUnmounted(() => {
|
||||
<style scoped>
|
||||
.persistent-volume-claim-container {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto auto auto 1fr auto;
|
||||
grid-template-columns: auto auto auto auto 1fr;
|
||||
}
|
||||
</style>
|
||||
@ -4,7 +4,6 @@
|
||||
<div class="header">
|
||||
<p>Name</p>
|
||||
<p>Age</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
<PersistentVolumeComponent v-for="(persistentVolume, index) in persistentVolumes" :persistent-volume="persistentVolume" class="resource" :class="{ even: index % 2 }"></PersistentVolumeComponent>
|
||||
</div>
|
||||
@ -29,6 +28,6 @@ onUnmounted(() => {
|
||||
<style scoped>
|
||||
.persistent-volume-container {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr auto;
|
||||
grid-template-columns: auto 1fr;
|
||||
}
|
||||
</style>
|
||||
@ -7,6 +7,7 @@
|
||||
<p>Age</p>
|
||||
<p>Node</p>
|
||||
<p>Containers</p>
|
||||
<p>Restarts</p>
|
||||
<p>Status</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
@ -32,6 +33,6 @@ onUnmounted(() => {
|
||||
<style scoped>
|
||||
.pod-container {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr 1fr 1fr 1fr auto auto;
|
||||
grid-template-columns: auto auto auto auto auto 1fr auto auto;
|
||||
}
|
||||
</style>
|
||||
@ -10,7 +10,6 @@
|
||||
<p>Age</p>
|
||||
<p>Type</p>
|
||||
<p>Entries</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
<SecretComponent v-for="(secret, index) in secrets" :secret="secret" class="resource" :class="{ even: index % 2 }"></SecretComponent>
|
||||
</div>
|
||||
@ -37,6 +36,6 @@ const secretAddComponent = ref();
|
||||
<style scoped>
|
||||
.secret-container {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto auto auto 1fr auto;
|
||||
grid-template-columns: auto auto auto auto 1fr;
|
||||
}
|
||||
</style>
|
||||
@ -6,7 +6,6 @@
|
||||
<p>Namespace</p>
|
||||
<p>Age</p>
|
||||
<p>Type</p>
|
||||
<p>Actions</p>
|
||||
</div>
|
||||
<ServiceComponent :service="service" v-for="(service, index) in services" class="resource" :class="{ even: index % 2 }"></ServiceComponent>
|
||||
</div>
|
||||
@ -28,6 +27,6 @@ onUnmounted(() => {
|
||||
|
||||
<style>
|
||||
.service-container {
|
||||
grid-template-columns: auto auto auto 1fr auto;
|
||||
grid-template-columns: auto auto auto 1fr;
|
||||
}
|
||||
</style>
|
||||
@ -5,12 +5,12 @@
|
||||
<p class="grid-element no-wrap" v-if="pod.metadata">{{ calcAge(pod.metadata.creationTimestamp) }}</p>
|
||||
<p class="grid-element" v-if="pod.spec">{{ pod.spec.nodeName }}</p>
|
||||
<p class="grid-element">{{ pod.spec.containers.length }}</p>
|
||||
<p class="grid-element">{{ pod.status.containerStatuses.map(s => s.restartCount).reduce((total, value) => total = total + value) }}</p>
|
||||
<div class="grid-element">
|
||||
<PhaseComponent v-if="pod.status" :phase="pod.status.phase"></PhaseComponent>
|
||||
</div>
|
||||
<div class="grid-element action-buttons">
|
||||
<ActionButton @click="showLogPopup = true">text_snippet</ActionButton>
|
||||
<ActionButton>open_in_full</ActionButton>
|
||||
<ActionButton @click="showDeletePopup = true">delete</ActionButton>
|
||||
</div>
|
||||
<PodDeletePopup v-if="showDeletePopup" :pod="pod" @close="showDeletePopup = false"></PodDeletePopup>
|
||||
@ -24,7 +24,7 @@ import type { Pod } from '~/classes/Pod';
|
||||
import { calcAge } from '~/classes/Pod';
|
||||
import PodDeletePopup from './view/PodDeletePopup.vue';
|
||||
|
||||
const props = defineProps<{
|
||||
defineProps<{
|
||||
pod: Pod
|
||||
}>();
|
||||
|
||||
|
||||
6
components/pod/env/EnvVar.ts
vendored
6
components/pod/env/EnvVar.ts
vendored
@ -10,7 +10,11 @@ export class EnvVar
|
||||
static get(namespace: string, name: string, containerName: string, onSuccess: (envVars: EnvVar[]) => void, onError: () => void)
|
||||
{
|
||||
const url = StringUtils.format('%s/pods/%s/%s/%s/env', ApiConfig.getHttpBase(), namespace, name, containerName);
|
||||
axios.get<EnvVar[]>(url)
|
||||
axios.get<EnvVar[]>(url, {
|
||||
headers: {
|
||||
Authorization: "Bearer " + requireToken()
|
||||
}
|
||||
})
|
||||
.then((response) => {
|
||||
onSuccess(response.data);
|
||||
})
|
||||
|
||||
@ -5,10 +5,6 @@
|
||||
<p class="grid-element">{{ calcAge(secret.metadata.creationTimestamp) }}</p>
|
||||
<p class="grid-element">{{ secret.type }}</p>
|
||||
<p class="grid-element"><span v-if="secret.data">{{ Object.keys(secret.data).length }}</span><span v-else>-</span></p>
|
||||
<div class="grid-element action-buttons">
|
||||
<ActionButton>edit</ActionButton>
|
||||
<ActionButton>delete</ActionButton>
|
||||
</div>
|
||||
<SecretViewPopup :secret="secret" v-if="showViewPopup" @close="() => showViewPopup = false"></SecretViewPopup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -4,9 +4,6 @@
|
||||
<p class="grid-element">{{ service.metadata.namespace }}</p>
|
||||
<p class="grid-element">{{ calcAge(service.metadata.creationTimestamp) }}</p>
|
||||
<p class="grid-element" v-if="service.spec">{{ service.spec.type }}</p>
|
||||
<div class="grid-element">
|
||||
<ActionButton>delete</ActionButton>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user