Qooxdoo 3.5: Как удалить границу текстового поля формы, когда оно находится в фокусе

Я пытаюсь иметь текстовые поля, которые показывают свою границу только тогда, когда виджет находится в фокусе (или, возможно, зависает)

Я использую Qooxdoo 3.5.

У меня есть следующее для Appearance.js

qx.Theme.define("myapp.theme.Appearance",
{
  extend : qx.theme.modern.Appearance,

  appearances :
  {
    "dynamicborder-textfield" : {

        base : true,

        style : function(states)
        {

           var result = {};

           if (states.hovered) {

             result.decorator = "noborder";
           } else {

             result.decorator = "singleborder";
           }

           return result;
        }
    }
  }
});

и у меня есть следующее для моего Decoration.js

qx.Theme.define("myapp.theme.Decoration",
{
  extend : qx.theme.modern.Decoration,

  decorations :
  {
      "noborder" : {

      },

      "singleborder" : {
          decorator : qx.ui.decoration.Decorator,

          style : {
              width : 2,
              color : red
          }    
      }
  }
});

Я устанавливаю внешний вид своего текстового поля во время выполнения так

var textfield = new qx.ui.form.TextField();
textfield.setAppearance("dynamicborder-textfield");

Все, что я получаю, это текстовые поля без границ все время. Неважно, находятся ли они в зависшем состоянии или в любом другом состоянии. Что я делаю не так? Пожалуйста, рассмотрите также сфокусированное состояние.


person Tšeliso Molukanele    schedule 24.02.2014    source источник


Ответы (1)


взгляните на http://tinyurl.com/n4nksll

Прежде всего, виджет текстового поля по умолчанию не имеет состояния «зависания», а только «сфокусирован». Я внедрил в образец небольшой миксин, чтобы включить эту функцию.

Кроме того, вы должны получить сообщение об ошибке типа «GlobalError: красный цвет не определен». Вы использовали цвет: красный вместо цвета: «красный» в своем классе декоратора.

Надеюсь, я смог помочь.

с уважением Мустафа Сак

person Mustafa Sak    schedule 25.02.2014
comment
Большое спасибо @MustafaSak. Предоставленное вами решение подходит прямо к файлам моей темы. Кроме того, ваши дополнительные указатели научили меня большему, чем я рассчитывал. - person Tšeliso Molukanele; 25.02.2014