+ views.mainTabs.on('tabSelected', function(event) {\r
+ if(event.prevSlug) {\r
+ if(event.prevSlug === 'sourceEditor' && dirty.sourceEditor) {\r
+ sandbox.getModule('data').commitDocument(sandbox.getModule('sourceEditor').getDocument(), 'source_edit');\r
+ }\r
+ if(event.prevSlug === 'editor' && (dirty.documentCanvas || dirty.metadataEditor)) {\r
+ var doc = dirty.documentCanvas ? sandbox.getModule('documentCanvas').getDocument() : sandbox.getModule('data').getDocument();\r
+ if(dirty.metadataEditor) {\r
+ doc = sandbox.getModule('metadataEditor').attachMetadata(doc);\r
+ }\r
+ sandbox.getModule('data').commitDocument(doc, 'edit');\r
+ }\r
+ \r
+ }\r
+ });\r