src/pyams_media/skin/resources/js/pyams_media.js
changeset 34 636c57434910
parent 14 61775c0158f3
child 39 fb55452c24d9
equal deleted inserted replaced
33:22b2669350ec 34:636c57434910
     1 (function($) {
     1 (function($, globals) {
     2 
     2 
     3 	window.PyAMS_media = {
     3 	"use strict";
       
     4 
       
     5 	var MyAMS = globals.MyAMS;
       
     6 
       
     7 	var PyAMS_media = {
     4 
     8 
     5 		initPlayer: function() {
     9 		initPlayer: function() {
     6 			var player = $(this);
    10 			var player = $(this);
     7 			MyAMS.dialog.registerShownCallback(PyAMS_media.initPlayerDialog, player);
    11 			MyAMS.dialog.registerShownCallback(PyAMS_media.initPlayerDialog, player);
     8 			var flowplayer = player.flowplayer();
    12 			var flowplayer = player.flowplayer();
     9 			var events = player.data('ams-flowplayer-events');
    13 			var events = player.data('ams-flowplayer-events');
    10 			if (events) {
    14 			if (events) {
    11 				for (var event in events) {
    15 				for (var event in events) {
       
    16 					if (!events.hasOwnProperty(event)) {
       
    17 						continue;
       
    18 					}
    12 					flowplayer.on(event, MyAMS.getFunctionByName(events[event]));
    19 					flowplayer.on(event, MyAMS.getFunctionByName(events[event]));
    13 				}
    20 				}
    14 			}
    21 			}
       
    22 			MyAMS.dialog.registerHideCallback(PyAMS_media.shutdownPlayerDialog, player);
    15 		},
    23 		},
    16 
    24 
    17 		initPlayerDialog: function() {
    25 		initPlayerDialog: function() {
    18 			var dialog = $(this);
    26 			var dialog = $(this);
    19 			$('.modal-viewport', dialog).removeAttr('style')
    27 			$('.modal-viewport', dialog).removeAttr('style')
    21 		},
    29 		},
    22 
    30 
    23 		getPlayerTime: function(e, api) {
    31 		getPlayerTime: function(e, api) {
    24 			var parent = $(this);
    32 			var parent = $(this);
    25 			var player = parent.data('flowplayer');
    33 			var player = parent.data('flowplayer');
    26 			var position = player.video.time;
    34 			if (player.playing) {
    27 			var form = parent.parents('form');
    35 				return;
    28 			$('INPUT[name="form.widgets.time"]', form).val(position);
    36 			}
       
    37 			var video = player.video;
       
    38 			if (!video.time) {
       
    39 				video = player.conf.flowplayer.video;
       
    40 			}
       
    41 			if (video && video.time) {
       
    42 				var position = video.time;
       
    43 				var form = parent.parents('form');
       
    44 				$('INPUT[name="form.widgets.time"]', form).val(position);
       
    45 			}
       
    46 		},
       
    47 
       
    48 		shutdownPlayerDialog: function() {
       
    49 			var dialog = $(this);
       
    50 			var player = $('.flowplayer', dialog).data('flowplayer');
       
    51 			player.shutdown();
    29 		}
    52 		}
    30 	};
    53 	};
    31 
    54 
    32 })(jQuery);
    55 	globals.PyAMS_media = PyAMS_media;
       
    56 
       
    57 })(jQuery, this);