 
   constructor: (options = {}, data) ->
 
-    panelOptions    = data.config.panel
-    config          = @extendOptions panelOptions
-    config.delegate = options.delegate # TODO: fatihacet - it's a quick hack, we neeed to merge all other options.
+    panelOptions      = data.config.panel
+    config            = @extendOptions panelOptions
+    config.delegate   = options.delegate # TODO: fatihacet - it's a quick hack, we neeed to merge all other options.
 
     @addDefaultButtons panelOptions
 
     super config, data
 
-    @createChapterList()
+    @on "AllPanesAddedToPanel", =>
+      @createChapterList()
+      @createChapterDescription()
+
+    @on "WorkspaceSyncedWithRemote", =>
+      KD.utils.wait 500, => # intentional to show slide in
+        @animateContent @chapterDescription
 
   extendOptions: (options) ->
     config = {}

    modal.destroy()
    parent.destroySubViews()

    router = KD.getSingleton "router"
    {course, chapter} = KD.utils.parseQuery router.getCurrentPath().split('?')[1]
    {chapters}        = @getData().courseManifest

    if chapters.length > chapter
      router.handleQuery "?course=#{course}&chapter=#{++chapter}"

  createChapterList: ->
    @addSubView new ClassroomChapterList {}, @getData().courseManifest

    ,
      itemClass  : KDView
      cssClass   : "chapters"
      tooltip    :
        title    : "Show Chapters"
      click      : => @animateContent @chapterList
    ,
      itemClass  : KDView
      cssClass   : "information"
      tooltip    :
        title    : "Show Chapter information"
      click      : => @animateContent @chapterDescription

  validateChapter: (panel, workspace) ->
    {config}   = @getData()
