mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-24 06:28:42 +01:00
feat: supports grouping containers always (#4272)
This commit is contained in:
2
assets/auto-imports.d.ts
vendored
2
assets/auto-imports.d.ts
vendored
@@ -56,6 +56,7 @@ declare global {
|
|||||||
const getCurrentWatcher: typeof import('vue').getCurrentWatcher
|
const getCurrentWatcher: typeof import('vue').getCurrentWatcher
|
||||||
const getDeep: typeof import('./utils/index').getDeep
|
const getDeep: typeof import('./utils/index').getDeep
|
||||||
const globalShowPopup: typeof import('./composable/popup').globalShowPopup
|
const globalShowPopup: typeof import('./composable/popup').globalShowPopup
|
||||||
|
const groupContainers: typeof import('./stores/settings').groupContainers
|
||||||
const h: typeof import('vue').h
|
const h: typeof import('vue').h
|
||||||
const hashCode: typeof import('./utils/index').hashCode
|
const hashCode: typeof import('./utils/index').hashCode
|
||||||
const hourStyle: typeof import('./stores/settings').hourStyle
|
const hourStyle: typeof import('./stores/settings').hourStyle
|
||||||
@@ -456,6 +457,7 @@ declare module 'vue' {
|
|||||||
readonly getCurrentWatcher: UnwrapRef<typeof import('vue')['getCurrentWatcher']>
|
readonly getCurrentWatcher: UnwrapRef<typeof import('vue')['getCurrentWatcher']>
|
||||||
readonly getDeep: UnwrapRef<typeof import('./utils/index')['getDeep']>
|
readonly getDeep: UnwrapRef<typeof import('./utils/index')['getDeep']>
|
||||||
readonly globalShowPopup: UnwrapRef<typeof import('./composable/popup')['globalShowPopup']>
|
readonly globalShowPopup: UnwrapRef<typeof import('./composable/popup')['globalShowPopup']>
|
||||||
|
readonly groupContainers: UnwrapRef<typeof import('./stores/settings')['groupContainers']>
|
||||||
readonly h: UnwrapRef<typeof import('vue')['h']>
|
readonly h: UnwrapRef<typeof import('vue')['h']>
|
||||||
readonly hashCode: UnwrapRef<typeof import('./utils/index')['hashCode']>
|
readonly hashCode: UnwrapRef<typeof import('./utils/index')['hashCode']>
|
||||||
readonly hourStyle: UnwrapRef<typeof import('./stores/settings')['hourStyle']>
|
readonly hourStyle: UnwrapRef<typeof import('./stores/settings')['hourStyle']>
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { Container } from "@/models/Container";
|
import { Container } from "@/models/Container";
|
||||||
import { sessionHost } from "@/composable/storage";
|
import { sessionHost } from "@/composable/storage";
|
||||||
import { showAllContainers } from "@/stores/settings";
|
import { showAllContainers, groupContainers } from "@/stores/settings";
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import Pin from "~icons/ph/map-pin-simple";
|
import Pin from "~icons/ph/map-pin-simple";
|
||||||
@@ -198,10 +198,15 @@ const menuItems = computed(() => {
|
|||||||
items.push({ label: "label.pinned", containers: pinned, icon: Pin });
|
items.push({ label: "label.pinned", containers: pinned, icon: Pin });
|
||||||
}
|
}
|
||||||
for (const [label, containers] of Object.entries(namespaced).sort(([a], [b]) => a.localeCompare(b))) {
|
for (const [label, containers] of Object.entries(namespaced).sort(([a], [b]) => a.localeCompare(b))) {
|
||||||
if (containers.length > 1) {
|
const shouldGroup =
|
||||||
|
groupContainers.value === "always" || (groupContainers.value === "at-least-2" && containers.length > 1);
|
||||||
|
|
||||||
|
if (shouldGroup) {
|
||||||
items.push({ label, containers, icon: Stack });
|
items.push({ label, containers, icon: Stack });
|
||||||
} else {
|
} else {
|
||||||
singular.push(containers[0]);
|
for (const container of containers) {
|
||||||
|
singular.push(container);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -158,6 +158,21 @@
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</LabeledInput>
|
</LabeledInput>
|
||||||
|
<LabeledInput>
|
||||||
|
<template #label>
|
||||||
|
{{ $t("settings.group-containers") }}
|
||||||
|
</template>
|
||||||
|
<template #input>
|
||||||
|
<DropdownMenu
|
||||||
|
v-model="groupContainers"
|
||||||
|
:options="[
|
||||||
|
{ label: 'Always', value: 'always' },
|
||||||
|
{ label: 'At least 2', value: 'at-least-2' },
|
||||||
|
{ label: 'Never', value: 'never' },
|
||||||
|
]"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</LabeledInput>
|
||||||
|
|
||||||
<Toggle v-model="search">
|
<Toggle v-model="search">
|
||||||
{{ $t("settings.search") }} <key-shortcut char="f" class="align-top"></key-shortcut>
|
{{ $t("settings.search") }} <key-shortcut char="f" class="align-top"></key-shortcut>
|
||||||
@@ -185,6 +200,7 @@ import {
|
|||||||
smallerScrollbars,
|
smallerScrollbars,
|
||||||
softWrap,
|
softWrap,
|
||||||
locale,
|
locale,
|
||||||
|
groupContainers,
|
||||||
} from "@/stores/settings";
|
} from "@/stores/settings";
|
||||||
|
|
||||||
import { availableLocales, i18n } from "@/modules/i18n";
|
import { availableLocales, i18n } from "@/modules/i18n";
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ export type Settings = {
|
|||||||
collapseNav: boolean;
|
collapseNav: boolean;
|
||||||
automaticRedirect: "instant" | "delayed" | "none";
|
automaticRedirect: "instant" | "delayed" | "none";
|
||||||
locale: string;
|
locale: string;
|
||||||
|
groupContainers: "always" | "at-least-2" | "never";
|
||||||
};
|
};
|
||||||
export const DEFAULT_SETTINGS: Settings = {
|
export const DEFAULT_SETTINGS: Settings = {
|
||||||
search: true,
|
search: true,
|
||||||
@@ -33,6 +34,7 @@ export const DEFAULT_SETTINGS: Settings = {
|
|||||||
collapseNav: false,
|
collapseNav: false,
|
||||||
automaticRedirect: "delayed",
|
automaticRedirect: "delayed",
|
||||||
locale: "",
|
locale: "",
|
||||||
|
groupContainers: "at-least-2",
|
||||||
};
|
};
|
||||||
|
|
||||||
export const settings = useProfileStorage("settings", DEFAULT_SETTINGS);
|
export const settings = useProfileStorage("settings", DEFAULT_SETTINGS);
|
||||||
@@ -61,4 +63,5 @@ export const {
|
|||||||
search,
|
search,
|
||||||
locale,
|
locale,
|
||||||
automaticRedirect,
|
automaticRedirect,
|
||||||
|
groupContainers,
|
||||||
} = toRefs(settings.value);
|
} = toRefs(settings.value);
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ type Settings struct {
|
|||||||
HourStyle string `json:"hourStyle,omitempty"`
|
HourStyle string `json:"hourStyle,omitempty"`
|
||||||
DateLocale string `json:"dateLocale,omitempty"`
|
DateLocale string `json:"dateLocale,omitempty"`
|
||||||
Locale string `json:"locale"`
|
Locale string `json:"locale"`
|
||||||
|
GroupContainers string `json:"groupContainers,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type Profile struct {
|
type Profile struct {
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Farve skema
|
color-scheme: Farve skema
|
||||||
options: Muligheder
|
options: Muligheder
|
||||||
show-stopped-containers: Vis stoppet containere
|
show-stopped-containers: Vis stoppet containere
|
||||||
|
group-containers: Gruppér containere efter namespace
|
||||||
about: Omkring
|
about: Omkring
|
||||||
search: Aktiver søgning med Dozzle ved brug af
|
search: Aktiver søgning med Dozzle ved brug af
|
||||||
using-version: Du bruger <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Du bruger <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Farbschema
|
color-scheme: Farbschema
|
||||||
options: Optionen
|
options: Optionen
|
||||||
show-stopped-containers: Zeige gestoppte Container
|
show-stopped-containers: Zeige gestoppte Container
|
||||||
|
group-containers: Container nach Namespace gruppieren
|
||||||
about: Über
|
about: Über
|
||||||
search: Aktiviere die Suche mit Dozzle mit
|
search: Aktiviere die Suche mit Dozzle mit
|
||||||
using-version: Du verwendest <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Du verwendest <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ settings:
|
|||||||
color-scheme: Color scheme
|
color-scheme: Color scheme
|
||||||
options: Options
|
options: Options
|
||||||
show-stopped-containers: Show stopped containers
|
show-stopped-containers: Show stopped containers
|
||||||
|
group-containers: Group containers by namespace
|
||||||
about: About
|
about: About
|
||||||
search: Enable searching with Dozzle using
|
search: Enable searching with Dozzle using
|
||||||
using-version: You are using <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: You are using <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Esquema de colores
|
color-scheme: Esquema de colores
|
||||||
options: Opciones
|
options: Opciones
|
||||||
show-stopped-containers: Mostrar contenedores parados
|
show-stopped-containers: Mostrar contenedores parados
|
||||||
|
group-containers: Agrupar contenedores por namespace
|
||||||
about: Acerca de
|
about: Acerca de
|
||||||
search: Activar la búsqueda con Dozzle mediante
|
search: Activar la búsqueda con Dozzle mediante
|
||||||
using-version: Estás usando <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Estás usando <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Schéma de couleurs
|
color-scheme: Schéma de couleurs
|
||||||
options: Options
|
options: Options
|
||||||
show-stopped-containers: Afficher les conteneurs arrêtés
|
show-stopped-containers: Afficher les conteneurs arrêtés
|
||||||
|
group-containers: Regrouper les conteneurs par namespace
|
||||||
about: A propos de
|
about: A propos de
|
||||||
search: Activer la recherche avec Dozzle en utilisant
|
search: Activer la recherche avec Dozzle en utilisant
|
||||||
using-version: Vous utilisez <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Vous utilisez <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ settings:
|
|||||||
color-scheme: Skema warna
|
color-scheme: Skema warna
|
||||||
options: Opsi
|
options: Opsi
|
||||||
show-stopped-containers: Tampilkan kontainer yang dihentikan
|
show-stopped-containers: Tampilkan kontainer yang dihentikan
|
||||||
|
group-containers: Kelompokkan kontainer berdasarkan namespace
|
||||||
about: Tentang
|
about: Tentang
|
||||||
search: Aktifkan pencarian dengan Dozzle menggunakan
|
search: Aktifkan pencarian dengan Dozzle menggunakan
|
||||||
using-version: Anda menggunakan <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Anda menggunakan <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Tema colori
|
color-scheme: Tema colori
|
||||||
options: Opzioni
|
options: Opzioni
|
||||||
show-stopped-containers: Visualizza i container arrestati
|
show-stopped-containers: Visualizza i container arrestati
|
||||||
|
group-containers: Raggruppa i container per namespace
|
||||||
about: Circa
|
about: Circa
|
||||||
search: Abilita la ricerca attraverso Dozzle
|
search: Abilita la ricerca attraverso Dozzle
|
||||||
using-version: Stai utilizzando <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Stai utilizzando <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ settings:
|
|||||||
color-scheme: 색상 테마
|
color-scheme: 색상 테마
|
||||||
options: 옵션
|
options: 옵션
|
||||||
show-stopped-containers: 중지된 컨테이너 보기
|
show-stopped-containers: 중지된 컨테이너 보기
|
||||||
|
group-containers: 네임스페이스별로 컨테이너 그룹화
|
||||||
about: 정보
|
about: 정보
|
||||||
search: Dozzle 검색 기능 사용
|
search: Dozzle 검색 기능 사용
|
||||||
using-version: <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}을 사용하고 있습니다.
|
using-version: <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}을 사용하고 있습니다.
|
||||||
|
|||||||
@@ -96,6 +96,7 @@ settings:
|
|||||||
color-scheme: Kleurmodus
|
color-scheme: Kleurmodus
|
||||||
options: Opties
|
options: Opties
|
||||||
show-stopped-containers: Gestopte containers tonen
|
show-stopped-containers: Gestopte containers tonen
|
||||||
|
group-containers: Groepeer containers op namespace
|
||||||
about: Over
|
about: Over
|
||||||
search: Doorzoeken inschakelen via Dozzle
|
search: Doorzoeken inschakelen via Dozzle
|
||||||
using-version: Je gebruikt <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Je gebruikt <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -101,6 +101,7 @@ settings:
|
|||||||
color-scheme: Motyw
|
color-scheme: Motyw
|
||||||
options: Opcje
|
options: Opcje
|
||||||
show-stopped-containers: Pokaż zatrzymane kontenery
|
show-stopped-containers: Pokaż zatrzymane kontenery
|
||||||
|
group-containers: Grupuj kontenery według przestrzeni nazw
|
||||||
about: Informacje
|
about: Informacje
|
||||||
search: Włącz szukanie z dozzle
|
search: Włącz szukanie z dozzle
|
||||||
using-version: Używasz <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> w wersji {version}.
|
using-version: Używasz <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> w wersji {version}.
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ settings:
|
|||||||
options: Opções
|
options: Opções
|
||||||
datetime-format: Formato de data e hora
|
datetime-format: Formato de data e hora
|
||||||
show-stopped-containers: Mostrar contentores parados
|
show-stopped-containers: Mostrar contentores parados
|
||||||
|
group-containers: Agrupar contentores por namespace
|
||||||
about: Acerca de
|
about: Acerca de
|
||||||
search: Habilitar a pesquisa com Dozzle usando
|
search: Habilitar a pesquisa com Dozzle usando
|
||||||
using-version: Está a usar <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Está a usar <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Esquema de cores
|
color-scheme: Esquema de cores
|
||||||
options: Opções
|
options: Opções
|
||||||
show-stopped-containers: Mostrar containers parados
|
show-stopped-containers: Mostrar containers parados
|
||||||
|
group-containers: Agrupar containers por namespace
|
||||||
about: Sobre
|
about: Sobre
|
||||||
search: Habilitar pesquisa com Dozzle usando
|
search: Habilitar pesquisa com Dozzle usando
|
||||||
using-version: Você está usando <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Você está usando <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Цветовая схема
|
color-scheme: Цветовая схема
|
||||||
options: Опции
|
options: Опции
|
||||||
show-stopped-containers: Показывать остановленные контейнеры
|
show-stopped-containers: Показывать остановленные контейнеры
|
||||||
|
group-containers: Группировать контейнеры по пространству имён
|
||||||
about: Информация
|
about: Информация
|
||||||
search: Включить поиск с помощью Dozzle, используя
|
search: Включить поиск с помощью Dozzle, используя
|
||||||
using-version: Вы используете <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
using-version: Вы используете <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}.
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: Barvna shema
|
color-scheme: Barvna shema
|
||||||
options: Možnosti
|
options: Možnosti
|
||||||
show-stopped-containers: Prikaži ustavljene zabojnike
|
show-stopped-containers: Prikaži ustavljene zabojnike
|
||||||
|
group-containers: Združi zabojnike po imenskem prostoru
|
||||||
about: O programu
|
about: O programu
|
||||||
search: Omogočite iskanje z Dozzle z uporabo
|
search: Omogočite iskanje z Dozzle z uporabo
|
||||||
update-available: Nova različica je na voljo! Posodobi na <a href="{href}"
|
update-available: Nova različica je na voljo! Posodobi na <a href="{href}"
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ settings:
|
|||||||
color-scheme: Renk düzeni
|
color-scheme: Renk düzeni
|
||||||
options: Seçenekler
|
options: Seçenekler
|
||||||
show-stopped-containers: Durdurulan konteynerleri göster
|
show-stopped-containers: Durdurulan konteynerleri göster
|
||||||
|
group-containers: Konteynerleri ad alanına göre grupla
|
||||||
about: Hakkında
|
about: Hakkında
|
||||||
search: Dozzle kullanarak aramayı etkinleştir
|
search: Dozzle kullanarak aramayı etkinleştir
|
||||||
using-version: <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version} kullanıyorsunuz.
|
using-version: <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version} kullanıyorsunuz.
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ settings:
|
|||||||
color-scheme: 顏色設定
|
color-scheme: 顏色設定
|
||||||
options: 選項
|
options: 選項
|
||||||
show-stopped-containers: 顯示已停止的容器
|
show-stopped-containers: 顯示已停止的容器
|
||||||
|
group-containers: 依命名空間分組容器
|
||||||
about: 關於
|
about: 關於
|
||||||
search: 啟用 Dozzle 搜尋功能
|
search: 啟用 Dozzle 搜尋功能
|
||||||
using-version: 您目前使用的是 <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}。
|
using-version: 您目前使用的是 <a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}。
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ settings:
|
|||||||
color-scheme: 颜色方案
|
color-scheme: 颜色方案
|
||||||
options: 选项
|
options: 选项
|
||||||
show-stopped-containers: 显示已停止的容器
|
show-stopped-containers: 显示已停止的容器
|
||||||
|
group-containers: 按命名空间分组容器
|
||||||
about: 关于
|
about: 关于
|
||||||
search: 使用Dozzle启用搜索
|
search: 使用Dozzle启用搜索
|
||||||
using-version: 您正在使用<a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}。
|
using-version: 您正在使用<a href="https://dozzle.dev/" target="_blank" rel="noreferrer noopener">Dozzle</a> {version}。
|
||||||
|
|||||||
Reference in New Issue
Block a user