From 08032409b4dd29740e1c8e703eada0d1ce86e58c Mon Sep 17 00:00:00 2001 From: Dirk Dougherty Date: Sat, 15 Feb 2014 10:14:35 -0800 Subject: [PATCH] Add basic support for rendering dynamic content on pages. Change-Id: If3ba4f71771a01043ec6d544e3b4a9222ba35daf --- .../templates-sdk-dyn/assets/css/default.css | 1414 ++++++++++++++++- .../assets/images/breadcrumb.png | Bin 0 -> 164 bytes .../assets/images/link-out.png | Bin 0 -> 202 bytes .../images/resource-card-default-android.jpg | Bin 0 -> 15565 bytes .../assets/images/stack-arrow-right.png | Bin 0 -> 198 bytes .../templates-sdk-dyn/assets/js/docs.js | 703 +++++++- .../templates-sdk-dyn/components/masthead.cs | 230 ++- .../templates-sdk-dyn/customizations.cs | 169 +- tools/droiddoc/templates-sdk-dyn/docpage.cs | 53 +- tools/droiddoc/templates-sdk-dyn/head_tag.cs | 10 +- 10 files changed, 2380 insertions(+), 199 deletions(-) create mode 100644 tools/droiddoc/templates-sdk-dyn/assets/images/breadcrumb.png create mode 100644 tools/droiddoc/templates-sdk-dyn/assets/images/link-out.png create mode 100644 tools/droiddoc/templates-sdk-dyn/assets/images/resource-card-default-android.jpg create mode 100644 tools/droiddoc/templates-sdk-dyn/assets/images/stack-arrow-right.png diff --git a/tools/droiddoc/templates-sdk-dyn/assets/css/default.css b/tools/droiddoc/templates-sdk-dyn/assets/css/default.css index 75153606ae..c8a0fbf214 100644 --- a/tools/droiddoc/templates-sdk-dyn/assets/css/default.css +++ b/tools/droiddoc/templates-sdk-dyn/assets/css/default.css @@ -528,9 +528,9 @@ video.with-shadow { width:262px; } - .paging-links a.start-class-link { - width:100%; - text-align:right; + .paging-links a.start-class-link { + width:100%; + text-align:right; } /* list of classes on course landing page */ @@ -1491,7 +1491,8 @@ color-stop(50%, #acbc00), color-stop(50%, #bdde00), color-stop(100%, #bdde00)); Header, Login, Nav-X, Search */ #header { - padding: 2.2em 0 0.2em 0; + margin: 0; + padding: 0; } #header:before, #header:after { content: ""; @@ -1515,12 +1516,11 @@ Header, Login, Nav-X, Search .develop a.selected { color: #F80; } + .distribute a.selected { color: #9C0; } - - .nav-x li { display: inline; margin-right: 45px; @@ -1631,6 +1631,170 @@ Header, Login, Nav-X, Search .search-dropdown li a:hover h6, .search-dropdown li a:hover .desc { color: #33b5e5 } + +/************ STICKY NAV BAR ******************/ + +#header-wrapper { + background: #f9f9f9; + margin: 0 -10px 0 -10px; + padding: 31px 10px 0px 10px; + position: relative; +} +#header-wrapper #nav-x div.wrap { + max-width: 940px; + height: 38px; +} +#header-wrapper #nav-x ul.nav-x li { + margin-right: 36px !important; + margin-top: 5px; + margin-bottom: 0px; + height: 30px; +} +#header-wrapper #nav-x > div.wrap ul.nav-x li.active { + color: #669900; + border-bottom: 3px solid #669900; +} +#header-wrapper #nav-x > div.wrap ul.nav-x li.active a { + color: #669900; +} +#header-wrapper #nav-x > div.wrap ul.nav-x a { + font-size: 14.5px; +} +#header-wrapper .developer-console-btn { + float: right; + background: #fefefe; + border-radius: 4px; + padding: 8px 14px; + box-shadow: 1px 1px 0px #7a7a7a; + font-size: 14px; + margin-top: -6px; + cursor: pointer; + color: #464646; + margin-right: 20px; +} +/* not currently used */ +#header-wrapper .shadow { + width: 1034px; + height: 4px; + position: absolute; + left: 50%; + margin-left: -517px; + bottom: -4px; + background-image: url(../images/header-shadow.png); +} + +#context { + clear: both; + padding-top: 14px; +} +#context .breadcrumb { + float: left; + margin-bottom: 10px; +} +#context .util { + float: right; + margin-right: 20px; +} + +.breadcrumb { + list-style: none; + margin: 0; + padding: 0; + position: relative; +} +.breadcrumb li { + float: left; + padding: 0 20px 0 0; + color: #000; +} +.breadcrumb li a { + color: #000; +} +.breadcrumb li:after { + content: url(../images/breadcrumb.png); + position: relative; + top: 1px; + left: 10px; + width: 5px; + height: 10px; +} +.breadcrumb li.current { + font-weight: 700; +} +.breadcrumb li.current:after { + display: none; +} + +/* Sticky Nav overrides */ +.sticky-menu { + position: fixed; + width: 940px; + height: 0px; + z-index: 51; + top: 12px; +} +#sticky-header { + display: none; + padding: 0 10px; + position: fixed; + background: #f9f9f9; + top: 0px; + left: 0px; + right: 0px; + height: 45px; + box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); + border-bottom: 1px solid #a5c43a; + z-index: 50; + opacity: 0; + -webkit-transition: opacity 0.25s; + -moz-transition: opacity 0.25s; + -o-transition: opacity 0.25s; + transition: opacity 0.25s; +} +#sticky-header.design { + border-bottom: 1px solid #33b5e5; +} +#sticky-header.develop { + border-bottom: 1px solid #F80; +} +#sticky-header.distribute { + border-bottom: 1px solid #9C0; +} +#sticky-header > div { + overflow: hidden; + *zoom: 1; + width: 940px; + margin: 0 auto; + clear: both; + padding-top: 9px; +} +#sticky-header > div .logo { + float: left; + width: 26px; + height: 25px; + background: url(../images/dac_logo.png); + z-index: 52; + position: relative; +} +#sticky-header > div .top { + float: left; + width: 38px; + height: 38px; + position: relative; + background: url(../images/styles/gototop.png); + z-index: 52; +} +#sticky-header > div .breadcrumb { + float: left; + padding: 0 0 0 10px; + border-left: 1px solid #d2d2d2; + line-height: 24px; + font-size: 14px; + position: relative; + top: 0px; + z-index: 52; +} + /* -------------------------------------------------------------------------- Buttons */ @@ -1828,8 +1992,8 @@ EndColorStr='#ececec'); #qv-wrapper { float:right; clear:right; - margin:0 0 0 20px; /* negative top-margin to counter the content-header bottom margin */ - padding:0 0 20px; + margin:0 0 0 30px; /* negative top-margin to counter the content-header bottom margin */ + padding:0 0 30px; } #tb-wrapper { @@ -1900,7 +2064,6 @@ EndColorStr='#ececec'); .sidebox h5 { font-weight:bold; margin:0 0 10px; - line-height: 16px; } .sidebox * { @@ -4782,53 +4945,6 @@ a.download-sdk { -/************ DISTRIBUTE HOMEPAGE ***************/ - -.marquee { - width: 760px; -} -.marquee .main-img { - float: left; - margin-top: 20px; - width: 490px; -} -.marquee .copy { - width: 270px; - float: left; - margin-top: 30px; -} -.distribute-features { - margin: 0; -} -.distribute-features ul { - margin: 0; -} -.distribute-features ul li { - list-style: none; - float: left; - border-top: 1px solid #9C0; - width: 220px; - margin-right: 50px; -} -.distribute-features ul li.last { - margin-right: 0px; -} - -.distribute-features .distribute-link li a { - color:red !important; -} - -.distribute-features .distribute-link li a, -.distribute-features .distribute-link li a:active { - color:#555 !important; -} - -.distribute-features .distribute-link li a:hover, -.distribute-features .distribute-link li a:hover * { - color:#7AA1B0 !important; -} - - /************ DEVELOP TOPIC CONTAINERS ************/ .landing-banner, @@ -4872,22 +4988,16 @@ a.download-sdk { .landing-docs a { color:#333 !important; } - .landing-docs a:hover, .landing-docs a:hover * { color:#7AA1B0 !important } - .landing-docs .normal-links a { color:#258aaf !important; } - .plusone { float:right; } - - - .next-docs { border-top:1px solid #ccc; margin:40px 0 0; @@ -4901,14 +5011,13 @@ a.download-sdk { .next-docs div:last-child { margin-right:0; } - .next-docs h2 { font-size:14px; line-height:21px; color:#555; text-transform:uppercase; border-bottom:none; - margin:0 0 1em; + margin:0; padding:5px 0 0; } @@ -5006,3 +5115,1180 @@ a.download-sdk { .fullpage #footer { margin-top: -40px; } + +/************ DISTRIBUTE PAGES ******************/ + +/* Article page header line fix */ +.headerLine { + overflow: hidden; +} +.headerLine h1 { + float: left; + padding-right: 20px; + margin-bottom: 0px; + font-size: 20px; + color: #363636; +} +.headerLine hr { + overflow: hidden; + margin: 42px 0 0 0; +} + +.article-detail #body-content { + padding-top: 10px; +} + +/* A container for grid sets with uppercase h3 and rule */ +.dynamic-grid h3 { + font-size:14px; + line-height:21px; + color:#555; + text-transform:uppercase; + border-bottom:1px solid #CCC; + padding:8px 0 0 1px; + margin-bottom:10px; + clear:both; +} + +.top-right-float { + float: right; +} + +.clearfloat { + float: none; + clear: both; +} + +.border-img { + border: 1px solid #CCC; +} + +.center-img { + margin: auto; + text-align: center; +} +.center-img img { + margin-bottom: 15px; +} + +.figure img, .border-img { + margin-bottom: 15px; +} + +/************ RESOURCE CARDS ******************/ + +/* Resource cards, 12, 13, 16-col */ + +/* Basic card-styling with shadow */ +.resource-card { + border-radius: 1px; + box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.2); + background: #fefefe; +} + +/* Styling for background image including tinting and section icons in stacks */ +.card-bg { + display: block; + position: absolute; + vertical-align: top; + width: 100%; + left: 0; + top: 0; + background-size: cover; + background-repeat: no-repeat; + background-position: center; + background-image: url(../images/resource-card-default-android.jpg); +} +.card-bg:after { + content: ""; + display: block; + height: 100%; + width: 100%; + opacity: 1; + background: rgba(0, 0, 0, 0.4); + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} +.card-bg .card-section-icon { + position: absolute; + top: 50%; + width: 100%; + margin-top: -35px; + text-align: center; + padding-top: 65px; + z-index: 100; +} +.card-bg .card-section-icon .icon { + position: absolute; + left: 50%; + margin-left: -28px; + top: 0px; + width: 56px; + height: 56px; + background-repeat: no-repeat; + background-position: 50% 50%; + background-image: url(../images/stack-icon.png); +} +.card-bg .card-section-icon .section { + text-transform: uppercase; + color: white; + font-size: 14px; +} + +.card-info { + position: absolute; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + background: #fefefe; + padding: 4px 12px 6px 12px; +} +.card-info .section { + text-transform: uppercase; + color: #898989; + font-size: 12px; + margin-bottom: 1px; +} +.card-info .title { + color: #363636; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + padding-bottom: 4px; + margin-bottom: -2px; + font-size: 16px; +} +.card-info .description { + position: relative; + overflow: hidden; +} +.card-info .description .text { + color: #464646; + font: 13px/15px Roboto Condensed; + overflow: hidden; + padding-right: 70px; + height: 30px; +} +.card-info .description .util { + position: absolute; + right: 0px; + bottom: -3px; + opacity: 0; + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} +.card-info.empty-desc .title { + white-space: normal; + overflow: visible; +} +.card-info.empty-desc .description { + display: none; +} + +/* Flow Layout */ +.resource-flow-layout { + display: inline-block; +} +.resource-flow-layout .resource-card, .resource-flow-layout .resource-card-stack { + float: left; + position: relative; +} +.resource-flow-layout .resource-card-stack > .resource-card { + margin-right: 0px !important; +} +.resource-flow-layout:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.resource-card:hover { + cursor: pointer; +} +.resource-card:hover .card-bg:after { + opacity: 0; +} +.resource-card:hover .card-info .description .text { + padding-right: 70px; +} +.resource-card:hover .card-info .description .util { + opacity: 1; +} + +/* Carousel Layout */ +/* Carousel styles for landing page */ +.resource-carousel-layout { + margin: 20px 0 20px 0; + position: relative; + overflow: hidden; +} +.resource-carousel-layout .slideshow-prev, .resource-carousel-layout .slideshow-next { + display: none; +} +.resource-carousel-layout .pagination { + bottom: 0px; +} +.resource-carousel-layout .frame li { + position: relative; +} +.resource-carousel-layout .frame li .card-bg { + height: 300px; +} +.resource-carousel-layout .frame li .card-info { + padding: 7px 15px 0px 15px; + top: 300px; +} +.resource-carousel-layout .frame li .card-info .section { + font-size: 13px; + margin-bottom: 7px; +} +.resource-carousel-layout .frame li .card-info .title { + font-size: 25px; + margin-bottom: 2px; +} +.resource-carousel-layout .frame li .card-info .description { + font-family: 15px/16px Roboto Condensed, sans-serif; +} +.resource-carousel-layout .frame li .card-info .description .text { + height: 40px; +} + +/* Stack Layout */ +.resource-stack-layout { + display: inline-block; +} +.resource-stack-layout .resource-card-stack { + float: left; + position: relative; +} +.resource-stack-layout .resource-card { + margin-bottom: 20px; + display: block; + position: relative; +} +.resource-stack-layout .section-card-menu > .card-info .section, .resource-stack-layout .section-card > .card-info .title { + /*text-transform: uppercase;*/ + color: #898989; + font-size: 17px; + line-height: 24px; + margin-bottom: 6px; +} +.resource-stack-layout .section-card { + height: 284px; +} +.resource-stack-layout .section-card > .card-bg { + height: 192px; +} +.resource-stack-layout .section-card > .card-info { + padding: 4px 12px 6px 12px; + top: 192px; +} +.resource-stack-layout .section-card > .card-info .section { + display: none; +} +.resource-stack-layout .section-card > .card-info .title { + font-size: 17px; + border-bottom: 1px solid #959595; + padding-bottom: 0px; +} +.resource-stack-layout .section-card > .card-info .description { + font-size: 13px; + line-height: 15px; +} +.resource-stack-layout .section-card > .card-info .description .text { + height: 30px; +} +.resource-stack-layout .related-card { + height: 90px; +} +.resource-stack-layout .related-card > .card-bg { + left: 0; + top: 0; + width: 90px; + height: 100%; + position: absolute; + display: block; +} +.resource-stack-layout .related-card > .card-info { + left: 90px; + padding: 4px 12px 4px 12px; +} +.resource-stack-layout .related-card > .card-info .section { + font-size: 12px; + margin-bottom: 1px; + display: none; +} +.resource-stack-layout .related-card > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; + overflow: visible; + text-overflow: ellipsis; +} +.resource-stack-layout .related-card > .card-info .title:after { + content: url(../images/link-out.png); + display: block; +} +.resource-stack-layout .related-card > .card-info .description { + display: none; +} +.resource-stack-layout .section-card-menu { + /* Flexible height */ + display: block; + height: auto; + width: auto; +} +.resource-stack-layout .section-card-menu .card-bg { + height: 155px; + /* Flexible height */ + position: relative; + display: inline-block; + vertical-align: top; +} +.resource-stack-layout .section-card-menu .card-info { + padding: 4px 12px 0px 12px; + /* Flexible height */ + position: relative; + left: auto; + top: auto; + right: auto; + bottom: auto; +} +.resource-stack-layout .section-card-menu .card-info ul { + list-style: none; + margin: 0; +} +.resource-stack-layout .section-card-menu .card-info ul li { + list-style: none; + margin: 0; + padding: 15px 0; + border-top-width: 1px; + border-top-style: solid; + border-top-color: #959595; +} +.resource-stack-layout .section-card-menu .card-info ul li a, .resource-stack-layout .section-card-menu .card-info ul li a:focus, .resource-stack-layout .section-card-menu .card-info ul li a:link, .resource-stack-layout .section-card-menu .card-info ul li a:visited, .resource-stack-layout .section-card-menu .card-info ul li a:active, .resource-stack-layout .section-card-menu .card-info ul li a:hover { + color: #363636 !important; +} +.resource-stack-layout .section-card-menu .card-info ul li:first-child { + border-top: none; +} +.resource-stack-layout .section-card-menu .card-info ul li:hover .title:after { + opacity: 1; + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} +.resource-stack-layout .section-card-menu .card-info ul li:hover .description { + max-height: 30px; + opacity: 1; + -webkit-transition: max-height 0.5s, opacity 1s; + -moz-transition: max-height 0.5s, opacity 1s; + -o-transition: max-height 0.5s, opacity 1s; + transition: max-height 0.5s, opacity 1s; +} +.resource-stack-layout .section-card-menu .card-info .title { + font-size: 16px; + margin-bottom: -2px; + position: relative; +} +.resource-stack-layout .section-card-menu .card-info .title:after { + background: url(../images/stack-arrow-right.png); + content: ''; + opacity: 0; + -webkit-transition: opacity 0.25s; + -moz-transition: opacity 0.25s; + -o-transition: opacity 0.25s; + transition: opacity 0.25s; + position: absolute; + right: 0px; + top: 3px; + width: 10px; + height: 15px; +} +.resource-stack-layout .section-card-menu .card-info .title.more { + text-transform: uppercase; + color: #898989; + display: inline-block; +} +.resource-stack-layout .section-card-menu .card-info .title.more:after { + background: url(../images/stack-arrow-right.png); + content: ''; + display: block; + position: absolute; + right: -20px; + top: 3px; + width: 10px; + height: 15px; +} +.resource-stack-layout .section-card-menu .card-info .description { + max-height: 0px; + opacity: 0; + overflow: hidden; + font-size: 13px; + line-height: 15px; + /* Hover off */ + -webkit-transition: max-height 0.5s, opacity 0.5s; + -moz-transition: max-height 0.5s, opacity 0.5s; + -o-transition: max-height 0.5s, opacity 0.5s; + transition: max-height 0.5s, opacity 0.5s; +} +.resource-stack-layout .section-card-menu .card-info .description .text { + height: 30px; +} +.resource-stack-layout:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/* Generate the flow layout styles for a 3-column 16-col span */ +.resource-flow-layout.col-16 { + margin: 0 -14px 0 0; + width: 954px; +} +.resource-flow-layout.col-16 .resource-card, .resource-flow-layout.col-16 .resource-card-stack { + margin: 0 14px 20px 0; +} +.resource-flow-layout.col-16 .resource-card-row-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-16 .resource-card-col-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-16 .resource-card-3x6 { + width: 145px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-3x12 { + width: 145px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-3x18 { + width: 145px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-6x6 { + width: 304px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-6x12 { + width: 304px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-6x18 { + width: 304px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-9x6 { + width: 463px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-9x12 { + width: 463px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-9x18 { + width: 463px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-12x6 { + width: 622px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-12x12 { + width: 622px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-12x18 { + width: 622px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-15x6 { + width: 781px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-15x12 { + width: 781px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-15x18 { + width: 781px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-18x6 { + width: 940px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-18x12 { + width: 940px; + height: 420px; +} +.resource-flow-layout.col-16 .resource-card-18x18 { + width: 940px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-3x2 { + width: 145px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-3x2x3 { + width: 145px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-3x3 { + width: 145px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-3x3x2 { + width: 145px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-6x2 { + width: 304px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-6x2x3 { + width: 304px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-6x3 { + width: 304px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-6x3x2 { + width: 304px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-9x2 { + width: 463px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-9x2x3 { + width: 463px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-9x3 { + width: 463px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-9x3x2 { + width: 463px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-12x2 { + width: 622px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-12x2x3 { + width: 622px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-12x3 { + width: 622px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-12x3x2 { + width: 622px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-15x2 { + width: 781px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-15x2x3 { + width: 781px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-15x3 { + width: 781px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-15x3x2 { + width: 781px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-18x2 { + width: 940px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-18x2x3 { + width: 940px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-18x3 { + width: 940px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-18x3x2 { + width: 940px; + height: 138px; + margin-bottom: 8px; +} + +/* Generate the flow layout styles for a 3-column 16-col span */ +.resource-flow-layout.col-12 { + margin: 0 -14px 0 0; + width: 714px; +} + +.resource-flow-layout.col-12 .resource-card, .resource-flow-layout.col-12 .resource-card-stack { + margin: 0 14px 20px 0; +} +.resource-flow-layout.col-12 .resource-card-row-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-12 .resource-card-col-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-12 .resource-card-3x6 { + width: 105px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-3x12 { + width: 105px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-3x18 { + width: 105px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-6x6 { + width: 224px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-6x12 { + width: 224px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-6x18 { + width: 224px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-9x6 { + width: 343px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-9x12 { + width: 343px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-9x18 { + width: 343px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-12x6 { + width: 462px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-12x12 { + width: 462px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-12x18 { + width: 462px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-15x6 { + width: 581px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-15x12 { + width: 581px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-15x18 { + width: 581px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-18x6 { + width: 700px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-18x12 { + width: 700px; + height: 420px; +} +.resource-flow-layout.col-12 .resource-card-18x18 { + width: 700px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-3x2 { + width: 105px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-3x2x3 { + width: 105px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-3x3 { + width: 105px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-3x3x2 { + width: 105px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-6x2 { + width: 224px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-6x2x3 { + width: 224px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-6x3 { + width: 224px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-6x3x2 { + width: 224px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-9x2 { + width: 343px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-9x2x3 { + width: 343px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-9x3 { + width: 343px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-9x3x2 { + width: 343px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-12x2 { + width: 462px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-12x2x3 { + width: 462px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-12x3 { + width: 462px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-12x3x2 { + width: 462px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-15x2 { + width: 581px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-15x2x3 { + width: 581px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-15x3 { + width: 581px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-15x3x2 { + width: 581px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-18x2 { + width: 700px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-18x2x3 { + width: 700px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-18x3 { + width: 700px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-18x3x2 { + width: 700px; + height: 138px; + margin-bottom: 8px; +} + +/* Generate the flow layout styles for a 3-column 13-col span */ + +.resource-flow-layout.col-13 { + margin: 0 -14px 0 0; + width: 774px; +} +.resource-flow-layout.col-13 .resource-card, .resource-flow-layout.col-13 .resource-card-stack { + margin: 0 14px 20px 0; +} +.resource-flow-layout.col-13 .resource-card-row-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-13 .resource-card-col-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-13 .resource-card-3x6 { + width: 115px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-3x12 { + width: 115px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-3x18 { + width: 115px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-6x6 { + width: 244px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-6x12 { + width: 244px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-6x18 { + width: 244px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-9x6 { + width: 373px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-9x12 { + width: 373px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-9x18 { + width: 373px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-12x6 { + width: 502px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-12x12 { + width: 502px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-12x18 { + width: 502px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-15x6 { + width: 631px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-15x12 { + width: 631px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-15x18 { + width: 631px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-18x6 { + width: 760px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-18x12 { + width: 760px; + height: 420px; +} +.resource-flow-layout.col-13 .resource-card-18x18 { + width: 760px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-3x2 { + width: 115px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-3x2x3 { + width: 115px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-3x3 { + width: 115px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-3x3x2 { + width: 115px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-6x2 { + width: 244px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-6x2x3 { + width: 244px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-6x3 { + width: 244px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-6x3x2 { + width: 244px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-9x2 { + width: 373px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-9x2x3 { + width: 373px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-9x3 { + width: 373px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-9x3x2 { + width: 373px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-12x2 { + width: 502px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-12x2x3 { + width: 502px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-12x3 { + width: 502px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-12x3x2 { + width: 502px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-15x2 { + width: 631px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-15x2x3 { + width: 631px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-15x3 { + width: 631px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-15x3x2 { + width: 631px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-18x2 { + width: 760px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-18x2x3 { + width: 760px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-18x3 { + width: 760px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-18x3x2 { + width: 760px; + height: 138px; + margin-bottom: 8px; +} + +/* + The following are styles for cards in the flowlayout above, styled by the number of rows they span +*/ +/* Single row items, might be simpler to just apply a class */ +.resource-card-3x6 > .card-bg, .resource-card-6x6 > .card-bg, .resource-card-9x6 > .card-bg, .resource-card-12x6 > .card-bg, .resource-card-15x6 > .card-bg, .resource-card-18x6 > .card-bg { + height: 192px; +} +.resource-card-3x6 > .card-info, .resource-card-6x6 > .card-info, .resource-card-9x6 > .card-info, .resource-card-12x6 > .card-info, .resource-card-15x6 > .card-info, .resource-card-18x6 > .card-info { + padding: 4px 12px 6px 12px; + top: 192px; +} +.resource-card-3x6 > .card-info .section, .resource-card-6x6 > .card-info .section, .resource-card-9x6 > .card-info .section, .resource-card-12x6 > .card-info .section, .resource-card-15x6 > .card-info .section, .resource-card-18x6 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; +} +.resource-card-3x6 > .card-info .title, .resource-card-6x6 > .card-info .title, .resource-card-9x6 > .card-info .title, .resource-card-12x6 > .card-info .title, .resource-card-15x6 > .card-info .title, .resource-card-18x6 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; +} +.resource-card-3x6 > .card-info .description, .resource-card-6x6 > .card-info .description, .resource-card-9x6 > .card-info .description, .resource-card-12x6 > .card-info .description, .resource-card-15x6 > .card-info .description, .resource-card-18x6 > .card-info .description { + font-size: 13px; + line-height: 15px; +} +.resource-card-3x6 > .card-info .description .text, .resource-card-6x6 > .card-info .description .text, .resource-card-9x6 > .card-info .description .text, .resource-card-12x6 > .card-info .description .text, .resource-card-15x6 > .card-info .description .text, .resource-card-18x6 > .card-info .description .text { + height: 30px; +} + +/* Double row items */ +.resource-card-3x12 > .card-bg, .resource-card-6x12 > .card-bg, .resource-card-9x12 > .card-bg, .resource-card-12x12 > .card-bg, .resource-card-15x12 > .card-bg, .resource-card-18x12 > .card-bg { + height: 320px; +} +.resource-card-3x12 > .card-info, .resource-card-6x12 > .card-info, .resource-card-9x12 > .card-info, .resource-card-12x12 > .card-info, .resource-card-15x12 > .card-info, .resource-card-18x12 > .card-info { + padding: 4px 12px 6px 12px; + top: 320px; +} +.resource-card-3x12 > .card-info .section, .resource-card-6x12 > .card-info .section, .resource-card-9x12 > .card-info .section, .resource-card-12x12 > .card-info .section, .resource-card-15x12 > .card-info .section, .resource-card-18x12 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; +} +.resource-card-3x12 > .card-info .title, .resource-card-6x12 > .card-info .title, .resource-card-9x12 > .card-info .title, .resource-card-12x12 > .card-info .title, .resource-card-15x12 > .card-info .title, .resource-card-18x12 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; +} +.resource-card-3x12 > .card-info .description, .resource-card-6x12 > .card-info .description, .resource-card-9x12 > .card-info .description, .resource-card-12x12 > .card-info .description, .resource-card-15x12 > .card-info .description, .resource-card-18x12 > .card-info .description { + font-size: 13px; + line-height: 15px; +} + +/* 1/3 row items */ +.resource-card-3x2 > .card-bg, .resource-card-6x2 > .card-bg, .resource-card-9x2 > .card-bg, .resource-card-12x2 > .card-bg, .resource-card-15x2 > .card-bg, .resource-card-18x2 > .card-bg { + left: 0; + top: 0; + width: 90px; + height: 100%; + position: absolute; + display: block; +} +.resource-card-3x2 > .card-info, .resource-card-6x2 > .card-info, .resource-card-9x2 > .card-info, .resource-card-12x2 > .card-info, .resource-card-15x2 > .card-info, .resource-card-18x2 > .card-info { + left: 90px; + padding: 4px 12px 4px 12px; + height: 80px; + overflow: hidden; +} +.resource-card-3x2 > .card-info .section, .resource-card-6x2 > .card-info .section, .resource-card-9x2 > .card-info .section, .resource-card-12x2 > .card-info .section, .resource-card-15x2 > .card-info .section, .resource-card-18x2 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; + /* display: none; */ +} +.resource-card-3x2 > .card-info .title, .resource-card-6x2 > .card-info .title, .resource-card-9x2 > .card-info .title, .resource-card-12x2 > .card-info .title, .resource-card-15x2 > .card-info .title, .resource-card-18x2 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; + overflow: visible; + text-overflow: ellipsis; +} +.resource-card-3x2 > .card-info .title:after, .resource-card-6x2 > .card-info .title:after, .resource-card-9x2 > .card-info .title:after, .resource-card-12x2 > .card-info .title:after, .resource-card-15x2 > .card-info .title:after, .resource-card-18x2 > .card-info .title:after { + /* content: url(../images/link-out.png); */ + display: block; +} +.resource-card-3x2 > .card-info .description, .resource-card-6x2 > .card-info .description, .resource-card-9x2 > .card-info .description, .resource-card-12x2 > .card-info .description, .resource-card-15x2 > .card-info .description, .resource-card-18x2 > .card-info .description { + display: none; +} + +/* 1/2 row items */ +.resource-card-3x3 > .card-bg, .resource-card-6x3 > .card-bg, .resource-card-9x3 > .card-bg, .resource-card-12x3 > .card-bg, .resource-card-15x3 > .card-bg, .resource-card-18x3 > .card-bg { + left: 0; + top: 0; + width: 90px; + height: 100%; + position: absolute; + display: block; +} +.resource-card-3x3 > .card-info, .resource-card-6x3 > .card-info, .resource-card-9x3 > .card-info, .resource-card-12x3 > .card-info, .resource-card-15x3 > .card-info, .resource-card-18x3 > .card-info { + left: 90px; + padding: 4px 12px 0px 12px; +} +.resource-card-3x3 > .card-info .section, .resource-card-6x3 > .card-info .section, .resource-card-9x3 > .card-info .section, .resource-card-12x3 > .card-info .section, .resource-card-15x3 > .card-info .section, .resource-card-18x3 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; + display: none; +} +.resource-card-3x3 > .card-info .title, .resource-card-6x3 > .card-info .title, .resource-card-9x3 > .card-info .title, .resource-card-12x3 > .card-info .title, .resource-card-15x3 > .card-info .title, .resource-card-18x3 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; + overflow: visible; +} +.resource-card-3x3 > .card-info .description .text, .resource-card-6x3 > .card-info .description .text, .resource-card-9x3 > .card-info .description .text, .resource-card-12x3 > .card-info .description .text, .resource-card-15x3 > .card-info .description .text, .resource-card-18x3 > .card-info .description .text { + font-size: 12px; + line-height: 15px; + padding-right: 0px !important; + height: 80px; +} +.resource-card-3x3 > .card-info .description .util, .resource-card-6x3 > .card-info .description .util, .resource-card-9x3 > .card-info .description .util, .resource-card-12x3 > .card-info .description .util, .resource-card-15x3 > .card-info .description .util, .resource-card-18x3 > .card-info .description .util { + display: none; +} + +/* + Generate a resource stack layout for a 3 column widget spanning 16 grid cols +*/ +.resource-stack-layout.col-16 { + margin: 0 -14px 0 0; + width: 954px; +} +.resource-stack-layout.col-16 .resource-card-stack { + margin: 0 14px 0 0; + width: 304px; +} + +/* Example of card menu tinting */ +.resource-widget[data-section=distribute\/tools] .section-card-menu +.card-bg:after { + background: rgba(126, 55, 148, 0.4) !important; +} +.resource-widget[data-section=distribute\/tools] .section-card-menu +.card-section-icon .icon { + background-color: #7e3794 !important; +} +.resource-widget[data-section=distribute\/tools] .section-card-menu +.card-info ul li { + border-top-color: #7e3794 !important; +} + +/* tinting for stacks */ + +div.jd-descr > .resource-widget[data-section=distribute\/tools] +.section-card-menu .card-info ul li { + border-top-color: #7e3794 !important; +} diff --git a/tools/droiddoc/templates-sdk-dyn/assets/images/breadcrumb.png b/tools/droiddoc/templates-sdk-dyn/assets/images/breadcrumb.png new file mode 100644 index 0000000000000000000000000000000000000000..407a318114137c3f1f86a53f745d40396f747d6c GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1g!3HF2ETDSr z1<%~X^wgl##FWaylc_d9MQ)xhjv*DdVtQ`#GAM8`b6@<+UZCo3v`8g`>#xF-UlR-y zxi7FuIK6t_#5>8k(_Ve`!YjYnoUd5rcZGeJ6lS(q&o)<{k&U6afxETg_0&$Fi42~u KelF{r5}E*JqchI{ literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk-dyn/assets/images/link-out.png b/tools/droiddoc/templates-sdk-dyn/assets/images/link-out.png new file mode 100644 index 0000000000000000000000000000000000000000..aa55f9a64367a9ed0bd0284210172bdebdf17c17 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGeh$JY5_^DsCnH`TyUZd1Zs4rRB^CQX;|6&&)i0qDilVWrjnM zf~$g`mls!zEcY2V4P7?T-;BmQD`qe*lUz2D_3W2$i#f+T-my6SOLW;ZapD9u9%+u7 wEy2uozCAyh=5;pmIN1B@+?d3r$RLow(9a^9m$iX`4`?rgr>mdKI;Vst0J5P%kpKVy literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk-dyn/assets/images/resource-card-default-android.jpg b/tools/droiddoc/templates-sdk-dyn/assets/images/resource-card-default-android.jpg new file mode 100644 index 0000000000000000000000000000000000000000..80507444a935f1aa0b0547821be6b3ebcf7fbe9f GIT binary patch literal 15565 zcmcJ$by!v3765qeg-at{qJSt}(jjqGy1PN?kZ#F~f|PW3N_Qh5NP~2zNQZ!Q3v=)n z@4cD%V`jc@ws$i$_36L_~yzLqbYSNQzHLM0mFd z1POcx8HNsnp%Y?bViW$q9=ELk9vTDzH9&&k0Z=>$5+3BX19%9c3P51s<=+8;f;gg} zqM?J2Y zE#1xnSm3KrJS03o1o$l)lae~~<)LnW|98beTmV9jiDhe8xcGt?{s#kkBYG6Y@QCM3 zF#mE@a~l5wYX{Tr{24scg5>fN;eJo8%7mu!xasd5SjEUtL_H=1=%FHn`oc2+K((>g zUiPn50HjD!6IBdCKsS!)M)ba8TrFpy32tj4L_LEGgZp(LfYkt#e{C%O9NB{ik0T#q z^F;GoRRJ^i3fGuVynU%bv@-WYeg?7X5n8r3b=pDWAN=w{d$z0FFNpvE%JET)j1eyW z2VH>O1OO1muD+OfPKo8#fmNyl-C0wjk3)z@9d>)GqVdcP{Q(F(9)R&s5y3Oy98d%R zQKso+2e82R*)pxPC^FToL5nARBeu5x|FaoeN~}|Y0MrD9Y~;< zBufn14vad)P*ModX{D-TNyI}BiL$x()A6Brwb`tOI03QohJ5ok`}H$bTr>bkY0G<> zM@0of;egWP!$W{4uaTZGi;bFot)(8|`jA>E@ z3$er`eqAxtp(!U8Morb!8b@E`@?4TST7I+kVZ`?Q6os|(b2tJ(TR`X}s6SH6pn}zt z*#uGRC~{DJWWp^+p)w_=-r{^chi96Y9M8y}(#URAL6Ur*Cv;){dv_B(Y#0stm5>nu zz#vqL^Z*1!5&_~(1t5{n_ePa;k?% za@G0APYCaJ1psld5d2=Fv`my^sP@{!nC+A)3LEF=;Dg5tFkfVzdb|&ku$lD;Pix4gv{_&pb&O6cg93FuD53J{vMfkWV&kb3ld0sk+ zC7Ie#1+Zu3tj&aYbp|%&)P^o3Pj3>z5yrR}fR4G$hmHxw9#BdEpvaMo5CH(FSx_EL z&1Ww7l$bV&q+1K-vt3W5DhAF z(!y78YOHr1dbC#LhRkD}4xR7}6pnZkp3btz<_ilm%}@ktCMM(s0!rWJuLuAvwN$y( z9IZJ3S_T|SlWAgN1q1{1`mII|!QcIGv*lI3%#w+61{$irCNggoionHut!4Y2c$;tm zLfi_z4#EAK$Nqy79OMb$1vCCMg9k#dRRtG`nCt~H_3FU;KL>{le9ZFA42&D$%;L|f zmdgMTY5;(t>H9iU6+l(pBIg<8^P$a7GLa@?FklkTWqt3zAgw#<*`$4RD1zNQ^E>*=#}3akbP=caWro6t`1h+<>9pY! zt5pflBv=BHzYT1bQX6gE0_-{63_p02QaVB10YLgQo`*`8XUjV?O1;39SB^=Il5y#0 zDoqhE{k%T%z|<_}UTW(DnZyHcUf%vZ%eN$-ufkALGA(4P4)Q$ohva|TG;r>dm(_C4 zc~Ekv6@5_utxI1=R$KE*M`5h%;J)0dy({OYY!X*y}DO?8t}3(meo7 zl78ZymaW+j!UdQ_{c|f6N&36oyXoW9d%TQv@;q^!|_@>90!VjOsuv zB9{t5~j<>W<30%Tb%pe5d^sw^4?AIUzq3ga= z&s4yZb}DS+W{_v)^ot#j9?1>Wj8O>@U0N2~N~rGGVi)KL=lS72!ABXwp7JO-CJm#? zEu}Ii^%qHz|JAXNuF3cCD4R(dkGh%zS6g2T_@A+%d;*#1Z<;m%@T7_7HL%}la_@zhF?MpujzPg^b5TAH6U$VY@{JzSe{;gn> zb}%)y2>@GBOU^p1t1D=;Vg2Pe_JyFU;+RdF=22V6hQ?c$0Ok~D&iH@ zDm7gKX94$}O{U*_T~d#cMClm0fj2nD(O=W|z!U)}RwVE~_c*<+rs_H_jgxIxg72Hz zl{~TCEA*P8;G-Gt<;ZjF!|D1)6&iUnx^_-qA$MBtr7nxGD}9kQye%oK{Zx)syrp?o z5%M6_gV;xw35-m2%ADHVHqw{5v%^341)fhIRM{Q9EtWBqwa?<4Ad)~|>f`U|?_6Tt zx|q_m5}nVCS##Qwh}G4dPre0K$aQwjez*ikPfy5>RaK7Q&FOyksb#Uc}y}?!&gO^Lox;GAYOJjRt;VqEk{J1h9@D?Ds96en6dC-Eptha6U_WizQ z;-^zuC(_35TKn9S4R(<)`DfDlnj-w!PjipW*dN~l?kyaL zYvp>(2l^=X_5<5$GS@YkWO=7Wso!6Dy9ThR%9`eui765M3MtdpE2IC3o}d&JW)?Tx z(RMk6Lnp6(^epd!vZ2SRB&9v!AVn`?02gGSu;zBz`X9-FmZ!P z;mt7K34?L`c!rYI^Tzh2E6f^}Mb?#YJ=djs`VWa$XqhmI^p!^Qij`hz_-zgr+N>nm zyI2k-@mr(eLJ`tG^xkdilEB{$Vy@ZBVRK?QD0`@OSjG}l=TE$br}*lXWqOLy0VUy+{{75Q@= z75a2Y@UJbhqjQ=KJdo;`2_RZ`>^9|2)h?6lw7{@mBQ2G=1^N&6rsl{78j@1JyEIM+ zNYID%gem=+v}JMRwU>}YfMD+ic~cQj=W4>G<~;V>r3$Xp6=j@5ub*F2uERVys~ic} zD`N+U#&WuUuMiB<`5oy|N*r5{ic^N}%g3rc5VjWQEqQLueGBLcKAU2?NIn_d{N-}* z@U>?eO+mjBWsL$u_@g!*oEal0E?V)E@lTM|+W5KM41d{O@J7+^;4WZc86}1qj z;N#Ko*z>Yr_LNsCli&;I%I92LdHWX6t%+`dUA>uQ>xSB@XCBYgUAYC#{3IBSVkCaA z@TOTi^4e{{!$mh&vb0mo{NfBgc6>vPKTTn{N>NEwud}>-Qv2oe{N>>09*al&d;a;! zCrdxRkJ#QXdh=#KFqEx3^qeEG(Rq~erNfeL>Dx5D;DV5^V{aA;CS~f77h+1QEw469 zw%2W6NgP#hRHgSC%DFk6kEnefA!s`bBOsab)6r-5&wz3l7(Nm5>FgQ$cpg&<2w zRj|!k{Z;0x?R6Cmj=lqDdsTDR2}|y%-Tb2{%ig)9+HQ~LhY!6AdMDCn&a3pe>16PlQq z%^O=(q(|VEejrpKAnWKKR7W!DiP|}B!?n~eY!Dz#BuwMZ+tQ#aqqaWz^K14@V@usr z*Y}Ua9dZ1&RDD>Kid`MUMcXUe3mNm?m#1f2tM0&LVd-ut#eqEM#k`H4^jjiYwZWH7 zbmH79t`C-%XWcc|EmsgaT9(8;#|BSyd?SnjfcX!-bpKodeplmIMtR%8(Jsg9RWUm$WWPVMa=X7t7`p{D)2#-M4OE-* z&))+$8SX?YSS>{Dq@HP?+@08`C7u)vrd#S&C-N?KoYomWaxV=&laYnD`7ab+{lfjkg)z4=Sf6vV@ z$Mtsgo-7yZYHoM3^Crtz2}R=NS#52~&K$j6RnNHF#hLeezDBki-y8oj{WMB)@#0VN z+%&e%A8SUhs(b;M)slj&xV1nw7wwvv6f0MtjtJ>mr<{iJ%4%Tj) zl9>tJvkI)j^al`kBm+<;tC}U2GHX*&$jQ)c4ui?SjKbZ0>|EPK<=)C-ec`(6Vr~Yt zD4j;8>7S<`9C6In*d5)zun-QY9E*({QamHqVDDOHcMEd)IaR<|L$gS`w>UclGj$|Q zY;r#$9dj>AOiY&@SS!h}kGNa-@4;xzHCCnjjlkxqaP#I_ASJ=RjYfjJyjq^riz1KD zk>?yfI�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 literal 0 HcmV?d00001 diff --git a/tools/droiddoc/templates-sdk-dyn/assets/images/stack-arrow-right.png b/tools/droiddoc/templates-sdk-dyn/assets/images/stack-arrow-right.png new file mode 100644 index 0000000000000000000000000000000000000000..46d6a50208ef66d09600e18bf38fcf935a84f672 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^AT~b-8<4#FKaLMbNtU=qlmzFem6RtIr7}3C= stickyTop) { + sticky = true; + $stickyEl.show(); + $menuEl.addClass('sticky-menu'); + + setTimeout(function() { + $stickyEl.css({'opacity': 1}); + }, 10); + + // If its a jump then make sure to modify the scroll because of the + // sticky nav + if (!autoScrolling && Math.abs(top - lastScroll > 100)) { + autoScrolling = true; + $('body,html').animate({scrollTop:(top = top - 60)}, '250', 'swing', function() { autoScrolling = false; }); + } + } else if (hiding && top < 15) { + $menuEl.removeClass('sticky-menu'); + $stickyEl.hide(); + hiding = false; + } + + lastScroll = top; + }); + + // Stack hover states + $('.section-card-menu').each(function(index, el) { + var height = $(el).height(); + $(el).css({height:height+'px', position:'relative'}); + var $cardInfo = $(el).find('.card-info'); + + $cardInfo.css({position: 'absolute', bottom:'0px', left:'0px', right:'0px', overflow:'visible'}); + }); + + // Auto scroll anchors and account for sticky nav + $('a[href^=#]').click(function(e){ + e.preventDefault(); + var tmp = $.attr(this, 'href').substr(1); + var el = document.getElementById(tmp) || + ((tmp = document.getElementsByName(tmp)).length ? + tmp[0] : null); + + if (el) { + var top = $(el).offset().top - 60; + autoScrolling = true; + $('body,html').animate({scrollTop:top}, '500', 'swing', function() { autoScrolling = false; }); + } + }); + + }); + +})(); @@ -1724,6 +1824,7 @@ function search_changed(e, kd, toroot) $('.suggest-card').hide(); if ($("#searchResults").is(":hidden") && (search.value != "")) { // if results aren't showing (and text not empty), return true to allow search to execute + $('body,html').animate({scrollTop:0}, '500', 'swing', function() { autoScrolling = false; }); return true; } else { // otherwise, results are already showing, so allow ajax to auto refresh the results @@ -3233,3 +3334,603 @@ function showSamples() { $("#samples").append($ul); } + + + +/* ########################################################## */ +/* ################### RESOURCE CARDS ##################### */ +/* ########################################################## */ + +/** Handle resource queries, collections, and grids (sections). Requires + jd_tag_helpers.js and the *_unified_data.js to be loaded. */ + +(function() { + // Prevent the same resource from being loaded more than once per page. + var addedPageResources = {}; + + $(document).ready(function() { + $('.resource-widget').each(function() { + initResourceWidget(this); + }); + + // Might remove this, but adds ellipsis to card descriptions rather + // than just cutting them off, not sure if it performs well + $('.card-info .text').ellipsis(); + }); + + /* + Three types of resource layouts: + Flow - Uses a fixed row-height flow using float left style. + Carousel - Single card slideshow all same dimension absoute. + Stack - Uses fixed columns and flexible element height. + */ + function initResourceWidget(widget) { + var $widget = $(widget); + var isFlow = $widget.hasClass('resource-flow-layout'), + isCarousel = $widget.hasClass('resource-carousel-layout'), + isStack = $widget.hasClass('resource-stack-layout'); + + // find size of widget by pulling out its class name + var sizeCols = 1; + var m = $widget.get(0).className.match(/\bcol-(\d+)\b/); + if (m) { + sizeCols = parseInt(m[1], 10); + } + + var opts = { + cardSizes: ($widget.data('cardsizes') || '').split(','), + maxResults: parseInt($widget.data('maxresults') || '100', 10), + itemsPerPage: $widget.data('itemsperpage'), + sortOrder: $widget.data('sortorder'), + query: $widget.data('query'), + section: $widget.data('section'), + sizeCols: sizeCols + }; + + // run the search for the set of resources to show + + var resources = buildResourceList(opts); + + if (isFlow) { + drawResourcesFlowWidget($widget, opts, resources); + } else if (isCarousel) { + drawResourcesCarouselWidget($widget, opts, resources); + } else if (isStack) { + var sections = buildSectionList(opts); + opts['numStacks'] = $widget.data('numstacks'); + drawResourcesStackWidget($widget, opts, resources, sections); + } + } + + /* Initializes a Resource Carousel Widget */ + function drawResourcesCarouselWidget($widget, opts, resources) { + $widget.empty(); + + $widget.addClass('resource-card slideshow-container') + .append($('').addClass('slideshow-prev').text('Prev')) + .append($('').addClass('slideshow-next').text('Next')); + + var css = { 'width': $widget.width() + 'px', + 'height': $widget.height() + 'px' }; + + var $ul = $('