diff --git a/src/app/index.less b/src/app/index.less
index 27d0dc9918f..0f12a792d4a 100644
--- a/src/app/index.less
+++ b/src/app/index.less
@@ -17,6 +17,7 @@
@import "../internal-packages/app/styles/index.less";
@import "../internal-packages/collection-stats/styles/index.less";
@import "../internal-packages/crud/styles/index.less";
+@import "../internal-packages/database-ddl/styles/index.less";
@import "../internal-packages/home/styles/index.less";
@import "../internal-packages/status/styles/index.less";
@import "../internal-packages/query/styles/index.less";
diff --git a/src/internal-packages/database-ddl/index.js b/src/internal-packages/database-ddl/index.js
new file mode 100644
index 00000000000..bbcff32f140
--- /dev/null
+++ b/src/internal-packages/database-ddl/index.js
@@ -0,0 +1,37 @@
+const app = require('ampersand-app');
+const Actions = require('./lib/action');
+const CreateDatabaseDialog = require('./lib/component/create-database-dialog');
+const DatabasesView = require('./lib/component/connected-databases');
+const DropDatabaseDialog = require('./lib/component/drop-database-dialog');
+const CreateDatabaseStore = require('./lib/store/create-database-store');
+const DatabasesStore = require('./lib/store/databases-store');
+const DropDatabaseStore = require('./lib/store/drop-database-store');
+
+/**
+ * Activate all the components in the Database DDL package.
+ */
+function activate() {
+ app.appRegistry.registerAction('DatabaseDDL.Actions', Actions);
+ app.appRegistry.registerComponent('DatabaseDDL.CreateDatabaseDialog', CreateDatabaseDialog);
+ app.appRegistry.registerComponent('DatabaseDDL.DatabasesView', DatabasesView);
+ app.appRegistry.registerComponent('DatabaseDDL.DropDatabaseDialog', DropDatabaseDialog);
+ app.appRegistry.registerStore('DatabaseDDL.CreateDatabaseStore', CreateDatabaseStore);
+ app.appRegistry.registerStore('DatabaseDDL.DatabasesStore', DatabasesStore);
+ app.appRegistry.registerStore('DatabaseDDL.DropDatabaseStore', DropDatabaseStore);
+}
+
+/**
+ * Deactivate all the components in the Database DDL package.
+ */
+function deactivate() {
+ app.appRegistry.deregisterAction('DatabaseDDL.Actions');
+ app.appRegistry.deregisterComponent('DatabaseDDL.CreateDatabaseDialog');
+ app.appRegistry.deregisterComponent('DatabaseDDL.DatabasesView');
+ app.appRegistry.deregisterComponent('DatabaseDDL.DropDatabaseDialog');
+ app.appRegistry.deregisterStore('DatabaseDDL.CreateDatabaseStore');
+ app.appRegistry.deregisterStore('DatabaseDDL.DatabasesStore');
+ app.appRegistry.deregisterStore('DatabaseDDL.DropDatabaseStore');
+}
+
+module.exports.activate = activate;
+module.exports.deactivate = deactivate;
diff --git a/src/internal-packages/server-stats/lib/action/databases-actions.js b/src/internal-packages/database-ddl/lib/action/index.js
similarity index 81%
rename from src/internal-packages/server-stats/lib/action/databases-actions.js
rename to src/internal-packages/database-ddl/lib/action/index.js
index 42bc5671796..05700d745b8 100644
--- a/src/internal-packages/server-stats/lib/action/databases-actions.js
+++ b/src/internal-packages/database-ddl/lib/action/index.js
@@ -1,7 +1,7 @@
const Reflux = require('reflux');
/**
- * The actions used by the database components.
+ * The actions used by the Database DDL components.
*/
const Actions = Reflux.createActions([
'sortDatabases',
diff --git a/src/internal-packages/server-stats/lib/component/connected-databases.jsx b/src/internal-packages/database-ddl/lib/component/connected-databases.jsx
similarity index 100%
rename from src/internal-packages/server-stats/lib/component/connected-databases.jsx
rename to src/internal-packages/database-ddl/lib/component/connected-databases.jsx
diff --git a/src/internal-packages/server-stats/lib/component/create-database-dialog.jsx b/src/internal-packages/database-ddl/lib/component/create-database-dialog.jsx
similarity index 99%
rename from src/internal-packages/server-stats/lib/component/create-database-dialog.jsx
rename to src/internal-packages/database-ddl/lib/component/create-database-dialog.jsx
index c66f8f227f6..7679f59dfdb 100644
--- a/src/internal-packages/server-stats/lib/component/create-database-dialog.jsx
+++ b/src/internal-packages/database-ddl/lib/component/create-database-dialog.jsx
@@ -3,7 +3,7 @@ const shell = require('electron').shell;
const React = require('react');
const Modal = require('react-bootstrap').Modal;
const { TextButton } = require('hadron-react-buttons');
-const Actions = require('../action/databases-actions');
+const Actions = require('../action');
const CreateDatabaseStore = require('../store/create-database-store');
/**
diff --git a/src/internal-packages/server-stats/lib/component/databases-table.jsx b/src/internal-packages/database-ddl/lib/component/databases-table.jsx
similarity index 91%
rename from src/internal-packages/server-stats/lib/component/databases-table.jsx
rename to src/internal-packages/database-ddl/lib/component/databases-table.jsx
index 6a9f6e47ea4..3a9c5f216e1 100644
--- a/src/internal-packages/server-stats/lib/component/databases-table.jsx
+++ b/src/internal-packages/database-ddl/lib/component/databases-table.jsx
@@ -2,9 +2,6 @@ const React = require('react');
const app = require('ampersand-app');
const { shell } = require('electron');
const ipc = require('hadron-ipc');
-const DatabasesActions = require('../action/databases-actions');
-const CreateDatabaseDialog = require('./create-database-dialog');
-const DropDatabaseDialog = require('./drop-database-dialog');
const { NamespaceStore } = require('hadron-reflux-store');
const numeral = require('numeral');
const _ = require('lodash');
@@ -20,21 +17,22 @@ class DatabasesTable extends React.Component {
constructor(props) {
super(props);
+ this.DatabaseDDLAction = app.appRegistry.getAction('DatabaseDDL.Actions');
this.SortableTable = app.appRegistry.getComponent('App.SortableTable');
this.CollectionStore = app.appRegistry.getStore('App.CollectionStore');
this.Tooltip = app.appRegistry.getComponent('App.Tooltip');
}
onColumnHeaderClicked(column, order) {
- DatabasesActions.sortDatabases(column, order);
+ this.DatabaseDDLAction.sortDatabases(column, order);
}
onRowDeleteButtonClicked(index, dbName) {
- DatabasesActions.openDropDatabaseDialog(dbName);
+ this.DatabaseDDLAction.openDropDatabaseDialog(dbName);
}
onCreateDatabaseButtonClicked() {
- DatabasesActions.openCreateDatabaseDialog();
+ this.DatabaseDDLAction.openCreateDatabaseDialog();
}
onAuthHelpClicked(evt) {
@@ -119,8 +117,6 @@ class DatabasesTable extends React.Component {
{this.props.databases.length === 0 ?
this.renderNoCollections(isWritable) : null}
-
- Type the database name - {this.state.name} - to drop + To drop + {this.state.name} + type the database name + {this.state.name}
- Type the collection name - {this.state.name} - to drop + To drop + {this.state.databaseName}.{this.state.collectionName} + type the collection name + {this.state.collectionName}