diff --git a/src/sidebar/app.js b/src/sidebar/app.js index 3933bc1dec8..804c832bbaa 100644 --- a/src/sidebar/app.js +++ b/src/sidebar/app.js @@ -177,7 +177,6 @@ module.exports = angular.module('h', [ .component('threadList', require('./components/thread-list')) .component('timestamp', require('./components/timestamp')) .component('topBar', require('./components/top-bar')) - .component('viewSwitcher', require('./components/view-switcher')) .directive('formInput', require('./directive/form-input')) .directive('formValidate', require('./directive/form-validate')) diff --git a/src/sidebar/components/sidebar-content.js b/src/sidebar/components/sidebar-content.js index 4eb48ae5817..2275795aaca 100644 --- a/src/sidebar/components/sidebar-content.js +++ b/src/sidebar/components/sidebar-content.js @@ -55,7 +55,6 @@ function SidebarContentController( totalNotes: counts.notes, totalAnnotations: counts.annotations, totalOrphans: counts.orphans, - viewSwitcherEnabled: features.flagEnabled('view-switcher'), waitingToAnchorAnnotations: counts.anchoring > 0, }); }); diff --git a/src/sidebar/components/test/view-switcher-test.js b/src/sidebar/components/test/view-switcher-test.js deleted file mode 100644 index 11147e9e71e..00000000000 --- a/src/sidebar/components/test/view-switcher-test.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -var angular = require('angular'); - -var util = require('../../directive/test/util'); - -describe('viewSwitcher', function () { - before(function () { - angular.module('app', []) - .component('viewSwitcher', require('../view-switcher')); - }); - - beforeEach(function () { - var fakeAnnotationUI = { - getState: sinon.stub().returns({ - frames: [ - { - // The view switcher only shows after the first batch of - // annotations have been fetched. - isAnnotationFetchComplete: true, - }, - ], - }), - }; - var fakeFeatures = { - flagEnabled: sinon.stub().returns(true), - }; - - angular.mock.module('app', { - annotationUI: fakeAnnotationUI, - features: fakeFeatures, - }); - }); - - context('displays tabs, counts and selected tab', function () { - it('should display the tabs and counts of annotations and notes', function () { - var elem = util.createDirective(document, 'viewSwitcher', { - selectedTab: 'annotation', - totalAnnotations: '123', - totalNotes: '456', - }); - - var tabs = elem[0].querySelectorAll('button'); - - assert.include(tabs[0].textContent, 'Annotations'); - assert.include(tabs[1].textContent, 'Notes'); - assert.include(tabs[0].textContent, '123'); - assert.include(tabs[1].textContent, '456'); - }); - - it('should display annotations tab as selected', function () { - var elem = util.createDirective(document, 'viewSwitcher', { - selectedTab: 'annotation', - totalAnnotations: '123', - totalNotes: '456', - }); - - var tabs = elem[0].querySelectorAll('button'); - assert.isTrue(tabs[0].classList.contains('is-selected')); - }); - - it('should display notes tab as selected', function () { - var elem = util.createDirective(document, 'viewSwitcher', { - selectedTab: 'note', - totalAnnotations: '123', - totalNotes: '456', - }); - - var tabs = elem[0].querySelectorAll('button'); - assert.isTrue(tabs[1].classList.contains('is-selected')); - }); - }); -}); diff --git a/src/sidebar/components/view-switcher.js b/src/sidebar/components/view-switcher.js deleted file mode 100644 index 5f0fe825b45..00000000000 --- a/src/sidebar/components/view-switcher.js +++ /dev/null @@ -1,50 +0,0 @@ -'use strict'; - -var uiConstants = require('../ui-constants'); - -module.exports = { - controllerAs: 'vm', - //@ngInject - controller: function ($element, annotationUI, features) { - this.TAB_ANNOTATIONS = uiConstants.TAB_ANNOTATIONS; - this.TAB_NOTES = uiConstants.TAB_NOTES; - this.TAB_ORPHANS = uiConstants.TAB_ORPHANS; - - this.selectTab = function (type) { - annotationUI.clearSelectedAnnotations(); - annotationUI.selectTab(type); - }; - - this.orphansTabFlagEnabled = function () { - return features.flagEnabled('orphans_tab'); - }; - - this.showViewSwitcher = function() { - var frame = annotationUI.getState().frames[0]; - if (frame && frame.isAnnotationFetchComplete) { - return true; - } - return false; - }; - - this.showAnnotationsUnavailableMessage = function () { - return this.selectedTab === this.TAB_ANNOTATIONS && - this.totalAnnotations === 0 && - !this.isWaitingToAnchorAnnotations; - }; - - this.showNotesUnavailableMessage = function () { - return this.selectedTab === this.TAB_NOTES && - this.totalNotes === 0; - }; - }, - bindings: { - isLoading: '<', - isWaitingToAnchorAnnotations: '<', - selectedTab: '<', - totalAnnotations: '<', - totalNotes: '<', - totalOrphans: '<', - }, - template: require('../templates/view-switcher.html'), -}; diff --git a/src/sidebar/templates/sidebar-content.html b/src/sidebar/templates/sidebar-content.html index bebcf658486..e5da39e1c62 100644 --- a/src/sidebar/templates/sidebar-content.html +++ b/src/sidebar/templates/sidebar-content.html @@ -1,5 +1,5 @@ - - - - - - - - - -
-
-

- There are no page notes in this group. -
- Create one by clicking the - - button. -

-
-
-

- There are no annotations in this group. -
- Create one by selecting some text and clicking the - button. -

-
-
diff --git a/src/styles/app.scss b/src/styles/app.scss index 75313e9903b..881d2432d57 100644 --- a/src/styles/app.scss +++ b/src/styles/app.scss @@ -31,7 +31,6 @@ $base-line-height: 20px; @import './thread-list'; @import './tooltip'; @import './top-bar'; -@import './view-switcher'; // Top-level styles // ---------------- diff --git a/src/styles/view-switcher.scss b/src/styles/view-switcher.scss deleted file mode 100644 index 282d00adf71..00000000000 --- a/src/styles/view-switcher.scss +++ /dev/null @@ -1,65 +0,0 @@ -.view-switcher { - display: flex; - justify-content: center; - - // These are the exact margins required to vertically align the top of the - // view switcher with the top of the Hide Highlights button to its left, - // and the top of the first annotation card below the view switcher with the - // top of the New Page Note button to its left. - margin-top: 1px; - margin-bottom: 6px; -} - -.view-switcher__tab { - @include smallshadow - - height: 30px; // Same height as used for Hide Highlights and New Page Note - // buttons to left of view switcher. - padding-left: 12px; - padding-right: 12px; - - background: $white; - transition: background-color .1s linear; - - // This fixes the tabs flashing gray for a moment each time you tap on one - // in iOS Safari. - -webkit-tap-highlight-color: rgba(0,0,0,0); - - border: 1px solid $gray-lighter; - - cursor: pointer; - user-select: none; -} - -.view-switcher__tab { - border-right-width: 0; -} -.view-switcher__tab:last-child { - border-right-width: 1px; -} - -.view-switcher__tab:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -.view-switcher__tab:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - -.view-switcher__tab:focus { - outline: 0; -} -.view-switcher__tab::-moz-focus-inner { - border: 0; -} - -.view-switcher__tab:hover, -.view-switcher__tab.is-selected { - background-color: #e6e6e6; -} - -.view-switcher__empty-message { - position: relative; - top: 10px; -}