@@ -50,6 +50,59 @@ Unless required by applicable law or agreed to in writing, software distributed
50
50
let offset = ''
51
51
let timeCheck = setInterval ( enableCreateThumbnail , 500 ) ;
52
52
53
+ function handleCreateThumbnailModalShow ( ) {
54
+ let currentPlayer = document . getElementById ( 'iiif-media-player' ) ;
55
+ let $imgPolaroid = document . getElementById ( 'img-polaroid' ) ;
56
+ offset = currentPlayer . player . currentTime ( ) ;
57
+
58
+ canvasIndex = parseInt ( currentPlayer . dataset . canvasindex ) ;
59
+ const sectionId = sectionIds [ canvasIndex ] ;
60
+ baseUrl = '/master_files/' + sectionId ;
61
+
62
+ if ( $imgPolaroid ) {
63
+ let src = baseUrl + '/poster?offset=' + offset + '&preview=true' ;
64
+
65
+ // Display a preview of thumbnail to user
66
+ $imgPolaroid . setAttribute ( 'src' , src ) ;
67
+ $ ( $imgPolaroid ) . fadeIn ( 'slow' ) ;
68
+ }
69
+ } ;
70
+
71
+ function handleUpdateThumbnail ( ) {
72
+ let currentPlayer = document . getElementById ( 'iiif-media-player' ) ;
73
+ canvasIndex = parseInt ( currentPlayer . dataset . canvasindex ) ;
74
+ const sectionId = sectionIds [ canvasIndex ] ;
75
+ baseUrl = '/master_files/' + sectionId ;
76
+ offset = currentPlayer . player . currentTime ( ) ;
77
+
78
+ const modalBody = document . getElementsByClassName ( 'modal-body' ) [ 0 ] ;
79
+ // Put in a loading spinner and disable buttons to prevent double clicks
80
+ modalBody . classList . add ( 'spinner' ) ;
81
+ $ ( '#thumbnailModal' )
82
+ . find ( 'button' )
83
+ . attr ( { disabled : true } ) ;
84
+
85
+ $ . ajax ( {
86
+ url : baseUrl + '/still' ,
87
+ type : 'POST' ,
88
+ data : {
89
+ offset : offset
90
+ }
91
+ } )
92
+ . done ( response => {
93
+ $ ( '#thumbnailModal' ) . modal ( 'hide' ) ;
94
+ } )
95
+ . fail ( error => {
96
+ console . log ( error ) ;
97
+ } )
98
+ . always ( ( ) => {
99
+ modalBody . classList . remove ( 'spinner' ) ;
100
+ $ ( '#thumbnailModal' )
101
+ . find ( 'button' )
102
+ . attr ( { disabled : false } ) ;
103
+ } ) ;
104
+ } ;
105
+
53
106
function enableCreateThumbnail ( ) {
54
107
let player = document . getElementById ( 'iiif-media-player' ) ;
55
108
@@ -85,53 +138,9 @@ Unless required by applicable law or agreed to in writing, software distributed
85
138
}
86
139
} ) ;
87
140
}
88
-
89
- $ ( '#thumbnailModal' ) . on ( 'show.bs.modal' , function ( e ) {
90
- let currentPlayer = document . getElementById ( 'iiif-media-player' ) ;
91
- let $imgPolaroid = document . getElementById ( 'img-polaroid' ) ;
92
- offset = currentPlayer . player . currentTime ( ) ;
93
-
94
- canvasIndex = parseInt ( currentPlayer . dataset . canvasindex ) ;
95
- const sectionId = sectionIds [ canvasIndex ] ;
96
- baseUrl = '/master_files/' + sectionId ;
97
-
98
- if ( $imgPolaroid ) {
99
- let src = baseUrl + '/poster?offset=' + offset + '&preview=true' ;
100
-
101
- // Display a preview of thumbnail to user
102
- $imgPolaroid . setAttribute ( 'src' , src ) ;
103
- $ ( $imgPolaroid ) . fadeIn ( 'slow' ) ;
104
- }
105
- } ) ;
106
-
107
- $ ( '#create-thumbnail-submit-button' ) . on ( 'click' , function ( e ) {
108
- const modalBody = document . getElementsByClassName ( 'modal-body' ) [ 0 ] ;
109
- // Put in a loading spinner and disable buttons to prevent double clicks
110
- modalBody . classList . add ( 'spinner' ) ;
111
- $ ( '#thumbnailModal' )
112
- . find ( 'button' )
113
- . attr ( { disabled : true } ) ;
114
-
115
- $ . ajax ( {
116
- url : baseUrl + '/still' ,
117
- type : 'POST' ,
118
- data : {
119
- offset : offset
120
- }
121
- } )
122
- . done ( response => {
123
- $ ( '#thumbnailModal' ) . modal ( 'hide' ) ;
124
- } )
125
- . fail ( error => {
126
- console . log ( error ) ;
127
- } )
128
- . always ( ( ) => {
129
- modalBody . classList . remove ( 'spinner' ) ;
130
- $ ( '#thumbnailModal' )
131
- . find ( 'button' )
132
- . attr ( { disabled : false } ) ;
133
- } ) ;
134
- } ) ;
141
+
142
+ document . getElementById ( 'create-thumbnail-btn' ) . addEventListener ( 'click' , handleCreateThumbnailModalShow ) ;
143
+ document . getElementById ( 'create-thumbnail-submit-button' ) . addEventListener ( 'click' , handleUpdateThumbnail ) ;
135
144
} ;
136
145
} ) ;
137
146
</ script >
0 commit comments