diff --git a/README.md b/README.md index 62008939..1fe25597 100644 --- a/README.md +++ b/README.md @@ -112,10 +112,10 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Options: -> - __Title__ : The title of the widget (_Default: None_) -> - __Blurb__ : A small blurb that is shown before the RSS feed (_Default: None_) -> - __RSS URL__ : The URL of the RSS feed to display (_Default: None_) -> - __Number of items to display__ : The number of items in the RSS feed to display (_Default: 10_) +> - **Title** : The title of the widget (_Default: None_) +> - **Blurb** : A small blurb that is shown before the RSS feed (_Default: None_) +> - **RSS URL** : The URL of the RSS feed to display (_Default: None_) +> - **Number of items to display** : The number of items in the RSS feed to display (_Default: 10_) ### UW Single Image ### @@ -123,11 +123,11 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Options: -> - __Title__ : The title of the widget (_Default: Image Widget_) -> - __Select an image__ : Select an image from the WordPress media library (_Default: None_) -> - __Featured text__ : A small blurb that is shown below the image (_Default: None_) -> - __Link__ : A URL for the More link text (_Default: None_) -> - __More link__ : The text to display in the more link (_Default: Read more_) +> - **Title** : The title of the widget (_Default: Image Widget_) +> - **Select an image** : Select an image from the WordPress media library (_Default: None_) +> - **Featured text** : A small blurb that is shown below the image (_Default: None_) +> - **Link** : A URL for the More link text (_Default: None_) +> - **More link** : The text to display in the more link (_Default: Read more_) ### UW Top Posts ### @@ -135,8 +135,8 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Options: -> - __Title__ : The title of the widget (_Default: Image Widget_) -> - __Number of items to display__ : The number of items in the RSS feed to display (_Default: 1_) +> - **Title** : The title of the widget (_Default: Image Widget_) +> - **Number of items to display** : The number of items in the RSS feed to display (_Default: 1_) > _Requires JetPack to be installed_. @@ -146,9 +146,9 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Options: -> - __Title__ : The title of the widget (_Default: UW Twitter Feed_) -> - __Screen name__ : The title of the widget (_Default: twitter__) -> - __Number of tweets to show__: The number of items in the RSS feed to display (_Default: 5_) +> - **Title** : The title of the widget (_Default: UW Twitter Feed_) +> - **Screen name** : The title of the widget (_Default: twitter_) +> - **Number of tweets to show**: The number of items in the RSS feed to display (_Default: 5_) > In order to have the widget display in the widgets a `TWITTER_OAUTH_TOKEN` constant must be defined in your wp-config.php file. > _Requires a Twitter API key_. @@ -159,11 +159,11 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Options: -> - __Title__ : The title of the widget (_Default: Contact us_) -> - __Name__ : The person's name (_Default: None_) -> - __Title__ : The person's job title (_Default: None_) -> - __Phone number__ : The person's phone number (_Default: None_) -> - __Email__ : The person's email (_Default: None_) +> - **Title** : The title of the widget (_Default: Contact us_) +> - **Name** : The person's name (_Default: None_) +> - **Title** : The person's job title (_Default: None_) +> - **Phone number** : The person's phone number (_Default: None_) +> - **Email** : The person's email (_Default: None_) ### UW Image Card ### @@ -172,12 +172,12 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Options: -> - __Title__ : The title of the widget (_Default: Image Widget_) -> - __Select an image__ : Select an image from the WordPress media library (_Default: None_) -> - __Featured text__ : A small blurb that is shown below or on top of the image (_Default: None_) -> - __Link__ : A URL for the More link text (_Default: None_) -> - __More link__ : The text to display in the more link (_Default: Read more_) -> - __Card style__ : Choose one of three styles (_Default: None_) +> - **Title** : The title of the widget (_Default: Image Widget_) +> - **Select an image** : Select an image from the WordPress media library (_Default: None_) +> - **Featured text** : A small blurb that is shown below or on top of the image (_Default: None_) +> - **Link** : A URL for the More link text (_Default: None_) +> - **More link** : The text to display in the more link (_Default: Read more_) +> - **Card style** : Choose one of three styles (_Default: None_) ## Shortcodes @@ -189,10 +189,10 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Attributes: -> - __color__ : The color of the button. Options: __gold__ or __gray__ (_Default: gray_) -> - __type__: Adjusts the image of the button. Options: __plus__, __go__, __external__, __play__ (_Default: go_) -> - __small__: Adjusts the size of the button. Options: __small__, __large__ (_Default: large_) -> - __url__: The URL where the button links to (_Default: None_) +> - **color** : The color of the button. Options: **gold** or **gray** (_Default: gray_) +> - **type**: Adjusts the image of the button. Options: **plus**, **go**, **external**, **play** (_Default: go_) +> - **small**: Adjusts the size of the button. Options: **small**, **large** (_Default: large_) +> - **url**: The URL where the button links to (_Default: None_) > Example: ``` @@ -205,18 +205,18 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Attributes: -> - __excerpt__ : Choose whether to show the excerpt in the blogroll. Options: __show__, __hide__. (_Default: hide_) -> - __trim__ : Whether or not to trim the words via WordPress [wp\_trim\_words](https://codex.wordpress.org/Function_Reference/wp_trim_words) function. Options: __true__, __false__. (_Default: _false) -> - __image__: Choose whether to show the featured image thumbnail. Options: __show__, __hide__. (_Default: hide_) -> - __author__: Choose whether to show the author. Options: __show__, __hide__. (_Default: show_) -> - __date__: Choose whether to show the publish date. Options: __show__, __hide__. (_Default: show_) -> - __titletag__: The html element for the post titles. (_Default: h2_) -> - __post\_type__: The post type to look for.(_Default: post_) -> - __number__: The maximum number of results to return (_Default: 5_) -> - __mini__: Use the miniture template instead of the default one. (_Default: false_) -> - __category__: The WordPress category ID to limit the results from. (_Default: None_) -> - __category\_name__: The WordPress category name to limit the results from. (_Default: None_) -> - __readmore__: Choose whether to show the "Read More" link or not. Options: __on__, __off__. (_Default: on_) +> - **excerpt** : Choose whether to show the excerpt in the blogroll. Options: **show**, **hide**. (_Default: hide_) +> - **trim** : Whether or not to trim the words via WordPress [wp\_trim\_words](https://codex.wordpress.org/Function_Reference/wp_trim_words) function. Options: **true**, **false**. (_Default: _false) +> - **image**: Choose whether to show the featured image thumbnail. Options: **show**, **hide**. (_Default: hide_) +> - **author**: Choose whether to show the author. Options: **show**, **hide**. (_Default: show_) +> - **date**: Choose whether to show the publish date. Options: **show**, **hide**. (_Default: show_) +> - **titletag**: The html element for the post titles. (_Default: h2_) +> - **post\_type**: The post type to look for.(_Default: post_) +> - **number**: The maximum number of results to return (_Default: 5_) +> - **mini**: Use the miniture template instead of the default one. (_Default: false_) +> - **category**: The WordPress category ID to limit the results from. (_Default: None_) +> - **category\_name**: The WordPress category name to limit the results from. (_Default: None_) +> - **readmore**: Choose whether to show the "Read More" link or not. Options: **on**, **off**. (_Default: on_) > Example: ``` @@ -230,9 +230,9 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Attributes: -> - __src__ : The source URL of the embedded iframe (_Default: none_) -> - __height__ : The width of the embedded iframe (_Default: WordPress's embed size width setting ) -> - __width__ : The height of the embedded iframe (_Default: WordPress's embed size height setting ) +> - **src** : The source URL of the embedded iframe (_Default: none_) +> - **height** : The width of the embedded iframe (_Default: WordPress's embed size width setting ) +> - **width** : The height of the embedded iframe (_Default: WordPress's embed size height setting ) > Example: ``` @@ -278,13 +278,13 @@ All bugs and feature requests can be issued at the [UW Web Team's GitHub account > Attributes: -> - __url__ : The URL to parse for the RSS feed. (_Default: None_) -> - __number__: The maximum number of results to return (_Default: 5_) -> - __title__: The title for the RSS blogroll in the content (_Default: None_) -> - __heading__: The html element for the post titles. (_Default: h3_) -> - __show_image__: Choose whether to show the RSS thumbnail. Options: __true__, __false__. (_Default: true_) -> - __show_date__: Choose whether to show the publish date. Options: __true__, __false__. (_Default: true_) -> - __show_more__: Choose whether to show the author. Options: __true__, __false__. (_Default: true_) +> - **url** : The URL to parse for the RSS feed. (_Default: None_) +> - **number**: The maximum number of results to return (_Default: 5_) +> - **title**: The title for the RSS blogroll in the content (_Default: None_) +> - **heading**: The html element for the post titles. (_Default: h3_) +> - **show_image**: Choose whether to show the RSS thumbnail. Options: **true**, **false**. (_Default: true_) +> - **show_date**: Choose whether to show the publish date. Options: **true**, **false**. (_Default: true_) +> - **show_more**: Choose whether to show the author. Options: **true**, **false**. (_Default: true_) > Example: ``` @@ -298,9 +298,9 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. > Attributes: -> - __alignment__ : How the text is aligned in each tile. Options: __centered__ or __none__ (_Default: none_) -> - __color__ : Background color of the tiles. Options: __tan__ (_Default: none_) -> - __empty__ : (Add this to [tile], not [box]). If tile has no content, allow it to be transparent, but take up the normal amount of space. Options: __true__ (_Default: false) +> - **alignment** : How the text is aligned in each tile. Options: **centered** or **none** (_Default: none_) +> - **color** : Background color of the tiles. Options: **tan** (_Default: none_) +> - **empty** : (Add this to [tile], not [box]). If tile has no content, allow it to be transparent, but take up the normal amount of space. Options: **true** (_Default: false) > Example: @@ -321,9 +321,9 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. > Attributes: -> - __name__ : __Required__ Trumba web name of the desired calendar (_Default: none_) -> - __type__ : The Trumba spud type of the desired calendar. Changing the type will change how the calendar is displayed. A list of all spud types can be found [here](https://www.trumba.com/help/api/spudType_param.aspx). (_Default: none_) -> - __base__ : The full url of the desired base calendar. This can be embedded on your site with the spud type='main' (_Default: none_) +> - **name** : **Required** Trumba web name of the desired calendar (_Default: none_) +> - **type** : The Trumba spud type of the desired calendar. Changing the type will change how the calendar is displayed. A list of all spud types can be found [here](https://www.trumba.com/help/api/spudType_param.aspx). (_Default: none_) +> - **base** : The full url of the desired base calendar. This can be embedded on your site with the spud type='main' (_Default: none_) ``` [trumba name='my web name' type='desired spud type' base='teaser base url'] @@ -339,9 +339,9 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. > Attributes: -> - __Title__ : The title of the widget (_Default: UW Twitter Feed_) -> - __Screen name__ : The title of the widget (_Default: twitter__) -> - __Number of tweets to show__: The number of items in the RSS feed to display (_Default: 5_) +> - **Title** : The title of the widget (_Default: UW Twitter Feed_) +> - **Screen name** : The title of the widget (_Default: twitter_) +> - **Number of tweets to show**: The number of items in the RSS feed to display (_Default: 5_) > Example: ``` @@ -353,13 +353,13 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. ### YouTube ### -> Embed a YouTube video or playlist into your post content. +> Embed a YouTube video or playlist into your post content. You will need to obtain a [Youtube API key](https://developers.google.com/youtube/registering_an_application) to use this feature. You can acquire one from YouTube using your UW GSuite account or get in touch with us [uweb@uw.edu](mailto:uweb@uw.edu) for assistance. > Attributes: -> - __type__ : Pick whether to display a single video or playlist. Options: __single__, __playlist__. (_Default: None_) -> - __id__ : The youtube video or playlist id (_Default: None_) -> - __max-results__ (__OPTIONAL__): The maximum number of results to return for a playlist (_Default: None_) +> - **type** : Pick whether to display a single video or playlist. Options: **single**, **playlist**. (_Default: None_) +> - **id** : The youtube video or playlist id (_Default: None_) +> - **max-results** (**OPTIONAL**): The maximum number of results to return for a playlist (_Default: None_) > Example: ``` @@ -373,8 +373,8 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. > Attributes: -> - __id__ : Enter the ID of the slideshow you have created via the _Dashboard > Slideshows_. (_Default: None_) -> - __simple__ : The youtube video or playlist id (_Default: None_) +> - **id** : Enter the ID of the slideshow you have created via the _Dashboard > Slideshows_. (_Default: None_) +> - **simple** : The youtube video or playlist id (_Default: None_) > Example: ``` @@ -390,8 +390,8 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. > Attributes: -> - __link__ : The text in the anchor tag that will link to the subpage (_Default: Read more_) -> - __tilebox__ : Enable the grid layout of the subpages ( _Default: false_ ) +> - **link** : The text in the anchor tag that will link to the subpage (_Default: Read more_) +> - **tilebox** : Enable the grid layout of the subpages ( _Default: false_ ) > Example: @@ -421,7 +421,7 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. ``` > Attributes: -> - __menu__ : Enter the name of the menu found in _Dashboard > Appearance > Menus_. (_Default: Main menu_) +> - **menu** : Enter the name of the menu found in _Dashboard > Appearance > Menus_. (_Default: Main menu_) ### Tagboard ### @@ -429,12 +429,12 @@ Each tile is setup as a series of shortcodes wrapped in `[box]` shortcode. >Attributes: -> - __slug__ : the ID of your Tagboard. This can be found by visiting your Tagboard's dashboard and looking for the 6-digit ID at the end of the url. (_Default: none_) -> - __layout__ : the layout of the Tagboard. Options: grid, waterfall, carousel (_Default: grid_) -> - __post-count__ : the number of posts to display (_Default: 50_) -> - __mobile-count__ : the number of posts to display on mobile (_Default: 50_) -> - __toolbar__ : whether or not the toolbar is displayed. Options: default, none. (_Default: default_) -> - __feed-type__ : auto or default. Choosing auto will only show featured posts. If toolbar="default", choosing default will allow the user to show latest posts or featured posts. (_Default: default_) +> - **slug** : the ID of your Tagboard. This can be found by visiting your Tagboard's dashboard and looking for the 6-digit ID at the end of the url. (_Default: none_) +> - **layout** : the layout of the Tagboard. Options: grid, waterfall, carousel (_Default: grid_) +> - **post-count** : the number of posts to display (_Default: 50_) +> - **mobile-count** : the number of posts to display on mobile (_Default: 50_) +> - **toolbar** : whether or not the toolbar is displayed. Options: default, none. (_Default: default_) +> - **feed-type** : auto or default. Choosing auto will only show featured posts. If toolbar="default", choosing default will allow the user to show latest posts or featured posts. (_Default: default_) > > Example: ``` diff --git a/js/site.dev.js b/js/site.dev.js index 69f29989..c2f6c624 100644 --- a/js/site.dev.js +++ b/js/site.dev.js @@ -11901,6 +11901,7 @@ UW.YouTube.Collection = Backbone.Collection.extend({ this.type = this.$el.data('uw-youtube-type'); this.modest = this.$el.data('modest'); this.resolution = this.$el.data('resolution'); + var youtubeApiKey = apiKey.network ? apiKey.network : apiKey.local; if (this.type == 'playlist'){ this.max_results = 20; var max_results_temp = parseInt(this.$el.data('max-results'), 10); @@ -11908,11 +11909,11 @@ UW.YouTube.Collection = Backbone.Collection.extend({ this.max_results = max_results_temp; } this.model = UW.YouTube.PlaylistItem; - this.url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=' + this.youtube_id + '&key=AIzaSyApmhFr5oa8bmKPcpN7bm-h0mekjkUVypU&maxResults=' + this.max_results; + this.url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=' + this.youtube_id + '&key=' + youtubeApiKey + '&maxResults=' + this.max_results; } else if (this.type == 'single') { this.model = UW.YouTube.Video; - this.url = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id=' + this.youtube_id + '&key=AIzaSyApmhFr5oa8bmKPcpN7bm-h0mekjkUVypU'; + this.url = 'https://www.googleapis.com/youtube/v3/videos?part=snippet&id=' + this.youtube_id + '&key=' + youtubeApiKey; } }, diff --git a/js/site.js b/js/site.js index 0753cb12..8d4fceba 100644 --- a/js/site.js +++ b/js/site.js @@ -1 +1 @@ -(function(){var kc;jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,t,s,i,n){return jQuery.easing[jQuery.easing.def](e,t,s,i,n)},easeInQuad:function(e,t,s,i,n){return i*(t/=n)*t+s},easeOutQuad:function(e,t,s,i,n){return-i*(t/=n)*(t-2)+s},easeInOutQuad:function(e,t,s,i,n){return(t/=n/2)<1?i/2*t*t+s:-i/2*(--t*(t-2)-1)+s},easeInCubic:function(e,t,s,i,n){return i*(t/=n)*t*t+s},easeOutCubic:function(e,t,s,i,n){return i*((t=t/n-1)*t*t+1)+s},easeInOutCubic:function(e,t,s,i,n){return(t/=n/2)<1?i/2*t*t*t+s:i/2*((t-=2)*t*t+2)+s},easeInQuart:function(e,t,s,i,n){return i*(t/=n)*t*t*t+s},easeOutQuart:function(e,t,s,i,n){return-i*((t=t/n-1)*t*t*t-1)+s},easeInOutQuart:function(e,t,s,i,n){return(t/=n/2)<1?i/2*t*t*t*t+s:-i/2*((t-=2)*t*t*t-2)+s},easeInQuint:function(e,t,s,i,n){return i*(t/=n)*t*t*t*t+s},easeOutQuint:function(e,t,s,i,n){return i*((t=t/n-1)*t*t*t*t+1)+s},easeInOutQuint:function(e,t,s,i,n){return(t/=n/2)<1?i/2*t*t*t*t*t+s:i/2*((t-=2)*t*t*t*t+2)+s},easeInSine:function(e,t,s,i,n){return-i*Math.cos(t/n*(Math.PI/2))+i+s},easeOutSine:function(e,t,s,i,n){return i*Math.sin(t/n*(Math.PI/2))+s},easeInOutSine:function(e,t,s,i,n){return-i/2*(Math.cos(Math.PI*t/n)-1)+s},easeInExpo:function(e,t,s,i,n){return 0==t?s:i*Math.pow(2,10*(t/n-1))+s},easeOutExpo:function(e,t,s,i,n){return t==n?s+i:i*(1-Math.pow(2,-10*t/n))+s},easeInOutExpo:function(e,t,s,i,n){return 0==t?s:t==n?s+i:(t/=n/2)<1?i/2*Math.pow(2,10*(t-1))+s:i/2*(2-Math.pow(2,-10*--t))+s},easeInCirc:function(e,t,s,i,n){return-i*(Math.sqrt(1-(t/=n)*t)-1)+s},easeOutCirc:function(e,t,s,i,n){return i*Math.sqrt(1-(t=t/n-1)*t)+s},easeInOutCirc:function(e,t,s,i,n){return(t/=n/2)<1?-i/2*(Math.sqrt(1-t*t)-1)+s:i/2*(Math.sqrt(1-(t-=2)*t)+1)+s},easeInElastic:function(e,t,s,i,n){var o=1.70158,r=0,a=i;if(0==t)return s;if(1==(t/=n))return s+i;if(r=r||.3*n,ax'}).firstChild.href),e},vjs.parseUrl=function(e){var t,s,i,n,o;n=["protocol","hostname","port","pathname","search","hash","host"],(i=""===(s=vjs.createEl("a",{href:e})).host&&"file:"!==s.protocol)&&((t=vjs.createEl("div")).innerHTML='',s=t.firstChild,t.setAttribute("style","display:none; position:absolute;"),document.body.appendChild(t)),o={};for(var r=0;r'+this.defaultValue+""},t),vjs.Component.prototype.createEl.call(this,"div",t)},vjs.Menu=vjs.Component.extend(),vjs.Menu.prototype.addItem=function(e){this.addChild(e),e.on("click",vjs.bind(this,function(){this.unlockShowing()}))},vjs.Menu.prototype.createEl=function(){var e=this.options().contentElType||"ul";this.contentEl_=vjs.createEl(e,{className:"vjs-menu-content"});var t=vjs.Component.prototype.createEl.call(this,"div",{append:this.contentEl_,className:"vjs-menu"});return t.appendChild(this.contentEl_),vjs.on(t,"click",function(e){e.preventDefault(),e.stopImmediatePropagation()}),t},vjs.MenuItem=vjs.Button.extend({init:function(e,t){vjs.Button.call(this,e,t),this.selected(t.selected)}}),vjs.MenuItem.prototype.createEl=function(e,t){return vjs.Button.prototype.createEl.call(this,"li",vjs.obj.merge({className:"vjs-menu-item",innerHTML:this.options_.label},t))},vjs.MenuItem.prototype.onClick=function(){this.selected(!0)},vjs.MenuItem.prototype.selected=function(e){e?(this.addClass("vjs-selected"),this.el_.setAttribute("aria-selected",!0)):(this.removeClass("vjs-selected"),this.el_.setAttribute("aria-selected",!1))},vjs.MenuButton=vjs.Button.extend({init:function(e,t){vjs.Button.call(this,e,t),this.menu=this.createMenu(),this.addChild(this.menu),this.items&&0===this.items.length&&this.hide(),this.on("keyup",this.onKeyPress),this.el_.setAttribute("aria-haspopup",!0),this.el_.setAttribute("role","button")}}),vjs.MenuButton.prototype.buttonPressed_=!1,vjs.MenuButton.prototype.createMenu=function(){var e=new vjs.Menu(this.player_);if(this.options().title&&e.contentEl().appendChild(vjs.createEl("li",{className:"vjs-menu-title",innerHTML:vjs.capitalize(this.options().title),tabindex:-1})),this.items=this.createItems(),this.items)for(var t=0;tStream Type LIVE',"aria-live":"off"}),e.appendChild(this.contentEl_),e},vjs.PlayToggle=vjs.Button.extend({init:function(e,t){vjs.Button.call(this,e,t),e.on("play",vjs.bind(this,this.onPlay)),e.on("pause",vjs.bind(this,this.onPause))}}),vjs.PlayToggle.prototype.buttonText="Play",vjs.PlayToggle.prototype.buildCSSClass=function(){return"vjs-play-control "+vjs.Button.prototype.buildCSSClass.call(this)},vjs.PlayToggle.prototype.onClick=function(){this.player_.paused()?this.player_.play():this.player_.pause()},vjs.PlayToggle.prototype.onPlay=function(){vjs.removeClass(this.el_,"vjs-paused"),vjs.addClass(this.el_,"vjs-playing"),this.el_.children[0].children[0].innerHTML="Pause"},vjs.PlayToggle.prototype.onPause=function(){vjs.removeClass(this.el_,"vjs-playing"),vjs.addClass(this.el_,"vjs-paused"),this.el_.children[0].children[0].innerHTML="Play"},vjs.CurrentTimeDisplay=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t),e.on("timeupdate",vjs.bind(this,this.updateContent))}}),vjs.CurrentTimeDisplay.prototype.createEl=function(){var e=vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-current-time vjs-time-controls vjs-control"});return this.contentEl_=vjs.createEl("div",{className:"vjs-current-time-display",innerHTML:'Current Time 0:00',"aria-live":"off"}),e.appendChild(this.contentEl_),e},vjs.CurrentTimeDisplay.prototype.updateContent=function(){var e=this.player_.scrubbing?this.player_.getCache().currentTime:this.player_.currentTime();this.contentEl_.innerHTML='Current Time '+vjs.formatTime(e,this.player_.duration())},vjs.DurationDisplay=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t),e.on("timeupdate",vjs.bind(this,this.updateContent))}}),vjs.DurationDisplay.prototype.createEl=function(){var e=vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-duration vjs-time-controls vjs-control"});return this.contentEl_=vjs.createEl("div",{className:"vjs-duration-display",innerHTML:'Duration Time 0:00',"aria-live":"off"}),e.appendChild(this.contentEl_),e},vjs.DurationDisplay.prototype.updateContent=function(){var e=this.player_.duration();e&&(this.contentEl_.innerHTML='Duration Time '+vjs.formatTime(e))},vjs.TimeDivider=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t)}}),vjs.TimeDivider.prototype.createEl=function(){return vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-time-divider",innerHTML:"
/
"})},vjs.RemainingTimeDisplay=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t),e.on("timeupdate",vjs.bind(this,this.updateContent))}}),vjs.RemainingTimeDisplay.prototype.createEl=function(){var e=vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});return this.contentEl_=vjs.createEl("div",{className:"vjs-remaining-time-display",innerHTML:'Remaining Time -0:00',"aria-live":"off"}),e.appendChild(this.contentEl_),e},vjs.RemainingTimeDisplay.prototype.updateContent=function(){this.player_.duration()&&(this.contentEl_.innerHTML='Remaining Time -'+vjs.formatTime(this.player_.remainingTime()))},vjs.FullscreenToggle=vjs.Button.extend({init:function(e,t){vjs.Button.call(this,e,t)}}),vjs.FullscreenToggle.prototype.buttonText="Fullscreen",vjs.FullscreenToggle.prototype.buildCSSClass=function(){return"vjs-fullscreen-control "+vjs.Button.prototype.buildCSSClass.call(this)},vjs.FullscreenToggle.prototype.onClick=function(){this.player_.isFullscreen()?(this.player_.exitFullscreen(),this.controlText_.innerHTML="Fullscreen"):(this.player_.requestFullscreen(),this.controlText_.innerHTML="Non-Fullscreen")},vjs.ProgressControl=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t)}}),vjs.ProgressControl.prototype.options_={children:{seekBar:{}}},vjs.ProgressControl.prototype.createEl=function(){return vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-progress-control vjs-control"})},vjs.SeekBar=vjs.Slider.extend({init:function(e,t){vjs.Slider.call(this,e,t),e.on("timeupdate",vjs.bind(this,this.updateARIAAttributes)),e.ready(vjs.bind(this,this.updateARIAAttributes))}}),vjs.SeekBar.prototype.options_={children:{loadProgressBar:{},playProgressBar:{},seekHandle:{}},barName:"playProgressBar",handleName:"seekHandle"},vjs.SeekBar.prototype.playerEvent="timeupdate",vjs.SeekBar.prototype.createEl=function(){return vjs.Slider.prototype.createEl.call(this,"div",{className:"vjs-progress-holder","aria-label":"video progress bar"})},vjs.SeekBar.prototype.updateARIAAttributes=function(){var e=this.player_.scrubbing?this.player_.getCache().currentTime:this.player_.currentTime();this.el_.setAttribute("aria-valuenow",vjs.round(100*this.getPercent(),2)),this.el_.setAttribute("aria-valuetext",vjs.formatTime(e,this.player_.duration()))},vjs.SeekBar.prototype.getPercent=function(){return this.player_.currentTime()/this.player_.duration()},vjs.SeekBar.prototype.onMouseDown=function(e){vjs.Slider.prototype.onMouseDown.call(this,e),this.player_.scrubbing=!0,this.videoWasPlaying=!this.player_.paused(),this.player_.pause()},vjs.SeekBar.prototype.onMouseMove=function(e){var t=this.calculateDistance(e)*this.player_.duration();t==this.player_.duration()&&(t-=.1),this.player_.currentTime(t)},vjs.SeekBar.prototype.onMouseUp=function(e){vjs.Slider.prototype.onMouseUp.call(this,e),this.player_.scrubbing=!1,this.videoWasPlaying&&this.player_.play()},vjs.SeekBar.prototype.stepForward=function(){this.player_.currentTime(this.player_.currentTime()+5)},vjs.SeekBar.prototype.stepBack=function(){this.player_.currentTime(this.player_.currentTime()-5)},vjs.LoadProgressBar=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t),e.on("progress",vjs.bind(this,this.update))}}),vjs.LoadProgressBar.prototype.createEl=function(){return vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-load-progress",innerHTML:'Loaded: 0%'})},vjs.LoadProgressBar.prototype.update=function(){this.el_.style&&(this.el_.style.width=vjs.round(100*this.player_.bufferedPercent(),2)+"%")},vjs.PlayProgressBar=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t)}}),vjs.PlayProgressBar.prototype.createEl=function(){return vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-play-progress",innerHTML:'Progress: 0%'})},vjs.SeekHandle=vjs.SliderHandle.extend({init:function(e,t){vjs.SliderHandle.call(this,e,t),e.on("timeupdate",vjs.bind(this,this.updateContent))}}),vjs.SeekHandle.prototype.defaultValue="00:00",vjs.SeekHandle.prototype.createEl=function(){return vjs.SliderHandle.prototype.createEl.call(this,"div",{className:"vjs-seek-handle","aria-live":"off"})},vjs.SeekHandle.prototype.updateContent=function(){var e=this.player_.scrubbing?this.player_.getCache().currentTime:this.player_.currentTime();this.el_.innerHTML=''+vjs.formatTime(e,this.player_.duration())+""},vjs.VolumeControl=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t),e.tech&&e.tech.features&&!1===e.tech.features.volumeControl&&this.addClass("vjs-hidden"),e.on("loadstart",vjs.bind(this,function(){e.tech.features&&!1===e.tech.features.volumeControl?this.addClass("vjs-hidden"):this.removeClass("vjs-hidden")}))}}),vjs.VolumeControl.prototype.options_={children:{volumeBar:{}}},vjs.VolumeControl.prototype.createEl=function(){return vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-volume-control vjs-control"})},vjs.VolumeBar=vjs.Slider.extend({init:function(e,t){vjs.Slider.call(this,e,t),e.on("volumechange",vjs.bind(this,this.updateARIAAttributes)),e.ready(vjs.bind(this,this.updateARIAAttributes))}}),vjs.VolumeBar.prototype.updateARIAAttributes=function(){this.el_.setAttribute("aria-valuenow",vjs.round(100*this.player_.volume(),2)),this.el_.setAttribute("aria-valuetext",vjs.round(100*this.player_.volume(),2)+"%")},vjs.VolumeBar.prototype.options_={children:{volumeLevel:{},volumeHandle:{}},barName:"volumeLevel",handleName:"volumeHandle"},vjs.VolumeBar.prototype.playerEvent="volumechange",vjs.VolumeBar.prototype.createEl=function(){return vjs.Slider.prototype.createEl.call(this,"div",{className:"vjs-volume-bar","aria-label":"volume level"})},vjs.VolumeBar.prototype.onMouseMove=function(e){this.player_.muted()&&this.player_.muted(!1),this.player_.volume(this.calculateDistance(e))},vjs.VolumeBar.prototype.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},vjs.VolumeBar.prototype.stepForward=function(){this.player_.volume(this.player_.volume()+.1)},vjs.VolumeBar.prototype.stepBack=function(){this.player_.volume(this.player_.volume()-.1)},vjs.VolumeLevel=vjs.Component.extend({init:function(e,t){vjs.Component.call(this,e,t)}}),vjs.VolumeLevel.prototype.createEl=function(){return vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-volume-level",innerHTML:''})},vjs.VolumeHandle=vjs.SliderHandle.extend(),vjs.VolumeHandle.prototype.defaultValue="00:00",vjs.VolumeHandle.prototype.createEl=function(){return vjs.SliderHandle.prototype.createEl.call(this,"div",{className:"vjs-volume-handle"})},vjs.MuteToggle=vjs.Button.extend({init:function(e,t){vjs.Button.call(this,e,t),e.on("volumechange",vjs.bind(this,this.update)),e.tech&&e.tech.features&&!1===e.tech.features.volumeControl&&this.addClass("vjs-hidden"),e.on("loadstart",vjs.bind(this,function(){e.tech.features&&!1===e.tech.features.volumeControl?this.addClass("vjs-hidden"):this.removeClass("vjs-hidden")}))}}),vjs.MuteToggle.prototype.createEl=function(){return vjs.Button.prototype.createEl.call(this,"div",{className:"vjs-mute-control vjs-control",innerHTML:'
Mute
'})},vjs.MuteToggle.prototype.onClick=function(){this.player_.muted(!this.player_.muted())},vjs.MuteToggle.prototype.update=function(){var e=this.player_.volume(),t=3;0===e||this.player_.muted()?t=0:e<.33?t=1:e<.67&&(t=2),this.player_.muted()?"Unmute"!=this.el_.children[0].children[0].innerHTML&&(this.el_.children[0].children[0].innerHTML="Unmute"):"Mute"!=this.el_.children[0].children[0].innerHTML&&(this.el_.children[0].children[0].innerHTML="Mute");for(var s=0;s<4;s++)vjs.removeClass(this.el_,"vjs-vol-"+s);vjs.addClass(this.el_,"vjs-vol-"+t)},vjs.VolumeMenuButton=vjs.MenuButton.extend({init:function(e,t){vjs.MenuButton.call(this,e,t),e.on("volumechange",vjs.bind(this,this.update)),e.tech&&e.tech.features&&!1===e.tech.features.volumeControl&&this.addClass("vjs-hidden"),e.on("loadstart",vjs.bind(this,function(){e.tech.features&&!1===e.tech.features.volumeControl?this.addClass("vjs-hidden"):this.removeClass("vjs-hidden")})),this.addClass("vjs-menu-button")}}),vjs.VolumeMenuButton.prototype.createMenu=function(){var e=new vjs.Menu(this.player_,{contentElType:"div"}),t=new vjs.VolumeBar(this.player_,vjs.obj.merge({vertical:!0},this.options_.volumeBar));return e.addChild(t),e},vjs.VolumeMenuButton.prototype.onClick=function(){vjs.MuteToggle.prototype.onClick.call(this),vjs.MenuButton.prototype.onClick.call(this)},vjs.VolumeMenuButton.prototype.createEl=function(){return vjs.Button.prototype.createEl.call(this,"div",{className:"vjs-volume-menu-button vjs-menu-button vjs-control",innerHTML:'
Mute
'})},vjs.VolumeMenuButton.prototype.update=vjs.MuteToggle.prototype.update,vjs.PlaybackRateMenuButton=vjs.MenuButton.extend({init:function(e,t){vjs.MenuButton.call(this,e,t),this.updateVisibility(),this.updateLabel(),e.on("loadstart",vjs.bind(this,this.updateVisibility)),e.on("ratechange",vjs.bind(this,this.updateLabel))}}),vjs.PlaybackRateMenuButton.prototype.createEl=function(){var e=vjs.Component.prototype.createEl.call(this,"div",{className:"vjs-playback-rate vjs-menu-button vjs-control",innerHTML:'
Playback Rate
'});return this.labelEl_=vjs.createEl("div",{className:"vjs-playback-rate-value",innerHTML:1}),e.appendChild(this.labelEl_),e},vjs.PlaybackRateMenuButton.prototype.createMenu=function(){var e=new vjs.Menu(this.player()),t=this.player().options().playbackRates;if(t)for(var s=t.length-1;0<=s;s--)e.addChild(new vjs.PlaybackRateMenuItem(this.player(),{rate:t[s]+"x"}));return e},vjs.PlaybackRateMenuButton.prototype.updateARIAAttributes=function(){this.el().setAttribute("aria-valuenow",this.player().playbackRate())},vjs.PlaybackRateMenuButton.prototype.onClick=function(){for(var e=this.player().playbackRate(),t=this.player().options().playbackRates,s=t[0],i=0;ie){s=t[i];break}this.player().playbackRate(s)},vjs.PlaybackRateMenuButton.prototype.playbackRateSupported=function(){return this.player().tech&&this.player().tech.features.playbackRate&&this.player().options().playbackRates&&0