Explorar el Código

fix(sidebar): style not changed when activating a discarded tab

Jocelyn Boullier hace 5 años
padre
commit
2e7a85b6ca
Se han modificado 1 ficheros con 11 adiciones y 13 borrados
  1. 11 13
      src/Sidebar.purs

+ 11 - 13
src/Sidebar.purs

@@ -5,13 +5,8 @@ import Browser.Tabs (Tab(..), TabId(..), WindowId)
 import Browser.Tabs.OnUpdated (ChangeInfo(..))
 import Browser.Windows (getCurrent)
 import Control.Alternative (pure)
-import Control.Bind ((=<<), (>=>), (>>=))
-import Control.Category ((<<<))
-import Control.Monad (liftM1)
-import Data.CommutativeRing ((+))
-import Data.Eq ((==))
+import Control.Bind ((=<<), (>>=))
 import Data.Foldable (traverse_)
-import Data.Function (flip)
 import Data.Maybe (Maybe(..), maybe)
 import Data.Monoid ((<>))
 import Data.Number (fromString)
@@ -27,9 +22,8 @@ import JQuery as J
 import JQuery.Ext (after, prepend, getHtmlElem) as J
 import Prelude (Unit, bind, ($), discard)
 import PureTabs.Model (BackgroundEvent(..), SidebarEvent(..))
-import Sortable (Sortable, create, Event) as S
+import Sortable (create, Event) as S
 import Web.DOM.Element (id)
-import Web.HTML (HTMLElement)
 import Web.HTML.HTMLElement (toElement)
 
 main :: Effect Unit
@@ -46,9 +40,10 @@ main = do
 sortableOnUpdate :: Runtime.Port -> S.Event -> Effect Unit
 sortableOnUpdate port { item: item, newIndex: Just newIndex } = do
   sTabId <- id $ toElement item
-  case fromString sTabId of 
-       Nothing -> throw $ "couldn't convert to a tab id " <> sTabId
-       Just tabId' -> Runtime.postMessageJson port $ SbTabMoved (TabId tabId') newIndex
+  case fromString sTabId of
+    Nothing -> throw $ "couldn't convert to a tab id " <> sTabId
+    Just tabId' -> Runtime.postMessageJson port $ SbTabMoved (TabId tabId') newIndex
+
 sortableOnUpdate port _ = pure unit
 
 initSidebar :: Runtime.Port -> WindowId -> Effect Unit
@@ -137,13 +132,16 @@ deleteTabElement tabId = do
 
 updateTabInfo :: TabId -> ChangeInfo -> Tab -> Effect Unit
 updateTabInfo tid (ChangeInfo cinfo) (Tab tab) = do
-  tabTitleDiv <- J.select ("#" <> (show tid) <> " > .tab-title")
+  let
+    tabIdSelec = "#" <> (show tid)
+  tabDiv <- J.select tabIdSelec
+  tabTitleDiv <- J.select (tabIdSelec <> " > .tab-title")
   let
     newTitle = case cinfo.status of
       Just "loading" -> Just "Loading ..."
       _ -> Just tab.title
   maybe (pure unit) (\t -> J.setText t tabTitleDiv) newTitle
-  maybe (pure unit) (\discarded -> J.setClass "discarded" discarded tabTitleDiv) tab.discarded
+  maybe (pure unit) (\discarded -> J.setClass "discarded" discarded tabDiv) tab.discarded
   tabFaviconDiv <- J.select ("#" <> (show tid) <> " > .tab-favicon")
   setFaviconUrl cinfo.favIconUrl tabFaviconDiv