From 727fe283a2e8c5188ca3758006bc00d29f194b02 Mon Sep 17 00:00:00 2001 From: Louis Chu Date: Mon, 18 Jul 2022 17:17:00 -0700 Subject: [PATCH 1/3] Fix CM navigation --- .../create_credential_wizard.tsx | 32 +++++++++--------- .../credential_table/credentials_table.tsx | 12 +++---- .../edit_credential/edit_credential.tsx | 33 +++++++++---------- .../public/components/utils.ts | 6 ++-- 4 files changed, 39 insertions(+), 44 deletions(-) diff --git a/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx b/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx index 97ef353f7384..4e8185c329e5 100644 --- a/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx +++ b/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx @@ -67,6 +67,7 @@ export class CreateCredentialWizard extends React.Component< }; } + // TODO: Fix header component error renderHeader() { const { docLinks } = this.state; @@ -155,7 +156,7 @@ export class CreateCredentialWizard extends React.Component< */} - + Save @@ -190,23 +191,20 @@ export class CreateCredentialWizard extends React.Component< const { http } = this.context.services; try { // TODO: Refactor it by registering client wrapper factory - await http - .post('/api/credential_management/create', { - body: JSON.stringify({ - credential_name: this.state.credentialName, - credential_type: this.state.credentialType, - username_password_credential_materials: { - user_name: this.state.userName, - password: this.state.password, - }, - }), - }) - .then((res) => { - // TODO: Fix routing - this.props.history.push(''); - console.log(res); - }); + // TODO: Add rending spanner + await http.post('/api/credential_management/create', { + body: JSON.stringify({ + credential_name: this.state.credentialName, + credential_type: this.state.credentialType, + username_password_credential_materials: { + user_name: this.state.userName, + password: this.state.password, + }, + }), + }); + this.props.history.push(''); } catch (e) { + // TODO: Add Toast console.log(e); } }; diff --git a/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx b/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx index 4ae44cf79d24..3ffa6092566a 100644 --- a/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx +++ b/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx @@ -144,12 +144,12 @@ export const CredentialsTable = ({ canSave, history }: Props) => { ); }; - const onClickDelete = () => { - Promise.resolve(deleteCredentials(savedObjects.client, selectedCredentials)).then(function () { - setSelectedCredentials([]); - // TODO: Fix routing - history.push(''); - }); + const onClickDelete = async () => { + await deleteCredentials(savedObjects.client, selectedCredentials); + // TODO: Add status bar + fetch from source + refresh list + const temp = credentials.filter(credential => !selectedCredentials.includes(credential)); + setCredentials(temp); + setSelectedCredentials([]); }; const deleteButton = renderDeleteButton(); diff --git a/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx b/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx index 23ef408866ee..e69a7f46afcb 100644 --- a/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx +++ b/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx @@ -29,6 +29,7 @@ import { import { DocLinksStart } from 'src/core/public'; import { getCreateBreadcrumbs } from '../breadcrumbs'; import { CredentialManagmentContextValue } from '../../types'; +// TODO: Add Header // import { Header } from './components/header'; import { context as contextType } from '../../../../opensearch_dashboards_react/public'; import { Credential } from '../../../common'; @@ -146,7 +147,7 @@ export class EditCredentialComponent extends React.Component< */} - + Update @@ -180,25 +181,21 @@ export class EditCredentialComponent extends React.Component< updateCredential = async () => { const { http } = this.context.services; try { - console.warn(this.props.credential.id); // TODO: Refactor it by registering client wrapper factory - await http - .put(`/api/credential_management/${this.props.credential.id}`, { - body: JSON.stringify({ - credential_name: this.state.credentialName, - credential_type: this.state.credentialType, - username_password_credential_materials: { - user_name: this.state.userName, - password: this.state.password, - }, - }), - }) - .then((res) => { - // TODO: Fix routing - this.props.history.push(''); - console.log(res); - }); + // TODO: Add rending spanner + await http.put(`/api/credential_management/${this.props.credential.id}`, { + body: JSON.stringify({ + credential_name: this.state.credentialName, + credential_type: this.state.credentialType, + username_password_credential_materials: { + user_name: this.state.userName, + password: this.state.password, + }, + }), + }); + this.props.history.push(''); } catch (e) { + // TODO: Add Toast console.log(e); } }; diff --git a/src/plugins/credential_management/public/components/utils.ts b/src/plugins/credential_management/public/components/utils.ts index 450303ee32cd..68efebbdd6a1 100644 --- a/src/plugins/credential_management/public/components/utils.ts +++ b/src/plugins/credential_management/public/components/utils.ts @@ -53,7 +53,7 @@ export async function deleteCredentials( selectedCredentials: CredentialsTableItem[] ) { // TODO: Refactor it - selectedCredentials.forEach(function (selectedCredential) { - savedObjectsClient.delete('credential', selectedCredential.id); - }); + for (const credential of selectedCredentials) { + await savedObjectsClient.delete('credential', credential.id); + } } From c100586ebca6889f29e42df06fc97e09b6a9cef0 Mon Sep 17 00:00:00 2001 From: Louis Chu Date: Mon, 18 Jul 2022 22:38:30 -0700 Subject: [PATCH 2/3] Optimize credential plugin readability --- .../create_credential_wizard/create_credential_wizard.tsx | 2 +- .../components/credential_table/credentials_table.tsx | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx b/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx index 4e8185c329e5..e51931700fda 100644 --- a/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx +++ b/src/plugins/credential_management/public/components/create_credential_wizard/create_credential_wizard.tsx @@ -191,7 +191,7 @@ export class CreateCredentialWizard extends React.Component< const { http } = this.context.services; try { // TODO: Refactor it by registering client wrapper factory - // TODO: Add rending spanner + // TODO: Add rendering spanner await http.post('/api/credential_management/create', { body: JSON.stringify({ credential_name: this.state.credentialName, diff --git a/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx b/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx index 3ffa6092566a..12c981fc4d1d 100644 --- a/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx +++ b/src/plugins/credential_management/public/components/credential_table/credentials_table.tsx @@ -147,8 +147,11 @@ export const CredentialsTable = ({ canSave, history }: Props) => { const onClickDelete = async () => { await deleteCredentials(savedObjects.client, selectedCredentials); // TODO: Add status bar + fetch from source + refresh list - const temp = credentials.filter(credential => !selectedCredentials.includes(credential)); - setCredentials(temp); + const fetchedCredentials: CredentialsTableItem[] = await getCredentials( + savedObjects.client, + uiSettings.get('defaultIndex') + ); + setCredentials(fetchedCredentials); setSelectedCredentials([]); }; From 65618922861f7046847967a523cfa9539fc801b0 Mon Sep 17 00:00:00 2001 From: Louis Chu Date: Mon, 18 Jul 2022 22:41:53 -0700 Subject: [PATCH 3/3] Fix typo on comment --- .../public/components/edit_credential/edit_credential.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx b/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx index e69a7f46afcb..44c59a556cb2 100644 --- a/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx +++ b/src/plugins/credential_management/public/components/edit_credential/edit_credential.tsx @@ -182,7 +182,7 @@ export class EditCredentialComponent extends React.Component< const { http } = this.context.services; try { // TODO: Refactor it by registering client wrapper factory - // TODO: Add rending spanner + // TODO: Add rendering spanner await http.put(`/api/credential_management/${this.props.credential.id}`, { body: JSON.stringify({ credential_name: this.state.credentialName,