Repository: oppia/oppia

Issue:
Clicking on clock icon should open a modal for removing saved exploration in "play later" List.
<!--
  - Thanks for taking the time to report a bug in the Oppia project.
  - Before filing a new issue, please do a quick search to check that it hasn't
  - already been filed on the [issue tracker](https://github.com/oppia/oppia/issues)._
  -->

**Describe the bug**
According to the code:
![Screenshot from 2021-03-14 19-27-03](https://user-images.githubusercontent.com/54100702/111072349-3aec7000-8500-11eb-9ee9-71e515ded5fb.png)
Clicking on the clock icon should open a modal for removing saved exploration in "play later" List.

**To Reproduce**
Steps to reproduce the behavior:
1.Start the server.
2.Navigate to the admin page, activities tab.
3.Reload all Explorations.
4.Navigate back to the library tab.
5.Hover on exploration, it will show a clock symbol on top right corner click it, it will add exploration to the "play later" list.
6.Now click on the icon again.
7.It should open a modal for removing it (not working though).

**Observed behavior**
The modal is not opening.
https://user-images.githubusercontent.com/54100702/111072305-ffea3c80-84ff-11eb-8416-c0850582c056.mp4

**Expected behavior**
Modal should open.
A similar model like in `learner dashboard page`
![Screenshot from 2021-03-14 19-52-25](https://user-images.githubusercontent.com/54100702/111072034-de3c8580-84fe-11eb-95f4-49264c774dd8.png)

**Desktop (please complete the following information; delete this section if the issue does not arise on desktop):**
 - OS: [Ubuntu]
 - Browser [chrome]
 - Browser-version [88.0.4324.146]
Clicking on clock icon should open a modal for removing saved exploration in "play later" List.
<!--
  - Thanks for taking the time to report a bug in the Oppia project.
  - Before filing a new issue, please do a quick search to check that it hasn't
  - already been filed on the [issue tracker](https://github.com/oppia/oppia/issues)._
  -->

**Describe the bug**
According to the code:
![Screenshot from 2021-03-14 19-27-03](https://user-images.githubusercontent.com/54100702/111072349-3aec7000-8500-11eb-9ee9-71e515ded5fb.png)
Clicking on the clock icon should open a modal for removing saved exploration in "play later" List.

**To Reproduce**
Steps to reproduce the behavior:
1.Start the server.
2.Navigate to the admin page, activities tab.
3.Reload all Explorations.
4.Navigate back to the library tab.
5.Hover on exploration, it will show a clock symbol on top right corner click it, it will add exploration to the "play later" list.
6.Now click on the icon again.
7.It should open a modal for removing it (not working though).

**Observed behavior**
The modal is not opening.
https://user-images.githubusercontent.com/54100702/111072305-ffea3c80-84ff-11eb-8416-c0850582c056.mp4

**Expected behavior**
Modal should open.
A similar model like in `learner dashboard page`
![Screenshot from 2021-03-14 19-52-25](https://user-images.githubusercontent.com/54100702/111072034-de3c8580-84fe-11eb-95f4-49264c774dd8.png)

**Desktop (please complete the following information; delete this section if the issue does not arise on desktop):**
 - OS: [Ubuntu]
 - Browser [chrome]
 - Browser-version [88.0.4324.146]
UI bug in Feedback updated (Learner's Dashboard Page)
<!--
  - Thanks for taking the time to report a bug in the Oppia project.
  - Before filing a new issue, please do a quick search to check that it hasn't
  - already been filed on the [issue tracker](https://github.com/oppia/oppia/issues)._
  -->

**Describe the bug**
Dropdown is out of place.

**To Reproduce**
Steps to reproduce the behavior:
 1. Go to Learner's Dashboard page
 2. Click on Feedback updates
 3. you can see a drop-down for sorting.

**Observed behavior**
![Screenshot from 2021-04-16 01-57-47](https://user-images.githubusercontent.com/54100702/114936051-8ffe0780-9e59-11eb-9ab9-3ebebd6374d3.png)


**Expected behavior**
![Screenshot from 2021-04-16 01-58-45](https://user-images.githubusercontent.com/54100702/114936084-9b513300-9e59-11eb-872a-981218d386fb.png)





Discussion:

Resolving patch:
diff --git a/scripts/linters/codeowner_linter.py b/scripts/linters/codeowner_linter.py
--- a/scripts/linters/codeowner_linter.py
+++ b/scripts/linters/codeowner_linter.py
@@ -149,7 +149,7 @@ def _check_for_important_patterns_at_bottom_of_codeowners(
             self.failed = True
         if len(codeowner_important_paths_set) != len(CODEOWNER_IMPORTANT_PATHS):
             error_message = (
-                'scripts/linters/pre_commit_linter.py --> Duplicate pattern(s) '
+                'scripts/linters/codeowner_linter.py --> Duplicate pattern(s) '
                 'found in CODEOWNER_IMPORTANT_PATHS list.')
             self.error_messages.append(error_message)
             self.failed = True
@@ -163,7 +163,7 @@ def _check_for_important_patterns_at_bottom_of_codeowners(
             error_message = (
                 '%s --> Rule %s is not present in the '
                 'CODEOWNER_IMPORTANT_PATHS list in '
-                'scripts/linters/pre_commit_linter.py. Please add this rule in '
+                'scripts/linters/codeowner_linter.py. Please add this rule in '
                 'the mentioned list or remove this rule from the \'Critical '
                 'files\' section.' % (CODEOWNER_FILEPATH, rule))
             self.error_messages.append(error_message)
@@ -174,7 +174,7 @@ def _check_for_important_patterns_at_bottom_of_codeowners(
                 'section. Please place it under the \'Critical files\' '
                 'section since it is an important rule. Alternatively please '
                 'remove it from the \'CODEOWNER_IMPORTANT_PATHS\' list in '
-                'scripts/linters/pre_commit_linter.py if it is no longer an '
+                'scripts/linters/codeowner_linter.py if it is no longer an '
                 'important rule.' % (CODEOWNER_FILEPATH, rule))
             self.error_messages.append(error_message)
             self.failed = True


Test patch:
diff --git a/core/tests/protractor_utils/general.js b/core/tests/protractor_utils/general.js
--- a/core/tests/protractor_utils/general.js
+++ b/core/tests/protractor_utils/general.js
@@ -158,11 +158,14 @@ var ensurePageHasNoTranslationIds = async function() {
   // First remove all the attributes translate and variables that are
   // not displayed.
   var REGEX_TRANSLATE_ATTR = new RegExp('translate="I18N_', 'g');
+  var REGEX_NGB_TOOLTIP_ATTR = new RegExp(
+    'tooltip="I18N_|tooltip="\'I18N_', 'g');
   var REGEX_NG_VARIABLE = new RegExp('<\\[\'I18N_', 'g');
   var REGEX_NG_TOP_NAV_VISIBILITY = (
     new RegExp('ng-show="\\$ctrl.navElementsVisibilityStatus.I18N_', 'g'));
   expect(
     promiseValue.replace(REGEX_TRANSLATE_ATTR, '')
+      .replace(REGEX_NGB_TOOLTIP_ATTR, '')
       .replace(REGEX_NG_VARIABLE, '')
       .replace(REGEX_NG_TOP_NAV_VISIBILITY, '')).not.toContain('I18N');
 };
diff --git a/scripts/check_frontend_test_coverage.py b/scripts/check_frontend_test_coverage.py
--- a/scripts/check_frontend_test_coverage.py
+++ b/scripts/check_frontend_test_coverage.py
@@ -69,7 +69,6 @@
     'collection-node-creator.directive.ts',
     'collection-node-editor.directive.ts',
     'collection-player-page.directive.ts',
-    'collection-summary-tile.directive.ts',
     'collection-update.service.ts',
     'collection.model.ts',
     'concept-card.directive.ts',
@@ -99,7 +98,6 @@
     'exploration-player-state.service.ts',
     'exploration-save.service.ts',
     'exploration-states.service.ts',
-    'exploration-summary-tile.directive.ts',
     'expression-evaluator.service.ts',
     'expression-interpolation.service.ts',
     'fatigue-detection.service.ts',
@@ -132,7 +130,6 @@
     'language-util.service.ts',
     'learner-answer-info-card.directive.ts',
     'learner-answer-info.service.ts',
-    'learner-dashboard-icons.directive.ts',
     'learner-local-nav.directive.ts',
     'learner-view-info.directive.ts',
     'learner-view-rating.service.ts',
diff --git a/scripts/linters/codeowner_linter_test.py b/scripts/linters/codeowner_linter_test.py
--- a/scripts/linters/codeowner_linter_test.py
+++ b/scripts/linters/codeowner_linter_test.py
@@ -114,7 +114,7 @@ def test_missing_important_codeowner_path_from_list(self):
         self.assert_same_list_elements([
             'Rule /.github/stale.yml is not present'
             ' in the CODEOWNER_IMPORTANT_PATHS list in scripts/linters/'
-            'pre_commit_linter.py. Please add this rule in the '
+            'codeowner_linter.py. Please add this rule in the '
             'mentioned list or remove this rule from the \'Critical files'
             '\' section.'], lint_task_report.trimmed_messages)
         self.assertEqual('CODEOWNERS', lint_task_report.name)
@@ -169,7 +169,7 @@ def test_missing_important_codeowner_path_from_critical_section(self):
             'section. Please place it under the \'Critical files\' '
             'section since it is an important rule. Alternatively please '
             'remove it from the \'CODEOWNER_IMPORTANT_PATHS\' list in '
-            'scripts/linters/pre_commit_linter.py if it is no longer an '
+            'scripts/linters/codeowner_linter.py if it is no longer an '
             'important rule.'], lint_task_report.trimmed_messages)
         self.assertEqual('CODEOWNERS', lint_task_report.name)
         self.assertTrue(lint_task_report.failed)