1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

First separation commit.

Added LICENSE, README.md, CONTRIBUTORS.md
This commit is contained in:
Erwin de Haan 2019-01-09 12:36:54 +01:00
parent 09513af31b
commit 4678528d00
657 changed files with 422 additions and 0 deletions

View file

@ -0,0 +1,56 @@
.emby-collapse {
margin: .5em 0
}
.collapseContent {
border-width: 0;
padding: 1.25em;
height: 0;
-webkit-transition-property: height;
-o-transition-property: height;
transition-property: height;
-webkit-transition-duration: .3s;
-o-transition-duration: .3s;
transition-duration: .3s;
overflow: hidden
}
.emby-collapsible-button {
margin: 0;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
width: 100%;
text-align: left;
text-transform: none;
border-width: 0 0 .1em;
border-style: solid;
padding-left: .1em;
background: 0 0;
-webkit-box-shadow: none;
box-shadow: none
}
.emby-collapse-expandIcon {
-webkit-transform-origin: 50% 50%;
transform-origin: 50% 50%;
-webkit-transition: -webkit-transform 180ms ease-out;
-o-transition: transform 180ms ease-out;
transition: transform 180ms ease-out;
position: absolute;
right: .5em;
font-size: 1.5em
}
.emby-collapse-expandIconExpanded {
-webkit-transform: rotate(180deg);
transform: rotate(180deg)
}
.emby-collapsible-title {
margin: 0;
padding: 0
}

View file

@ -0,0 +1,43 @@
define(["browser", "css!./emby-collapse", "registerElement", "emby-button"], function(browser) {
"use strict";
function slideDownToShow(button, elem) {
elem.classList.remove("hide"), elem.classList.add("expanded"), elem.style.height = "auto";
var height = elem.offsetHeight + "px";
elem.style.height = "0";
elem.offsetHeight;
elem.style.height = height, setTimeout(function() {
elem.classList.contains("expanded") ? elem.classList.remove("hide") : elem.classList.add("hide"), elem.style.height = "auto"
}, 300), button.querySelector("i").classList.add("emby-collapse-expandIconExpanded")
}
function slideUpToHide(button, elem) {
elem.style.height = elem.offsetHeight + "px";
elem.offsetHeight;
elem.classList.remove("expanded"), elem.style.height = "0", setTimeout(function() {
elem.classList.contains("expanded") ? elem.classList.remove("hide") : elem.classList.add("hide")
}, 300), button.querySelector("i").classList.remove("emby-collapse-expandIconExpanded")
}
function onButtonClick(e) {
var button = this,
collapseContent = button.parentNode.querySelector(".collapseContent");
collapseContent.expanded ? (collapseContent.expanded = !1, slideUpToHide(button, collapseContent)) : (collapseContent.expanded = !0, slideDownToShow(button, collapseContent))
}
var EmbyButtonPrototype = Object.create(HTMLDivElement.prototype);
EmbyButtonPrototype.attachedCallback = function() {
if (!this.classList.contains("emby-collapse")) {
this.classList.add("emby-collapse");
var collapseContent = this.querySelector(".collapseContent");
collapseContent && collapseContent.classList.add("hide");
var title = this.getAttribute("title"),
html = '<button is="emby-button" type="button" on-click="toggleExpand" id="expandButton" class="emby-collapsible-button iconRight"><h3 class="emby-collapsible-title" title="' + title + '">' + title + '</h3><i class="md-icon emby-collapse-expandIcon">expand_more</i></button>';
this.insertAdjacentHTML("afterbegin", html);
var button = this.querySelector(".emby-collapsible-button");
button.addEventListener("click", onButtonClick), "true" === this.getAttribute("data-expanded") && onButtonClick.call(button)
}
}, document.registerElement("emby-collapse", {
prototype: EmbyButtonPrototype,
extends: "div"
})
});