Initial commit
This commit is contained in:
56
lib/assets/javascripts/builder/components/table/table-manager.js
Executable file
56
lib/assets/javascripts/builder/components/table/table-manager.js
Executable file
@@ -0,0 +1,56 @@
|
||||
var TableView = require('./table-view');
|
||||
var QueryColumnsCollection = require('builder/data/query-columns-collection');
|
||||
var TableNameUtils = require('builder/helpers/table-name-utils');
|
||||
var checkAndBuildOpts = require('builder/helpers/required-opts');
|
||||
|
||||
var REQUIRED_OPTS = [
|
||||
'analysisDefinitionNodeModel',
|
||||
'configModel',
|
||||
'modals',
|
||||
'userModel'
|
||||
];
|
||||
|
||||
/**
|
||||
* Table manager that generates necessary models/collections
|
||||
* for the view
|
||||
*
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
create: function (opts) {
|
||||
checkAndBuildOpts(opts, REQUIRED_OPTS, this);
|
||||
|
||||
// Adds the owner username if it's in an organization and the table name is not already qualified
|
||||
var tableName = this._analysisDefinitionNodeModel.get('table_name');
|
||||
var userName = TableNameUtils.getUsername(tableName) || this._userModel.get('username');
|
||||
tableName = TableNameUtils.getQualifiedTableName(
|
||||
tableName,
|
||||
userName,
|
||||
this._userModel.isInsideOrg()
|
||||
);
|
||||
|
||||
var querySchemaModel = this._analysisDefinitionNodeModel.querySchemaModel;
|
||||
|
||||
var columnsCollection = new QueryColumnsCollection(
|
||||
querySchemaModel.columnsCollection.toJSON(),
|
||||
{
|
||||
configModel: this._configModel,
|
||||
tableName: tableName,
|
||||
querySchemaModel: querySchemaModel
|
||||
}
|
||||
);
|
||||
|
||||
return new TableView({
|
||||
relativePositionated: opts.relativePositionated,
|
||||
modals: this._modals,
|
||||
analysisDefinitionNodeModel: this._analysisDefinitionNodeModel,
|
||||
columnsCollection: columnsCollection,
|
||||
tableName: tableName
|
||||
});
|
||||
},
|
||||
|
||||
destroy: function (tableView) {
|
||||
if (!tableView) throw new Error('tableView object is needed');
|
||||
tableView.clean();
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user