mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
use shared helper
This commit is contained in:
parent
5a44186eb5
commit
3460f6708d
4 changed files with 14 additions and 66 deletions
|
@ -1,17 +1,4 @@
|
||||||
define(['dialogHelper', 'layoutManager', 'globalize', 'browser', 'emby-button', 'css!./actionsheet', 'material-icons', 'scrollStyles'], function (dialogHelper, layoutManager, globalize, browser) {
|
define(['dialogHelper', 'layoutManager', 'globalize', 'browser', 'dom', 'emby-button', 'css!./actionsheet', 'material-icons', 'scrollStyles'], function (dialogHelper, layoutManager, globalize, browser, dom) {
|
||||||
|
|
||||||
function parentWithClass(elem, className) {
|
|
||||||
|
|
||||||
while (!elem.classList || !elem.classList.contains(className)) {
|
|
||||||
elem = elem.parentNode;
|
|
||||||
|
|
||||||
if (!elem) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return elem;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getOffsets(elems) {
|
function getOffsets(elems) {
|
||||||
|
|
||||||
|
@ -221,7 +208,7 @@
|
||||||
|
|
||||||
dlg.addEventListener('click', function (e) {
|
dlg.addEventListener('click', function (e) {
|
||||||
|
|
||||||
var actionSheetMenuItem = parentWithClass(e.target, 'actionSheetMenuItem');
|
var actionSheetMenuItem = dom.parentWithClass(e.target, 'actionSheetMenuItem');
|
||||||
|
|
||||||
if (actionSheetMenuItem) {
|
if (actionSheetMenuItem) {
|
||||||
selectedId = actionSheetMenuItem.getAttribute('data-id');
|
selectedId = actionSheetMenuItem.getAttribute('data-id');
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['historyManager', 'focusManager', 'browser', 'layoutManager', 'inputManager', 'scrollHelper', 'css!./dialoghelper.css', 'scrollStyles'], function (historyManager, focusManager, browser, layoutManager, inputManager, scrollHelper) {
|
define(['historyManager', 'focusManager', 'browser', 'layoutManager', 'inputManager', 'scrollHelper', 'dom', 'css!./dialoghelper.css', 'scrollStyles'], function (historyManager, focusManager, browser, layoutManager, inputManager, scrollHelper, dom) {
|
||||||
|
|
||||||
var globalOnOpenCallback;
|
var globalOnOpenCallback;
|
||||||
|
|
||||||
|
@ -128,19 +128,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function parentWithTag(elem, tagName) {
|
|
||||||
|
|
||||||
while (elem.tagName != tagName) {
|
|
||||||
elem = elem.parentNode;
|
|
||||||
|
|
||||||
if (!elem) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return elem;
|
|
||||||
}
|
|
||||||
|
|
||||||
function closeOnBackdropClick(dlg) {
|
function closeOnBackdropClick(dlg) {
|
||||||
|
|
||||||
dlg.addEventListener('click', function (event) {
|
dlg.addEventListener('click', function (event) {
|
||||||
|
@ -149,7 +136,7 @@
|
||||||
&& rect.left <= event.clientX && event.clientX <= (rect.left + rect.width));
|
&& rect.left <= event.clientX && event.clientX <= (rect.left + rect.width));
|
||||||
|
|
||||||
if (!isInDialog) {
|
if (!isInDialog) {
|
||||||
if (parentWithTag(event.target, 'SELECT')) {
|
if (dom.parentWithTag(event.target, 'SELECT')) {
|
||||||
isInDialog = true;
|
isInDialog = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define([], function () {
|
define(['dom'], function (dom) {
|
||||||
|
|
||||||
function autoFocus(view, defaultToFirst) {
|
function autoFocus(view, defaultToFirst) {
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ define([], function () {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var focusableContainer = parentWithClass(activeElement, 'focusable');
|
var focusableContainer = dom.parentWithClass(activeElement, 'focusable');
|
||||||
|
|
||||||
var doc = activeElement.ownerDocument;
|
var doc = activeElement.ownerDocument;
|
||||||
var windowData = getWindowData(doc.defaultView, doc.documentElement);
|
var windowData = getWindowData(doc.defaultView, doc.documentElement);
|
||||||
|
@ -273,9 +273,9 @@ define([], function () {
|
||||||
var nearestElement = nearest[0].node;
|
var nearestElement = nearest[0].node;
|
||||||
|
|
||||||
// See if there's a focusable container, and if so, send the focus command to that
|
// See if there's a focusable container, and if so, send the focus command to that
|
||||||
var nearestElementFocusableParent = parentWithClass(nearestElement, 'focusable');
|
var nearestElementFocusableParent = dom.parentWithClass(nearestElement, 'focusable');
|
||||||
if (nearestElementFocusableParent && nearestElementFocusableParent != nearestElement && activeElement) {
|
if (nearestElementFocusableParent && nearestElementFocusableParent != nearestElement && activeElement) {
|
||||||
if (parentWithClass(activeElement, 'focusable') != nearestElementFocusableParent) {
|
if (dom.parentWithClass(activeElement, 'focusable') != nearestElementFocusableParent) {
|
||||||
nearestElement = nearestElementFocusableParent;
|
nearestElement = nearestElementFocusableParent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -283,19 +283,6 @@ define([], function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function parentWithClass(elem, className) {
|
|
||||||
|
|
||||||
while (!elem.classList || !elem.classList.contains(className)) {
|
|
||||||
elem = elem.parentNode;
|
|
||||||
|
|
||||||
if (!elem) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return elem;
|
|
||||||
}
|
|
||||||
|
|
||||||
function intersectsInternal(a1, a2, b1, b2) {
|
function intersectsInternal(a1, a2, b1, b2) {
|
||||||
|
|
||||||
return (b1 >= a1 && b1 <= a2) || (b2 >= a1 && b2 <= a2);
|
return (b1 >= a1 && b1 <= a2) || (b2 >= a1 && b2 <= a2);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['dialogHelper', 'require', 'layoutManager', 'globalize', 'scrollHelper', 'appStorage', 'connectionManager', 'loading', 'focusManager', 'emby-select', 'listViewStyle', 'paper-icon-button-light', 'css!./../formdialog', 'material-icons', 'css!./subtitleeditor', 'emby-button'], function (dialogHelper, require, layoutManager, globalize, scrollHelper, appStorage, connectionManager, loading, focusManager) {
|
define(['dialogHelper', 'require', 'layoutManager', 'globalize', 'scrollHelper', 'appStorage', 'connectionManager', 'loading', 'focusManager', 'dom', 'emby-select', 'listViewStyle', 'paper-icon-button-light', 'css!./../formdialog', 'material-icons', 'css!./subtitleeditor', 'emby-button'], function (dialogHelper, require, layoutManager, globalize, scrollHelper, appStorage, connectionManager, loading, focusManager, dom) {
|
||||||
|
|
||||||
var currentItem;
|
var currentItem;
|
||||||
var hasChanges;
|
var hasChanges;
|
||||||
|
@ -326,25 +326,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function parentWithClass(elem, className) {
|
|
||||||
|
|
||||||
while (!elem.classList || !elem.classList.contains(className)) {
|
|
||||||
elem = elem.parentNode;
|
|
||||||
|
|
||||||
if (!elem) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return elem;
|
|
||||||
}
|
|
||||||
|
|
||||||
function onSearchSubmit(e) {
|
function onSearchSubmit(e) {
|
||||||
var form = this;
|
var form = this;
|
||||||
|
|
||||||
var lang = form.querySelector('#selectLanguage', form).value;
|
var lang = form.querySelector('#selectLanguage', form).value;
|
||||||
|
|
||||||
searchForSubtitles(parentWithClass(form, 'dialogContent'), lang);
|
searchForSubtitles(dom.parentWithClass(form, 'dialogContent'), lang);
|
||||||
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
return false;
|
return false;
|
||||||
|
@ -352,20 +339,20 @@
|
||||||
|
|
||||||
function onSubtitleListClick(e) {
|
function onSubtitleListClick(e) {
|
||||||
|
|
||||||
var btnDelete = parentWithClass(e.target, 'btnDelete');
|
var btnDelete = dom.parentWithClass(e.target, 'btnDelete');
|
||||||
if (btnDelete) {
|
if (btnDelete) {
|
||||||
var index = btnDelete.getAttribute('data-index');
|
var index = btnDelete.getAttribute('data-index');
|
||||||
var context = parentWithClass(btnDelete, 'subtitleEditorDialog');
|
var context = dom.parentWithClass(btnDelete, 'subtitleEditorDialog');
|
||||||
deleteLocalSubtitle(context, index);
|
deleteLocalSubtitle(context, index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSubtitleResultsClick(e) {
|
function onSubtitleResultsClick(e) {
|
||||||
|
|
||||||
var btnOptions = parentWithClass(e.target, 'btnOptions');
|
var btnOptions = dom.parentWithClass(e.target, 'btnOptions');
|
||||||
if (btnOptions) {
|
if (btnOptions) {
|
||||||
var subtitleId = btnOptions.getAttribute('data-subid');
|
var subtitleId = btnOptions.getAttribute('data-subid');
|
||||||
var context = parentWithClass(btnOptions, 'subtitleEditorDialog');
|
var context = dom.parentWithClass(btnOptions, 'subtitleEditorDialog');
|
||||||
showDownloadOptions(btnOptions, context, subtitleId);
|
showDownloadOptions(btnOptions, context, subtitleId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue