From e8669db4b14704fd07dd26f59c8975c47f34ee20 Mon Sep 17 00:00:00 2001 From: "jan.prochazka" Date: Fri, 16 Dec 2016 23:23:56 +0100 Subject: [PATCH] UMD loader, addded jquery extension init --- dist/js/julia-player.js | 292 ++- dist/js/julia-player.min.js | 4 +- dist/js/lib/hls.min.js | 12 +- gulpfile.js | 32 +- plugin/julia-plugin-build.js | 2748 +++++++++++++++++++++++++ src/js/julia-api.js | 6 +- src/js/julia-base.js | 132 +- src/js/julia-boot.js | 4 +- src/js/julia-callback.js | 4 +- src/js/julia-controls.js | 4 +- src/js/julia-events.js | 4 +- src/js/julia-fullscreen.js | 4 +- src/js/julia-inject.js | 6 +- src/js/julia-jquery-plugin.js | 55 +- src/js/julia-loader.js | 4 +- src/js/julia-persist.js | 4 +- src/js/julia-require.js | 4 +- src/js/julia-slider.js | 4 +- src/js/julia-suggest.js | 4 +- src/js/julia-support.js | 5 +- src/js/julia-timecode.js | 4 +- src/js/julia-ui.js | 4 +- src/js/julia-umd.js | 40 + src/js/lib/hls.js | 3627 ++++++++++++++++++++------------- src/js/lib/hls.js.map | 107 + src/js/lib/hls.min.js | 12 +- 26 files changed, 5514 insertions(+), 1612 deletions(-) create mode 100644 plugin/julia-plugin-build.js create mode 100644 src/js/julia-umd.js create mode 100644 src/js/lib/hls.js.map diff --git a/dist/js/julia-player.js b/dist/js/julia-player.js index 9183a23..ac6ce81 100644 --- a/dist/js/julia-player.js +++ b/dist/js/julia-player.js @@ -1,9 +1,46 @@ +/* ***************************************** +* JuliaPlayer - HTML5 player +* +* @author prochor666@gmail.com +* @version: 1.1.0 +* @build: 2016-12-16 +* @license: MIT +*s +* @require: jquery +** +* UMD loader +* Uses CommonJS, AMD or browser globals +* to export a jQuery plugin & extension. +****************************************** */ +(function (root, factory) +{ + if (typeof define === 'function' && define.amd) + { + // AMD. Register as an anonymous module. + define(['exports', 'jquery'], function (exports, jQuery) + { + factory((root.commonJsStrictGlobal = exports), jQuery); + }); + + } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') + { + // CommonJS + factory(exports, require('jquery')); + + } else { + // Browser globals + factory((root.commonJsStrictGlobal = {}), root.jQuery); + } + +}(this, function (exports, $) +{ + /* ***************************************** -* Julia HTML5 media player +* JuliaPlayer HTML5 media player * * @author prochor666@gmail.com -* @version: 1.0.5 -* @build: 2016-09-29 +* @version: 1.1.0 +* @build: 2016-12-16 * @license: MIT * * @requires: @@ -11,7 +48,7 @@ * hls.js [optional] * dash.js [optional] ****************************************** */ -var Julia = function(options) +var JuliaPlayer = function(options) { var origin = this; @@ -35,6 +72,7 @@ var Julia = function(options) // Default origin.options origin.options = { source: false, + sources: {}, autoplay: false, volume: 25, element: $('video'), @@ -145,6 +183,7 @@ var Julia = function(options) suggestPointer: 0, suggestClicked: false, progressStep: 0.01, // Full sense: 100, so .01 is enough accurate + version: '1.1.0' }; @@ -186,6 +225,15 @@ var Julia = function(options) }; + // Extend default origin.options with external options + $.extend(true, origin.options, options); + + // Debug start + if(origin.options.debug === true && window.console ) + { + console.info('=== Julia console debug start, instance '+origin.env.ID+' ==='); + } + origin.Ui = new origin._Ui(origin); @@ -204,16 +252,6 @@ var Julia = function(options) origin.Loader = new origin._Loader(origin); - // Extend default origin.options with external options - $.extend(true, origin.options, options); - - // Debug start - if(origin.options.debug === true && window.console ) - { - console.info('=== Julia console debug start, instance '+origin.env.ID+' ==='); - } - - // Embed CSS origin.Require.css([ __JULIA_ROOT_PATH__+'/css/julia-player.min.css', @@ -318,12 +356,115 @@ var Julia = function(options) return origin.env.publicApi; }; + + + +var JuliaPlayerVirtual = function(options) +{ + options = typeof options === 'undefined' ? {}: options; + + // Default origin.options + var _options = { + sources: {}, + root: $('body'), + }; + + var __VIRTUAL_ID__ = Math.floor((Math.random()*10000000)+1); + + // Extend default origin.options with external options + $.extend(true, _options, options); + + + + + + var isDOMElement = function( obj ) + { + var _checkInstance = function(elem) + { + if( ( elem instanceof jQuery && elem.length ) || elem instanceof HTMLElement ) + { + return true; + } + + return false; + } + + if( obj instanceof HTMLCollection && obj.length ) + { + for( var a = 0, len = obj.length; a < len; a++ ) + { + + if( !_checkInstance( obj[a] ) ) + { + return false; + } + } + + return true; + + } else { + + return _checkInstance( obj ); + } + }; + + + + + var normalize = function( item ) + { + var norm = $('