Вопрос

Изменение иконки при нажатии на кнопку

Добрый день.

При нажатии на кнопку у меня должна меняться иконка кнопки. Я заместила  CTI panel, добавила картинку "MyButtonIcon" такого же размера как и остальные иконки. Как передавать новую иконку в "ImageConfig" каждый раз когда я совершаю нажатие.

Нравится

1 комментарий

В схеме CommunicationPanel для иконок почты, виз и прочего заведено по несколько изображений с однотипными названиями: VisaMenuIcon, VisaMenuPressedIcon, VisaMenuCounterIcon и VisaMenuPressedCounterIcon. И в функции выбирается то или иное:

/**
 * Creates menu icon image for current menu item state.
 * @private
 * @param {String} itemTag Menu item tag.
 * @return {Object} Menu item icon config.
 */
getItemImageConfig: function(itemTag) {
	var resourceName = "";
	var menuItemIconNameTemplate = this.get("MenuItemIconNameTemplate");
	if (!this.getIsFeatureEnabled("OldUI")) {
		resourceName = this.Ext.String.format(menuItemIconNameTemplate, itemTag, "", "");
		return this.get("Resources.Images." + resourceName + "SVG");
	}
	var isItemPressed = (this.get("SelectedMenuItem") === itemTag);
	var isItemCounter = this.get(itemTag + "Counter");
	var pressedSuffix = isItemPressed ? "Pressed" : Ext.emptyString;
	var counterSuffix = isItemCounter ? "Counter" : Ext.emptyString;
	resourceName = Ext.String.format(menuItemIconNameTemplate, itemTag, pressedSuffix, counterSuffix);
	return this.get("Resources.Images." + resourceName);
},

 

Показать все комментарии