diff --git a/dashboard-ui/scripts/userparentalcontrol.js b/dashboard-ui/scripts/userparentalcontrol.js index 5809b9fcf7..4315b41fcb 100644 --- a/dashboard-ui/scripts/userparentalcontrol.js +++ b/dashboard-ui/scripts/userparentalcontrol.js @@ -81,7 +81,8 @@ Dashboard.setPageTitle(user.Name); loadUnratedItems(page, user); - loadTags(page, user.Policy.TagFilters); + loadBlockedTags(page, user.Policy.BlockedTags); + loadAllowedTags(page, user.Policy.AllowedTags); populateRatings(allParentalRatings, page); @@ -112,7 +113,7 @@ Dashboard.hideLoadingMsg(); } - function loadTags(page, tags) { + function loadBlockedTags(page, tags) { var html = ''; - var elem = $('.tagFilters', page).html(html).trigger('create'); + var elem = $('.blockedTags', page).html(html).trigger('create'); $('.btnDeleteTag', elem).on('click', function () { var tag = this.getAttribute('data-tag'); - var mode = this.getAttribute('data-mode'); var newTags = tags.filter(function (t) { - return t.Tag != tag || t.Mode != mode; + return t != tag; }); - loadTags(page, newTags); + loadBlockedTags(page, newTags); + }); + } + + function loadAllowedTags(page, tags) { + + var html = ''; + + var elem = $('.allowedTags', page).html(html).trigger('create'); + + $('.btnDeleteTag', elem).on('click', function () { + + var tag = this.getAttribute('data-tag'); + + var newTags = tags.filter(function (t) { + return t != tag; + }); + + loadAllowedTags(page, newTags); }); } @@ -216,7 +244,8 @@ user.Policy.AccessSchedules = getSchedulesFromPage(page); - user.Policy.TagFilters = getTagsFromPage(page); + user.Policy.BlockedTags = getBlockedTagsFromPage(page); + user.Policy.AllowedTags = getAllowedTagsFromPage(page); ApiClient.updateUserPolicy(user.Id, user.Policy).done(function () { onSaveComplete(page); @@ -251,11 +280,21 @@ return false; }, - onTagFormSubmit: function () { + onBlockedTagFormSubmit: function () { var page = $(this).parents('.page'); - saveTag(page); + saveBlockedTag(page); + + // Disable default form submission + return false; + }, + + onAllowedTagFormSubmit: function () { + + var page = $(this).parents('.page'); + + saveAllowedTag(page); // Disable default form submission return false; @@ -333,20 +372,30 @@ $('#popupSchedule', page).popup('close'); } - function saveTag(page) { + function saveBlockedTag(page) { - var tag = $('#txtTag', page).val(); - var mode = $('#selectTagMode', page).val(); - var tags = getTagsFromPage(page); + var tag = $('#txtBlockedTag', page).val(); + var tags = getBlockedTagsFromPage(page); - tags.push({ - Tag: tag, - Mode: mode - }); + if (tags.indexOf(tag) == -1) { + tags.push(tag); + loadBlockedTags(page, tags); + } - loadTags(page, tags); + $('#popupBlockedTag', page).popup('close'); + } - $('#popupTag', page).popup('close'); + function saveAllowedTag(page) { + + var tag = $('#txtAllowedTag', page).val(); + var tags = getAllowedTagsFromPage(page); + + if (tags.indexOf(tag) == -1) { + tags.push(tag); + loadAllowedTags(page, tags); + } + + $('#popupAllowedTag', page).popup('close'); } function getSchedulesFromPage(page) { @@ -362,23 +411,34 @@ }).get(); } - function getTagsFromPage(page) { + function getBlockedTagsFromPage(page) { - return $('.tagFilter', page).map(function () { + return $('.blockedTag', page).map(function () { - return { - Tag: this.getAttribute('data-tag'), - Mode: this.getAttribute('data-mode') - }; + return this.getAttribute('data-tag'); }).get(); } - function showTagPopup(page) { + function getAllowedTagsFromPage(page) { - $('#popupTag', page).popup('open'); - $('#txtTag', page).val('').focus(); - $('#selectTagMode', page).val('Block').selectmenu('refresh').trigger('change'); + return $('.allowedTag', page).map(function () { + + return this.getAttribute('data-tag'); + + }).get(); + } + + function showBlockedTagPopup(page) { + + $('#popupBlockedTag', page).popup('open'); + $('#txtBlockedTag', page).val('').focus(); + } + + function showAllowedTagPopup(page) { + + $('#popupAllowedTag', page).popup('open'); + $('#txtAllowedTag', page).val('').focus(); } $(document).on('pageinit', "#userParentalControlPage", function () { @@ -391,19 +451,15 @@ showSchedulePopup(page, {}, -1); }); + $('.btnAddBlockedTag', page).on('click', function () { - $('.btnAddTag', page).on('click', function () { - - showTagPopup(page); + showBlockedTagPopup(page); }); - $('#selectTagMode', page).on('change', function () { - if (this.value == 'Allow') { - $('.allowModeHelp', page).show(); - } else { - $('.allowModeHelp', page).hide(); - } + $('.btnAddAllowedTag', page).on('click', function () { + + showAllowedTagPopup(page); }); populateHours(page); diff --git a/dashboard-ui/userparentalcontrol.html b/dashboard-ui/userparentalcontrol.html index 29f5c7d0b7..7242ea55d2 100644 --- a/dashboard-ui/userparentalcontrol.html +++ b/dashboard-ui/userparentalcontrol.html @@ -32,10 +32,21 @@
-
${LabelBlockOrAllowItemsWithTags}
- +
${LabelBlockContentWithTags}
+
-
+
+ +
+
+
+ +
+
+
${LabelAllowContentWithTags}
+ +
+
@@ -66,7 +77,7 @@ -