diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js
index eaf0a9e83b..b86145503b 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js
+++ b/packages/strapi-plugin-settings-manager/admin/src/components/InputText/index.js
@@ -128,7 +128,7 @@ class InputText extends React.Component { // eslint-disable-line react/prefer-st
const label = this.props.name ? : '';
return (
- {name}
+ {label}
+
+
+
+
+
+
+
+
+
+
+
+ {' '}
+
+
+
+
+
+ );
+ }
+}
+
+PopUpWarning.propTypes = {
+ handleConfirm: React.PropTypes.func,
+ isOpen: React.PropTypes.bool.isRequired,
+ toggleModal: React.PropTypes.func.isRequired,
+ warningMessage: React.PropTypes.string,
+}
+
+export default PopUpWarning;
diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/styles.scss b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/styles.scss
new file mode 100644
index 0000000000..359f4661e4
--- /dev/null
+++ b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/styles.scss
@@ -0,0 +1,74 @@
+.popUpWarning { /* stylelint-disable */
+ width: 37.5rem!important;
+}
+
+.header {
+ border: none!important;
+ > h4 {
+ width: 100%;
+ text-align: center;
+ font-family: Lato;
+ font-weight: bold!important;
+ font-size: 1.8rem!important;
+
+ }
+}
+
+.centered {
+ justify-content: center;
+}
+
+.bordered {
+ margin-left: 3rem;
+ margin-right: 3rem;
+ border: 1px solid #F6F6F6;
+}
+
+.noBorder {
+ border: none!important;
+}
+
+.modalFooter {
+
+ margin-top: 4.5rem;
+ margin-bottom: 3.5rem;
+ padding-left: 3.1rem !important;
+ > input {
+ margin-top: 1.3rem!important;
+ }
+}
+
+.primary {
+ font-family: Lato;
+ background: linear-gradient(315deg, #0097F6 0%, #005EEA 100%);
+ color: white;
+ width: 15rem;
+
+}
+
+.secondary {
+ font-family: Lato;
+ width: 15rem;
+ color: #F64D0A;
+ border: 0.1rem solid #F64D0A;
+}
+
+.buttonContainer {
+ width: 100%;
+ padding: 0 .5rem;
+ display: flex;
+ margin-top: 3.5rem;
+ justify-content: space-between;
+
+}
+
+.modalBody {
+ text-align: center;
+ font-size: 1.4rem;
+}
+
+
+.modalPosition {
+ top: 18.7rem;
+ width: 37.5rem;
+}
diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/tests/index.test.js b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/tests/index.test.js
new file mode 100644
index 0000000000..d36616fcd0
--- /dev/null
+++ b/packages/strapi-plugin-settings-manager/admin/src/components/PopUpWarning/tests/index.test.js
@@ -0,0 +1,11 @@
+// import PopUpWarning from '../index';
+
+import expect from 'expect';
+// import { shallow } from 'enzyme';
+// import React from 'react';
+
+describe('', () => {
+ it('Expect to have unit tests specified', () => {
+ expect(true).toEqual(false);
+ });
+});
diff --git a/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js b/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js
index 10699cb3b5..c20cccda7c 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js
+++ b/packages/strapi-plugin-settings-manager/admin/src/components/RowDatabase/index.js
@@ -8,6 +8,7 @@ import React from 'react';
// modal
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
import PopUpForm from 'components/PopUpForm';
+import PopUpWarning from 'components/PopUpWarning';
import styles from 'components/List/styles.scss';
class RowDatabase extends React.Component { // eslint-disable-line react/prefer-stateless-function
@@ -17,6 +18,7 @@ class RowDatabase extends React.Component { // eslint-disable-line react/prefer-
this.state = {
modal: false,
databaseName: '',
+ warning: false,
};
}
@@ -29,12 +31,19 @@ class RowDatabase extends React.Component { // eslint-disable-line react/prefer-
this.setState({ modal: !this.state.modal });
}
+ toggleWarning = () => this.setState({ warning: !this.state.warning })
+
handleSubmit = (e) => {
e.preventDefault();
this.props.handleSubmit(this.state.databaseName);
this.setState({ modal: !this.state.modal });
}
+ deleteDatabase = () => {
+ this.setState({ warning: !this.state.warning });
+ this.props.handleDatabaseDelete(this.props.data.name);
+ }
+
render() {
return (
@@ -50,7 +59,7 @@ class RowDatabase extends React.Component { // eslint-disable-line react/prefer-
@@ -71,6 +80,14 @@ class RowDatabase extends React.Component { // eslint-disable-line react/prefer-
+
);
}
diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js
index d58cf0a983..86a7840dea 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js
+++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/actions.js
@@ -28,6 +28,7 @@ import {
SPECIFIC_DATABASE_FETCH_SUCCEEDED,
DATABASE_EDIT,
LANGUAGE_ACTION_ERROR,
+ DATABASE_ACTION_ERROR,
} from './constants';
export function defaultAction() {
@@ -214,6 +215,12 @@ export function databaseActionSucceeded() {
};
}
+export function databaseActionError() {
+ return {
+ type: DATABASE_ACTION_ERROR,
+ };
+}
+
export function databaseDelete(databaseToDelete, endPoint) {
return {
type: DATABASE_DELETE,
diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/constants.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/constants.js
index 0c957787b3..e57f261c8d 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/constants.js
+++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/constants.js
@@ -27,3 +27,4 @@ export const DATABASE_DELETE = 'SettingsManager/Home/DATABASE_DELETE';
export const SPECIFIC_DATABASE_FETCH = 'SettingsManager/Home/SPECIFIC_DATABASE_FETCH';
export const SPECIFIC_DATABASE_FETCH_SUCCEEDED = 'SettingsManager/Home/SPECIFIC_DATABASE_FETCH_SUCCEEDED';
export const DATABASE_EDIT = 'SettingsManager/Home/DATABASE_EDIT';
+export const DATABASE_ACTION_ERROR = 'SettingsManager/Home/DATABASE_ACTION_ERROR';
diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js
index 0a81413f50..d8b89fb090 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js
+++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/index.js
@@ -257,8 +257,9 @@ export class Home extends React.Component { // eslint-disable-line react/prefer-
this.props.languageDelete(target.id);
}
- handleDatabaseDelete = ({ target }) => {
- this.props.databaseDelete(target.id, this.props.params.env);
+ handleDatabaseDelete = (dbName) => {
+ window.Strapi.notification.info('Deleting database');
+ this.props.databaseDelete(dbName, this.props.params.env);
}
diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/reducer.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/reducer.js
index 135e456603..fe37c59e63 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/reducer.js
+++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/reducer.js
@@ -19,6 +19,8 @@ import {
LANGUAGE_DELETE,
SPECIFIC_DATABASE_FETCH_SUCCEEDED,
LANGUAGE_ACTION_ERROR,
+ DATABASE_DELETE,
+ DATABASE_ACTION_ERROR,
} from './constants';
/* eslint-disable new-cap */
@@ -63,6 +65,9 @@ function homeReducer(state = initialState, action) {
case LANGUAGE_DELETE:
return state
.updateIn(['configsDisplay', 'sections'], list => remove(list, (language) => language.name !== action.languageToDelete));
+ case DATABASE_DELETE:
+ return state
+ .updateIn(['configsDisplay', 'sections'], list => remove(list, (database) => database.name !== action.databaseToDelete));
case LANGUAGES_FETCH_SUCCEEDED:
return state
.set('loading', false)
@@ -84,6 +89,7 @@ function homeReducer(state = initialState, action) {
case LANGUAGE_ACTION_ERROR:
return state.set('didCreatedNewLanguage', true);
case DATABASE_ACTION_SUCCEEDED:
+ case DATABASE_ACTION_ERROR:
return state.set('didCreatedNewDb', true);
case SPECIFIC_DATABASE_FETCH_SUCCEEDED:
return state
diff --git a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js
index a57eaf2378..8a11cfbbe7 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js
+++ b/packages/strapi-plugin-settings-manager/admin/src/containers/Home/sagas.js
@@ -29,6 +29,7 @@ import {
languageActionError,
databaseActionSucceeded,
specificDatabaseFetchSucceeded,
+ databaseActionError,
} from './actions';
export function* editDatabase(action) {
@@ -77,9 +78,9 @@ export function* deleteDatabase(action) {
}, 4000);
});
- yield put(databaseActionSucceeded());
} catch(error) {
+ yield put(databaseActionError());
window.Strapi.notification.error('an error occured');
}
}
diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/en.json b/packages/strapi-plugin-settings-manager/admin/src/translations/en.json
index 03c03d5272..7911c46130 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/translations/en.json
+++ b/packages/strapi-plugin-settings-manager/admin/src/translations/en.json
@@ -81,6 +81,9 @@
"list.databases.title.singular": "connection in this environment",
"list.databases.title.plural": "connections in this environment",
+ "popUpWarning.title": "Please confirm",
+ "popUpWarning.databases.delete.message": "Are you sure you want to delete this connection ?",
+
"language.af": "Afrikaans",
"language.af_NA": "Afrikaans (Namibië)",
"language.af_ZA": "Afrikaans (Suid-Afrika)",
diff --git a/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json b/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json
index 777771a345..b512623618 100644
--- a/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json
+++ b/packages/strapi-plugin-settings-manager/admin/src/translations/fr.json
@@ -81,6 +81,9 @@
"list.databases.title.singular": "connexion dans cet environnement",
"list.databases.title.plural": "connexions dans cet environnement",
+ "popUpWarning.title": "Merci de confirmer",
+ "popUpWarning.databases.delete.message": "Etes-vous sûre de vouloir supprimer cette connexion ?",
+
"language.af": "Afrikaans",
"language.af_NA": "Afrikaans (Namibië)",
"language.af_ZA": "Afrikaans (Suid-Afrika)",