Вопрос
Как добавить или изменить CSS стиль
Ответ
Чтобы добавить любой необходимый стиль необходимо:
1) Создать новый модуль. Добавить css стиль на вкладку Less. Рекомендуется использовать следующую структуру:
body[OldUI=false][CustomUI="true"] { .control-width-15 .t-label { color: #7FFF00; } }
2) Создайте необходимую замещающую страницу используя пункт "Замещающий клиентский модуль". Например, необходимо заместить модуль BasePageV2. Добавьте модуль из первого шага в define замещающей страницы.
Переопределите метод init() и вызовите метод setAttributeToBody() чтобы добавить ваш стиль к body.
define("BasePageV2", ["css!UsrBasePageV2CSS"], function() { return { messages: {}, mixins: {}, attributes: {}, methods: { init: function() { this.callParent(arguments); this.initializeCustomCss(); }, initializeCustomCss: function() { Terrasoft.utils.dom.setAttributeToBody("CustomUI", true); } }, diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/ }; });
3) Обновите страницу.
Это применяется во всех разделах. Если это необходимо в одном разделе, этот вариант не работает
А если замещать не BasePageV2, а свою страницу?
В конфигурации достаточно схем с названиями, оканчивающимися на CSS, в которых вносятся изменения стилей для конкретных схем. Например, AccountRelationshipDetailCss добавляет стили, специфичные для этой детали:
.account-relationship.detail { .relationship-mode-button { border-top-right-radius: 1px; border-bottom-right-radius: 1px; } .datagrid-mode-button { border-top-left-radius: 1px; border-bottom-left-radius: 1px; } .relationship-mode-button, .datagrid-mode-button { padding-left: 0.308em; padding-right: 0.462em; } .mode-button-pressed { background: #e4eaf9; } .account-relationship-chart { height: 450px; } }
Затем в основной схеме этой детали AccountRelationshipDetailV2 подключается эта схема со стилями:
define("AccountRelationshipDetailV2", ["AccountRelationshipDetailV2Resources", "MiniPageUtilities", "ConfigurationDiagramGenerator", "RelationshipDiagramViewModel", "RelationshipDiagram", "LookupQuickAddMixin", "RelationshipChartGenerator", "RelationshipChart", "css!AccountRelationshipDetailCss" ], function() {
И так для конкретного элемента, например, кнопки, использовать стили оттуда:
{ "operation": "insert", "name": "RelationshipModeButton", "parentName": "Detail", "propertyName": "tools", "values": { "itemType": this.Terrasoft.ViewItemType.BUTTON, "hint": {"bindTo": "Resources.Strings.DiagramViewButtonHint"}, "click": { "bindTo": "setRelationshipMode" }, "visible": { "bindTo": "getModeButtonsVisible" }, "pressed": { "bindTo": "getRelationshipButtonPressed" }, "classes": { "wrapperClass": ["relationship-mode-button"], "pressedClass": ["mode-button-pressed"] }, "controlConfig": { "imageConfig": { "bindTo": "Resources.Images.RelationshipViewIcon" } }, "markerValue": relationshipMode.Relationship } {