@@ -690,10 +690,21 @@ export default class DataBrowser extends React.Component {
className={className}
classNameForEditors={className}
setCurrent={this.setCurrent}
+ enableDeleteClass={deleteOptions.class && !preventSchemaEdits}
+ enableDeleteColumns={deleteOptions.columns && !preventSchemaEdits}
+ enableDeleteSelectedRows={deleteOptions.selectedRows && !preventSchemaEdits}
enableDeleteAllRows={
- app.serverInfo.features.schemas.clearAllDataFromClass && !preventSchemaEdits
+ deleteOptions.allData &&
+ app.serverInfo.features.schemas.clearAllDataFromClass &&
+ !preventSchemaEdits
+ }
+ enableExportSchema={exportOptions.schema && !preventSchemaEdits}
+ enableExportSelectedRows={exportOptions.selectedRows && !preventSchemaEdits}
+ enableExportClass={
+ exportOptions.allData &&
+ app.serverInfo.features.schemas.exportClass &&
+ !preventSchemaEdits
}
- enableExportClass={app.serverInfo.features.schemas.exportClass && !preventSchemaEdits}
enableSecurityDialog={
app.serverInfo.features.schemas.editClassLevelPermissions &&
!disableSecurityDialog &&
diff --git a/src/lib/ParseApp.js b/src/lib/ParseApp.js
index 18e4ab02b..59b8a4b2f 100644
--- a/src/lib/ParseApp.js
+++ b/src/lib/ParseApp.js
@@ -44,6 +44,8 @@ export default class ParseApp {
secondaryBackgroundColor,
supportedPushLocales,
preventSchemaEdits,
+ deleteOptions,
+ exportOptions,
graphQLServerURL,
columnPreference,
scripts,
@@ -74,6 +76,17 @@ export default class ParseApp {
this.secondaryBackgroundColor = secondaryBackgroundColor;
this.supportedPushLocales = supportedPushLocales ? supportedPushLocales : [];
this.preventSchemaEdits = preventSchemaEdits || false;
+ this.deleteOptions = deleteOptions || {
+ class: true,
+ columns: true,
+ selectedRows: true,
+ allData: true,
+ };
+ this.exportOptions = exportOptions || {
+ schema: true,
+ selectedRows: true,
+ allData: true,
+ };
this.graphQLServerURL = graphQLServerURL;
this.columnPreference = columnPreference;
this.scripts = scripts;