Revert emby-button and emby-tabs changes
This commit is contained in:
parent
97699d513b
commit
85acdb3868
2 changed files with 200 additions and 208 deletions
|
@ -1,3 +1,4 @@
|
|||
import 'webcomponents.js/webcomponents-lite';
|
||||
import { removeEventListener, addEventListener } from '../../scripts/dom';
|
||||
import layoutManager from '../../components/layoutManager';
|
||||
import shell from '../../scripts/shell';
|
||||
|
@ -5,61 +6,8 @@ import { appRouter } from '../../components/appRouter';
|
|||
import { appHost } from '../../components/apphost';
|
||||
import './emby-button.css';
|
||||
|
||||
class EmbyButton extends HTMLButtonElement {
|
||||
createdCallback() {
|
||||
if (this.classList.contains('emby-button')) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.classList.add('emby-button');
|
||||
// TODO replace all instances of element-showfocus with this method
|
||||
if (layoutManager.tv) {
|
||||
// handles all special css for tv layout
|
||||
// this method utilizes class chaining
|
||||
this.classList.add('show-focus');
|
||||
}
|
||||
}
|
||||
|
||||
attachedCallback() {
|
||||
if (this.tagName === 'A') {
|
||||
removeEventListener(this, 'click', onAnchorClick, {});
|
||||
addEventListener(this, 'click', onAnchorClick, {});
|
||||
|
||||
if (this.getAttribute('data-autohide') === 'true') {
|
||||
if (appHost.supports('externallinks')) {
|
||||
this.classList.remove('hide');
|
||||
} else {
|
||||
this.classList.add('hide');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
detachedCallback() {
|
||||
removeEventListener(this, 'click', onAnchorClick, {});
|
||||
}
|
||||
}
|
||||
|
||||
class EmbyLinkButton extends HTMLAnchorElement {
|
||||
attachedCallback() {
|
||||
if (this.tagName === 'A') {
|
||||
removeEventListener(this, 'click', onAnchorClick, {});
|
||||
addEventListener(this, 'click', onAnchorClick, {});
|
||||
|
||||
if (this.getAttribute('data-autohide') === 'true') {
|
||||
if (appHost.supports('externallinks')) {
|
||||
this.classList.remove('hide');
|
||||
} else {
|
||||
this.classList.add('hide');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
detachedCallback() {
|
||||
removeEventListener(this, 'click', onAnchorClick, {});
|
||||
}
|
||||
}
|
||||
const EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
||||
const EmbyLinkButtonPrototype = Object.create(HTMLAnchorElement.prototype);
|
||||
|
||||
function onAnchorClick(e) {
|
||||
const href = this.getAttribute('href') || '';
|
||||
|
@ -77,8 +25,50 @@ function onAnchorClick(e) {
|
|||
}
|
||||
}
|
||||
|
||||
customElements.define('emby-button', EmbyButton, { extends: 'button' });
|
||||
EmbyButtonPrototype.createdCallback = function () {
|
||||
if (this.classList.contains('emby-button')) {
|
||||
return;
|
||||
}
|
||||
|
||||
customElements.define('emby-linkbutton', EmbyLinkButton, { extends: 'a' });
|
||||
this.classList.add('emby-button');
|
||||
// TODO replace all instances of element-showfocus with this method
|
||||
if (layoutManager.tv) {
|
||||
// handles all special css for tv layout
|
||||
// this method utilizes class chaining
|
||||
this.classList.add('show-focus');
|
||||
}
|
||||
};
|
||||
|
||||
export default EmbyButton;
|
||||
EmbyButtonPrototype.attachedCallback = function () {
|
||||
if (this.tagName === 'A') {
|
||||
removeEventListener(this, 'click', onAnchorClick, {});
|
||||
addEventListener(this, 'click', onAnchorClick, {});
|
||||
|
||||
if (this.getAttribute('data-autohide') === 'true') {
|
||||
if (appHost.supports('externallinks')) {
|
||||
this.classList.remove('hide');
|
||||
} else {
|
||||
this.classList.add('hide');
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
EmbyButtonPrototype.detachedCallback = function () {
|
||||
removeEventListener(this, 'click', onAnchorClick, {});
|
||||
};
|
||||
|
||||
EmbyLinkButtonPrototype.createdCallback = EmbyButtonPrototype.createdCallback;
|
||||
EmbyLinkButtonPrototype.attachedCallback = EmbyButtonPrototype.attachedCallback;
|
||||
|
||||
document.registerElement('emby-button', {
|
||||
prototype: EmbyButtonPrototype,
|
||||
extends: 'button'
|
||||
});
|
||||
|
||||
document.registerElement('emby-linkbutton', {
|
||||
prototype: EmbyLinkButtonPrototype,
|
||||
extends: 'a'
|
||||
});
|
||||
|
||||
export default EmbyButtonPrototype;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue