UNPKG

electron-devtools-vendor

Version:

<div align="center"> <h2>electron-devtools-vendor</h2> <img alt="MIT" src="https://img.shields.io/github/license/BlackHole1/electron-devtools-vendor?color=9cf&style=flat-square"> <img alt="GitHub repo size" src="https://img.shields.io/github/r

69 lines (53 loc) 2.61 kB
Modules.set('backboneAgent', function() { // imports var Component = Modules.get('Component'); var u = Modules.get('utils'); var debug = Modules.get('debug'); var server = Modules.get('server'); var backboneController = Modules.get('controllers.backboneController'); var backboneComponentController = Modules.get('controllers.backboneComponentController'); var appComponentControllers = { 'View': Modules.get('controllers.appViewController'), 'Model': Modules.get('controllers.appModelController'), 'Collection': Modules.get('controllers.appCollectionController'), 'Router': Modules.get('controllers.appRouterController') } var appComponentsInfos = Modules.get('collections.appComponentsInfos'); var backboneAgent = new (Component.extend({ // singleton // business logic initialize: function() { server.start(); // detect backbone backboneController.onBackboneDetected(u.bind(function(Backbone) { this.isBackboneDetected = true; debug.log('Backbone detected: ', Backbone); // detect backbone components // (the Backbone object might be only partially defined.) u.each(['View', 'Model', 'Collection', 'Router'], function(BackboneComponentName) { u.onceDefined(Backbone, BackboneComponentName, u.bind(function(BackboneComponent) { debug.log('Backbone.'+BackboneComponentName+' detected'); // detect backbone component instances (i.e. app components) var appComponentController = appComponentControllers[BackboneComponentName]; backboneComponentController.onNewInstance(BackboneComponent, function(appComponent) { appComponentController.handle(appComponent); }); }, this)); }, this); }, this)); }, // PUBLIC API isBackboneDetected: false, appComponentsInfos: appComponentsInfos, server: server, database: Modules.get('database'), Reader: Modules.get('Reader'), filters: Modules.get('filters.filters'), appComponentControllers: appComponentControllers, // manual Backbone detection handleBackbone: function(Backbone) { return backboneController.handleBackbone(Backbone); } }))(); return backboneAgent; }); window.__backboneAgent = Modules.get('backboneAgent');