             return true
         switch evt.keyCode
             when 27 # ESC
-                @props.actions.search('')
+                if @props.search_str?.length > 0
+                    @props.actions.search('')
+                else
+                    return true
             when 38
                 @props.actions.search_cursor(-1)
             when 40

        @set(catlist0 : catlist0)
        if catlist0.length == 1
            @set_selected_category(0, 0)
    search: (search_str) ->
        @reset()
        if not search_str? or search_str.length == 0

            search_sel : null
            submittable: false
            cat1_top   : ["Intro", "Tutorial", "Help"]

    hide: =>
        @set(show: false)

    init: (lang='sage') ->
        @reset()
        @show(lang=lang)
        @load_data()

    init_data: (data) ->
        @set(data: data)
        nav_entries = []
