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>
<groupId>ru.micord.ervu.lkrp</groupId>
<artifactId>ul</artifactId>
<version>1.9.11</version>
<version>1.9.12-SNAPSHOT</version>
</parent>
<groupId>ru.micord.ervu.lkrp.ul</groupId>
<artifactId>backend</artifactId>

View file

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

View file

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

View file

@ -8,10 +8,13 @@ import java.util.concurrent.CopyOnWriteArrayList;
import org.slf4j.Logger;
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.ExpiringToken;
import ru.cg.webbpm.modules.core.runtime.api.LocalizedException;
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
/**
* @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> REFRESH_TOKENS_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) {
if (token != null) {
@ -89,8 +94,11 @@ public class EsiaAuthInfoStore {
if (states == null) {
states = new CopyOnWriteArrayList<>();
}
else {
states.removeIf(ExpiringState::isExpired);
}
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);
return states;

View file

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

View file

@ -1,2 +1,3 @@
kafka_reply_timeout=Превышено время ожидания ответа от сервера.
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_CLIENT_CERT_HASH=04508B4B0B58776A954A0E15F574B4E58799D74C61EE020B3330716C203E3BDD
ESIA_AUTH_INFO_CLEAR_CRON=0 0 */1 * * *
ESIA_MARKER_VER=1
SIGN_URL=https://ervu-sign-dev.k8s.micord.ru/sign
SIGN_VERIFY_URL=https://ervu-sign-dev.k8s.micord.ru/verify

View file

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

View file

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

View file

