           id: 100000
           content: '...'
           progress: ''
+          category: 0
+          type: 0
     tasks = _.sortBy tasks, (e) ->
       e.id
     @setState
       tasks: tasks
+    event = new CustomEvent 'task.change',
+      bubbles: true
+      cancelable: true
+      detail:
+        tasks: tasks
+    window.dispatchEvent event
   refreshDay: ->
     curHours = (new Date()).getUTCHours()
     return if prevHours == curHours

        id: 100000
        content: '...'
        progress: ''
      ,
        name: '未接受'
        id: 100000
        content: '...'
        progress: ''
      ,
        name: '未接受'
        id: 100000
        content: '...'
        progress: ''
      ,
        name: '未接受'
        id: 100000
        content: '...'
        progress: ''
      ,
        name: '未接受'
        id: 100000
        content: '...'
        progress: ''
      ,
        name: '未接受'
        id: 100000
        content: '...'
        progress: ''
    ]
  handleResponse: (e) ->
    {method, path, body, postBody} = e.detail

          id: 100000
          content: '...'
          progress: ''
          category: 0
          type: 0
      # Stop quest
      when '/kcsapi/api_req_quest/stop'
        idx = _.findIndex tasks, (e) ->
