При клике по строке в детали, исходя из типа справочника в строке грида, брать из системной настройки соответствующий цвет для данного типа и подменять коробочный цвет на свой. Как это можно реализовать?
Ставим debugmode. В BaseGridDetailV2 устанавливаем дебагер на rowSelected там виден call stack отрисовки таблицы. Выводим в консоль this, видим что там есть свойства rowsStyles, cellsClasses, но они нигде не описаны в документации, если разберетесь можете попробовать использовать их.
В нашем случае нам нужны свойства collectionItemPrefix и model.$ActiveRow зная из мы можем составим полный id элемента строки, к примеру id="ContactAddressDetailV2DataGridGrid-d4dc6c60-2243-4b00-a122-7cb4987c07f6-item-82140c2c-41eb-48bb-97fb-51d0c5e92cfd".
Зная id получаем с помощью Ext.getCmp или обычного js, dom-элемент строки и можете манипулировать его свойствами как хотите.
Ставим debugmode. В BaseGridDetailV2 устанавливаем дебагер на rowSelected там виден call stack отрисовки таблицы. Выводим в консоль this, видим что там есть свойства rowsStyles, cellsClasses, но они нигде не описаны в документации, если разберетесь можете попробовать использовать их.
В нашем случае нам нужны свойства collectionItemPrefix и model.$ActiveRow зная из мы можем составим полный id элемента строки, к примеру id="ContactAddressDetailV2DataGridGrid-d4dc6c60-2243-4b00-a122-7cb4987c07f6-item-82140c2c-41eb-48bb-97fb-51d0c5e92cfd".
Зная id получаем с помощью Ext.getCmp или обычного js, dom-элемент строки и можете манипулировать его свойствами как хотите.
Реализовал кастомную кнопку закрытия обращения с выпадающим меню. Но никак не могу найти, как установить цвет выпадающих кнопок. Мне необходимо все 5-кнопок сделать разными цветами.
.
А так же интересует каким образом можно добавить для выпадающей кнопки Значок, по аналогии с кнопкой "Экспорт в Excel" в меню "Действия"?
К примеру, у меня есть 2 пункта меню. Чтобы я мог реализовать корректный selector, то мне нужно их как-то назвать. Поэтому, в методе, где формируется menuItem я явно буду указывать Id этого меню. После чего можно будет писать что-то типа:
#myMenuItem {
background-color: green;}
Теперь по значкам.
Как вы сами заметили, что хотите добавить значок по аналогии, то вам и нужно сделать по аналогии :). Вот как это сделано в BaseSection
Добрый день! Столкнулся с такой проблемой:
При попытке раскрасить грид (LeadSection, переопределил onLoadData) новые стили (customStyle) успешно применяются только к первой видимой выборке в 15 записей, остальные же при прокрутке имеют дефолтный фон. Подскажите как решить эту проблему?
Версия 7.2
Спасибо, но такой подход решает проблему порождая другую. В методе "loadSelect" добавлены фильтры по ответственному и статусу лида для определенной роли. При переопределении метода «loadGridCollectionItems» этот фильтр перестает отрабатывать...
Пытаюсь реализовать задачу, изменить цвет активностей (на оранжевый), если у активности высокий приоритет.
Переопределил метод prepareResponseCollection:
prepareResponseCollection: function(collection) {
var highPriorityId = "D625A9FC-7EE6-DF11-971B-001D60E938C6";
this.callParent(arguments);
var colour = "#F94D00";
collection.each(function(item) {
if (item.get("PriorityId") === highPriorityId) {
item.customStyle = {
background: colour
};
item.set("Background", colour);
}
}, this);
}
Если без ифа, то цвет меняют все активности.
С ифом не работает(цвет не меняется).
Подскажите, что неправильно (подозрение на item.get("PriorityId") )?
Теперь страница отображается, но цвет активностей с высоким приоритетом не меняется.
По всей видимости, дело не в этом.
Также проверил, приоритет проставлен для всех активностей.
Алексей, Вы хотите реализовать данный функционал в расписании активностей? Дело в том, что в режиме расписания доступны не все колонки схемы Activity, а только некоторые. Для получения значения поля "Приоритет" активности необходимо добавить соответствующую колонку в запрос.
Попробуйте для начала вместо item.get("Priority") подставить item.get("Status"). Если значение будет отличаться от undefined, переопределите схему ActivitySectionV2, добавив в список колонок метода getGridDataColumns колонку "Priority".
Здравствуйте, Олег.
Действительно, после подставки item.get("Status") - priority получила значение.
После переопределения метода getGridDataColumns и добавления в него колонки "Priority" все заработало.
Спасибо Вам за консультацию.
Ниже приведу алгоритм примера реализации, как сделать, чтобы была подсветка записей реестра если у продажи на объекте поле IsNotInterest = true:
1. Создаем метод gridRecolor
gridRecolor: function (){
var gridData =this.getGridData();
var items = gridData.getItems();
var loadedObject ={};
Terrasoft.each(items, function (item){
item.customStyle= null;
var facilityId = item.get("Facility").value;
var opportunityId = item.get("Opportunity").value;
var isNotInterest = item.get("IsNotInterest");//Если условие подходит, меняем цвет записи на темно-серый.if(isNotInterest){
item.customStyle={'color':"darkgrey"}}
var primaryValue = item.get(item.primaryColumnName);//Формируем новый набор данных уже с подсветкой
loadedObject[primaryValue]= item;}, this);
gridData.clear();//загружаем новый набор данных
gridData.loadAll(loadedObject);},
2. Замещаем метод onGridDataLoaded, добавив в него вызов gridRecolor
onGridDataLoaded: function (){this.callParent(arguments);this.gridRecolor();},
Дмитрий, такая функция выделяет нужным цветом текстовое содержимое полей. Скажите пожста, а можно ли выделять цветом не текст, а целый ряд(фон), который соответствует записи? Вот так:
В связи с появлением ссылок в 7.5 в карточке стало слишком много синего цвета.Чтобы визуально отделять данные-ссылки от заголовков деталей и групп полей, предлагаю последним сменить цвет с синего на какой-то другой
Спасибо, что помогаете нам развивать и улучшать наши продукты. Ваша идея принята для анализа аналитиками проектного офиса и будет рассмотрена возможность ее реализации в одной из последующих версий программного продукта…
Рассмотрим пример, как можно легко и просто поменять css-стили в bpm'online. Например, нам необходимо изменить цвет левой панели с разделами.
Большинство css-стилей в bpm'online 7.3 и выше вынесены в отдельный модуль - CommonCSSV2. Кроме стилей в нем ничего нет, поэтому его легко заместить, чтобы поменять какие-либо из базовых стилей.
Для того, чтобы понять, какие стили применяются к тем или иным компонентам можно воспользоваться консолью браузера и сразу попробовать применить другие стили:
Попробуем изменить цвет:
Уже неплохо, но хотелось бы также поменять и цвета элементов списка. Вот они:
Итак, определились, какие css-классы нужно менять: