1
0
Fork 0
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:
Luke Pulverenti 2016-07-18 14:58:17 -04:00
parent 5a44186eb5
commit 3460f6708d
4 changed files with 14 additions and 66 deletions

View file

@ -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');

View file

@ -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;
} }
} }

View file

@ -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);

View file

@ -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);
} }
} }