     @param {goog.events.Event} e
   ###
   handleInputValueChange: (e) =>
-    if e.target.getContent()
-      goog.style.setElementShown @openBtn.getElement(), false
-    else
-      goog.style.setElementShown @openBtn.getElement(), true
-      @clearImage()
-      @dispatchClean()
+    unless @readonly
+      if e.target.getContent()
+        goog.style.setElementShown @openBtn.getElement(), false
+      else
+        goog.style.setElementShown @openBtn.getElement(), true
+        @clearImage()
+        @dispatchClean()
 
   ###*
     Dispatches clean signal

    if @customRenderer?
      goog.dom.classes.add @input.getElement(), wzk.ui.ac.Renderer.CLS.WITH_IMAGE

    if readonly
      @input.getElement().setAttribute 'readonly', 'true'
    else
      @openBtn = new wzk.ui.OpenIcon()

  ###
  decorate: (@select) ->
    goog.style.setElementShown @select, false
    @readonly = @select.hasAttribute('readonly')

    # create input element and attach it to dom
    @container = @dom.createDom wzk.ui.ac.Renderer.TAGS.ITEM, wzk.ui.ac.Renderer.CLS.ITEM
