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:
parent
09513af31b
commit
4678528d00
657 changed files with 422 additions and 0 deletions
|
@ -1,56 +0,0 @@
|
|||
define(["layoutManager", "browser", "dom", "css!./emby-input", "registerElement"], function(layoutManager, browser, dom) {
|
||||
"use strict";
|
||||
|
||||
function onChange() {
|
||||
var label = this.labelElement;
|
||||
if (this.value) label.classList.remove("inputLabel-float");
|
||||
else {
|
||||
supportsFloatingLabel && "date" !== this.type && "time" !== this.type && label.classList.add("inputLabel-float")
|
||||
}
|
||||
}
|
||||
var EmbyInputPrototype = Object.create(HTMLInputElement.prototype),
|
||||
inputId = 0,
|
||||
supportsFloatingLabel = !1;
|
||||
if (Object.getOwnPropertyDescriptor && Object.defineProperty) {
|
||||
var descriptor = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value");
|
||||
if (descriptor && descriptor.configurable) {
|
||||
var baseSetMethod = descriptor.set;
|
||||
descriptor.set = function(value) {
|
||||
baseSetMethod.call(this, value), this.dispatchEvent(new CustomEvent("valueset", {
|
||||
bubbles: !1,
|
||||
cancelable: !1
|
||||
}))
|
||||
}, Object.defineProperty(HTMLInputElement.prototype, "value", descriptor), supportsFloatingLabel = !0
|
||||
}
|
||||
}
|
||||
EmbyInputPrototype.createdCallback = function() {
|
||||
if (this.id || (this.id = "embyinput" + inputId, inputId++), !this.classList.contains("emby-input")) {
|
||||
this.classList.add("emby-input");
|
||||
var parentNode = this.parentNode,
|
||||
document = this.ownerDocument,
|
||||
label = document.createElement("label");
|
||||
label.innerHTML = this.getAttribute("label") || "", label.classList.add("inputLabel"), label.classList.add("inputLabelUnfocused"), label.htmlFor = this.id, parentNode.insertBefore(label, this), this.labelElement = label, dom.addEventListener(this, "focus", function() {
|
||||
onChange.call(this), document.attachIME && document.attachIME(this), label.classList.add("inputLabelFocused"), label.classList.remove("inputLabelUnfocused")
|
||||
}, {
|
||||
passive: !0
|
||||
}), dom.addEventListener(this, "blur", function() {
|
||||
onChange.call(this), label.classList.remove("inputLabelFocused"), label.classList.add("inputLabelUnfocused")
|
||||
}, {
|
||||
passive: !0
|
||||
}), dom.addEventListener(this, "change", onChange, {
|
||||
passive: !0
|
||||
}), dom.addEventListener(this, "input", onChange, {
|
||||
passive: !0
|
||||
}), dom.addEventListener(this, "valueset", onChange, {
|
||||
passive: !0
|
||||
}), browser.orsay && this === document.activeElement && document.attachIME && document.attachIME(this)
|
||||
}
|
||||
}, EmbyInputPrototype.attachedCallback = function() {
|
||||
this.labelElement.htmlFor = this.id, onChange.call(this)
|
||||
}, EmbyInputPrototype.label = function(text) {
|
||||
this.labelElement.innerHTML = text
|
||||
}, document.registerElement("emby-input", {
|
||||
prototype: EmbyInputPrototype,
|
||||
extends: "input"
|
||||
})
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue