@@ -265,6 +265,28 @@ $(function() {
265
265
266
266
267
267
268
+ } ) ;
269
+
270
+ window . LibraryRouter = Backbone . Router . extend ( {
271
+
272
+ initialize : function ( options ) {
273
+ this . picker = options . picker ;
274
+ } ,
275
+
276
+ routes : {
277
+ "options" : "showOptions" ,
278
+ "/unpack/*url" : "beginExtraction"
279
+ } ,
280
+
281
+ showOptions : function ( ) {
282
+ $ ( '#readium-options-modal' ) . modal ( 'show' ) ;
283
+ } ,
284
+
285
+ beginExtraction : function ( url ) {
286
+ var extractor = new Readium . Models . ZipBookExtractor ( { url : url , src_filename : url } ) ;
287
+ this . picker . beginExtraction ( extractor ) ;
288
+ }
289
+
268
290
} ) ;
269
291
270
292
window . options = Readium . Models . ReadiumOptions . getInstance ( ) ;
@@ -273,6 +295,8 @@ $(function() {
273
295
window . Library = new LibraryItems ( ) ;
274
296
window . lib_view = new LibraryItemsView ( { collection : window . Library } ) ;
275
297
window . fp_view = new FilePickerView ( ) ;
298
+ window . router = new LibraryRouter ( { picker : window . fp_view } ) ;
299
+ Backbone . history . start ( { pushState : false , root : "views/library.html" } )
276
300
277
301
} ) ( jQuery ) ;
278
302
@@ -288,15 +312,5 @@ $(function() {
288
312
$ ( "#row-view-btn" ) . click ( function ( e ) {
289
313
$ ( '#library-items-container' ) . addClass ( "row-view" ) . removeClass ( "block-view" )
290
314
} ) ;
291
-
292
- // TODO: use a Backbone router for this
293
- if ( window . location . hash === "#options" ) {
294
- $ ( '#readium-options-modal' ) . modal ( 'show' )
295
- }
296
- /*
297
- $("#options-btn").click(function(e) {
298
- window.location = "/views/options.html";
299
- });
300
- */
301
315
302
316
} ) ;
0 commit comments