mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update paper button and button
This commit is contained in:
parent
9e2d289265
commit
93fcca6965
2 changed files with 62 additions and 70 deletions
|
@ -7,73 +7,69 @@ import appHost from 'apphost';
|
||||||
import 'css!./emby-button';
|
import 'css!./emby-button';
|
||||||
import 'registerElement';
|
import 'registerElement';
|
||||||
|
|
||||||
/* eslint-disable indent */
|
const EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
||||||
|
const EmbyLinkButtonPrototype = Object.create(HTMLAnchorElement.prototype);
|
||||||
|
|
||||||
const EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
function onAnchorClick(e) {
|
||||||
const EmbyLinkButtonPrototype = Object.create(HTMLAnchorElement.prototype);
|
const href = this.getAttribute('href') || '';
|
||||||
|
if (href !== '#') {
|
||||||
function onAnchorClick(e) {
|
if (this.getAttribute('target')) {
|
||||||
const href = this.getAttribute('href') || '';
|
if (!appHost.supports('targetblank')) {
|
||||||
if (href !== '#') {
|
e.preventDefault();
|
||||||
if (this.getAttribute('target')) {
|
shell.openUrl(href);
|
||||||
if (!appHost.supports('targetblank')) {
|
|
||||||
e.preventDefault();
|
|
||||||
shell.openUrl(href);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
appRouter.handleAnchorClick(e);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
e.preventDefault();
|
appRouter.handleAnchorClick(e);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EmbyButtonPrototype.createdCallback = function () {
|
||||||
|
if (this.classList.contains('emby-button')) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
EmbyButtonPrototype.createdCallback = function () {
|
this.classList.add('emby-button');
|
||||||
if (this.classList.contains('emby-button')) {
|
// TODO replace all instances of element-showfocus with this method
|
||||||
return;
|
if (layoutManager.tv) {
|
||||||
}
|
// handles all special css for tv layout
|
||||||
|
// this method utilizes class chaining
|
||||||
|
this.classList.add('show-focus');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
this.classList.add('emby-button');
|
EmbyButtonPrototype.attachedCallback = function () {
|
||||||
// TODO replace all instances of element-showfocus with this method
|
if (this.tagName === 'A') {
|
||||||
if (layoutManager.tv) {
|
dom.removeEventListener(this, 'click', onAnchorClick, {});
|
||||||
// handles all special css for tv layout
|
dom.addEventListener(this, 'click', onAnchorClick, {});
|
||||||
// this method utilizes class chaining
|
|
||||||
this.classList.add('show-focus');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
EmbyButtonPrototype.attachedCallback = function () {
|
if (this.getAttribute('data-autohide') === 'true') {
|
||||||
if (this.tagName === 'A') {
|
if (appHost.supports('externallinks')) {
|
||||||
dom.removeEventListener(this, 'click', onAnchorClick, {});
|
this.classList.remove('hide');
|
||||||
dom.addEventListener(this, 'click', onAnchorClick, {});
|
} else {
|
||||||
|
this.classList.add('hide');
|
||||||
if (this.getAttribute('data-autohide') === 'true') {
|
|
||||||
if (appHost.supports('externallinks')) {
|
|
||||||
this.classList.remove('hide');
|
|
||||||
} else {
|
|
||||||
this.classList.add('hide');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
};
|
||||||
|
|
||||||
EmbyButtonPrototype.detachedCallback = function () {
|
EmbyButtonPrototype.detachedCallback = function () {
|
||||||
dom.removeEventListener(this, 'click', onAnchorClick, {});
|
dom.removeEventListener(this, 'click', onAnchorClick, {});
|
||||||
};
|
};
|
||||||
|
|
||||||
EmbyLinkButtonPrototype.createdCallback = EmbyButtonPrototype.createdCallback;
|
EmbyLinkButtonPrototype.createdCallback = EmbyButtonPrototype.createdCallback;
|
||||||
EmbyLinkButtonPrototype.attachedCallback = EmbyButtonPrototype.attachedCallback;
|
EmbyLinkButtonPrototype.attachedCallback = EmbyButtonPrototype.attachedCallback;
|
||||||
|
|
||||||
document.registerElement('emby-button', {
|
document.registerElement('emby-button', {
|
||||||
prototype: EmbyButtonPrototype,
|
prototype: EmbyButtonPrototype,
|
||||||
extends: 'button'
|
extends: 'button'
|
||||||
});
|
});
|
||||||
|
|
||||||
document.registerElement('emby-linkbutton', {
|
document.registerElement('emby-linkbutton', {
|
||||||
prototype: EmbyLinkButtonPrototype,
|
prototype: EmbyLinkButtonPrototype,
|
||||||
extends: 'a'
|
extends: 'a'
|
||||||
});
|
});
|
||||||
|
|
||||||
export default EmbyButtonPrototype;
|
export default EmbyButtonPrototype;
|
||||||
|
|
||||||
/* eslint-enable indent */
|
|
||||||
|
|
|
@ -2,21 +2,17 @@ import layoutManager from 'layoutManager';
|
||||||
import 'css!./emby-button';
|
import 'css!./emby-button';
|
||||||
import 'registerElement';
|
import 'registerElement';
|
||||||
|
|
||||||
/* eslint-disable indent */
|
const EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
||||||
|
|
||||||
const EmbyButtonPrototype = Object.create(HTMLButtonElement.prototype);
|
EmbyButtonPrototype.createdCallback = function () {
|
||||||
|
this.classList.add('paper-icon-button-light');
|
||||||
|
|
||||||
EmbyButtonPrototype.createdCallback = function () {
|
if (layoutManager.tv) {
|
||||||
this.classList.add('paper-icon-button-light');
|
this.classList.add('show-focus');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
if (layoutManager.tv) {
|
document.registerElement('paper-icon-button-light', {
|
||||||
this.classList.add('show-focus');
|
prototype: EmbyButtonPrototype,
|
||||||
}
|
extends: 'button'
|
||||||
};
|
});
|
||||||
|
|
||||||
document.registerElement('paper-icon-button-light', {
|
|
||||||
prototype: EmbyButtonPrototype,
|
|
||||||
extends: 'button'
|
|
||||||
});
|
|
||||||
|
|
||||||
/* eslint-enable indent */
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue