123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /** Controller for the dataset.html page */
- define(
- function( require ) {
- var Marionette = require( "marionette" ),
- Backbone = require( "backbone" ),
- _ = require( "underscore" ),
- fui = require( "app/fui" ),
- DatasetSelectorView = require( "app/views/dataset-selector" ),
- TabbedViewManagerView = require( "app/views/tabbed-view-manager" ),
- FileUploadView = require( "app/views/file-upload" ),
- DatasetInfoView = require( "app/views/dataset-info" ),
- DatasetEditView = require( "app/views/dataset-edit" ),
- QueryController = require( "app/controllers/query-controller" ),
- UploadController = require( "app/controllers/upload-controller" );
- var DatasetController = function() {
- this.initEvents();
- };
- // add the behaviours defined on the controller
- _.extend( DatasetController.prototype, {
- initEvents: function() {
- _.bindAll( this, "onServerModelReady", "onDatasetChanged" );
- if (fui.models.fusekiServer && fui.models.fusekiServer.get( "ready" )) {
- this.onServerModelReady();
- }
- else {
- fui.vent.on( "models.fuseki-server.ready", this.onServerModelReady );
- }
- fui.vent.on( "dataset.changed", this.onDatasetChanged );
- },
- /**
- * When the fuseki server is ready, we can list the initial datasets, and
- * start the tab manager to manage the tabbed content.
- **/
- onServerModelReady: function() {
- fui.views.datasetSelectorView = new DatasetSelectorView( {model: fui.models.fusekiServer} )
- fui.views.datasetSelectorView.render();
- fui.views.tabbedViewManagerView = new TabbedViewManagerView();
- fui.views.tabbedViewManagerView.render();
- fui.controllers.queryController = new QueryController();
- fui.controllers.uploadController = new UploadController();
- },
- /** Dataset has changed */
- onDatasetChanged: function( dsName ) {
- var dataset = fui.models.fusekiServer.dataset( dsName );
- fui.views.datasetInfoView = new DatasetInfoView( {model: dataset} );
- fui.views.datasetInfoView.render();
- fui.views.datasetEditView = new DatasetEditView( {model: dataset} );
- fui.views.datasetEditView.render();
- }
- } );
- return DatasetController;
- }
- );
|