From 698fff028ab6e58c45c7356922beaa7c6a2e9006 Mon Sep 17 00:00:00 2001 From: "smain@google.com" Date: Thu, 20 Nov 2014 20:39:33 -0800 Subject: [PATCH] add style and script to play videos in a shadowbox anytime that a link appears in the page with class "video-shadowbox-button" the link must also have the youtube video set in the href with the ?v parameter Change-Id: I4af84f003075b8d2c43acd3295ce3955b141cc97 --- .../templates-sdk/assets/css/default.css | 63 +++++++++++++---- .../assets/images/close-grey.png | Bin 0 -> 379 bytes .../assets/images/close-grey_2x.png | Bin 0 -> 830 bytes .../assets/images/close-white.png | Bin 0 -> 292 bytes .../assets/images/close-white_2x.png | Bin 0 -> 586 bytes .../assets/images/play-circle-grey.png | Bin 0 -> 880 bytes .../assets/images/play-circle-grey_2x.png | Bin 0 -> 2280 bytes .../assets/images/play-circle-white.png | Bin 0 -> 670 bytes .../assets/images/play-circle-white_2x.png | Bin 0 -> 1733 bytes .../droiddoc/templates-sdk/assets/js/docs.js | 66 +++++++++++++++++- 10 files changed, 115 insertions(+), 14 deletions(-) create mode 100644 tools/droiddoc/templates-sdk/assets/images/close-grey.png create mode 100644 tools/droiddoc/templates-sdk/assets/images/close-grey_2x.png create mode 100644 tools/droiddoc/templates-sdk/assets/images/close-white.png create mode 100644 tools/droiddoc/templates-sdk/assets/images/close-white_2x.png create mode 100644 tools/droiddoc/templates-sdk/assets/images/play-circle-grey.png create mode 100644 tools/droiddoc/templates-sdk/assets/images/play-circle-grey_2x.png create mode 100644 tools/droiddoc/templates-sdk/assets/images/play-circle-white.png create mode 100644 tools/droiddoc/templates-sdk/assets/images/play-circle-white_2x.png diff --git a/tools/droiddoc/templates-sdk/assets/css/default.css b/tools/droiddoc/templates-sdk/assets/css/default.css index 8cfb45daa1..23a800fb93 100644 --- a/tools/droiddoc/templates-sdk/assets/css/default.css +++ b/tools/droiddoc/templates-sdk/assets/css/default.css @@ -6955,30 +6955,67 @@ a.landing-button:visited { } #video-frame { - width:940px; - height:526.4px; - margin:80px auto 0; + width:948px; + height:529px; + margin:32px auto 0; display:none; } .video-close { -cursor: pointer; -position: relative; -left: 940px; -top: 0; -pointer-events: all; + cursor: pointer; + position: relative; + left: 948px; + top: -8px; + pointer-events: all; } #icon-video-close { -background-image: url("../images/close.png"); -background-position: 0 0; -height: 36px; -width: 36px; -display:block; + background-image: url("../images/close-white.png"); + background-image: -webkit-image-set(url(../images/close-white.png) 1x, url(../images/close-white_2x.png) 2x); + background-repeat: no-repeat; + background-position: 0 0; + background-size: 36px 36px; + height: 36px; + width: 36px; + display:block; } +#icon-video-close:hover { + background-image: url("../images/close-grey.png"); + background-image: -webkit-image-set(url(../images/close-grey.png) 1x, url(../images/close-grey_2x.png) 2x); +} +/* Preload the hover images */ +a.video-shadowbox-button.white:after { + display:none; + content:url("../images/close-grey.png") url("../images/close-grey_2x.png"); +} +a.video-shadowbox-button.white { + background-image: url("../images/play-circle-white.png"); + background-image: -webkit-image-set(url(../images/play-circle-white.png) 1x, url(../images/play-circle-white_2x.png) 2x); + background-size: 36px 36px; + background-repeat: no-repeat; + background-position: right; + padding: 16px 42px 16px 8px; + font-size: 18px; + font-weight: 500; + line-height: 24px; + color: #fff; + text-decoration:none; +} + +a.video-shadowbox-button.white:hover { + color:#bababa !important; + background-image: url("../images/play-circle-grey.png"); + background-image: -webkit-image-set(url(../images/play-circle-grey.png) 1x, url(../images/play-circle-grey_2x.png) 2x); +} + +/* Preload the hover images */ +a.video-shadowbox-button.white:after { + display:none; + content:url("../images/play-circle-grey.png") url("../images/play-circle-grey_2x.png"); +} /****************** Styles for d.a.c/index: diff --git a/tools/droiddoc/templates-sdk/assets/images/close-grey.png b/tools/droiddoc/templates-sdk/assets/images/close-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0d7f12b61a36dccaae0f4d402a9eeeb1dc3959 GIT binary patch literal 379 zcmV->0fhdEP)L~=BtXB3KU3RM>9$R!V%?lOdhjkX&on1{#x~k!L(I Zz5zU&jKq&C0!;t_002ovPDHLkV1oI-njioG literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk/assets/images/close-grey_2x.png b/tools/droiddoc/templates-sdk/assets/images/close-grey_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..13555077ef1e8f0281b8f0a0c80d4943a6d0b40b GIT binary patch literal 830 zcmV-E1Ht@>P)f!9h> z=w9M5(-{sNcmW=)2Zr)zCg!p&CA?ONr5+ND4RLHqEt7WqJLKRfo7H|=X;+3pg9Z&6 zG-%KtmFXIw>rojikjOt#fDt7=-bQ6g0X3j@V>rqkwHqs)HtcRwvL11y*JNs*Gt9gjqmct`tfFr)+t5F4CDDl$YAw$L;v&{pK;WG~)K4uMN;<*4`e(cD(6;Gx;qNFHT z@!T=PRSv<0c(S-fy;92=i)xI;k?W(Bn69O%2pDm?WQMC*Sa7D6Rb-ZlV%$19G0a_ z)ri-3#uY)0cwI8C!Rnn5wmVnEQ_7sDzTjG5%_-Y+D&^WkOnIdSq)tN4qU+@hpDh4BD4eC zH{di4R+K|6;MVnkuUU(L6@{z?oT+_A!-|g38*sj1!((D$B{)<$b;wsv-+Xb!Iltn& z3(KBq?~vITcN*28c{9P@RptMg_FGGLhvAAVOzlZPJCNW|Yw2Ea&N)R)JMcFS*QHE1 zhwCGg4?A32U|9;8Y6hU0OewHw;7os5UDaS{JCGWo9@SuIJCIuBcUFV_+kvFMEUa|z z(+(se3oYIIv;!%vba3h3-3~;y(kXq`j&`5}-0nL@%P6*VZ*2!gYGc>XNF0}2x53WE zDJXcgGU2|lRnE8+$7r9f^p5!%d!^^a%Ma$1_}J3D0nSsB%Y%6QzFZ6Ea-VQ5T)Trm z)@wab6MK`dMi2Bxk5b+T)X(@2eYNnfy?hxoXwaZRg9e4_H)_E{9pCaf@c;k-07*qo IM6N<$g1Py3dH?_b literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk/assets/images/close-white.png b/tools/droiddoc/templates-sdk/assets/images/close-white.png new file mode 100644 index 0000000000000000000000000000000000000000..ef02018a833dc7ffcd7ab274aa944b3bbbec12e7 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8JTXMsm#F#`iPkj*X3$S`Y;1W=H@ z#M9T6{T{cdpdNFz?1f1{p~Idojv*e$-%fSpYf<2F?d5bYI&8aVevV*YN4{9HN7|Z* z#6vl6g6!t+TekM_ha>jQT1Pc%jHmm#rJKY``ATh&7#KGQeA&<))jT%JE`^}?Zc^KuhRlpRqZx}Id(4J_&6y$ersgL lZPEOhnc*gX6z0E>(BCyDP)#hVy&32o22WQ%mvv4FO#pM*X(0dr literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk/assets/images/close-white_2x.png b/tools/droiddoc/templates-sdk/assets/images/close-white_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9b9c41d19b7105de00b49a72feed6b78e2356d44 GIT binary patch literal 586 zcmV-Q0=4~#P)(c9CUt5`Di#Z!*1P>0QjIBN-Sra&{c6P85O8|Bf8J>1$j|zaL zge9~~$In>uMMDkjPt)!N%Sar6nuafy7w3S9#;^byPAbVUJ{`i4x3fd*w7>+yCzsd& zb!%4xr7O4_Sl14lqjT6Avdq|Vku$hESQqV>VF#=sjKu!V)B)TBEW%ddvuV#HN*{2Y zu*#5q+BMeFb*!DRJU4{@YUucbiC{fN@C@9|F*h+R2XKe$aZe7*7hD8bPJ5?1fr|vo zVZk2GVM+{GPT(pEifFK$z^z$Fh1CPDx%!O*%L!auSe@XSo9;AGVLf!JVEr&dD~chV zvHv2OdoyHjx2WH0+jky}D^|a7Fuu6+3kvtBa_Y-%lDJdx_DJjWU YKV{-cQC+wj82|tP07*qoM6N<$f_wA#`v3p{ literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk/assets/images/play-circle-grey.png b/tools/droiddoc/templates-sdk/assets/images/play-circle-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7e7ba694be5c37d5a43d3d710e4fd70832995b GIT binary patch literal 880 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 b(rx({hW|1b`cl_z00000NkvXXu0mjfhz2h@ literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk/assets/js/docs.js b/tools/droiddoc/templates-sdk/assets/js/docs.js index a3c24f4af5..701870aa64 100644 --- a/tools/droiddoc/templates-sdk/assets/js/docs.js +++ b/tools/droiddoc/templates-sdk/assets/js/docs.js @@ -20,7 +20,7 @@ $.ajaxSetup({ /****** ON LOAD SET UP STUFF *********/ $(document).ready(function() { - + // show lang dialog if the URL includes /intl/ //if (location.pathname.substring(0,6) == "/intl/") { // var lang = location.pathname.split('/')[2]; @@ -558,10 +558,74 @@ false; // navigate across topic boundaries only in design docs cookiePath = "distribute_"; } + + /* setup shadowbox for any videos that want it */ + var $videoLinks = $("a.video-shadowbox-button"); + if ($videoLinks.length) { + // if there's at least one, add the shadowbox HTML to the body + $('body').prepend( +'
'+ + '
'+ + '
'+ + ' '+ + '
'+ + '
'+ + '
'+ +'
'); + + // loads the IFrame Player API code asynchronously. + $.getScript("https://www.youtube.com/iframe_api"); + + $videoLinks.each(function() { + var videoId = $(this).attr('href').split('?v=')[1]; + $(this).click(function(event) { + event.preventDefault(); + startYouTubePlayer(videoId); + }); + }); + + } + }); // END of the onload event +var youTubePlayer; +function onYouTubeIframeAPIReady() { +} + +function startYouTubePlayer(videoId) { + if (youTubePlayer == null) { + youTubePlayer = new YT.Player('youTubePlayer', { + height: '529', + width: '940', + videoId: videoId, + events: { + 'onReady': onPlayerReady + } + }); + } else { + youTubePlayer.playVideo(); + } + $("#video-container").fadeIn(200, function(){$("#video-frame").show()}); +} + +function onPlayerReady(event) { + event.target.playVideo(); +} + +function closeVideo() { + try { + youTubePlayer.stopVideo(); + $("#video-container").fadeOut(200); + } catch(e) { + console.log('Video not available'); + $("#video-container").fadeOut(200); + } +} + + + function initExpandableNavItems(rootTag) { $(rootTag + ' li.nav-section .nav-section-header').click(function() { var section = $(this).closest('li.nav-section');