@ -944,104 +944,104 @@
}
/*---------------- HOME ----------------*/
.webbpm .header-landing {
.webbpm.ervu_lkrp_ul .header-landing {
background-color: var(--color-text-primary) !important;
z-index: 1;
}
.webbpm .header-landing > div {
.webbpm.ervu_lkrp_ul .header-landing > div {
display: flex;
flex-direction: row;
align-items: center;
font-family: 'InterSB';
}
.webbpm .header-landing .header-logo {
.webbpm.ervu_lkrp_ul .header-landing .header-logo {
width: 62px;
height: 40px;
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);
font-size: var(--size-text-secondary);
margin-left: var(--indent-mini);
}
.webbpm .container-inside .short-text {
.webbpm.ervu_lkrp_ul .container-inside .short-text {
max-width: 60%;
}
.webbpm .container-inside .paragraph-left .short-text {
.webbpm.ervu_lkrp_ul .container-inside .paragraph-left .short-text {
max-width: 70%;
}
.webbpm .container-inside .list-group {
.webbpm.ervu_lkrp_ul .container-inside .list-group {
position: relative;
font-size: var(--size-text-secondary);
line-height: normal;
padding: 0 var(--w-screen);
}
.webbpm .container-inside .list-group .btn {
.webbpm.ervu_lkrp_ul .container-inside .list-group .btn {
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-family: 'GolosB';
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-family: 'GolosDB';
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);
}
.webbpm .container-inside .list-group .paragraph {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph {
display: flex;
flex-direction: row;
}
.webbpm .container-inside .list-group .paragraph .paragraph-left {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-left {
width: 40%;
}
.webbpm .container-inside .list-group .paragraph .paragraph-right {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-right {
width: 60%;
}
.webbpm .container-inside .list-group .paragraph .paragraph-half {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-half {
width: 50%;
}
.webbpm .container-inside .list-group .paragraph .paragraph-third {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .paragraph-third {
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;
}
.webbpm .container-inside .list-group .paragraph .text {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .text {
font-family: 'InterSB';
font-size: var(--l-size-text-primary);
margin-bottom: var(--indent-mini);
}
.webbpm .container-inside .list-group .paragraph .icon-checklist,
.webbpm .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-checklist,
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-clock,
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph .icon-text {
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;
}
.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;
}
.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;
}
.webbpm .container-inside .list-group .list > div {
.webbpm.ervu_lkrp_ul .container-inside .list-group .list > div {
position: relative;
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);
}
.webbpm .container-inside .list-group .list > div::after {
.webbpm.ervu_lkrp_ul .container-inside .list-group .list > div::after {
content: "";
position: absolute;
width: 24px;
@ -1049,23 +1049,23 @@
top: 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;
}
.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;
}
.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;
}
.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;
}
.webbpm .container-inside .list-group .list ~ .btn-group {
.webbpm.ervu_lkrp_ul .container-inside .list-group .list ~ .btn-group {
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;
flex-direction: column;
min-height: 80px;
@ -1075,10 +1075,10 @@
border-radius: 4px;
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;
}
.webbpm .container-inside .list-group .section-group > div::before {
.webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div::before {
content: "";
position: absolute;
left: 16px;
@ -1089,39 +1089,39 @@
background-repeat: no-repeat;
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);
}
.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);
}
.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);
}
.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);
}
.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);
}
.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);
}
.webbpm .container-inside .list-group .section-group > div .muted {
.webbpm.ervu_lkrp_ul .container-inside .list-group .section-group > div .muted {
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);
font-family: 'InterB';
}
.webbpm .container-inside .list-group .pass-list {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list {
position: relative;
display: flex;
flex-direction: row;
padding-top: 60px;
}
.webbpm .container-inside .list-group .pass-list::before {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list::before {
content: "";
position: absolute;
width: calc(80% + 40px);
@ -1130,11 +1130,11 @@
left: 0;
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;
width: 20%;
}
.webbpm .container-inside .list-group .pass-list > div::before {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div::before {
content: "";
position: absolute;
width: 40px;
@ -1146,73 +1146,73 @@
background-color: var(--bg-light);
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: "";
position: absolute;
font-family: 'InterB';
top: -50px;
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";
}
.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";
}
.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";
}
.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";
}
.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";
}
.webbpm .container-inside .list-group .pass-list > div + div {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div + div {
margin-left: 40px;
}
.webbpm .container-inside .list-group .msg-list {
.webbpm.ervu_lkrp_ul .container-inside .list-group .msg-list {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
padding: 8px;
}
.webbpm .container-inside .list-group .msg-list span {
.webbpm.ervu_lkrp_ul .container-inside .list-group .msg-list span {
width: 32px;
height: 32px;
margin: 0 16px 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;
display: flex;
flex-direction: row;
}
.webbpm .container-inside .list-group .docs-list > div {
.webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list > div {
position: relative;
display: flex;
flex-direction: row;
align-items: center;
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;
height: 24px;
padding-right: 8px;
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;
}
.webbpm .container-inside .list-group.lk-what {
.webbpm.ervu_lkrp_ul .container-inside .list-group.lk-what {
padding-top: 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: "";
position: absolute;
top: 0;
@ -1223,211 +1223,147 @@
background: url(../img/bg-star.png) no-repeat calc(100% + 200px) 0px transparent;
z-index: 0;
}
.webbpm .container-inside .list-group.lk-what > div {
.webbpm.ervu_lkrp_ul .container-inside .list-group.lk-what > div {
position: relative;
z-index: 1;
}
.webbpm .container-inside .list-group.lk-access {
.webbpm.ervu_lkrp_ul .container-inside .list-group.lk-access {
color: var(--white);
padding-top: var(--l-indent-big);
padding-bottom: var(--l-indent-big);
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-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-bottom: var(--l-indent-big);
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);
padding-top: var(--l-indent-big);
padding-bottom: var(--indentl--big);
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);
}
.webbpm .container-inside .list-group.lk-limits {
.webbpm.ervu_lkrp_ul .container-inside .list-group.lk-limits {
padding-top: 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;
color: var(--white);
padding-top: var(--l-indent-huge);
padding-bottom: var(--l-indent-huge);
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-bottom: var(--l-indent-big);
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-bottom: var(--indent-small);
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: 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;
}
.webbpm .container-inside .list-group .paragraph {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph {
flex-direction: column;
}
.webbpm .container-inside .list-group .paragraph [class*="paragraph-"] {
.webbpm.ervu_lkrp_ul .container-inside .list-group .paragraph [class*="paragraph-"] {
width: auto;
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-left: 0;
}
.webbpm .container-inside .list-group .pass-list {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list {
flex-direction: column;
padding-top: 0;
}
.webbpm .container-inside .list-group .pass-list::before {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list::before {
display: none;
}
.webbpm .container-inside .list-group .pass-list > div {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div {
display: flex;
align-items: center;
width: auto !important;
padding-left: 60px;
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;
}
.webbpm .container-inside .list-group .pass-list > div::after {
.webbpm.ervu_lkrp_ul .container-inside .list-group .pass-list > div::after {
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-top: var(--indent-mini);
}
}
@media (max-width: 480px) {
.webbpm .container-inside .list-group .docs-list {
.webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list {
flex-direction: column;
}
.webbpm .container-inside .list-group .docs-list > div {
.webbpm.ervu_lkrp_ul .container-inside .list-group .docs-list > div {
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-top: var(--indent-mini);
}
}
/*------------- end - HOME -------------*/
.browser-check-content {
.webbpm.ervu_lkrp_ul .browser-check-content {
font-family: 'Golos';
font-size: var(--size-text-secondary);
padding: var(--indent-mini) var(--w-screen) var(--indent-mini) calc(var(--w-screen) + 38px);
background-color: var(--bg-warn);
}
.browser-check-text {
.webbpm.ervu_lkrp_ul .browser-check-text {
position: relative;
padding-left: 40px;
}
.browser-check-text::before {
.webbpm.ervu_lkrp_ul .browser-check-text::before {
position: absolute;
content: url(../img/svg/info.svg);
left: 0;
top: calc((100% - 24px) / 2);
}
.text-header {
.webbpm.ervu_lkrp_ul .text-header {
color: var(--color-link);
font-family: 'GolosB';
font-size: var(--size-text-primary);
margin-bottom: 4px;
}
.plain-text {
.webbpm.ervu_lkrp_ul .plain-text {
margin-bottom: 0;
}

View file

@ -47,6 +47,12 @@
font-weight: 400;
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 {
-ms-text-size-adjust: 100%;

View file

@ -23,6 +23,9 @@
<div class="esia short-text">Необходимо авторизоваться</div>
<div class="case 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 class="btn-group">
<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>
<div class="container">

View file

@ -31,9 +31,6 @@ import {AuditConstants, AuditService, FilterInfo} from "../../service/AuditServi
changeDetection: ChangeDetectionStrategy.OnPush
})
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 auditService: AuditService;
@ -154,17 +151,4 @@ export class InMemoryStaticGrid extends GridV2 {
public getRowDataSize(): number {
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) {
let errorMessage =
this.messageService.getUnknowErrorMessage();
let errorCode = this.extractCode(errorDescription);
let errorCode = this.extractCode(error);
if (errorCode) {
errorMessage = EsiaErrorDetail.getDescription(errorCode);
}

View file

@ -97,8 +97,6 @@ module.exports = {
}),
new CopyWebpackPlugin([
{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/logo.png', to: 'src/resources/img/logo.png'},
{from: 'src/resources/app-config.json', to: 'src/resources/app-config.json'},

View file

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

View file

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

View file

@ -804,6 +804,7 @@
<componentRootId>8101e7bf-e6fe-4f6d-82a5-740dce669649</componentRootId>
<name>Кнопка 1</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
@ -907,24 +908,7 @@
<entry>
<key>eventRefs</key>
<value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" 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="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
</value>
</entry>
<entry>
@ -2640,6 +2624,7 @@
<componentRootId>481669b7-948e-474d-8f53-1d6afd409f98</componentRootId>
<name>Text</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties>
@ -3039,24 +3024,7 @@
<entry>
<key>eventRefs</key>
<value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" 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="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
</value>
</entry>
<entry>
@ -3587,6 +3555,7 @@
<componentRootId>e52c6ec6-f425-438f-a701-10ecc2664248</componentRootId>
<name>Текст</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties>
@ -5113,24 +5082,7 @@
<entry>
<key>eventRefs</key>
<value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" 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="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
</value>
</entry>
<entry>
@ -7291,24 +7243,7 @@
<entry>
<key>eventRefs</key>
<value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" 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="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
</value>
</entry>
<entry>
@ -9545,24 +9480,7 @@
<entry>
<key>eventRefs</key>
<value>
<item id="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" 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="e33cb810-ef2d-47c3-a46f-5c9ab9b647d5" removed="true"/>
</value>
</entry>
<entry>
@ -11053,6 +10971,7 @@
<componentRootId>f4eafa61-1ea3-440a-806b-7b05ec416871</componentRootId>
<name>Диалог - сведения направлены</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties>
@ -11106,6 +11025,7 @@
<componentRootId>503d22a0-c099-4593-a199-5c7eb4aa3237</componentRootId>
<name>Кнопка</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
@ -11216,6 +11136,7 @@
<componentRootId>894c4e19-0bd3-4e13-9bd6-d40ab378ca21</componentRootId>
<name>Диалог - что-то пошло не так</name>
<container>true</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="cf4526a1-96ab-4820-8aa9-62fb54c2b64c">
<properties>
@ -11700,4 +11621,357 @@
</children>
</children>
</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>