Я считаю, что rallytagpicker, безусловно, полезный компонент. Однако я не вижу ни одного поля конфигурации, которое позволило бы мне запретить пользователям создавать новые теги, сохраняя при этом функцию поиска. Есть такой конфиг? Или это необходимый компромисс между функциональностью?
Rally App SDK 2.0: Создайте средство поиска, но не редактируемое средство rallytagpicker
Ответы (3)
Лучшее решение, чем мой предыдущий взлом:
Ext.create('Ext.Container', {
items: [{
xtype: 'rallymultiobjectpicker',
modelType: 'tag'
}],
renderTo: Ext.getBody().dom
});
or
Ext.create('Rally.ui.picker.MultiObjectPicker', {
modelType: 'tag'
});
Это даст вам средство выбора тегов с возможностью поиска без возможности добавления.
person
ben.rally
schedule
14.06.2012
Здорово! Конечно, разумнее использовать компонент, созданный специально для тегов. Я могу использовать это вместо rallytagpicker + hack, так как для этого конкретного компонента есть уведомление / подсказка, в которой говорится: «Введите, чтобы добавить тег». Есть ли способ скрыть это?
- person user1417835; 15.06.2012
Я нашел ответ на свой вопрос выше. ^ Вам нужно будет указать listCfg следующим образом --- listCfg: {emptyText: ''} Я не уверен, что идея о том, что он позволяет вам напрямую вводить HTML, как это было сделано для представить, что уведомление div, может вызвать какие-либо проблемы ... Однако, чтобы было ясно, это, вероятно, лучший путь, чем попытка взломать rallytagpicker, поскольку этот компонент фактически расширяет rallymultiobjectpicker. Я также обнаружил, что rallymultiobjectpicker загружается быстрее.
- person user1417835; 15.06.2012
Я не думаю, что в настоящее время система разрешений различает назначение тегов и создание тегов.
person
limscoder
schedule
12.06.2012
Я не совсем уверен, что вы подразумеваете под назначением и созданием. Я хочу, чтобы это поле было доступным для поиска, но не было приглашения для прямого создания тега, когда поисковый запрос еще не существует в виде тега.
- person user1417835; 13.06.2012
Я понимаю. Тогда нет никакого способа обойти это. Будет ли предложена такая опция в будущем? Или, может быть, вы можете помочь мне в поиске реализации этого самостоятельно?
- person user1417835; 14.06.2012
Вот обходной путь, который работал в коде TagPicker. редактора в API, переопределив приватный метод _showAddNew как пустую функцию.
Ext.create('Ext.Container', {
items: [{
xtype: 'rallytagpicker',
autoExpand: true,
toolTipConfig: null,
_showAddNew: Ext.emptyFn
}],
renderTo: Ext.getBody().dom
});
Он также удаляет всплывающую подсказку, которая отображается, когда пользователь нажимает на поле поиска.
person
ben.rally
schedule
14.06.2012
Спасибо за совет! Если бы это было выставлено для модификации, это было бы здорово! Однако это работает только в редакторе кода и недоступно для перезаписи во внешнем коде. Это кажется противоречащим утверждению Чарльза о том, что было бы трудно подавить эту особенность. Просто должно быть поле конфигурации, которое позволяет установить логическое значение относительно того, должен ли обработчик событий вызывать эту функцию.
- person user1417835; 14.06.2012
Он будет работать и вне редактора кода, либо создавая экземпляр таким же образом (используя имя xtype), либо выполняя Ext.create('Rally.ui.picker.TagPicker, { _showAddNew: Ext.emptyFn, toolTipConfig: null } .
- person ben.rally; 14.06.2012
нуб комментирует. Вот полный комментарий: он будет работать и вне редактора кода, либо создавая экземпляр таким же образом (используя имя xtype), либо выполняя Ext.create('Rally.ui.picker.TagPicker, { _showAddNew: Ext.emptyFn , toolTipConfig: null }); Я тот, кто сказал Чарльзу, что это будет сложно, но потом я посмотрел еще раз. И я согласен, мы могли бы добавить еще одно логическое значение в конфиг, которое мы могли бы проверить перед вызовом _showAddNew.
- person ben.rally; 14.06.2012
В мою защиту Бен сказал мне, что это будет трудно подавить. :) Теперь я буду удалять любые доказательства моей ошибки.
- person Charles Ferentchak; 14.06.2012
Я беру на себя полную ответственность за то, что не изучила это достаточно глубоко, прежде чем поговорить с Чарльзом... но я не могу гарантировать, что это не повторится.
- person ben.rally; 14.06.2012
Ух ты. Обсуждение взорвалось с тех пор, как я в последний раз заглядывал сюда, а. Спасибо за разъяснения. я рад, что есть больше внутренних разработчиков, помогающих ответить на вопрос. Что касается кода, который вы представили, я клянусь, что этот небольшой хак не работал раньше, когда я его пробовал. Если вы не изменили SDK только для того, чтобы открыть его, довольно странно, что теперь он работает. Я должен буду проверить это немного больше.
- person user1417835; 15.06.2012