Я работаю специально с расширениями PowerTools для Tridion 2011, но это относится к любому расширению Anguilla с кнопками на панели инструментов.Можно ли показать другую подсказку, когда кнопка панели инструментов отключена?
Мы можем установить <ext:title>
, чтобы получить всплывающую подсказку. Пользователь нажимает на кнопку расширения GUI, чтобы увидеть этот текст. См. Пример для расширения «count items» в config.
<ext:extension assignid="CountItems" name="Count Items"
pageid="Power Tools" groupid="Tools">
<ext:command>PT_CountItems</ext:command>
<ext:title>Count Items</ext:title>
<ext:issmallbutton>false</ext:issmallbutton>
<ext:dependencies>
<cfg:dependency>PowerTools.Commands</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView" />
</ext:apply>
</ext:extension>
У нас есть запрос на change this tooltip to some helpful text, когда расширение не включен.
Я вижу текст «Количество элементов» внутри кнопки с консолью Chrome.
<div id="CountItems" class="tridion button PT_CountItems ribbonitem disabled"
title="Count Items" c:command="PT_CountItems"
c:controltype="Tridion.Controls.RibbonButton"
style="-webkit-user-select: none; ">
<div class="image"> </div>
<div class="text">Count Items</div>
</div>
Кроме того, в консоли, я могу выбрать ДИВ окружающий текст: $("div#CountItems > div.text")
. Я не уверен, как получить текст.
Вопрос: Как изменить/изменить текст всплывающей подсказки при неактивности кнопки GUI?
Возможно, мне также необходимо разъяснить их.
- В Ангилье (или PowerTools), является
$()
такой же, какjQuery()
? Я попробовал$("div#CountItems > div.text").text()
и получилObject #<HTMLDivElement> has no method 'text'
- Есть ли предпочтительный или настраиваемый способ установки этой всплывающей подсказки, когда кнопка отключена? Я уверен, что мы можем найти элемент в DOM, но мне, вероятно, что-то не хватает.
И, наконец,
- Would
{NameSpace}.Commands.{ExtensionName}.prototype.isValidSelection = function(selection) { }
быть в нужном месте, чтобы изменить эту подсказку в целом? - Для контекстных меню, я считаю, что у нас есть _isAvailable.
Возможно, вы можете расширить существующие команды и вызвать их методы «_isAvailable» или «_EESET», проверить, вернули ли они false, а затем изменить всплывающую подсказку? –
Спасибо, основанный на обратной связи @Nuno annd @ Frank, я должен был установить всплывающую подсказку с помощью '$ controls.getControl ($ (" # CountItems ")," Tridion.Controls.Button "). SetTooltip (" Count Item is ... ");' который работает в 'PowerTools.Commands.CountItems.prototype.isValidSelection = function (selection) {}'. –
@Frank также упомянул автономный вариант создания прослушивателя событий с чем-то вроде '$ evt.addEventListener (« onitemselected », function (selected) {PowerTools.Button1.setTooltip (...); PowerTools.Command1._isItEnabled = .. .;}); '. Я должен буду попробовать это дальше. –