Merge branch 'release/1.9.12'

This commit is contained in:
Zaripov Emil 2025-04-24 10:22:17 +03:00
commit fac186a7f5
20 changed files with 507 additions and 297 deletions

View file

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>ru.micord.ervu.lkrp</groupId> <groupId>ru.micord.ervu.lkrp</groupId>
<artifactId>ul</artifactId> <artifactId>ul</artifactId>
<version>1.9.11</version> <version>1.9.12-SNAPSHOT</version>
</parent> </parent>
<groupId>ru.micord.ervu.lkrp.ul</groupId> <groupId>ru.micord.ervu.lkrp.ul</groupId>
<artifactId>backend</artifactId> <artifactId>backend</artifactId>

View file

@ -2,7 +2,6 @@ package ru.micord.ervu.audit.constants;
import java.util.Map; import java.util.Map;
import java.util.Optional;
/** /**
* @author Adel Kalimullin * @author Adel Kalimullin
@ -17,7 +16,8 @@ public final class AuditConstants {
private static final Map<String, String> routeDescriptions = Map.of( private static final Map<String, String> routeDescriptions = Map.of(
"/", "Личный кабинет ЮР лица", "/", "Личный кабинет ЮР лица",
"/mydata", "Информация об организации", "/mydata", "Информация об организации",
"/filesentlog", "Журнал взаимодействия" "/filesentlog", "Журнал взаимодействия",
"/home", "Домашняя страница ЛК РП ЮЛ"
); );
private static final Map<Integer, String> downloadTypes = Map.of( private static final Map<Integer, String> downloadTypes = Map.of(
@ -29,13 +29,10 @@ public final class AuditConstants {
} }
public static String getRouteDescription(String route) { public static String getRouteDescription(String route) {
return Optional.ofNullable(routeDescriptions.get(route)) return routeDescriptions.getOrDefault(route, "Неизвестный маршрут");
.orElseThrow(() -> new IllegalArgumentException("Invalid route :" + route));
} }
public static String getDownloadType(int formatRegistry) { public static String getDownloadType(int formatRegistry) {
return Optional.ofNullable(downloadTypes.get(formatRegistry)) return downloadTypes.getOrDefault(formatRegistry, "Неизвестный формат");
.orElseThrow(
() -> new IllegalArgumentException("Invalid formatRegistry :" + formatRegistry));
} }
} }

View file

@ -33,6 +33,7 @@ public class SecurityConfig {
private static final String[] PERMIT_ALL = new String[] { private static final String[] PERMIT_ALL = new String[] {
"/version", "/esia/url", "/esia/auth", "esia/refresh", "/esia/logout" "/version", "/esia/url", "/esia/auth", "esia/refresh", "/esia/logout"
}; };
private static final String DENY_ALL = "/employee/document";
@Autowired @Autowired
private JwtAuthenticationFilter jwtAuthenticationFilter; private JwtAuthenticationFilter jwtAuthenticationFilter;
@Autowired @Autowired
@ -57,11 +58,11 @@ public class SecurityConfig {
// Use only the handle() method of XorCsrfTokenRequestAttributeHandler and the // Use only the handle() method of XorCsrfTokenRequestAttributeHandler and the
// default implementation of resolveCsrfTokenValue() from CsrfTokenRequestHandler // default implementation of resolveCsrfTokenValue() from CsrfTokenRequestHandler
CsrfTokenRequestHandler requestHandler = delegate::handle; CsrfTokenRequestHandler requestHandler = delegate::handle;
http.authorizeHttpRequests( http.authorizeHttpRequests((authorizeHttpRequests) -> authorizeHttpRequests
(authorizeHttpRequests) -> authorizeHttpRequests.requestMatchers(PERMIT_ALL) .requestMatchers(DENY_ALL).denyAll()
.permitAll() .requestMatchers(PERMIT_ALL).permitAll()
.anyRequest() .anyRequest().authenticated()
.authenticated()) )
.csrf((csrf) -> csrf.csrfTokenRepository(tokenRepository) .csrf((csrf) -> csrf.csrfTokenRepository(tokenRepository)
.csrfTokenRequestHandler(requestHandler) .csrfTokenRequestHandler(requestHandler)
.sessionAuthenticationStrategy(new NullAuthenticatedSessionStrategy())) .sessionAuthenticationStrategy(new NullAuthenticatedSessionStrategy()))

View file

@ -8,10 +8,13 @@ import java.util.concurrent.CopyOnWriteArrayList;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import ru.micord.ervu.security.esia.exception.EsiaException; import org.springframework.context.support.MessageSourceAccessor;
import ru.micord.ervu.security.esia.model.ExpiringState; import ru.micord.ervu.security.esia.model.ExpiringState;
import ru.micord.ervu.security.esia.model.ExpiringToken; import ru.micord.ervu.security.esia.model.ExpiringToken;
import ru.cg.webbpm.modules.core.runtime.api.LocalizedException;
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
/** /**
* @author Eduard Tihomirov * @author Eduard Tihomirov
*/ */
@ -20,6 +23,8 @@ public class EsiaAuthInfoStore {
private static final Map<String, ExpiringToken> ACCESS_TOKENS_MAP = new ConcurrentHashMap<>(); private static final Map<String, ExpiringToken> ACCESS_TOKENS_MAP = new ConcurrentHashMap<>();
private static final Map<String, ExpiringToken> REFRESH_TOKENS_MAP = new ConcurrentHashMap<>(); private static final Map<String, ExpiringToken> REFRESH_TOKENS_MAP = new ConcurrentHashMap<>();
private static final Map<String, List<ExpiringState>> PRNS_UUID_STATE_MAP = new ConcurrentHashMap<>(); private static final Map<String, List<ExpiringState>> PRNS_UUID_STATE_MAP = new ConcurrentHashMap<>();
private static final MessageSourceAccessor MESSAGE_SOURCE = MessageBundleUtils.createAccessor(
"messages/common_errors_messages");
public static void addAccessToken(String prnOid, String token, long expiresIn) { public static void addAccessToken(String prnOid, String token, long expiresIn) {
if (token != null) { if (token != null) {
@ -89,8 +94,11 @@ public class EsiaAuthInfoStore {
if (states == null) { if (states == null) {
states = new CopyOnWriteArrayList<>(); states = new CopyOnWriteArrayList<>();
} }
else {
states.removeIf(ExpiringState::isExpired);
}
if (states.size() >= attemptsCount) { if (states.size() >= attemptsCount) {
throw new EsiaException("The number of login attempts has been exceeded."); throw new LocalizedException("login_attempts_exceeded", MESSAGE_SOURCE);
} }
states.add(newState); states.add(newState);
return states; return states;

View file

@ -1,2 +1,3 @@
kafka_reply_timeout=Превышено время ожидания ответа от сервера. kafka_reply_timeout=Превышено время ожидания ответа от сервера.
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.

View file

@ -1,2 +1,3 @@
kafka_reply_timeout=Превышено время ожидания ответа от сервера. kafka_reply_timeout=Превышено время ожидания ответа от сервера.
access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА access_denied=Доступ запрещен. Пользователь должен быть включен в группу "Сотрудник, ответственный за военно-учетную работу" в ЕСИА
login_attempts_exceeded=Слишком большое количество попыток авторизоваться в ЕСИА за короткий промежуток времени. Рекомендуем почистить cookie и cash браузера, после повторить авторизацию.

View file

@ -28,6 +28,7 @@ ESIA_LOGOUT_REDIRECT_URL=https://lkrp-dev.micord.ru/ul/home.html
ESIA_UPLOAD_DATA_ROLE=MNSV89_UPLOAD_DATA ESIA_UPLOAD_DATA_ROLE=MNSV89_UPLOAD_DATA
ESIA_CLIENT_CERT_HASH=04508B4B0B58776A954A0E15F574B4E58799D74C61EE020B3330716C203E3BDD ESIA_CLIENT_CERT_HASH=04508B4B0B58776A954A0E15F574B4E58799D74C61EE020B3330716C203E3BDD
ESIA_AUTH_INFO_CLEAR_CRON=0 0 */1 * * * ESIA_AUTH_INFO_CLEAR_CRON=0 0 */1 * * *
ESIA_MARKER_VER=1
SIGN_URL=https://ervu-sign-dev.k8s.micord.ru/sign SIGN_URL=https://ervu-sign-dev.k8s.micord.ru/sign
SIGN_VERIFY_URL=https://ervu-sign-dev.k8s.micord.ru/verify SIGN_VERIFY_URL=https://ervu-sign-dev.k8s.micord.ru/verify

View file

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>ru.micord.ervu.lkrp</groupId> <groupId>ru.micord.ervu.lkrp</groupId>
<artifactId>ul</artifactId> <artifactId>ul</artifactId>
<version>1.9.11</version> <version>1.9.12-SNAPSHOT</version>
</parent> </parent>
<groupId>ru.micord.ervu.lkrp.ul</groupId> <groupId>ru.micord.ervu.lkrp.ul</groupId>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>ru.micord.ervu.lkrp</groupId> <groupId>ru.micord.ervu.lkrp</groupId>
<artifactId>ul</artifactId> <artifactId>ul</artifactId>
<version>1.9.11</version> <version>1.9.12-SNAPSHOT</version>
</parent> </parent>
<groupId>ru.micord.ervu.lkrp.ul</groupId> <groupId>ru.micord.ervu.lkrp.ul</groupId>

View file

@ -944,104 +944,104 @@
} }
/*---------------- HOME ----------------*/ /*---------------- HOME ----------------*/
.webbpm .header-landing { .webbpm.ervu_lkrp_ul .header-landing {
background-color: var(--color-text-primary) !important; background-color: var(--color-text-primary) !important;
z-index: 1; z-index: 1;
} }
.webbpm .header-landing > div { .webbpm.ervu_lkrp_ul .header-landing > div {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
font-family: 'InterSB'; font-family: 'InterSB';
} }
.webbpm .header-landing .header-logo { .webbpm.ervu_lkrp_ul .header-landing .header-logo {
width: 62px; width: 62px;
height: 40px; height: 40px;
background: url(../img/svg/mil-logo.svg) no-repeat 0 50%; background: url(../img/svg/mil-logo.svg) no-repeat 0 50%;
} }
.webbpm .header-landing .header-title { .webbpm.ervu_lkrp_ul .header-landing .header-title {
color: var(--white); color: var(--white);
font-size: var(--size-text-secondary); font-size: var(--size-text-secondary);
margin-left: var(--indent-mini); margin-left: var(--indent-mini);
} }
.webbpm .container-inside .short-text { .webbpm.ervu_lkrp_ul .container-inside .short-text {
max-width: 60%; max-width: 60%;
} }
.webbpm .container-inside .paragraph-left .short-text { .webbpm.ervu_lkrp_ul .container-inside .paragraph-left .short-text {
max-width: 70%; max-width: 70%;
} }
.webbpm .container-inside .list-group { .webbpm.ervu_lkrp_ul .container-inside .list-group {
position: relative; position: relative;
font-size: var(--size-text-secondary); font-size: var(--size-text-secondary);
line-height: normal; line-height: normal;
padding: 0 var(--w-screen); padding: 0 var(--w-screen);
} }
.webbpm .container-inside .list-group .btn { .webbpm.ervu_lkrp_ul .container-inside .list-group .btn {
width: max-content; width: max-content;
} }
.webbpm .container-inside .list-group .title { .webbpm.ervu_lkrp_ul .container-inside .list-group .title {
font-size: var(--l-size-text-maintitle); font-size: var(--l-size-text-maintitle);
font-family: 'GolosB'; font-family: 'GolosB';
margin-bottom: var(--l-indent-huge); margin-bottom: var(--l-indent-huge);
} }
.webbpm .container-inside .list-group .subtitle { .webbpm.ervu_lkrp_ul.ervu_lkrp_ul .container-inside .list-group .subtitle {
font-size: var(--l-size-text-title); font-size: var(--l-size-text-title);
font-family: 'GolosDB'; font-family: 'GolosDB';
margin-bottom: var(--l-indent-big); margin-bottom: var(--l-indent-big);
} }
.webbpm .container-inside .list-group .muted { .webbpm.ervu_lkrp_ul .container-inside .list-group .muted {
color: var(--color-light); color: var(--color-light);
} }
.webbpm .container-inside .list-group .paragraph { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
} }
.webbpm .container-inside .list-group .paragraph .paragraph-left { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-left {
width: 40%; width: 40%;
} }
.webbpm .container-inside .list-group .paragraph .paragraph-right { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-right {
width: 60%; width: 60%;
} }
.webbpm .container-inside .list-group .paragraph .paragraph-half { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-half {
width: 50%; width: 50%;
} }
.webbpm .container-inside .list-group .paragraph .paragraph-third { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-third {
width: 33.33%; width: 33.33%;
} }
.webbpm .container-inside .list-group .paragraph [class*="paragraph-"] + [class*="paragraph-"] { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph [class*="paragraph-"] + [class*="paragraph-"] {
margin-left: 40px; margin-left: 40px;
} }
.webbpm .container-inside .list-group .paragraph .text { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .text {
font-family: 'InterSB'; font-family: 'InterSB';
font-size: var(--l-size-text-primary); font-size: var(--l-size-text-primary);
margin-bottom: var(--indent-mini); margin-bottom: var(--indent-mini);
} }
.webbpm .container-inside .list-group .paragraph .icon-checklist, .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-checklist,
.webbpm .container-inside .list-group .paragraph .icon-clock, .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-clock,
.webbpm .container-inside .list-group .paragraph .icon-text { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-text {
padding-top: 44px; padding-top: 44px;
} }
.webbpm .container-inside .list-group .paragraph .icon-checklist { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-checklist {
background: url(../img/svg/checklist-32x32.svg) no-repeat 0 0; background: url(../img/svg/checklist-32x32.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .paragraph .icon-clock { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-clock {
background: url(../img/svg/clock-32x32.svg) no-repeat 0 0; background: url(../img/svg/clock-32x32.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .paragraph .icon-text { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-text {
background: url(../img/svg/text-32x32.svg) no-repeat 0 0; background: url(../img/svg/text-32x32.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .list > div { .webbpm.ervu_lkrp_ul .container-inside .list-group .list > div {
position: relative; position: relative;
padding-left: 36px; padding-left: 36px;
} }
.webbpm .container-inside .list-group .list > div + div { .webbpm.ervu_lkrp_ul .container-inside .list-group .list > div + div {
margin-top: var(--indent-mini); margin-top: var(--indent-mini);
} }
.webbpm .container-inside .list-group .list > div::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .list > div::after {
content: ""; content: "";
position: absolute; position: absolute;
width: 24px; width: 24px;
@ -1049,23 +1049,23 @@
top: 0; top: 0;
left: 0; left: 0;
} }
.webbpm .container-inside .list-group .list > div.esia::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .list > div.esia::after {
background: url(../img/svg/esia-24x24.svg) no-repeat 0 0; background: url(../img/svg/esia-24x24.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .list > div.case::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .list > div.case::after {
background: url(../img/svg/case-24x24.svg) no-repeat 0 0; background: url(../img/svg/case-24x24.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .list > div.user::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .list > div.user::after {
background: url(../img/svg/user-24x24.svg) no-repeat 0 0; background: url(../img/svg/user-24x24.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .list > div.romb::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .list > div.romb::after {
background: url(../img/svg/romb-24x24.svg) no-repeat 0 0; background: url(../img/svg/romb-24x24.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .list ~ .btn-group { .webbpm.ervu_lkrp_ul .container-inside .list-group .list ~ .btn-group {
margin-top: var(--indent-medium); margin-top: var(--indent-medium);
} }
.webbpm .container-inside .list-group .section-group > div { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
min-height: 80px; min-height: 80px;
@ -1075,10 +1075,10 @@
border-radius: 4px; border-radius: 4px;
background-color: var(--bg-form); background-color: var(--bg-form);
} }
.webbpm .container-inside .list-group .section-group > div:last-child { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div:last-child {
margin-bottom: 0; margin-bottom: 0;
} }
.webbpm .container-inside .list-group .section-group > div::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div::before {
content: ""; content: "";
position: absolute; position: absolute;
left: 16px; left: 16px;
@ -1089,39 +1089,39 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: 50% 50%; background-position: 50% 50%;
} }
.webbpm .container-inside .list-group .section-group > div.icon-user::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div.icon-user::before {
background-image: url(../img/svg/pers-wt.svg); background-image: url(../img/svg/pers-wt.svg);
} }
.webbpm .container-inside .list-group .section-group > div.icon-case::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div.icon-case::before {
background-image: url(../img/svg/case-wt.svg); background-image: url(../img/svg/case-wt.svg);
} }
.webbpm .container-inside .list-group .section-group > div.icon-shield::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div.icon-shield::before {
background-image: url(../img/svg/shield-wt.svg); background-image: url(../img/svg/shield-wt.svg);
} }
.webbpm .container-inside .list-group .section-group > div.icon-clip::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div.icon-clip::before {
background-image: url(../img/svg/clip-wt.svg); background-image: url(../img/svg/clip-wt.svg);
} }
.webbpm .container-inside .list-group .section-group > div.icon-pers::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div.icon-pers::before {
background-image: url(../img/svg/pers-wt.svg); background-image: url(../img/svg/pers-wt.svg);
} }
.webbpm .container-inside .list-group .section-group > div.icon-building::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div.icon-building::before {
background-image: url(../img/svg/building-wt.svg); background-image: url(../img/svg/building-wt.svg);
} }
.webbpm .container-inside .list-group .section-group > div .muted { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div .muted {
margin-top: 12px; margin-top: 12px;
} }
.webbpm .container-inside .list-group .section-group > div .muted .detailed { .webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div .muted .detailed {
color: var(--color-text-primary); color: var(--color-text-primary);
font-family: 'InterB'; font-family: 'InterB';
} }
.webbpm .container-inside .list-group .pass-list { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list {
position: relative; position: relative;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
padding-top: 60px; padding-top: 60px;
} }
.webbpm .container-inside .list-group .pass-list::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list::before {
content: ""; content: "";
position: absolute; position: absolute;
width: calc(80% + 40px); width: calc(80% + 40px);
@ -1130,11 +1130,11 @@
left: 0; left: 0;
background-color: var(--color-link-hover); background-color: var(--color-link-hover);
} }
.webbpm .container-inside .list-group .pass-list > div { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div {
position: relative; position: relative;
width: 20%; width: 20%;
} }
.webbpm .container-inside .list-group .pass-list > div::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div::before {
content: ""; content: "";
position: absolute; position: absolute;
width: 40px; width: 40px;
@ -1146,73 +1146,73 @@
background-color: var(--bg-light); background-color: var(--bg-light);
transform: rotate(45deg); transform: rotate(45deg);
} }
.webbpm .container-inside .list-group .pass-list > div::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div::after {
content: ""; content: "";
position: absolute; position: absolute;
font-family: 'InterB'; font-family: 'InterB';
top: -50px; top: -50px;
left: 15px; left: 15px;
} }
.webbpm .container-inside .list-group .pass-list > div:nth-child(1)::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div:nth-child(1)::after {
content: "1"; content: "1";
} }
.webbpm .container-inside .list-group .pass-list > div:nth-child(2)::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div:nth-child(2)::after {
content: "2"; content: "2";
} }
.webbpm .container-inside .list-group .pass-list > div:nth-child(3)::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div:nth-child(3)::after {
content: "3"; content: "3";
} }
.webbpm .container-inside .list-group .pass-list > div:nth-child(4)::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div:nth-child(4)::after {
content: "4"; content: "4";
} }
.webbpm .container-inside .list-group .pass-list > div:nth-child(5)::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div:nth-child(5)::after {
content: "5"; content: "5";
} }
.webbpm .container-inside .list-group .pass-list > div + div { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div + div {
margin-left: 40px; margin-left: 40px;
} }
.webbpm .container-inside .list-group .msg-list { .webbpm.ervu_lkrp_ul .container-inside .list-group .msg-list {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 8px; padding: 8px;
} }
.webbpm .container-inside .list-group .msg-list span { .webbpm.ervu_lkrp_ul .container-inside .list-group .msg-list span {
width: 32px; width: 32px;
height: 32px; height: 32px;
margin: 0 16px 0 0; margin: 0 16px 0 0;
background: url(../img/svg/info-gr.svg) no-repeat 0 0; background: url(../img/svg/info-gr.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .docs-list { .webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list {
position: relative; position: relative;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
} }
.webbpm .container-inside .list-group .docs-list > div { .webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list > div {
position: relative; position: relative;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
width: 20%; width: 20%;
} }
.webbpm .container-inside .list-group .docs-list > div a { .webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list > div a {
width: 24px; width: 24px;
height: 24px; height: 24px;
padding-right: 8px; padding-right: 8px;
background: url(../img/svg/download-24x24.svg) no-repeat 0 0; background: url(../img/svg/download-24x24.svg) no-repeat 0 0;
} }
.webbpm .container-inside .list-group .docs-list > div + div { .webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list > div + div {
margin-left: 40px; margin-left: 40px;
} }
.webbpm .container-inside .list-group.lk-what { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-what {
padding-top: var(--l-indent-huge); padding-top: var(--l-indent-huge);
padding-bottom: var(--l-indent-huge); padding-bottom: var(--l-indent-huge);
} }
.webbpm .container-inside .list-group.lk-what::after { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-what::after {
content: ""; content: "";
position: absolute; position: absolute;
top: 0; top: 0;
@ -1223,211 +1223,147 @@
background: url(../img/bg-star.png) no-repeat calc(100% + 200px) 0px transparent; background: url(../img/bg-star.png) no-repeat calc(100% + 200px) 0px transparent;
z-index: 0; z-index: 0;
} }
.webbpm .container-inside .list-group.lk-what > div { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-what > div {
position: relative; position: relative;
z-index: 1; z-index: 1;
} }
.webbpm .container-inside .list-group.lk-access { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-access {
color: var(--white); color: var(--white);
padding-top: var(--l-indent-big); padding-top: var(--l-indent-big);
padding-bottom: var(--l-indent-big); padding-bottom: var(--l-indent-big);
background-color: var(--color-bg-main); background-color: var(--color-bg-main);
} }
.webbpm .container-inside .list-group.lk-info { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-info {
padding-top: var(--l-indent-big); padding-top: var(--l-indent-big);
padding-bottom: var(--l-indent-big); padding-bottom: var(--l-indent-big);
} }
.webbpm .container-inside .list-group.lk-pass { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-pass {
padding-top: var(--l-indent-big); padding-top: var(--l-indent-big);
padding-bottom: var(--l-indent-big); padding-bottom: var(--l-indent-big);
background-color: var(--bg-light); background-color: var(--bg-light);
} }
.webbpm .container-inside .list-group.lk-when { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-when {
color: var(--white); color: var(--white);
padding-top: var(--l-indent-big); padding-top: var(--l-indent-big);
padding-bottom: var(--indentl--big); padding-bottom: var(--indentl--big);
background-color: var(--color-bg-main); background-color: var(--color-bg-main);
} }
.webbpm .container-inside .list-group.lk-msg { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-msg {
background-color: var(--border-light); background-color: var(--border-light);
} }
.webbpm .container-inside .list-group.lk-limits { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-limits {
padding-top: var(--l-indent-big); padding-top: var(--l-indent-big);
padding-bottom: var(--l-indent-big); padding-bottom: var(--l-indent-big);
} }
.webbpm .container-inside .list-group.lk-docs { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-docs {
flex: 1; flex: 1;
color: var(--white); color: var(--white);
padding-top: var(--l-indent-huge); padding-top: var(--l-indent-huge);
padding-bottom: var(--l-indent-huge); padding-bottom: var(--l-indent-huge);
background-color: var(--color-text-primary); background-color: var(--color-text-primary);
} }
.webbpm .container-inside .list-group.lk-alert { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-alert {
padding-top: var(--l-indent-big); padding-top: var(--l-indent-big);
padding-bottom: var(--l-indent-big); padding-bottom: var(--l-indent-big);
background-color: var(--bg-light); background-color: var(--bg-light);
} }
.webbpm .container-inside .list-group.lk-footer { .webbpm.ervu_lkrp_ul .container-inside .list-group.lk-footer {
padding-top: var(--indent-small); padding-top: var(--indent-small);
padding-bottom: var(--indent-small); padding-bottom: var(--indent-small);
background-color: var(--color-text-primary); background-color: var(--color-text-primary);
} }
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-what .title {
color: var(--color-link);
margin-bottom: var(--indent-small);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-what .title::after {
content: url(../img/svg/star.svg);
top: 18px;
position: relative;
margin-left: var(--l-indent-big);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-what .title + .short-text {
max-width: 25%;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-what .title ~ .subtitle {
margin-top: var(--l-indent-big);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-info .section-group > div {
justify-content: center;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-pass .subtitle {
margin-bottom: 0;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-pass .subtitle + div {
margin-top: var(--indent-small);
margin-bottom: var(--l-indent-big);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-pass .pass-list::before {
display: none;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-pass .pass-list > div {
position: relative;
width: 33.33%;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-msg {
color: var(--color-link);
font-family: 'InterSB';
background-color: var(--bg-form);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-msg span {
background: url(../img/svg/info.svg) no-repeat 0 4px;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-limits .subtitle {
margin-bottom: 0;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-limits .subtitle + div {
margin-top: var(--indent-small);
margin-bottom: var(--l-indent-big);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-limits .scheme {
width: 100%;
height: 204px;
background: url(../img/svg/scheme.svg) no-repeat 0 0;
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-alert > .short-text {
margin-bottom: var(--l-indent-big);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-alert .alert-block {
position: relative;
padding: var(--indent-small) 64px var(--indent-small) var(--indent-small);
border-radius: 4px;
border: 2px solid var(--border-light);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-alert .alert-block::after {
content: url(../img/svg/info.svg);
position: absolute;
top: var(--indent-small);
right: var(--indent-small);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-alert .alert-block > div + div {
margin-top: var(--indent-small);
}
.webbpm.ervu_lkrp_fl .container-inside .list-group.lk-alert .alert-block > div:last-child {
color: var(--color-link);
}
/*@media ((max-width: 780px) or ((orientation: landscape) and (max-device-width : 1024px))) {*/ /*@media ((max-width: 780px) or ((orientation: landscape) and (max-device-width : 1024px))) {*/
@media (max-width: 1024px) { @media (max-width: 1024px) {
.container-inside .short-text { .webbpm.ervu_lkrp_ul .landing .container {
top: var(--h-header);
padding: 0;
overflow: auto;
}
.webbpm.ervu_lkrp_ul .landing .container-inside {
overflow: visible;
}
.webbpm.ervu_lkrp_ul .landing .browser-check-content {
padding-left: var(--w-screen);
}
.webbpm.ervu_lkrp_ul .container-inside .short-text {
max-width: 100% !important; max-width: 100% !important;
} }
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph {
.webbpm .container-inside .list-group .paragraph {
flex-direction: column; flex-direction: column;
} }
.webbpm .container-inside .list-group .paragraph [class*="paragraph-"] { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph [class*="paragraph-"] {
width: auto; width: auto;
margin-left: 0; margin-left: 0;
} }
.webbpm .container-inside .list-group .paragraph [class*="paragraph-"] + [class*="paragraph-"] { .webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph [class*="paragraph-"] + [class*="paragraph-"] {
margin-top: var(--indent-mini); margin-top: var(--indent-mini);
margin-left: 0; margin-left: 0;
} }
.webbpm .container-inside .list-group .pass-list { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list {
flex-direction: column; flex-direction: column;
padding-top: 0; padding-top: 0;
} }
.webbpm .container-inside .list-group .pass-list::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list::before {
display: none; display: none;
} }
.webbpm .container-inside .list-group .pass-list > div { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div {
display: flex; display: flex;
align-items: center; align-items: center;
width: auto !important; width: auto !important;
padding-left: 60px; padding-left: 60px;
min-height: 40px; min-height: 40px;
} }
.webbpm .container-inside .list-group .pass-list > div::before { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div::before {
top: 0; top: 0;
} }
.webbpm .container-inside .list-group .pass-list > div::after { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div::after {
top: 10px; top: 10px;
} }
.webbpm .container-inside .list-group .pass-list > div + div { .webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div + div {
margin-left: 0; margin-left: 0;
margin-top: var(--indent-mini); margin-top: var(--indent-mini);
} }
} }
@media (max-width: 480px) { @media (max-width: 480px) {
.webbpm .container-inside .list-group .docs-list { .webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list {
flex-direction: column; flex-direction: column;
} }
.webbpm .container-inside .list-group .docs-list > div { .webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list > div {
width: 100%; width: 100%;
} }
.webbpm .container-inside .list-group .docs-list > div + div { .webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list > div + div {
margin-left: 0; margin-left: 0;
margin-top: var(--indent-mini); margin-top: var(--indent-mini);
} }
} }
/*------------- end - HOME -------------*/ /*------------- end - HOME -------------*/
.browser-check-content { .webbpm.ervu_lkrp_ul .browser-check-content {
font-family: 'Golos'; font-family: 'Golos';
font-size: var(--size-text-secondary); font-size: var(--size-text-secondary);
padding: var(--indent-mini) var(--w-screen) var(--indent-mini) calc(var(--w-screen) + 38px); padding: var(--indent-mini) var(--w-screen) var(--indent-mini) calc(var(--w-screen) + 38px);
background-color: var(--bg-warn); background-color: var(--bg-warn);
} }
.browser-check-text { .webbpm.ervu_lkrp_ul .browser-check-text {
position: relative; position: relative;
padding-left: 40px; padding-left: 40px;
} }
.browser-check-text::before { .webbpm.ervu_lkrp_ul .browser-check-text::before {
position: absolute; position: absolute;
content: url(../img/svg/info.svg); content: url(../img/svg/info.svg);
left: 0; left: 0;
top: calc((100% - 24px) / 2); top: calc((100% - 24px) / 2);
} }
.text-header { .webbpm.ervu_lkrp_ul .text-header {
color: var(--color-link); color: var(--color-link);
font-family: 'GolosB'; font-family: 'GolosB';
font-size: var(--size-text-primary); font-size: var(--size-text-primary);
margin-bottom: 4px; margin-bottom: 4px;
} }
.plain-text { .webbpm.ervu_lkrp_ul .plain-text {
margin-bottom: 0; margin-bottom: 0;
} }

View file

@ -47,6 +47,12 @@
font-weight: 400; font-weight: 400;
font-style: normal; font-style: normal;
} }
@font-face {
font-family: 'Golos';
src: url('../fonts/GolosText-Regular.ttf');
font-weight: 400;
font-style: normal;
}
body.webbpm.ervu_lkrp_ul { body.webbpm.ervu_lkrp_ul {
-ms-text-size-adjust: 100%; -ms-text-size-adjust: 100%;

View file

@ -23,6 +23,9 @@
<div class="esia short-text">Необходимо авторизоваться</div> <div class="esia short-text">Необходимо авторизоваться</div>
<div class="case short-text">Потребуется подтвержденная учетная запись организации</div> <div class="case short-text">Потребуется подтвержденная учетная запись организации</div>
<div class="user short-text">Доступ предоставляется тольĸо сотрудниĸу, наделенному соответствующими полномочиями (ролью) на ведения воинсĸого учета внутри организации</div> <div class="user short-text">Доступ предоставляется тольĸо сотрудниĸу, наделенному соответствующими полномочиями (ролью) на ведения воинсĸого учета внутри организации</div>
<div class="short-text">
<a href="src/resources/landing/pdf/Инструкция_для_технических_специалистов.pdf" download="Инструкция_для_технических_специалистов.pdf">Информация для технических специалистов</a>
</div>
</div> </div>
<div class="btn-group"> <div class="btn-group">
<a id="login-button" href="." class="btn">Войти в Личный кабинет</a> <a id="login-button" href="." class="btn">Войти в Личный кабинет</a>

View file

@ -1,4 +1,4 @@
<div class="wrapper"> <div class="wrapper" [ngClass]="{'landing': isLanding}">
<app-header *ngIf="headerVisible"> <app-header *ngIf="headerVisible">
</app-header> </app-header>
<div class="container"> <div class="container">

View file

@ -31,9 +31,6 @@ import {AuditConstants, AuditService, FilterInfo} from "../../service/AuditServi
changeDetection: ChangeDetectionStrategy.OnPush changeDetection: ChangeDetectionStrategy.OnPush
}) })
export class InMemoryStaticGrid extends GridV2 { export class InMemoryStaticGrid extends GridV2 {
// todo: remove on updating platform version up to 3.188
@Visible("false")
public columnFiltersChanged: Event<any> = new Event<any>();
private rpcService: InMemoryStaticGridRpcService; private rpcService: InMemoryStaticGridRpcService;
private auditService: AuditService; private auditService: AuditService;
@ -154,17 +151,4 @@ export class InMemoryStaticGrid extends GridV2 {
public getRowDataSize(): number { public getRowDataSize(): number {
return this.rowData ? this.rowData.length : 0; return this.rowData ? this.rowData.length : 0;
} }
// todo: remove on updating platform version up to 3.188
@Visible()
public hasColumnFilters(): boolean {
const filterModel: { [key: string]: any; } = this.gridApi.getFilterModel();
return !!filterModel && Object.keys(filterModel).length > 0;
}
// todo: remove on updating platform version up to 3.188
public columnFilterChanged(event: FilterChangedEvent) {
super.columnFilterChanged(event);
this.columnFiltersChanged.trigger(event);
}
} }

View file

@ -51,7 +51,7 @@ export abstract class AuthGuard implements CanActivate {
if (error) { if (error) {
let errorMessage = let errorMessage =
this.messageService.getUnknowErrorMessage(); this.messageService.getUnknowErrorMessage();
let errorCode = this.extractCode(errorDescription); let errorCode = this.extractCode(error);
if (errorCode) { if (errorCode) {
errorMessage = EsiaErrorDetail.getDescription(errorCode); errorMessage = EsiaErrorDetail.getDescription(errorCode);
} }

View file

@ -97,8 +97,6 @@ module.exports = {
}), }),
new CopyWebpackPlugin([ new CopyWebpackPlugin([
{from: 'index.webpack.html', to: 'index.html'}, {from: 'index.webpack.html', to: 'index.html'},
{from: 'home.html', to: 'home.html'},
{from: 'browser_check.js', to: 'browser_check.js'},
{from: 'src/resources/img/progress.gif', to: 'src/resources/img/progress.gif'}, {from: 'src/resources/img/progress.gif', to: 'src/resources/img/progress.gif'},
{from: 'src/resources/img/logo.png', to: 'src/resources/img/logo.png'}, {from: 'src/resources/img/logo.png', to: 'src/resources/img/logo.png'},
{from: 'src/resources/app-config.json', to: 'src/resources/app-config.json'}, {from: 'src/resources/app-config.json', to: 'src/resources/app-config.json'},

View file

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>ru.micord.ervu.lkrp</groupId> <groupId>ru.micord.ervu.lkrp</groupId>
<artifactId>ul</artifactId> <artifactId>ul</artifactId>
<version>1.9.11</version> <version>1.9.12-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>backend</module> <module>backend</module>

View file

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>ru.micord.ervu.lkrp</groupId> <groupId>ru.micord.ervu.lkrp</groupId>
<artifactId>ul</artifactId> <artifactId>ul</artifactId>
<version>1.9.11</version> <version>1.9.12-SNAPSHOT</version>
</parent> </parent>
<groupId>ru.micord.ervu.lkrp.ul</groupId> <groupId>ru.micord.ervu.lkrp.ul</groupId>

View file

@ -804,6 +804,7 @@
<componentRootId>8101e7bf-e6fe-4f6d-82a5-740dce669649</componentRootId> <componentRootId>8101e7bf-e6fe-4f6d-82a5-740dce669649</componentRootId>
<name>Кнопка 1</name> <name>Кнопка 1</name>
<container>false</container> <container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"> <scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties> <properties>
@ -907,24 +908,7 @@
<entry> <entry>
<key>eventRefs</key> <key>eventRefs</key>
<value> <value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="false"> <item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"8101e7bf-e6fe-4f6d-82a5-740dce669649","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -2640,6 +2624,7 @@
<componentRootId>481669b7-948e-474d-8f53-1d6afd409f98</componentRootId> <componentRootId>481669b7-948e-474d-8f53-1d6afd409f98</componentRootId>
<name>Text</name> <name>Text</name>
<container>false</container> <container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c"> <scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties> <properties>
@ -3039,24 +3024,7 @@
<entry> <entry>
<key>eventRefs</key> <key>eventRefs</key>
<value> <value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="false"> <item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"3b26aaa6-3639-4a36-8d37-2a4a2d3a2f87","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -3587,6 +3555,7 @@
<componentRootId>e52c6ec6-f425-438f-a701-10ecc2664248</componentRootId> <componentRootId>e52c6ec6-f425-438f-a701-10ecc2664248</componentRootId>
<name>Текст</name> <name>Текст</name>
<container>false</container> <container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c"> <scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties> <properties>
@ -5113,24 +5082,7 @@
<entry> <entry>
<key>eventRefs</key> <key>eventRefs</key>
<value> <value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="false"> <item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"cc33db1e-2720-4e87-ab51-e32c7a5e0b9e","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -7291,24 +7243,7 @@
<entry> <entry>
<key>eventRefs</key> <key>eventRefs</key>
<value> <value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="false"> <item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"20a9ff21-b90f-4e38-ab85-4826fbc11405","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -9545,24 +9480,7 @@
<entry> <entry>
<key>eventRefs</key> <key>eventRefs</key>
<value> <value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="false"> <item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"f6310258-ec19-4d13-b04d-cfc09d6b5e77","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value> </value>
</entry> </entry>
<entry> <entry>
@ -11053,6 +10971,7 @@
<componentRootId>f4eafa61-1ea3-440a-806b-7b05ec416871</componentRootId> <componentRootId>f4eafa61-1ea3-440a-806b-7b05ec416871</componentRootId>
<name>Диалог - сведения направлены</name> <name>Диалог - сведения направлены</name>
<container>true</container> <container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c"> <scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties> <properties>
@ -11106,6 +11025,7 @@
<componentRootId>503d22a0-c099-4593-a199-5c7eb4aa3237</componentRootId> <componentRootId>503d22a0-c099-4593-a199-5c7eb4aa3237</componentRootId>
<name>Кнопка</name> <name>Кнопка</name>
<container>false</container> <container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"> <scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties> <properties>
@ -11216,6 +11136,7 @@
<componentRootId>894c4e19-0bd3-4e13-9bd6-d40ab378ca21</componentRootId> <componentRootId>894c4e19-0bd3-4e13-9bd6-d40ab378ca21</componentRootId>
<name>Диалог - что-то пошло не так</name> <name>Диалог - что-то пошло не так</name>
<container>true</container> <container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c"> <scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties> <properties>
@ -11700,4 +11621,357 @@
</children> </children>
</children> </children>
</rootObjects> </rootObjects>
<rootObjects id="93a1b29d-c3c8-4300-a063-44720562dff3">
<prototypeId>86f297f1-ab3d-40e0-ac2f-89cc944b7f0a</prototypeId>
<componentRootId>93a1b29d-c3c8-4300-a063-44720562dff3</componentRootId>
<name>Диалог- временное решение для загрузки файла</name>
<container>true</container>
<childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties>
<entry>
<key>closable</key>
<value>
<simple>false</simple>
</value>
</entry>
<entry>
<key>cssClasses</key>
<value>
<item id="79b162dd-40b4-4e84-bc19-a64799bb7135" removed="false">
<value>
<simple>"align-center"</simple>
</value>
</item>
<item id="82c81b47-478c-4d32-b810-5a7b887d6905" removed="false">
<value>
<simple>"win-error"</simple>
</value>
</item>
</value>
</entry>
</properties>
</scripts>
<scripts id="48d405ee-5991-4027-bfee-113a895bf8f8"/>
<scripts id="b463917a-16fc-42db-9c92-9c1027e9232e"/>
<scripts id="24a13b10-fec4-420e-aa2e-5af0ec41326a"/>
<scripts id="5f57bb31-85b0-4692-9f1f-d6369dea6e95"/>
<children id="d6e0aa92-78ed-470e-8a98-9cce3f30efe5">
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
<componentRootId>d6e0aa92-78ed-470e-8a98-9cce3f30efe5</componentRootId>
<name>Обработка событий-show dialog</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="37dff5c8-1599-4984-b107-c44a87b6da2e">
<properties>
<entry>
<key>eventRefs</key>
<value>
<item id="f8b68aa5-f6ec-463b-a483-518a29172d7f" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"8101e7bf-e6fe-4f6d-82a5-740dce669649","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="25dfd8aa-927e-48f5-8313-4c6eb70785af" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"3b26aaa6-3639-4a36-8d37-2a4a2d3a2f87","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="2d142647-9374-4d38-8e57-89294d08a8f0" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"cc33db1e-2720-4e87-ab51-e32c7a5e0b9e","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="2d15a8b6-4021-437a-9c07-4db63e440ec6" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"20a9ff21-b90f-4e38-ab85-4826fbc11405","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="ff689e15-c1bb-4b67-b540-49eed8d90bdc" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"f6310258-ec19-4d13-b04d-cfc09d6b5e77","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="5bdd6e2b-48cf-407d-840a-0ba2ac659ea9" removed="true"/>
<item id="0ecdbfb4-57a1-4258-97ec-f4ac9abff1ea" removed="true"/>
<item id="25ad474c-4989-4908-9f0f-96c854b02e0a" removed="true"/>
<item id="6b089576-c24c-4ef7-bf53-5610655ac2ec" removed="true"/>
<item id="3b7373ad-7976-4e82-be14-e4c4050f8bdc" removed="true"/>
<item id="b1a03107-1675-442a-b722-ba2bb55ed0d1" removed="true"/>
<item id="08faea74-2166-46f7-8b7a-fdcdd9c6704a" removed="true"/>
<item id="06aab4d4-602e-47c9-b313-1ab458262fde" removed="true"/>
<item id="57a202df-e5c6-4379-aea5-ce11be7b289c" removed="true"/>
</value>
</entry>
<entry>
<key>ifCondition</key>
<value>
<complex>
<entry>
<key>logicalOperation</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</entry>
<entry>
<key>thenActions</key>
<value>
<item id="025bdf0c-4a7d-4b44-9962-24e47ca92e01" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"93a1b29d-c3c8-4300-a063-44720562dff3","packageName":"component","className":"Dialog","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"show"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
</properties>
</scripts>
</children>
<children id="03e9410a-8d47-4a74-b0c3-cfb8900004f1">
<prototypeId>9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91</prototypeId>
<componentRootId>03e9410a-8d47-4a74-b0c3-cfb8900004f1</componentRootId>
<name>Вертикальный контейнер</name>
<container>true</container>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="72befe90-1915-483f-b88c-d1ec5d4bdc8e"/>
<scripts id="87f3fefa-b77b-4137-aab6-b2bcd83ce380"/>
<scripts id="ef21ca22-3f81-4484-ba6f-58d670c12d4f"/>
<scripts id="277e6fbc-9e2e-4080-bf20-5d8be18e6764"/>
<children id="8e234aed-6ad7-4e00-834f-e043f2d29c55">
<prototypeId>ba24d307-0b91-4299-ba82-9d0b52384ff2</prototypeId>
<componentRootId>8e234aed-6ad7-4e00-834f-e043f2d29c55</componentRootId>
<name>Текст</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties>
<entry>
<key>collectible</key>
<value>
<simple>false</simple>
</value>
</entry>
<entry>
<key>initialValue</key>
<value>
<simple>"Система находится в опытной эксплуатации. Функция загрузки данных от организаций будет доступна позднее."</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="737b67e2-295f-4356-a1e1-9419344d8c85"/>
<scripts id="a6ccccd9-354c-4725-9d34-c716cf626048"/>
<scripts id="d38c1af5-2bfe-41cd-ab0f-67040f498127"/>
<scripts id="f203f156-be32-4131-9c86-4d6bac6d5d56">
<enabled>false</enabled>
</scripts>
</children>
<children id="b32b3411-2032-4713-8c5c-67cb114ad231">
<prototypeId>fd7e47b9-dce1-4d14-9f3a-580c79f59579</prototypeId>
<componentRootId>b32b3411-2032-4713-8c5c-67cb114ad231</componentRootId>
<name>Кнопка</name>
<container>false</container>
<removed>true</removed>
</children>
</children>
<children id="b28dce91-46cb-46fe-a309-ccc2ace6cb34">
<prototypeId>9d1b5af1-0b8f-4b1b-b9a5-c2e6acf72d91</prototypeId>
<componentRootId>b28dce91-46cb-46fe-a309-ccc2ace6cb34</componentRootId>
<name>Вертикальный контейнер</name>
<container>true</container>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/>
<scripts id="72befe90-1915-483f-b88c-d1ec5d4bdc8e"/>
<scripts id="87f3fefa-b77b-4137-aab6-b2bcd83ce380"/>
<scripts id="ef21ca22-3f81-4484-ba6f-58d670c12d4f"/>
<scripts id="277e6fbc-9e2e-4080-bf20-5d8be18e6764"/>
<children id="14c11640-a5b2-4aea-a6a7-4b1ff334de7c">
<prototypeId>98594cec-0a9b-4cef-af09-e1b71cb2ad9e</prototypeId>
<componentRootId>14c11640-a5b2-4aea-a6a7-4b1ff334de7c</componentRootId>
<name>Обработка событий-close dialog</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="37dff5c8-1599-4984-b107-c44a87b6da2e">
<properties>
<entry>
<key>eventRefs</key>
<value>
<item id="f2029195-16c4-4d6f-b9c3-7e0c8d9c3b4c" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"b32b3411-2032-4713-8c5c-67cb114ad231","packageName":"component.button","className":"Button","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>propertyName</key>
<value>
<simple>"successActionEvent"</simple>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
<entry>
<key>ifCondition</key>
<value>
<complex>
<entry>
<key>logicalOperation</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</entry>
<entry>
<key>thenActions</key>
<value>
<item id="9e014cf6-4245-4475-b0e2-0677ac8f2729" removed="false">
<value>
<complex>
<entry>
<key>behavior</key>
<value>
<simple>{"objectId":"93a1b29d-c3c8-4300-a063-44720562dff3","packageName":"component","className":"Dialog","type":"TS"}</simple>
</value>
</entry>
<entry>
<key>method</key>
<value>
<simple>"hide"</simple>
</value>
</entry>
<entry>
<key>value</key>
<value>
<simple>null</simple>
</value>
</entry>
</complex>
</value>
</item>
</value>
</entry>
</properties>
</scripts>
</children>
<children id="b32b3411-2032-4713-8c5c-67cb114ad231">
<prototypeId>fd7e47b9-dce1-4d14-9f3a-580c79f59579</prototypeId>
<componentRootId>b32b3411-2032-4713-8c5c-67cb114ad231</componentRootId>
<name>Кнопка</name>
<container>false</container>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
<entry>
<key>caption</key>
<value>
<simple>"Закрыть"</simple>
</value>
</entry>
</properties>
</scripts>
</children>
<children id="f6703dc0-c93c-4d28-adb7-a04faf79a920">
<prototypeId>d7d54cfb-26b5-4dba-b56f-b6247183c24d</prototypeId>
<componentRootId>f6703dc0-c93c-4d28-adb7-a04faf79a920</componentRootId>
<name>Горизонтальный контейнер</name>
<container>true</container>
<removed>true</removed>
</children>
</children>
</rootObjects>
</xmlPage> </xmlPage>