diff --git a/dashboard-ui/components/channelmapper/channelmapper.js b/dashboard-ui/components/channelmapper/channelmapper.js
new file mode 100644
index 0000000000..361839da8c
--- /dev/null
+++ b/dashboard-ui/components/channelmapper/channelmapper.js
@@ -0,0 +1,74 @@
+define(['dialogHelper', 'loading', 'connectionManager', 'globalize', 'paper-checkbox', 'emby-input', 'paper-icon-button-light', 'emby-select', 'emby-button'],
+function (dialogHelper, loading, connectionManager, globalize) {
+
+ var currentServerId;
+
+ function getEditorHtml() {
+
+ var html = '';
+
+ html += '
';
+ html += '
';
+ html += 'coming soon';
+ html += '
';
+ html += '
';
+
+ return html;
+ }
+
+ function initEditor(content, items) {
+
+ }
+
+ return function () {
+
+ var self = this;
+
+ self.show = function (options) {
+
+ var items = options.items || {};
+ currentServerId = options.serverId;
+
+ var dialogOptions = {
+ removeOnClose: true
+ };
+
+ dialogOptions.size = 'small';
+
+ var dlg = dialogHelper.createDialog(dialogOptions);
+
+ dlg.classList.add('formDialog');
+ dlg.classList.add('ui-body-a');
+ dlg.classList.add('background-theme-a');
+
+ var html = '';
+ var title = globalize.translate('MapChannels');
+
+ html += '';
+
+ html += getEditorHtml();
+
+ dlg.innerHTML = html;
+ document.body.appendChild(dlg);
+
+ initEditor(dlg, items);
+
+ dlg.querySelector('.btnCancel').addEventListener('click', function () {
+
+ dialogHelper.close(dlg);
+ });
+
+ return new Promise(function (resolve, reject) {
+
+ dlg.addEventListener('close', resolve);
+ dialogHelper.open(dlg);
+ });
+ };
+ };
+});
\ No newline at end of file
diff --git a/dashboard-ui/devices/ios/ios.css b/dashboard-ui/devices/ios/ios.css
index 817454c193..26eb494f1e 100644
--- a/dashboard-ui/devices/ios/ios.css
+++ b/dashboard-ui/devices/ios/ios.css
@@ -175,3 +175,8 @@ h1, h1 a {
.alphabetPicker {
right: 5px !important;
}
+
+.alphaPickerButton.selected {
+ background-color: transparent !important;
+ color: #52B54B !important;
+}
diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js
index 26449340fc..f60694f4a7 100644
--- a/dashboard-ui/scripts/librarylist.js
+++ b/dashboard-ui/scripts/librarylist.js
@@ -242,7 +242,9 @@
});
Dashboard.hideLoadingMsg();
- itemsContainer.dispatchEvent(new CustomEvent('timercancelled', {}));
+ itemsContainer.dispatchEvent(new CustomEvent('timercancelled', {
+ bubbles: true
+ }));
});
});
});
diff --git a/dashboard-ui/scripts/livetvstatus.js b/dashboard-ui/scripts/livetvstatus.js
index 336a346489..d3b5af575d 100644
--- a/dashboard-ui/scripts/livetvstatus.js
+++ b/dashboard-ui/scripts/livetvstatus.js
@@ -361,7 +361,7 @@
deleteProvider(page, id);
break;
case 'map':
- alert('coming soon');
+ mapChannels(page, id);
break;
default:
break;
@@ -371,6 +371,16 @@
});
}
+ function mapChannels(page, providerId) {
+
+ require(['components/channelmapper/channelmapper'], function (channelmapper) {
+ new channelmapper().show({
+ serverId: ApiClient.serverInfo().Id,
+ providerId: providerId
+ });
+ });
+ }
+
function deleteProvider(page, id) {
var message = Globalize.translate('MessageConfirmDeleteGuideProvider');