diff --git a/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json b/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
index 9ae5e84c7..1f0548f3d 100644
--- a/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
+++ b/dashboard-ui/bower_components/iron-resizable-behavior/.bower.json
@@ -27,14 +27,14 @@
"web-component-tester": "*",
"webcomponentsjs": "webcomponents/webcomponentsjs#^0.7.0"
},
- "homepage": "https://github.com/PolymerElements/iron-resizable-behavior",
+ "homepage": "https://github.com/polymerelements/iron-resizable-behavior",
"_release": "1.0.2",
"_resolution": {
"type": "version",
"tag": "v1.0.2",
"commit": "85de8ba28be2bf17c81d6436ef1119022b003674"
},
- "_source": "git://github.com/PolymerElements/iron-resizable-behavior.git",
+ "_source": "git://github.com/polymerelements/iron-resizable-behavior.git",
"_target": "^1.0.0",
- "_originalSource": "PolymerElements/iron-resizable-behavior"
+ "_originalSource": "polymerelements/iron-resizable-behavior"
}
\ No newline at end of file
diff --git a/dashboard-ui/livetvguideprovider.html b/dashboard-ui/livetvguideprovider.html
new file mode 100644
index 000000000..62c76b027
--- /dev/null
+++ b/dashboard-ui/livetvguideprovider.html
@@ -0,0 +1,53 @@
+
+
+
+ ${TitleLiveTV}
+
+
+
+
+
+
+
+
+
+
+
+
${HeaderEmbyGuide}
+
+
+
+
+
+
+
+
diff --git a/dashboard-ui/scripts/livetvguideprovider.js b/dashboard-ui/scripts/livetvguideprovider.js
new file mode 100644
index 000000000..ebf2a82c1
--- /dev/null
+++ b/dashboard-ui/scripts/livetvguideprovider.js
@@ -0,0 +1,148 @@
+(function ($, document, window) {
+
+ var listingsId;
+
+ function reload(page, providerId) {
+
+ Dashboard.showLoadingMsg();
+
+ ApiClient.getNamedConfiguration("livetv").done(function (config) {
+
+ var info = config.ListingProviders.filter(function (i) {
+ return i.Id == providerId;
+ })[0];
+
+ info = info || {};
+
+ listingsId = info.ListingsId;
+ $('#selectListing', page).val(info.ListingsId || '').selectmenu('refresh');
+
+ page.querySelector('.txtZipCode').value = info.ZipCode || '';
+
+ setCountry(page, info);
+ });
+ }
+
+ function setCountry(page, info) {
+
+ $('#selectCountry', page).val(info.Country || '').selectmenu('refresh');
+
+ $(page.querySelector('.txtZipCode')).trigger('change');
+
+ Dashboard.hideLoadingMsg();
+ }
+
+ function submitListingsForm(page) {
+
+ var selectedListingsId = $('#selectListing', page).val();
+
+ if (!selectedListingsId) {
+ Dashboard.alert({
+ message: Globalize.translate('ErrorPleaseSelectLineup')
+ });
+ return;
+ }
+
+ Dashboard.showLoadingMsg();
+
+ var providerId = getParameterByName('id');
+ var id = providerId;
+
+ ApiClient.getNamedConfiguration("livetv").done(function (config) {
+
+ var info = config.ListingProviders.filter(function (i) {
+ return i.Id == id;
+ })[0];
+
+ info.ZipCode = page.querySelector('.txtZipCode').value;
+ info.Country = $('#selectCountry', page).val();
+ info.ListingsId = selectedListingsId;
+
+ ApiClient.ajax({
+ type: "POST",
+ url: ApiClient.getUrl('LiveTv/ListingProviders', {
+ ValidateListings: true
+ }),
+ data: JSON.stringify(info),
+ contentType: "application/json"
+
+ }).done(function (result) {
+
+ Dashboard.processServerConfigurationUpdateResult();
+
+ }).fail(function () {
+ Dashboard.alert({
+ message: Globalize.translate('ErrorSavingTvProvider')
+ });
+ });
+
+ });
+ }
+
+ function refreshListings(page, value) {
+
+ if (!value) {
+ $('#selectListing', page).html('').selectmenu('refresh');
+ return;
+ }
+
+ var providerId = getParameterByName('id');
+
+ Dashboard.showModalLoadingMsg();
+
+ ApiClient.ajax({
+ type: "GET",
+ url: ApiClient.getUrl('LiveTv/ListingProviders/Lineups', {
+ Id: providerId,
+ Location: value,
+ Country: $('#selectCountry', page).val()
+ }),
+ dataType: 'json'
+
+ }).done(function (result) {
+
+ $('#selectListing', page).html(result.map(function (o) {
+
+ return '';
+
+ })).selectmenu('refresh');
+
+ if (listingsId) {
+ $('#selectListing', page).val(listingsId).selectmenu('refresh');
+ }
+
+ Dashboard.hideModalLoadingMsg();
+
+ }).fail(function (result) {
+
+ Dashboard.alert({
+ message: Globalize.translate('ErrorGettingTvLineups')
+ });
+ refreshListings(page, '');
+ Dashboard.hideModalLoadingMsg();
+
+ });
+
+ }
+
+ $(document).on('pageinitdepends', "#liveTvGuideProviderPage", function () {
+
+ var page = this;
+
+ $('.formListings', page).on('submit', function () {
+ submitListingsForm(page);
+ return false;
+ });
+
+ $('.txtZipCode', page).on('change', function () {
+ refreshListings(page, this.value);
+ });
+
+ }).on('pageshowready', "#liveTvGuideProviderPage", function () {
+
+ var providerId = getParameterByName('id');
+ var page = this;
+ reload(page, providerId);
+ });
+
+})(jQuery, document, window);
diff --git a/dashboard-ui/scripts/livetvstatus.js b/dashboard-ui/scripts/livetvstatus.js
index 416498984..b7bcb6037 100644
--- a/dashboard-ui/scripts/livetvstatus.js
+++ b/dashboard-ui/scripts/livetvstatus.js
@@ -377,6 +377,8 @@
case 'schedulesdirect':
return 'livetvguideprovider-scd.html';
+ case 'emby':
+ return 'livetvguideprovider.html';
default:
break;
}
@@ -386,9 +388,14 @@
var menuItems = [];
+ //menuItems.push({
+ // name: 'Schedules Direct',
+ // id: 'SchedulesDirect'
+ //});
+
menuItems.push({
- name: 'Schedules Direct',
- id: 'SchedulesDirect'
+ name: 'Emby Guide',
+ id: 'emby'
});
require(['actionsheet'], function () {
diff --git a/dashboard-ui/scripts/search.js b/dashboard-ui/scripts/search.js
index 2aab58a72..5dcfaae34 100644
--- a/dashboard-ui/scripts/search.js
+++ b/dashboard-ui/scripts/search.js
@@ -50,6 +50,10 @@
return [Globalize.translate('LabelCollection')];
}
+ else if (hint.ChannelName) {
+
+ return [hint.ChannelName];
+ }
return [hint.Type];
}
diff --git a/dashboard-ui/strings/html/server.json b/dashboard-ui/strings/html/server.json
index 67311c970..cfdd28663 100644
--- a/dashboard-ui/strings/html/server.json
+++ b/dashboard-ui/strings/html/server.json
@@ -1516,5 +1516,6 @@
"ButtonSyncSettingsHelp": "Configure your sync settings",
"LabelTranscodingThreadCount": "Transcoding thread count:",
"LabelTranscodingThreadCountHelp": "Select the maximum number of threads to use when transcoding. Reducing the thread count will lower cpu usage but may not convert fast enough for a smooth playback experience.",
- "OptionMax": "Max"
+ "OptionMax": "Max",
+ "HeaderEmbyGuide": "Emby Guide"
}
diff --git a/dashboard-ui/strings/javascript/javascript.json b/dashboard-ui/strings/javascript/javascript.json
index 253126412..b5000c25b 100644
--- a/dashboard-ui/strings/javascript/javascript.json
+++ b/dashboard-ui/strings/javascript/javascript.json
@@ -824,7 +824,7 @@
"HeaderAddProvider": "Add Provider",
"ErrorAddingTunerDevice": "There was an error adding the tuner device. Please ensure it is accessible and try again.",
"ErrorSavingTvProvider": "There was an error saving the TV provider. Please ensure it is accessible and try again.",
- "ErrorGettingTvLineups": "There was an error downloading tv lineups. Please ensure your username and password are correct and try again.",
+ "ErrorGettingTvLineups": "There was an error downloading tv lineups. Please ensure your information is correct and try again.",
"MessageCreateAccountAt": "Create an account at {0}",
"ErrorPleaseSelectLineup": "Please select a lineup and try again. If no lineups are available, then please check that your username, password, and postal code is correct.",
"HeaderTryCinemaMode": "Try Cinema Mode",