Темы навигатора
< Платформа 3V | Навигатор
Перейти к навигации
Перейти к поиску
Версия от 10:31, 12 ноября 2020; K.kuznetsov (обсуждение | вклад) (Новая страница: «{{DISPLAYTITLE:Темы навигатора}} == Тема == Тема это объект представляющий из себя следующие свой...»)
Содержание
Тема
Тема это объект представляющий из себя следующие свойства:
Свойство | Описание |
---|---|
name | Идентификатор/имя темы (по которому в дальнейшем тему можно применить) |
title | Наименование темы для комбобокса выбора темы |
properties | Справочник/мапа css-переменных, содержание темы |
parent | Ссылка на родительскую тему, таким образом текущая тема может доопределять/переопределять css-переменные родительской темы |
parentName | Тоже что parent, но возможность задать родительскую тему через ее имя |
Темы по умолчанию
В навигаторе описаны 3 темы по умолчанию:
- Стандартная (default)
- Классическая (gray)
- Тёмная (black)
Добавление кастомной темы
Есть две возможности добавления кастомных тем:
- В прикладном коде (работает для случая прикладного приложения использующего компоненты навигатора, но не для самого навигатора)
- В конфиге веб-приложения (работает и для навигатора и для прикладного приложения)
Добавление кастомной темы в прикладном коде
import { Theme, themeGray, ThemeService } from '@bsc/common-ui';
constructor(private themeService: ThemeService) {}
initTheme() {
const customTheme: Theme = {
name: 'testCodeTheme',
parent: themeGray,
properties: {
'--img-cell-pattern': 'none'
},
};
this.themeService.addAvailableTheme(customTheme);
this.themeService.setActiveTheme(customTheme);
}
Добавление кастомной темы в конфиге веб-приложения
В конфиг веб-приложения добавлен блок theme. Здесь в свойстве "additionalThemes" можно задать набор тем. А также задать тему по умолчанию "defaultThemeName".
"theme": {
"defaultThemeName": "testConfigTheme",
"additionalThemes": [
{
"name": "testConfigTheme",
"parentName": "gray",
"properties": {
"--img-cell-pattern": "none"
}
}
]
}
Описание css-переменных темы
Поскольку тема реализована через css-переменные, то ссылаться на значения других переменных можно через var(--имя_переменной), имена css-переменных всегда начинаются с --
Свойство | Значение(из темы default) | Описание |
---|---|---|
--font-size | "14px" | |
--font-size-small | "12px" | |
--regular | "var(--font-size) 'Roboto', sans-serif" | |
--black | "#000" | |
--white | "#fff" | |
--background-color-rgb | [255, 255, 255] | |
--background-color | "rgb(var(--background-color-rgb))" | |
--main-color-rgb | [41, 53, 65] | |
--main-color | "rgb(var(--main-color-rgb))" | |
--sub-color | "#697c8e" | |
--readonly-color | "#8798a9" | |
--error-color | "#f37575" | |
--warning-color | "#f08513" | |
--padding | "8px" | |
--border-radius | "4px" | |
--transition | "0.3s" | |
--transparent-color-rgb | "var(--main-color-rgb)" | |
--transparent-color | "rgb(var(--transparent-color-rgb))" | |
--accent-color-rgb | [23, 135, 238] | |
--accent-color | "rgb(var(--accent-color-rgb))" | |
--label-color | "#8798a9" | |
--hover-bg | "rgba(var(--accent-color-rgb), 0.06)" | |
--active-bg | "rgba(var(--accent-color-rgb), 0.1)" | |
--border-color | "#e4ecf3" | |
--border-disabled-color | "#80b3ee" | |
--treeItem-current-color | "var(--hover-bg)" | |
--treeItem-checked-color | "var(--treeItem-current-color)" | |
--treeItem-hover-color | "var(--hover-bg)" | |
--sidebar-bg | "var(--background-color)" | |
--sidebar-border | "var(--border-color)" | |
--sidebar-separator-bg | "var(--sidebar-border)" | |
--sidebar-input-bg | "var(--background-color)" | |
--sidebar-input-border | "var(--border-color)" | |
--sidebar-input-color-rgb | "var(--main-color-rgb)" | |
--sidebar-input-color | "rgb(var(--sidebar-input-color-rgb))" | |
--scrollbar-color-rgb | "var(--main-color-rgb)" | |
--scrollbar-color | "rgb(var(--scrollbar-color-rgb))" | |
--scrollbar-size | "14px" | |
--scrollbar-padding | "4px" | |
--icon-color-rgb | "var(--main-color)" | |
--icon-color | "rgb(var(--icon-color-rgb))" | |
--input-bg | "var(--background-color)" | |
--input-color | "var(--main-color)" | |
--input-border | "var(--border-color)" | |
--input-padding | "var(--padding)" | |
--object-bg | "var(--background-color)" | |
--img-home-bg | "url(~@bsc/trv-theme/images/white-theme/layout/logo-background.svg) bottom right no-repeat / 500px 415px" | |
--img-home-bg-filter | "grayscale(1)" | |
--img-home-logo | "url(~@bsc/trv-theme/images/new-design/logo-big.png) center center no-repeat" | |
--img-home-logo-w | "414px" | |
--img-home-logo-h | "100px" | |
--img-bin | "url(~@bsc/trv-theme/images/white-theme/icons/ui/bin-big.svg)" | |
--img-area-empty | "url(~@bsc/trv-theme/images/constructor/empty.svg)" | |
--img-refresh-area | "url(~@bsc/trv-theme/images/white-theme/icons/ui/refresh.svg)" | обновить отчет (при изменении параметров) |
--img-no-active-area | "url(~@bsc/trv-theme/images/constructor/noActiveArea.svg)" | пустой(еще не настроенный) отчет |
--img-no-active-area-indicators | "url(~@bsc/trv-theme/images/constructor/Indicators.svg)" | пустой(еще не настроенный) показатель |
--img-loader-gif | "url(~@bsc/trv-theme/images/loader/trivium.gif)" | индикатор загрузки |
--img-cell-loader | "url(~@bsc/trv-theme/images/loader/loader.gif)" | картинка, которая отображается в ячейках, данные которых еще грузятся |
--img-cell-pattern | "url(~@bsc/trv-theme/images/white-theme/icons/cell-pattern.png)" | картинка, которой заполняется фон заблокированных ячеек |
--img-logo-mini | "url(~@bsc/trv-theme/images/new-design/logo.png)" | |
--img-home | "url(~@bsc/trv-theme/images/white-theme/layout/home.svg)" | |
--img-toggle-expanded | "url(~@bsc/trv-theme/images/white-theme/icons/ui/arrow-down.svg)" | |
--img-toggle-collapsed | "url(~@bsc/trv-theme/images/white-theme/icons/ui/arrow-right.svg)" | |
--img-arrows-updown | "url(~@bsc/trv-theme/images/white-theme/icons/ui/arrows-updown.svg)" | |
--img-group-1 | "url(~@bsc/trv-theme/images/constructor/group1.svg)" | |
--img-group-2 | "url(~@bsc/trv-theme/images/constructor/group2.svg)" | |
--img-group-3 | "url(~@bsc/trv-theme/images/constructor/group3.svg)" | |
--img-person-svg | "url(~@bsc/trv-theme/images/white-theme/icons/person-white.svg)" | |
--img-sort | "url(~@bsc/trv-theme/images/white-theme/icons/ui/sort.svg)" | |
--img-sort-down | "url(~@bsc/trv-theme/images/white-theme/icons/ui/sortDown.svg)" | |
--img-sort-up | "url(~@bsc/trv-theme/images/white-theme/icons/ui/sortUp.svg)" | |
--img-checkbox-unchecked | "url(~@bsc/trv-theme/images/white-theme/icons/ui/unchecked.svg)" | |
--img-checkbox-unchecked-hover | "url(~@bsc/trv-theme/images/white-theme/icons/ui/unchecked_hover.svg)" | |
--img-checkbox-checked | "url(~@bsc/trv-theme/images/white-theme/icons/ui/checked2.svg)" | |
--img-checkbox-checked-hover | "url(~@bsc/trv-theme/images/white-theme/icons/ui/checked2_hover.svg)" | |
--img-checkbox-halfchecked | "url(~@bsc/trv-theme/images/white-theme/icons/ui/halfchecked.svg)" | |
--img-checkbox-halfchecked-hover | "url(~@bsc/trv-theme/images/white-theme/icons/ui/halfchecked_hover.svg)" | |
--img-checkbox-falsechecked | "url(~@bsc/trv-theme/images/white-theme/icons/ui/falsechecked.svg)" | |
--img-checkbox-falsechecked-hover | "url(~@bsc/trv-theme/images/white-theme/icons/ui/falsechecked_hover.svg)" | |
--tabs-bg | "#eef2f8" | |
--checkbox-color | "#fff" | |
--checkbox-border | "var(--border-color)" | |
--btn-bg | "var(--accent-color)" | |
--btn-color | "#fff" | |
--btn-default-bg | "transparent" | |
--btn-default-color | "var(--main-color)" | |
--btn-default-bordercolor | "var(--border-color)" | |
--remove-zone-border | "#f59e9e" | |
--remove-zone-bg | "#ffe4e4" | |
--remove-zone-bg-darken | "darken(var(--remove-zone-bg), 5%)" | |
--grid-border-color | "#e5ecf3" | |
--grid-cell-active | "var(--accent-color)" | |
--grid-thead-color | "#656565" | |
--grid-thead-bg | "#f2f5f9" | |
--grid-abcd-color | "var(--label-color)" | |
--grid-deleted | "#e84b56" | |
--grid-wrapper-bg | "#444444" | |
--grid-sys-number-color | "var(--label-color)" | |
--grid-tr-bg | "var(--background-color)" | |
--grid-tr-color | "var(--main-color)" | |
--home-title-color | "var(--main-color)" | |
--home-links-color | "var(--sub-color)" | |
--home-hover-bg | "var(--hover-bg)" |