From 7acfaee309f59d399579402cf18917e6871eb6fc Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 29 Aug 2016 03:12:24 -0400 Subject: [PATCH] update dialogs --- .../emby-webcomponents/.bower.json | 8 +- .../cardbuilder/cardbuilder.js | 6 +- .../emby-webcomponents/focusmanager.js | 18 +--- .../notifications/badge.png | Bin 0 -> 3917 bytes .../notifications/notifications.js | 1 + .../{page.js => pagejs}/page.js | 0 .../scroller/smoothscroller.js | 73 ++------------- .../bower_components/iron-icon/.bower.json | 6 +- .../bower_components/polymer/.bower.json | 8 +- .../components/fileorganizer/fileorganizer.js | 2 +- .../fileorganizer/fileorganizer.template.html | 84 +++++++++--------- .../medialibraryeditor/medialibraryeditor.js | 4 + dashboard-ui/scripts/librarybrowser.js | 4 +- dashboard-ui/scripts/movietrailers.js | 7 +- dashboard-ui/scripts/site.js | 8 +- 15 files changed, 86 insertions(+), 143 deletions(-) create mode 100644 dashboard-ui/bower_components/emby-webcomponents/notifications/badge.png rename dashboard-ui/bower_components/emby-webcomponents/{page.js => pagejs}/page.js (100%) diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index d57603174c..5a16c1459b 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -14,12 +14,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.4.193", - "_release": "1.4.193", + "version": "1.4.197", + "_release": "1.4.197", "_resolution": { "type": "version", - "tag": "1.4.193", - "commit": "e97de63ae9ed4e9f10fbd27da9de8e8a77ffd3fb" + "tag": "1.4.197", + "commit": "253ef4d5fe1a4e7126ea48786342d3cb44c23b47" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.1", diff --git a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js index 8066fbe670..354242b8f9 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js +++ b/dashboard-ui/bower_components/emby-webcomponents/cardbuilder/cardbuilder.js @@ -873,7 +873,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo } } - if (showTitle && forceName && overlayText && lines.length == 1) { + if ((showTitle || !imgUrl) && forceName && overlayText && lines.length == 1) { lines = []; } @@ -1205,6 +1205,8 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo actionAttribute = ''; } + className += ' card-withuserdata'; + var positionTicksData = item.UserData && item.UserData.PlaybackPositionTicks ? (' data-positionticks="' + item.UserData.PlaybackPositionTicks + '"') : ''; var collectionIdData = options.collectionId ? (' data-collectionid="' + options.collectionId + '"') : ''; var playlistIdData = options.playlistId ? (' data-playlistid="' + options.playlistId + '"') : ''; @@ -1398,7 +1400,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo function onUserDataChanged(userData) { - var cards = document.querySelectorAll('.card[data-id="' + userData.ItemId + '"]'); + var cards = document.querySelectorAll('.card-withuserdata[data-id="' + userData.ItemId + '"]'); for (var i = 0, length = cards.length; i < length; i++) { updateUserData(cards[i], userData); diff --git a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js index 429ad50112..b2a22fa08d 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js +++ b/dashboard-ui/bower_components/emby-webcomponents/focusmanager.js @@ -200,22 +200,10 @@ define(['dom'], function (dom) { var offset = getOffset(elem); - var posY = offset.top; - var posX = offset.left; + offset.right = offset.left + offset.width; + offset.bottom = offset.top + offset.height; - var width = offset.width; - var height = offset.height; - //var width = elem.offsetWidth; - //var height = elem.offsetHeight; - - return { - left: posX, - top: posY, - width: width, - height: height, - right: posX + width, - bottom: posY + height - }; + return offset; } function nav(activeElement, direction) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/notifications/badge.png b/dashboard-ui/bower_components/emby-webcomponents/notifications/badge.png new file mode 100644 index 0000000000000000000000000000000000000000..38807c3343901d9ec18ba5d9b8f48a7fcb43128b GIT binary patch literal 3917 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 max ? max : number; } - var pluginName = 'sly'; - var className = 'Sly'; - var namespace = pluginName; - // Other global values var dragMouseEvents = ['mousemove', 'mouseup']; var dragTouchEvents = ['touchmove', 'touchend']; @@ -107,7 +92,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l dragSource: null, // Selector or DOM element for catching dragging events. Default is FRAME. mouseDragging: 1, // Enable navigation by dragging the SLIDEE with mouse cursor. touchDragging: 1, // Enable navigation by dragging the SLIDEE with touch events. - releaseSwing: false, // Ease out on dragging swing release. swingSpeed: 0.2, // Swing synchronization speed, where: 1 = instant, 0 = infinite. dragThreshold: 3, // Distance in pixels before Sly recognizes dragging. intervactive: null, // Selector for special interactive elements. @@ -168,11 +152,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l cur: 0 }; - // Items - var rel = { - activeItem: null - }; - // Miscellaneous var scrollSource = o.scrollSource ? o.scrollSource : frameElement; var dragSourceElement = o.dragSource ? o.dragSource : frameElement; @@ -185,7 +164,7 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l delta: 0, resetTime: 200 }; - var historyID = 0; + var i, l; // Normalizing frame @@ -586,21 +565,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l return arguments[0]; } - /** - * Keeps track of a dragging delta history. - * - * @return {Void} - */ - function draggingHistoryTick() { - // Looking at this, I know what you're thinking :) But as we need only 4 history states, doing it this way - // as opposed to a proper loop is ~25 bytes smaller (when minified with GCC), a lot faster, and doesn't - // generate garbage. The loop version would create 2 new variables on every tick. Unexaptable! - dragging.history[0] = dragging.history[1]; - dragging.history[1] = dragging.history[2]; - dragging.history[2] = dragging.history[3]; - dragging.history[3] = dragging.delta; - } - /** * Initialize continuous movement. * @@ -649,16 +613,15 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l dragging.init = 0; dragging.source = event.target; dragging.touch = isTouch; - dragging.pointer = isTouch ? event.touches[0] : event; - dragging.initX = dragging.pointer.pageX; - dragging.initY = dragging.pointer.pageY; + var pointer = isTouch ? event.touches[0] : event; + dragging.initX = pointer.pageX; + dragging.initY = pointer.pageY; dragging.initPos = isSlidee ? pos.cur : hPos.cur; dragging.start = +new Date(); dragging.time = 0; dragging.path = 0; dragging.delta = 0; dragging.locked = 0; - dragging.history = [0, 0, 0, 0]; dragging.pathToLock = isSlidee ? isTouch ? 30 : 10 : 0; // Bind dragging events @@ -680,12 +643,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l if (isSlidee) { slideeElement.classList.add(o.draggedClass); } - - // Keep track of a dragging path history. This is later used in the - // dragging release swing calculation when dragging SLIDEE. - if (isSlidee) { - historyID = setInterval(draggingHistoryTick, 10); - } } /** @@ -697,9 +654,9 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l */ function dragHandler(event) { dragging.released = event.type === 'mouseup' || event.type === 'touchend'; - dragging.pointer = dragging.touch ? event[dragging.released ? 'changedTouches' : 'touches'][0] : event; - dragging.pathX = dragging.pointer.pageX - dragging.initX; - dragging.pathY = dragging.pointer.pageY - dragging.initY; + var pointer = dragging.touch ? event[dragging.released ? 'changedTouches' : 'touches'][0] : event; + dragging.pathX = pointer.pageX - dragging.initX; + dragging.pathY = pointer.pageY - dragging.initY; dragging.path = sqrt(pow(dragging.pathX, 2) + pow(dragging.pathY, 2)); dragging.delta = o.horizontal ? dragging.pathX : dragging.pathY; @@ -734,13 +691,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l // Cancel dragging on release if (dragging.released) { dragEnd(); - - // Adjust path with a swing on mouse release - if (o.releaseSwing && dragging.slidee) { - dragging.swing = (dragging.delta - dragging.history[0]) / 40 * 300; - dragging.delta += dragging.swing; - dragging.tweese = abs(dragging.swing) > 10; - } } slideTo(dragging.slidee ? round(dragging.initPos - dragging.delta) : handleToSlidee(dragging.initPos + dragging.delta)); @@ -752,7 +702,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l * @return {Void} */ function dragEnd() { - clearInterval(historyID); dragging.released = true; if (dragging.touch) { @@ -825,8 +774,6 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l */ function scrollHandler(event) { - event[namespace] = self; - // Ignore if there is no scrolling to be done if (!o.scrollBy || pos.start === pos.end) { return; @@ -862,8 +809,7 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l self.destroy = function () { dom.removeEventListener(window, 'resize', onResize, { - passive: true, - capture: true + passive: true }); // Reset native FRAME element scroll @@ -946,8 +892,7 @@ define(['browser', 'layoutManager', 'dom', 'scrollStyles'], function (browser, l if (!o.scrollWidth) { dom.addEventListener(window, 'resize', onResize, { - passive: true, - capture: true + passive: true }); } diff --git a/dashboard-ui/bower_components/iron-icon/.bower.json b/dashboard-ui/bower_components/iron-icon/.bower.json index f76855b27a..87e3dad5d3 100644 --- a/dashboard-ui/bower_components/iron-icon/.bower.json +++ b/dashboard-ui/bower_components/iron-icon/.bower.json @@ -32,14 +32,14 @@ "web-component-tester": "^4.0.0", "webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0" }, - "homepage": "https://github.com/PolymerElements/iron-icon", + "homepage": "https://github.com/polymerelements/iron-icon", "_release": "1.0.10", "_resolution": { "type": "version", "tag": "v1.0.10", "commit": "f4e146da4982ff96bb25db85290c09e8de4ec734" }, - "_source": "git://github.com/PolymerElements/iron-icon.git", + "_source": "git://github.com/polymerelements/iron-icon.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/iron-icon" + "_originalSource": "polymerelements/iron-icon" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/polymer/.bower.json b/dashboard-ui/bower_components/polymer/.bower.json index 25eb84c037..bc60e6e941 100644 --- a/dashboard-ui/bower_components/polymer/.bower.json +++ b/dashboard-ui/bower_components/polymer/.bower.json @@ -32,14 +32,14 @@ "iron-component-page": "polymerElements/iron-component-page#^1.1.6" }, "private": true, - "homepage": "https://github.com/polymer/polymer", + "homepage": "https://github.com/Polymer/polymer", "_release": "1.6.1", "_resolution": { "type": "version", "tag": "v1.6.1", "commit": "1f197d9d7874b1e5808b2a5c26f34446a7d912fc" }, - "_source": "git://github.com/polymer/polymer.git", - "_target": "^1.1.0", - "_originalSource": "polymer/polymer" + "_source": "git://github.com/Polymer/polymer.git", + "_target": "^1.2.0", + "_originalSource": "Polymer/polymer" } \ No newline at end of file diff --git a/dashboard-ui/components/fileorganizer/fileorganizer.js b/dashboard-ui/components/fileorganizer/fileorganizer.js index 9976a0c53a..bedbb7b53f 100644 --- a/dashboard-ui/components/fileorganizer/fileorganizer.js +++ b/dashboard-ui/components/fileorganizer/fileorganizer.js @@ -1,4 +1,4 @@ -define(['dialogHelper', 'paper-checkbox', 'emby-input', 'emby-button', 'paper-icon-button-light'], function (dialogHelper) { +define(['dialogHelper', 'paper-checkbox', 'emby-input', 'emby-button', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper) { var extractedName; var extractedYear; diff --git a/dashboard-ui/components/fileorganizer/fileorganizer.template.html b/dashboard-ui/components/fileorganizer/fileorganizer.template.html index 7fdee6235c..bfc2126447 100644 --- a/dashboard-ui/components/fileorganizer/fileorganizer.template.html +++ b/dashboard-ui/components/fileorganizer/fileorganizer.template.html @@ -1,48 +1,50 @@ -
- +
+
-
+
+
+ -

+

-
-
- - -
- +
+
+ + +
+ +
+
+
+ + +
+
+
+ +
+
+ +
+
+ +
${LabelEndingEpisodeNumberHelp}
+
+
+
+ ${OptionRememberOrganizeCorrection} +
+
+ + +
-
-
- - -
-
-
- -
-
- -
-
- -
${LabelEndingEpisodeNumberHelp}
-
-
-
- ${OptionRememberOrganizeCorrection} -
-
- - - \ No newline at end of file +
diff --git a/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js b/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js index d4d5cb97b5..8ef2a3178b 100644 --- a/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js +++ b/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js @@ -144,6 +144,10 @@ function onDialogClosed() { Dashboard.hideLoadingMsg(); + + // hardcoding this to true for now until libraryOptions are taken into account + hasChanges = true; + currentDeferred.resolveWith(null, [hasChanges]); } diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 0578c7cde9..d427f23337 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -303,7 +303,9 @@ } } else if (item.IsFolder) { - return id ? "itemlist.html?parentId=" + id : "#"; + if (item.Type != "BoxSet") { + return id ? "itemlist.html?parentId=" + id : "#"; + } } if (item.Type == 'CollectionFolder') { diff --git a/dashboard-ui/scripts/movietrailers.js b/dashboard-ui/scripts/movietrailers.js index e3a326024a..4b2da5aa09 100644 --- a/dashboard-ui/scripts/movietrailers.js +++ b/dashboard-ui/scripts/movietrailers.js @@ -79,7 +79,6 @@ shape: "backdrop", preferThumb: true, context: 'movies', - lazy: true, overlayPlayButton: true }); } @@ -90,7 +89,6 @@ shape: "backdrop", preferThumb: true, context: 'movies', - lazy: true, cardLayout: true, showTitle: true, showYear: true @@ -102,8 +100,7 @@ items: result.Items, shape: "banner", preferBanner: true, - context: 'movies', - lazy: true + context: 'movies' }); } else if (viewStyle == "List") { @@ -122,7 +119,6 @@ context: 'movies', showTitle: true, showYear: true, - lazy: true, cardLayout: true }); } @@ -134,7 +130,6 @@ shape: "portrait", context: 'movies', centerText: true, - lazy: true, overlayPlayButton: true }); } diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index 502eab06eb..a5c972a0c1 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1229,7 +1229,7 @@ var AppInfo = {}; inputManager: embyWebComponentsBowerPath + "/inputmanager", qualityoptions: embyWebComponentsBowerPath + "/qualityoptions", hammer: bowerPath + "/hammerjs/hammer.min", - pageJs: embyWebComponentsBowerPath + '/page.js/page', + pageJs: embyWebComponentsBowerPath + '/pagejs/page', focusManager: embyWebComponentsBowerPath + "/focusmanager", datetime: embyWebComponentsBowerPath + "/datetime", globalize: embyWebComponentsBowerPath + "/globalize", @@ -2799,8 +2799,12 @@ var AppInfo = {}; return navigator.serviceWorker.ready; }).then(function (reg) { + if (!reg.sync) { + return Promise.resovle(); + } + // https://github.com/WICG/BackgroundSync/blob/master/explainer.md - return reg.sync.register('emby-sync').then(function() { + return reg.sync.register('emby-sync').then(function () { window.SyncRegistered = Dashboard.isConnectMode(); }); });