From 80186ecc6786f80bd47f14f1c0d487a38633ea1a Mon Sep 17 00:00:00 2001 From: Jeremy Wharton Date: Mon, 14 Aug 2023 19:56:24 -0500 Subject: [PATCH] web/satellite/vuetify-poc: add project settings page This change implements the Project Settings page in the Vuetify project. It allows users to view and change a project's name, description, storage limit, and bandwidth limit. Resolves #6176 Change-Id: Ibcc56d2bb7c71e818390e69eec197508e3551803 --- web/satellite/src/types/projects.ts | 5 + web/satellite/src/utils/bytesSize.ts | 7 + .../utils/constants/analyticsEventNames.ts | 2 + .../src/components/ProjectCard.vue | 2 +- .../src/components/ProjectsTableComponent.vue | 2 +- .../dialogs/EditProjectDetailsDialog.vue | 165 +++++++++ .../dialogs/EditProjectLimitDialog.vue | 333 ++++++++++++++++++ .../src/layouts/default/ProjectNav.vue | 2 +- web/satellite/vuetify-poc/src/router/index.ts | 5 + .../vuetify-poc/src/views/ProjectSettings.vue | 279 +++++++++++++++ 10 files changed, 799 insertions(+), 3 deletions(-) create mode 100644 web/satellite/vuetify-poc/src/components/dialogs/EditProjectDetailsDialog.vue create mode 100644 web/satellite/vuetify-poc/src/components/dialogs/EditProjectLimitDialog.vue create mode 100644 web/satellite/vuetify-poc/src/views/ProjectSettings.vue diff --git a/web/satellite/src/types/projects.ts b/web/satellite/src/types/projects.ts index 74f3a6a18..777a22083 100644 --- a/web/satellite/src/types/projects.ts +++ b/web/satellite/src/types/projects.ts @@ -278,3 +278,8 @@ export enum LimitToChange { Storage = 'Storage', Bandwidth = 'Bandwidth', } + +export enum FieldToChange { + Name = 'Name', + Description = 'Description', +} diff --git a/web/satellite/src/utils/bytesSize.ts b/web/satellite/src/utils/bytesSize.ts index 61d360ba2..84a2d6d2a 100644 --- a/web/satellite/src/utils/bytesSize.ts +++ b/web/satellite/src/utils/bytesSize.ts @@ -9,6 +9,13 @@ export enum Memory { TB = 1e12, PB = 1e15, EB = 1e18, + + KiB = 2 ** 10, + MiB = 2 ** 20, + GiB = 2 ** 30, + TiB = 2 ** 40, + PiB = 2 ** 50, + EiB = 2 ** 60, } export enum Dimensions { diff --git a/web/satellite/src/utils/constants/analyticsEventNames.ts b/web/satellite/src/utils/constants/analyticsEventNames.ts index b6055ac38..46b08853e 100644 --- a/web/satellite/src/utils/constants/analyticsEventNames.ts +++ b/web/satellite/src/utils/constants/analyticsEventNames.ts @@ -106,7 +106,9 @@ export enum AnalyticsErrorEventSource { ONBOARDING_NAME_STEP = 'Onboarding name step', ONBOARDING_PERMISSIONS_STEP = 'Onboarding permissions step', PROJECT_DASHBOARD_PAGE = 'Project dashboard page', + PROJECT_SETTINGS_AREA = 'Project settings area', EDIT_PROJECT_DETAILS = 'Edit project details', + EDIT_PROJECT_LIMIT = 'Edit project limit', PROJECTS_LIST = 'Projects list', PROJECT_MEMBERS_HEADER = 'Project members page header', PROJECT_MEMBERS_PAGE = 'Project members page', diff --git a/web/satellite/vuetify-poc/src/components/ProjectCard.vue b/web/satellite/vuetify-poc/src/components/ProjectCard.vue index ee9edd77e..0238a717d 100644 --- a/web/satellite/vuetify-poc/src/components/ProjectCard.vue +++ b/web/satellite/vuetify-poc/src/components/ProjectCard.vue @@ -16,7 +16,7 @@ - + diff --git a/web/satellite/vuetify-poc/src/components/ProjectsTableComponent.vue b/web/satellite/vuetify-poc/src/components/ProjectsTableComponent.vue index fa3daecc4..edb03b604 100644 --- a/web/satellite/vuetify-poc/src/components/ProjectsTableComponent.vue +++ b/web/satellite/vuetify-poc/src/components/ProjectsTableComponent.vue @@ -72,7 +72,7 @@