Публикация

Как добавить или изменить CSS стиль

Вопрос

Как добавить или изменить 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) Обновите страницу.

Нравится

Поделиться

2 комментария

Это применяется во всех разделах. Если это необходимо в одном разделе, этот вариант не работает

А если замещать не 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
 }
{

 

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