 
 	show: (@__event) ->
 		CUI.util.assert(not @isDestroyed(), "#{CUI.util.getObjectClass(@)}.show", "Element is already destroyed.")
+		if @isShown()
+			@position()
+			return @
+
+		if @__loading
+			return @
 
 		if @__itemList
+			@__loading = true
 			@__itemList.render(@, @__event)
 			.done =>
 				super(@__event)
+				@__loading = false
+
 				# CUI.Events.trigger
 				# 	type: "content-resize"
 				# 	node: @__itemList
+
 		else
 			super(@__event)
 

		if button instanceof CUI.Button
			return button
		null


				if ev.keyCode() == 27
					@hide()
					ev.stop()

		@

	hasItems: (event) ->
