Merge branch 'develop' into release/1.10.0
This commit is contained in:
commit
02f58a7797
138 changed files with 475 additions and 379 deletions
|
|
@ -0,0 +1,16 @@
|
||||||
|
package ru.micord.ervu.controller;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author gulnaz
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
public class HealthController {
|
||||||
|
|
||||||
|
@GetMapping(value = "/health")
|
||||||
|
public String health() {
|
||||||
|
return "healthy";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -31,7 +31,7 @@ import static ru.micord.ervu.security.SecurityConstants.ESIA_LOGOUT;
|
||||||
@EnableWebSecurity
|
@EnableWebSecurity
|
||||||
public class SecurityConfig {
|
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"
|
"/health", "/esia/url", "/esia/auth", "esia/refresh", "/esia/logout"
|
||||||
};
|
};
|
||||||
@Autowired
|
@Autowired
|
||||||
private JwtAuthenticationFilter jwtAuthenticationFilter;
|
private JwtAuthenticationFilter jwtAuthenticationFilter;
|
||||||
|
|
@ -60,6 +60,8 @@ public class SecurityConfig {
|
||||||
http.authorizeHttpRequests(
|
http.authorizeHttpRequests(
|
||||||
(authorizeHttpRequests) -> authorizeHttpRequests.requestMatchers(PERMIT_ALL)
|
(authorizeHttpRequests) -> authorizeHttpRequests.requestMatchers(PERMIT_ALL)
|
||||||
.permitAll()
|
.permitAll()
|
||||||
|
.requestMatchers("/version")
|
||||||
|
.denyAll()
|
||||||
.anyRequest()
|
.anyRequest()
|
||||||
.authenticated())
|
.authenticated())
|
||||||
.csrf((csrf) -> csrf.csrfTokenRepository(tokenRepository)
|
.csrf((csrf) -> csrf.csrfTokenRepository(tokenRepository)
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,8 @@ package ru.micord.ervu.security;
|
||||||
|
|
||||||
public class SecurityConstants {
|
public class SecurityConstants {
|
||||||
public static final String ESIA_LOGOUT = "/esia/logout";
|
public static final String ESIA_LOGOUT = "/esia/logout";
|
||||||
|
public static final String AUTH_TOKEN = "auth_token";
|
||||||
|
public static final String AUTH_MARKER = "webbpm.ervu-lkrp-fl";
|
||||||
|
public static final String PRNS_UUID = "prns_uuid_fl";
|
||||||
|
public static final String STICKY_SESSION = "stickysession";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,10 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.context.support.MessageSourceAccessor;
|
import org.springframework.context.support.MessageSourceAccessor;
|
||||||
|
import ru.micord.ervu.security.esia.exception.EsiaException;
|
||||||
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.micord.ervu.security.exception.UnauthorizedException;
|
||||||
|
|
||||||
import ru.cg.webbpm.modules.core.runtime.api.LocalizedException;
|
import ru.cg.webbpm.modules.core.runtime.api.LocalizedException;
|
||||||
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
||||||
|
|
@ -34,7 +36,14 @@ public class EsiaAuthInfoStore {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getAccessToken(String prnOid) {
|
public static String getAccessToken(String prnOid) {
|
||||||
return ACCESS_TOKENS_MAP.get(prnOid).getAccessToken();
|
ExpiringToken token = ACCESS_TOKENS_MAP.get(prnOid);
|
||||||
|
if (token == null || token.getAccessToken() == null) {
|
||||||
|
throw new UnauthorizedException("Failed to get access token. No access token found for prnOid: " + prnOid);
|
||||||
|
}
|
||||||
|
else if (token.isExpired()) {
|
||||||
|
throw new UnauthorizedException("Failed to get access token. Access token is expired for prnOid: " + prnOid);
|
||||||
|
}
|
||||||
|
return token.getAccessToken();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean validateAccessToken(String prnOid) {
|
public static boolean validateAccessToken(String prnOid) {
|
||||||
|
|
@ -105,19 +114,30 @@ public class EsiaAuthInfoStore {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean containsState(String prnsUUID, String state) {
|
public static void validateState(String prnsUUID, String state, String stickySession) {
|
||||||
List<ExpiringState> states = PRNS_UUID_STATE_MAP.get(prnsUUID);
|
List<ExpiringState> states = PRNS_UUID_STATE_MAP.get(prnsUUID);
|
||||||
if (states == null) {
|
if (states == null) {
|
||||||
return false;
|
throw new EsiaException(
|
||||||
|
"State invalid. No state found. PrnsUUID: " + prnsUUID + ". State: " + state
|
||||||
|
+ ". Sticky session:" + stickySession);
|
||||||
}
|
}
|
||||||
long currentTime = System.currentTimeMillis();
|
long currentTime = System.currentTimeMillis();
|
||||||
states.removeIf(expiringState -> expiringState.getExpiryTime() < currentTime);
|
|
||||||
|
StringBuilder statesStringBuilder = new StringBuilder();
|
||||||
for (ExpiringState expiringState : states) {
|
for (ExpiringState expiringState : states) {
|
||||||
if (expiringState.getState().equals(state)) {
|
if (expiringState.getState().equals(state)) {
|
||||||
return true;
|
if (expiringState.getExpiryTime() < currentTime) {
|
||||||
|
throw new EsiaException(
|
||||||
|
"State invalid. PrnsUUID: " + prnsUUID + ". Sticky session:" + stickySession
|
||||||
|
+ ". State : " + state + " expired at : " + expiringState.getExpiryTime());
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
return false;
|
statesStringBuilder.append(expiringState.getState()).append(", ");
|
||||||
|
}
|
||||||
|
throw new EsiaException(
|
||||||
|
"State invalid. PrnsUUID: " + prnsUUID + ". Sticky session:" + stickySession
|
||||||
|
+ ". Backend states :" + statesStringBuilder + " cookie state :" + state);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void removeState(String prnsUUID) {
|
public static void removeState(String prnsUUID) {
|
||||||
|
|
|
||||||
|
|
@ -34,8 +34,6 @@ import org.springframework.security.core.context.SecurityContext;
|
||||||
import ru.micord.ervu.audit.constants.AuditConstants;
|
import ru.micord.ervu.audit.constants.AuditConstants;
|
||||||
import ru.micord.ervu.audit.service.AuditService;
|
import ru.micord.ervu.audit.service.AuditService;
|
||||||
import org.springframework.web.util.WebUtils;
|
import org.springframework.web.util.WebUtils;
|
||||||
import ru.micord.ervu.audit.constants.AuditConstants;
|
|
||||||
import ru.micord.ervu.audit.service.AuditService;
|
|
||||||
import ru.micord.ervu.kafka.model.Document;
|
import ru.micord.ervu.kafka.model.Document;
|
||||||
import ru.micord.ervu.kafka.model.Person;
|
import ru.micord.ervu.kafka.model.Person;
|
||||||
import ru.micord.ervu.kafka.model.Response;
|
import ru.micord.ervu.kafka.model.Response;
|
||||||
|
|
@ -46,6 +44,7 @@ import ru.micord.ervu.security.esia.model.EsiaHeader;
|
||||||
import ru.micord.ervu.security.esia.model.EsiaTokenResponse;
|
import ru.micord.ervu.security.esia.model.EsiaTokenResponse;
|
||||||
import ru.micord.ervu.security.esia.model.FormUrlencoded;
|
import ru.micord.ervu.security.esia.model.FormUrlencoded;
|
||||||
import ru.micord.ervu.security.esia.model.PersonModel;
|
import ru.micord.ervu.security.esia.model.PersonModel;
|
||||||
|
import ru.micord.ervu.security.esia.model.SignResponse;
|
||||||
import ru.micord.ervu.security.esia.EsiaAuthInfoStore;
|
import ru.micord.ervu.security.esia.EsiaAuthInfoStore;
|
||||||
import ru.micord.ervu.security.esia.config.EsiaConfig;
|
import ru.micord.ervu.security.esia.config.EsiaConfig;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -53,6 +52,7 @@ import org.springframework.http.HttpHeaders;
|
||||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
import org.springframework.security.core.context.SecurityContextHolder;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import ru.micord.ervu.security.exception.UnauthorizedException;
|
||||||
import ru.micord.ervu.security.webbpm.jwt.JwtAuthentication;
|
import ru.micord.ervu.security.webbpm.jwt.JwtAuthentication;
|
||||||
import ru.micord.ervu.security.webbpm.jwt.helper.SecurityHelper;
|
import ru.micord.ervu.security.webbpm.jwt.helper.SecurityHelper;
|
||||||
import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService;
|
import ru.micord.ervu.security.webbpm.jwt.service.JwtTokenService;
|
||||||
|
|
@ -60,8 +60,8 @@ import ru.micord.ervu.security.webbpm.jwt.model.Token;
|
||||||
|
|
||||||
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
||||||
|
|
||||||
import static ru.micord.ervu.security.webbpm.jwt.util.SecurityUtil.getCurrentUserEsiaId;
|
import static ru.micord.ervu.security.SecurityConstants.PRNS_UUID;
|
||||||
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
|
import static ru.micord.ervu.security.SecurityConstants.STICKY_SESSION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Eduard Tihomirov
|
* @author Eduard Tihomirov
|
||||||
|
|
@ -71,7 +71,6 @@ public class EsiaAuthService {
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
|
||||||
private static final MessageSourceAccessor MESSAGE_SOURCE = MessageBundleUtils.createAccessor(
|
private static final MessageSourceAccessor MESSAGE_SOURCE = MessageBundleUtils.createAccessor(
|
||||||
"messages/common_errors_messages");
|
"messages/common_errors_messages");
|
||||||
private static final String PRNS_UUID = "prns_uuid";
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ObjectMapper objectMapper;
|
private ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
|
@ -106,7 +105,6 @@ public class EsiaAuthService {
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
|
||||||
ZonedDateTime dt = ZonedDateTime.now();
|
ZonedDateTime dt = ZonedDateTime.now();
|
||||||
String timestamp = dt.format(formatter);
|
String timestamp = dt.format(formatter);
|
||||||
String state = UUID.randomUUID().toString();
|
|
||||||
String prnsUUID = UUID.randomUUID().toString();
|
String prnsUUID = UUID.randomUUID().toString();
|
||||||
Cookie oldPrnsCookie = WebUtils.getCookie(request, PRNS_UUID);
|
Cookie oldPrnsCookie = WebUtils.getCookie(request, PRNS_UUID);
|
||||||
if (oldPrnsCookie != null) {
|
if (oldPrnsCookie != null) {
|
||||||
|
|
@ -121,12 +119,18 @@ public class EsiaAuthService {
|
||||||
parameters.put("client_id", clientId);
|
parameters.put("client_id", clientId);
|
||||||
parameters.put("scope", scope);
|
parameters.put("scope", scope);
|
||||||
parameters.put("timestamp", timestamp);
|
parameters.put("timestamp", timestamp);
|
||||||
parameters.put("state", state);
|
parameters.put("state", "%s");
|
||||||
parameters.put("redirect_uri", esiaConfig.getRedirectUrl());
|
parameters.put("redirect_uri", esiaConfig.getRedirectUrl());
|
||||||
|
|
||||||
String clientSecret = signMap(parameters);
|
SignResponse signResponse = signMap(parameters);
|
||||||
|
String state = signResponse.getState();
|
||||||
|
String clientSecret = signResponse.getSignature();
|
||||||
EsiaAuthInfoStore.addState(prnsUUID, state, esiaConfig.getEsiaStateCookieLifeTime(), esiaConfig.getEsiaLoginAttemptsCount());
|
EsiaAuthInfoStore.addState(prnsUUID, state, esiaConfig.getEsiaStateCookieLifeTime(), esiaConfig.getEsiaLoginAttemptsCount());
|
||||||
ResponseCookie prnsCookie = securityHelper.createCookie(PRNS_UUID, prnsUUID, "/")
|
Cookie stickySession = WebUtils.getCookie(request, STICKY_SESSION);
|
||||||
|
LOGGER.info("Auth states initialized: PrnsUUID: {}; State: {}; StickySession: {}", prnsUUID, state,
|
||||||
|
stickySession != null ? stickySession.getValue() : "is null"
|
||||||
|
);
|
||||||
|
ResponseCookie prnsCookie = securityHelper.createAccessCookie(PRNS_UUID, prnsUUID)
|
||||||
.maxAge(esiaConfig.getEsiaStateCookieLifeTime())
|
.maxAge(esiaConfig.getEsiaStateCookieLifeTime())
|
||||||
.build();
|
.build();
|
||||||
securityHelper.addResponseCookie(response, prnsCookie);
|
securityHelper.addResponseCookie(response, prnsCookie);
|
||||||
|
|
@ -183,16 +187,12 @@ public class EsiaAuthService {
|
||||||
String prnOid = null;
|
String prnOid = null;
|
||||||
Long expiresIn = null;
|
Long expiresIn = null;
|
||||||
long signSecret = 0, requestAccessToken = 0, verifySecret = 0;
|
long signSecret = 0, requestAccessToken = 0, verifySecret = 0;
|
||||||
String verifyStateResult = verifyStateFromCookie(request, state, response);
|
verifyStateFromCookie(request, state, response);
|
||||||
if (verifyStateResult != null) {
|
|
||||||
throw new EsiaException(verifyStateResult);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
String clientId = esiaConfig.getClientId();
|
String clientId = esiaConfig.getClientId();
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
|
||||||
ZonedDateTime dt = ZonedDateTime.now();
|
ZonedDateTime dt = ZonedDateTime.now();
|
||||||
String timestamp = dt.format(formatter);
|
String timestamp = dt.format(formatter);
|
||||||
String newState = UUID.randomUUID().toString();
|
|
||||||
String redirectUrl = esiaConfig.getRedirectUrl();
|
String redirectUrl = esiaConfig.getRedirectUrl();
|
||||||
String scope = esiaConfig.getEsiaScopes();
|
String scope = esiaConfig.getEsiaScopes();
|
||||||
|
|
||||||
|
|
@ -200,13 +200,14 @@ public class EsiaAuthService {
|
||||||
parameters.put("client_id", clientId);
|
parameters.put("client_id", clientId);
|
||||||
parameters.put("scope", scope);
|
parameters.put("scope", scope);
|
||||||
parameters.put("timestamp", timestamp);
|
parameters.put("timestamp", timestamp);
|
||||||
parameters.put("state", newState);
|
parameters.put("state", "%s");
|
||||||
parameters.put("redirect_uri", redirectUrl);
|
parameters.put("redirect_uri", redirectUrl);
|
||||||
parameters.put("code", esiaAuthCode);
|
parameters.put("code", esiaAuthCode);
|
||||||
|
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
String clientSecret = signMap(parameters);
|
SignResponse signResponse = signMap(parameters);
|
||||||
signSecret = System.currentTimeMillis() - startTime;
|
signSecret = System.currentTimeMillis() - startTime;
|
||||||
|
String newState = signResponse.getState();
|
||||||
|
String clientSecret = signResponse.getSignature();
|
||||||
String authUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaTokenUrl();
|
String authUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaTokenUrl();
|
||||||
String postBody = new FormUrlencoded()
|
String postBody = new FormUrlencoded()
|
||||||
.setParameter("client_id", clientId)
|
.setParameter("client_id", clientId)
|
||||||
|
|
@ -296,18 +297,19 @@ public class EsiaAuthService {
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd HH:mm:ss xx");
|
||||||
ZonedDateTime dt = ZonedDateTime.now();
|
ZonedDateTime dt = ZonedDateTime.now();
|
||||||
String timestamp = dt.format(formatter);
|
String timestamp = dt.format(formatter);
|
||||||
String state = UUID.randomUUID().toString();
|
|
||||||
String redirectUrl = esiaConfig.getRedirectUrl();
|
String redirectUrl = esiaConfig.getRedirectUrl();
|
||||||
|
|
||||||
Map<String, String> parameters = new LinkedHashMap<String, String>();
|
Map<String, String> parameters = new LinkedHashMap<String, String>();
|
||||||
parameters.put("client_id", clientId);
|
parameters.put("client_id", clientId);
|
||||||
parameters.put("scope", esiaConfig.getEsiaScopes());
|
parameters.put("scope", esiaConfig.getEsiaScopes());
|
||||||
parameters.put("timestamp", timestamp);
|
parameters.put("timestamp", timestamp);
|
||||||
parameters.put("state", state);
|
parameters.put("state", "%s");
|
||||||
parameters.put("redirect_uri", esiaConfig.getRedirectUrl());
|
parameters.put("redirect_uri", esiaConfig.getRedirectUrl());
|
||||||
parameters.put("refresh_token", refreshToken);
|
parameters.put("refresh_token", refreshToken);
|
||||||
|
|
||||||
String clientSecret = signMap(parameters);
|
SignResponse signResponse = signMap(parameters);
|
||||||
|
String state = signResponse.getState();
|
||||||
|
String clientSecret = signResponse.getSignature();
|
||||||
String authUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaTokenUrl();
|
String authUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaTokenUrl();
|
||||||
String postBody = new FormUrlencoded()
|
String postBody = new FormUrlencoded()
|
||||||
.setParameter("client_id", clientId)
|
.setParameter("client_id", clientId)
|
||||||
|
|
@ -360,7 +362,7 @@ public class EsiaAuthService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String signMap(Map<String, String> paramsToSign) {
|
private SignResponse signMap(Map<String, String> paramsToSign) {
|
||||||
try {
|
try {
|
||||||
StringBuilder toSign = new StringBuilder();
|
StringBuilder toSign = new StringBuilder();
|
||||||
for (String s : paramsToSign.values()) {
|
for (String s : paramsToSign.values()) {
|
||||||
|
|
@ -379,7 +381,7 @@ public class EsiaAuthService {
|
||||||
.build()
|
.build()
|
||||||
.send(request, HttpResponse.BodyHandlers.ofString());
|
.send(request, HttpResponse.BodyHandlers.ofString());
|
||||||
errorHandler(response);
|
errorHandler(response);
|
||||||
return response.body();
|
return objectMapper.readValue(response.body(), SignResponse.class);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
|
|
@ -396,13 +398,21 @@ public class EsiaAuthService {
|
||||||
public String logout(HttpServletRequest request, HttpServletResponse response) {
|
public String logout(HttpServletRequest request, HttpServletResponse response) {
|
||||||
PersonModel personModel = null;
|
PersonModel personModel = null;
|
||||||
String status = null;
|
String status = null;
|
||||||
|
try {
|
||||||
try {
|
try {
|
||||||
String userId = jwtTokenService.getUserAccountId(request);
|
String userId = jwtTokenService.getUserAccountId(request);
|
||||||
String accessToken = EsiaAuthInfoStore.getAccessToken(userId);
|
String accessToken = jwtTokenService.getAccessTokenByUserId(userId);
|
||||||
personModel = personalDataService.getPersonModel(accessToken);
|
personModel = personalDataService.getPersonModel(accessToken);
|
||||||
securityHelper.clearAccessCookies(response);
|
|
||||||
EsiaAuthInfoStore.removeAccessToken(userId);
|
EsiaAuthInfoStore.removeAccessToken(userId);
|
||||||
EsiaAuthInfoStore.removeRefreshToken(userId);
|
EsiaAuthInfoStore.removeRefreshToken(userId);
|
||||||
|
}
|
||||||
|
catch (UnauthorizedException e) {
|
||||||
|
//logout should always happen
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
LOGGER.error(e.getMessage());
|
||||||
|
}
|
||||||
|
securityHelper.clearAccessCookies(response);
|
||||||
String logoutUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaLogoutUrl();
|
String logoutUrl = esiaConfig.getEsiaBaseUri() + esiaConfig.getEsiaLogoutUrl();
|
||||||
String redirectUrl = esiaConfig.getLogoutRedirectUrl();
|
String redirectUrl = esiaConfig.getLogoutRedirectUrl();
|
||||||
URL url = new URL(logoutUrl);
|
URL url = new URL(logoutUrl);
|
||||||
|
|
@ -521,17 +531,24 @@ public class EsiaAuthService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String verifyStateFromCookie(HttpServletRequest request, String state, HttpServletResponse response) {
|
private void verifyStateFromCookie(HttpServletRequest request, String state, HttpServletResponse response) {
|
||||||
Cookie cookie = WebUtils.getCookie(request, PRNS_UUID);
|
Cookie cookie = WebUtils.getCookie(request, PRNS_UUID);
|
||||||
|
Cookie stickySessionCookie = WebUtils.getCookie(request, STICKY_SESSION);
|
||||||
|
String stickySession = stickySessionCookie != null ? stickySessionCookie.getValue() : "is null";
|
||||||
if (cookie == null) {
|
if (cookie == null) {
|
||||||
return "State invalid. Cookie not found";
|
throw new EsiaException(
|
||||||
|
"State invalid. Cookie not found. State: " + state + ". Sticky session: " + stickySession);
|
||||||
}
|
}
|
||||||
String prnsUUID = cookie.getValue();
|
String prnsUUID = cookie.getValue();
|
||||||
if (!EsiaAuthInfoStore.containsState(prnsUUID, state)) {
|
try {
|
||||||
return "State invalid. State from ESIA not equals with state before";
|
EsiaAuthInfoStore.validateState(prnsUUID, state, stickySession);
|
||||||
}
|
}
|
||||||
|
finally {
|
||||||
EsiaAuthInfoStore.removeState(prnsUUID);
|
EsiaAuthInfoStore.removeState(prnsUUID);
|
||||||
securityHelper.clearCookie(response, PRNS_UUID, "/");
|
LOGGER.info(
|
||||||
return null;
|
"Remove all states for prnsUUID: " + prnsUUID + ". State: " + state + ". Sticky session: "
|
||||||
|
+ stickySession);
|
||||||
|
securityHelper.clearAccessCookie(response, PRNS_UUID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,9 @@ import org.springframework.web.context.request.RequestAttributes;
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
import org.springframework.web.context.request.RequestContextHolder;
|
||||||
|
|
||||||
import static org.springframework.web.context.request.RequestAttributes.REFERENCE_REQUEST;
|
import static org.springframework.web.context.request.RequestAttributes.REFERENCE_REQUEST;
|
||||||
import static ru.micord.ervu.security.webbpm.jwt.util.SecurityUtil.AUTH_MARKER;
|
import static ru.micord.ervu.security.SecurityConstants.AUTH_MARKER;
|
||||||
import static ru.micord.ervu.security.webbpm.jwt.util.SecurityUtil.AUTH_TOKEN;
|
import static ru.micord.ervu.security.SecurityConstants.AUTH_TOKEN;
|
||||||
|
import static ru.micord.ervu.security.SecurityConstants.PRNS_UUID;
|
||||||
|
|
||||||
public final class SecurityHelper {
|
public final class SecurityHelper {
|
||||||
@Value("${cookie.path:#{null}}")
|
@Value("${cookie.path:#{null}}")
|
||||||
|
|
@ -36,9 +37,7 @@ public final class SecurityHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clearAccessCookies(HttpServletResponse response) {
|
public void clearAccessCookies(HttpServletResponse response) {
|
||||||
ResponseCookie emptyAuthToken = createCookie(AUTH_TOKEN, null, accessCookiePath)
|
clearCookie(response, AUTH_TOKEN, accessCookiePath);
|
||||||
.maxAge(0).build();
|
|
||||||
addResponseCookie(response, emptyAuthToken);
|
|
||||||
|
|
||||||
ResponseCookie emptyAuthMarker = createCookie(AUTH_MARKER, null, "/")
|
ResponseCookie emptyAuthMarker = createCookie(AUTH_MARKER, null, "/")
|
||||||
.maxAge(0)
|
.maxAge(0)
|
||||||
|
|
@ -46,6 +45,7 @@ public final class SecurityHelper {
|
||||||
.httpOnly(false)
|
.httpOnly(false)
|
||||||
.build();
|
.build();
|
||||||
addResponseCookie(response, emptyAuthMarker);
|
addResponseCookie(response, emptyAuthMarker);
|
||||||
|
clearCookie(response, PRNS_UUID, accessCookiePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clearCookie(HttpServletResponse response, String name, String path) {
|
public void clearCookie(HttpServletResponse response, String name, String path) {
|
||||||
|
|
@ -92,4 +92,12 @@ public final class SecurityHelper {
|
||||||
.secure(accessCookieSecure)
|
.secure(accessCookieSecure)
|
||||||
.sameSite(accessCookieSameSite);
|
.sameSite(accessCookieSameSite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResponseCookie.ResponseCookieBuilder createAccessCookie(String name, String value) {
|
||||||
|
return createCookie(name, value, accessCookiePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearAccessCookie(HttpServletResponse response, String name) {
|
||||||
|
clearCookie(response, name, accessCookiePath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,10 @@ public class JwtTokenService {
|
||||||
return EsiaAuthInfoStore.getRefreshToken(getUserAccountId(request));
|
return EsiaAuthInfoStore.getRefreshToken(getUserAccountId(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getAccessTokenByUserId(String userId) {
|
||||||
|
return EsiaAuthInfoStore.getAccessToken(userId);
|
||||||
|
}
|
||||||
|
|
||||||
public String getUserAccountId(HttpServletRequest request) {
|
public String getUserAccountId(HttpServletRequest request) {
|
||||||
String authToken = extractAuthToken(request);
|
String authToken = extractAuthToken(request);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,9 @@ import org.springframework.web.util.WebUtils;
|
||||||
import ru.micord.ervu.security.webbpm.jwt.JwtAuthentication;
|
import ru.micord.ervu.security.webbpm.jwt.JwtAuthentication;
|
||||||
import ru.micord.ervu.security.webbpm.jwt.UserIdsPair;
|
import ru.micord.ervu.security.webbpm.jwt.UserIdsPair;
|
||||||
|
|
||||||
public final class SecurityUtil {
|
import static ru.micord.ervu.security.SecurityConstants.AUTH_TOKEN;
|
||||||
public static final String AUTH_TOKEN = "auth_token";
|
|
||||||
|
|
||||||
public static final String AUTH_MARKER = "webbpm.ervu-lkrp-fl";
|
public final class SecurityUtil {
|
||||||
|
|
||||||
private SecurityUtil() {
|
private SecurityUtil() {
|
||||||
//empty
|
//empty
|
||||||
|
|
|
||||||
6
frontend/package-lock.json
generated
6
frontend/package-lock.json
generated
|
|
@ -1748,9 +1748,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@webbpm/base-package": {
|
"@webbpm/base-package": {
|
||||||
"version": "3.192.9",
|
"version": "3.192.12",
|
||||||
"resolved": "https://repo.micord.ru/repository/npm-all/@webbpm/base-package/-/base-package-3.192.9.tgz",
|
"resolved": "https://repo.micord.ru/repository/npm-all/@webbpm/base-package/-/base-package-3.192.12.tgz",
|
||||||
"integrity": "sha512-W93LcQTm/OUGwRLJqyffNOqs0Uv9F4bdV26SqZr4QWngPeWKQ0pO8Jg5Lsy7d0xTVN4rfMM/NEaU2FYCC/yKzw==",
|
"integrity": "sha512-IZvSvh7fgPTe8TIISvARjVV4xFsTQbLEfmxw5Pi493TYDMIAEWAH0zoIHh7ZTHBDSS598lvjpFCOKxduP26ywg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.9.0"
|
"tslib": "^1.9.0"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
"@angular/platform-browser-dynamic": "7.2.15",
|
"@angular/platform-browser-dynamic": "7.2.15",
|
||||||
"@angular/router": "7.2.15",
|
"@angular/router": "7.2.15",
|
||||||
"@ng-bootstrap/ng-bootstrap": "4.2.2-micord.1",
|
"@ng-bootstrap/ng-bootstrap": "4.2.2-micord.1",
|
||||||
"@webbpm/base-package": "3.192.9",
|
"@webbpm/base-package": "3.192.12",
|
||||||
"ag-grid-angular": "29.0.0-micord.4",
|
"ag-grid-angular": "29.0.0-micord.4",
|
||||||
"ag-grid-community": "29.0.0-micord.4",
|
"ag-grid-community": "29.0.0-micord.4",
|
||||||
"angular-calendar": "0.28.28",
|
"angular-calendar": "0.28.28",
|
||||||
|
|
|
||||||
|
|
@ -290,6 +290,13 @@ body.webbpm.ervu_lkrp_fl {
|
||||||
max-width: 85px;
|
max-width: 85px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
.webbpm.ervu_lkrp_fl .overlay-container {
|
||||||
|
width: calc(100% - 30px);
|
||||||
|
}
|
||||||
|
.webbpm.ervu_lkrp_fl #toast-container .toast-error {
|
||||||
|
width: 100%;
|
||||||
|
min-width: auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------- Login ---------------- */
|
/*----------------- Login ---------------- */
|
||||||
|
|
@ -377,7 +384,16 @@ body.webbpm.ervu_lkrp_fl {
|
||||||
}
|
}
|
||||||
/*--------------- end Login -------------- */
|
/*--------------- end Login -------------- */
|
||||||
|
|
||||||
.webbpm.ervu_lkrp_fl .loader {
|
.webbpm.ervu_lkrp_fl .modal.show.loader .modal-content {
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.webbpm.ervu_lkrp_fl .modal.show.loader .modal-dialog {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.webbpm.ervu_lkrp_fl .loader:not(.modal) {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
left: calc(50% - 0.4em);
|
left: calc(50% - 0.4em);
|
||||||
top: calc(50% - 0.4em);
|
top: calc(50% - 0.4em);
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@ import {
|
||||||
import {AppHeaderComponent} from "./component/app-header.component";
|
import {AppHeaderComponent} from "./component/app-header.component";
|
||||||
import {AppFooterComponent} from "./component/app-footer.component";
|
import {AppFooterComponent} from "./component/app-footer.component";
|
||||||
import {AccessDeniedComponent} from "./component/access-denied.component";
|
import {AccessDeniedComponent} from "./component/access-denied.component";
|
||||||
import {ApplicationVersionComponent} from "./component/application-version.component";
|
|
||||||
import {RouterModule} from "@angular/router";
|
import {RouterModule} from "@angular/router";
|
||||||
import {InternationalPhoneNumberModule} from "ngx-international-phone-number";
|
import {InternationalPhoneNumberModule} from "ngx-international-phone-number";
|
||||||
import {AppProgressIndicationComponent} from "./component/app-progress-indication.component";
|
import {AppProgressIndicationComponent} from "./component/app-progress-indication.component";
|
||||||
|
|
@ -31,7 +30,6 @@ registerLocaleData(localeRu);
|
||||||
export const DIRECTIVES = [
|
export const DIRECTIVES = [
|
||||||
forwardRef(() => AppHeaderComponent),
|
forwardRef(() => AppHeaderComponent),
|
||||||
forwardRef(() => AppFooterComponent),
|
forwardRef(() => AppFooterComponent),
|
||||||
forwardRef(() => ApplicationVersionComponent),
|
|
||||||
forwardRef(() => LogOutComponent),
|
forwardRef(() => LogOutComponent),
|
||||||
forwardRef(() => AccessDeniedComponent),
|
forwardRef(() => AccessDeniedComponent),
|
||||||
forwardRef(() => AppProgressIndicationComponent),
|
forwardRef(() => AppProgressIndicationComponent),
|
||||||
|
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Input} from "@angular/core";
|
|
||||||
import {HttpClient} from "@angular/common/http";
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
moduleId: module.id,
|
|
||||||
selector: "application-version",
|
|
||||||
templateUrl: "../../../../../src/resources/template/app/component/application_version.html",
|
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush
|
|
||||||
})
|
|
||||||
export class ApplicationVersionComponent {
|
|
||||||
@Input()
|
|
||||||
public applicationVersion: string;
|
|
||||||
|
|
||||||
constructor(private httpClient: HttpClient, private cd: ChangeDetectorRef) {
|
|
||||||
this.loadAppVersion(); //TODO: check version url
|
|
||||||
}
|
|
||||||
|
|
||||||
private loadAppVersion() {
|
|
||||||
this.httpClient.get("version").toPromise().then((version: any) => {
|
|
||||||
this.applicationVersion = version.number;
|
|
||||||
this.cd.markForCheck();
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -13,7 +13,7 @@ export class AuthenticationService {
|
||||||
}
|
}
|
||||||
|
|
||||||
checkAuthentication(): Promise<any>{
|
checkAuthentication(): Promise<any>{
|
||||||
return this.appConfigService.load().then(() => this.http.get<any>("version").toPromise())
|
return this.appConfigService.load().then(() => this.http.get<any>("health").toPromise());
|
||||||
}
|
}
|
||||||
|
|
||||||
logout(): Promise<string> {
|
logout(): Promise<string> {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import {Injectable} from "@angular/core";
|
||||||
import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from "@angular/router";
|
import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from "@angular/router";
|
||||||
import {Observable} from "rxjs";
|
import {Observable} from "rxjs";
|
||||||
import {HttpClient, HttpParams} from "@angular/common/http";
|
import {HttpClient, HttpParams} from "@angular/common/http";
|
||||||
import {MessagesService} from "@webbpm/base-package";
|
import {MessagesService, ProgressIndicationService} from "@webbpm/base-package";
|
||||||
import {AuthenticationService} from "../authentication.service";
|
import {AuthenticationService} from "../authentication.service";
|
||||||
import {EsiaErrorDetail} from "../EsiaErrorDetail";
|
import {EsiaErrorDetail} from "../EsiaErrorDetail";
|
||||||
|
|
||||||
|
|
@ -13,6 +13,7 @@ export abstract class AuthGuard implements CanActivate {
|
||||||
protected router: Router,
|
protected router: Router,
|
||||||
private httpClient: HttpClient,
|
private httpClient: HttpClient,
|
||||||
private authenticationService: AuthenticationService,
|
private authenticationService: AuthenticationService,
|
||||||
|
private progressIndicationService: ProgressIndicationService,
|
||||||
private messageService: MessagesService
|
private messageService: MessagesService
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
@ -28,6 +29,9 @@ export abstract class AuthGuard implements CanActivate {
|
||||||
let state = params.get('state');
|
let state = params.get('state');
|
||||||
let error = params.get('error');
|
let error = params.get('error');
|
||||||
let errorDescription = params.get('error_description');
|
let errorDescription = params.get('error_description');
|
||||||
|
if (code || state || error || errorDescription) {
|
||||||
|
window.history.replaceState({}, document.title, url.pathname);
|
||||||
|
}
|
||||||
if (isAccess) {
|
if (isAccess) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -41,8 +45,10 @@ export abstract class AuthGuard implements CanActivate {
|
||||||
let consoleError = error + ', error description = ' + errorDescription;
|
let consoleError = error + ', error description = ' + errorDescription;
|
||||||
this.messageService.error(errorMessage);
|
this.messageService.error(errorMessage);
|
||||||
console.error(consoleError);
|
console.error(consoleError);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
if (code && state) {
|
if (code && state) {
|
||||||
|
this.progressIndicationService.showProgressBar();
|
||||||
const params = new HttpParams().set('code', code).set('state', state);
|
const params = new HttpParams().set('code', code).set('state', state);
|
||||||
this.httpClient.get("esia/auth",
|
this.httpClient.get("esia/auth",
|
||||||
{
|
{
|
||||||
|
|
@ -56,6 +62,7 @@ export abstract class AuthGuard implements CanActivate {
|
||||||
.toPromise()
|
.toPromise()
|
||||||
.then(
|
.then(
|
||||||
() => {
|
() => {
|
||||||
|
this.progressIndicationService.hideProgressBar();
|
||||||
window.open(url.origin + url.pathname, "_self");
|
window.open(url.origin + url.pathname, "_self");
|
||||||
})
|
})
|
||||||
.catch(reason => {
|
.catch(reason => {
|
||||||
|
|
@ -63,7 +70,8 @@ export abstract class AuthGuard implements CanActivate {
|
||||||
json.messages.forEach((errorMessage) => {
|
json.messages.forEach((errorMessage) => {
|
||||||
this.messageService.error(errorMessage, json);
|
this.messageService.error(errorMessage, json);
|
||||||
})
|
})
|
||||||
});
|
})
|
||||||
|
.finally(() => this.progressIndicationService.hideProgressBar());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||||
<artifactId>resources</artifactId>
|
<artifactId>resources</artifactId>
|
||||||
<version>3.192.9</version>
|
<version>3.192.12</version>
|
||||||
<organization>
|
<organization>
|
||||||
<name>Micord</name>
|
<name>Micord</name>
|
||||||
</organization>
|
</organization>
|
||||||
|
|
@ -28,13 +28,13 @@
|
||||||
<jooq.version>3.19.3</jooq.version>
|
<jooq.version>3.19.3</jooq.version>
|
||||||
<jupiter.version>5.10.2</jupiter.version>
|
<jupiter.version>5.10.2</jupiter.version>
|
||||||
<enforcer.manageVersions>true</enforcer.manageVersions>
|
<enforcer.manageVersions>true</enforcer.manageVersions>
|
||||||
<webbpm-platform.version>3.192.9</webbpm-platform.version>
|
<webbpm-platform.version>3.192.12</webbpm-platform.version>
|
||||||
<h2.version>1.4.200</h2.version>
|
<h2.version>1.4.200</h2.version>
|
||||||
<build.timestamp>0416115255</build.timestamp>
|
<build.timestamp>0512113246</build.timestamp>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
<junit.platform.version>1.10.0</junit.platform.version>
|
<junit.platform.version>1.10.0</junit.platform.version>
|
||||||
<enforcer.manageExclusions>true</enforcer.manageExclusions>
|
<enforcer.manageExclusions>true</enforcer.manageExclusions>
|
||||||
<revision>3.192.9</revision>
|
<revision>3.192.12</revision>
|
||||||
<metadata.ts.filename>typescript.metadata.json</metadata.ts.filename>
|
<metadata.ts.filename>typescript.metadata.json</metadata.ts.filename>
|
||||||
<package.repository.url>https://repo.micord.ru</package.repository.url>
|
<package.repository.url>https://repo.micord.ru</package.repository.url>
|
||||||
<maven.build.timestamp.format>MMddHHmmss</maven.build.timestamp.format>
|
<maven.build.timestamp.format>MMddHHmmss</maven.build.timestamp.format>
|
||||||
|
|
@ -47,19 +47,19 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||||
<artifactId>converters</artifactId>
|
<artifactId>converters</artifactId>
|
||||||
<version>3.192.9</version>
|
<version>3.192.12</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||||
<artifactId>backend</artifactId>
|
<artifactId>backend</artifactId>
|
||||||
<version>3.192.9</version>
|
<version>3.192.12</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||||
<artifactId>frontend</artifactId>
|
<artifactId>frontend</artifactId>
|
||||||
<version>3.192.9</version>
|
<version>3.192.12</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li>Образец внешней ссылки: <code>https://www.wildberries.ru/catalog/${sku}/detail.aspx</code></li>
|
<li>Образец внешней ссылки: <code>https://www.wildberries.ru/catalog/${sku}/detail.aspx</code></li>
|
||||||
<li>Образец внутренней ссылки: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.192.9</code></li>
|
<li>Образец внутренней ссылки: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.192.12</code></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
|
|
|
||||||
|
|
@ -4,17 +4,17 @@
|
||||||
<description>Base webbpm package</description>
|
<description>Base webbpm package</description>
|
||||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||||
<artifactId>resources</artifactId>
|
<artifactId>resources</artifactId>
|
||||||
<version>3.192.9</version>
|
<version>3.192.12</version>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
|
|
||||||
<backendModule>
|
<backendModule>
|
||||||
<groupId>ru.cg.webbpm.packages.base</groupId>
|
<groupId>ru.cg.webbpm.packages.base</groupId>
|
||||||
<artifactId>backend</artifactId>
|
<artifactId>backend</artifactId>
|
||||||
<version>3.192.9</version>
|
<version>3.192.12</version>
|
||||||
</backendModule>
|
</backendModule>
|
||||||
<frontendModule>
|
<frontendModule>
|
||||||
<packageName>@webbpm/base-package</packageName>
|
<packageName>@webbpm/base-package</packageName>
|
||||||
<version>3.192.9</version>
|
<version>3.192.12</version>
|
||||||
</frontendModule>
|
</frontendModule>
|
||||||
</packageInfo>
|
</packageInfo>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка.html</documentation>
|
<documentation>component/buttons/Кнопка.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_отмены.html</documentation>
|
<documentation>component/buttons/Кнопка_отмены.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_очистки_фильтра.html</documentation>
|
<documentation>component/buttons/Кнопка_очистки_фильтра.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_удаления.html</documentation>
|
<documentation>component/buttons/Кнопка_удаления.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_загрузки.html</documentation>
|
<documentation>component/buttons/Кнопка_загрузки.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_вызова_ошибки.html</documentation>
|
<documentation>component/buttons/Кнопка_вызова_ошибки.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<documentation>component/buttons/Кнопка_выполнения_бизнес-процесса.html</documentation>
|
<documentation>component/buttons/Кнопка_выполнения_бизнес-процесса.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_выполнения_SQL.html</documentation>
|
<documentation>component/buttons/Кнопка_выполнения_SQL.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_для_фильтрации.html</documentation>
|
<documentation>component/buttons/Кнопка_для_фильтрации.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_навигации.html</documentation>
|
<documentation>component/buttons/Кнопка_навигации.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_сохранения.html</documentation>
|
<documentation>component/buttons/Кнопка_сохранения.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_выбора.html</documentation>
|
<documentation>component/buttons/Кнопка_выбора.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_подписи.html</documentation>
|
<documentation>component/buttons/Кнопка_подписи.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/Кнопка_запуска_бизнес-процесса.html</documentation>
|
<documentation>component/buttons/Кнопка_запуска_бизнес-процесса.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/reporting/Кнопка_печати_из_графа_сущности.html</documentation>
|
<documentation>component/buttons/reporting/Кнопка_печати_из_графа_сущности.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/buttons/reporting/Кнопка_печати_отчета_из_формы.html</documentation>
|
<documentation>component/buttons/reporting/Кнопка_печати_отчета_из_формы.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Сворачиваемая_панель.html</documentation>
|
<documentation>component/containers/Сворачиваемая_панель.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Диалог.html</documentation>
|
<documentation>component/containers/Диалог.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Контейнер_с_кнопками.html</documentation>
|
<documentation>component/containers/Контейнер_с_кнопками.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Группа_полей.html</documentation>
|
<documentation>component/containers/Группа_полей.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Набор_фильтров.html</documentation>
|
<documentation>component/containers/Набор_фильтров.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Форма.html</documentation>
|
<documentation>component/containers/Форма.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Горизонтальный_контейнер.html</documentation>
|
<documentation>component/containers/Горизонтальный_контейнер.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Контейнер_вкладок.html</documentation>
|
<documentation>component/containers/Контейнер_вкладок.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Вкладка.html</documentation>
|
<documentation>component/containers/Вкладка.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Вертикальный_контейнер.html</documentation>
|
<documentation>component/containers/Вертикальный_контейнер.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/containers/Окно.html</documentation>
|
<documentation>component/containers/Окно.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/editable-grids/EditableGrid.html</documentation>
|
<documentation>component/editable-grids/EditableGrid.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
@ -181,5 +181,12 @@
|
||||||
</classRef>
|
</classRef>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
</scripts>
|
</scripts>
|
||||||
|
<scripts id="2db2ad18-0ad6-4965-962c-9f98b199cac0">
|
||||||
|
<classRef type="TS">
|
||||||
|
<className>RequiredFieldValidator</className>
|
||||||
|
<packageName>scripts</packageName>
|
||||||
|
</classRef>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
</scripts>
|
||||||
</rootObject>
|
</rootObject>
|
||||||
</xmlComponent>
|
</xmlComponent>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/autocomplete</localization>
|
<localization>META-INF/components/localization/editable-grids/autocomplete</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/check-box</localization>
|
<localization>META-INF/components/localization/editable-grids/check-box</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/combo-box</localization>
|
<localization>META-INF/components/localization/editable-grids/combo-box</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/date-time-picker</localization>
|
<localization>META-INF/components/localization/editable-grids/date-time-picker</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/money-field</localization>
|
<localization>META-INF/components/localization/editable-grids/money-field</localization>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/number-field</localization>
|
<localization>META-INF/components/localization/editable-grids/number-field</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
|
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
|
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/read-only</localization>
|
<localization>META-INF/components/localization/editable-grids/read-only</localization>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@
|
||||||
<category>editable-grids</category>
|
<category>editable-grids</category>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>Статичный_выпадающий_список_колонки_таблицы.html</documentation>
|
<documentation>Статичный_выпадающий_список_колонки_таблицы.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/text-area</localization>
|
<localization>META-INF/components/localization/editable-grids/text-area</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/text-field</localization>
|
<localization>META-INF/components/localization/editable-grids/text-field</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grids/time-picker</localization>
|
<localization>META-INF/components/localization/editable-grids/time-picker</localization>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/ФИАС.html</documentation>
|
<documentation>component/fields/ФИАС.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Поле_ввода_с_подбором_значения.html</documentation>
|
<documentation>component/fields/Поле_ввода_с_подбором_значения.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Флаг.html</documentation>
|
<documentation>component/fields/Флаг.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Выпадающий_список.html</documentation>
|
<documentation>component/fields/Выпадающий_список.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Дата.html</documentation>
|
<documentation>component/fields/Дата.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/EditableOneToMany.html</documentation>
|
<documentation>component/fields/EditableOneToMany.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
@ -371,6 +371,13 @@
|
||||||
</entry>
|
</entry>
|
||||||
</properties>
|
</properties>
|
||||||
</scripts>
|
</scripts>
|
||||||
|
<scripts id="64f66c80-bec2-4745-ad6d-d13bceebf5df">
|
||||||
|
<classRef type="TS">
|
||||||
|
<className>RequiredFieldValidator</className>
|
||||||
|
<packageName>scripts</packageName>
|
||||||
|
</classRef>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
</scripts>
|
||||||
</children>
|
</children>
|
||||||
<children id="a5848add-1dcf-45d2-8918-12d2aaf7f827">
|
<children id="a5848add-1dcf-45d2-8918-12d2aaf7f827">
|
||||||
<prototypeId>86f297f1-ab3d-40e0-ac2f-89cc944b7f0a</prototypeId>
|
<prototypeId>86f297f1-ab3d-40e0-ac2f-89cc944b7f0a</prototypeId>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Файл.html</documentation>
|
<documentation>component/fields/Файл.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Файл.html</documentation>
|
<documentation>component/fields/Файл.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
@ -133,5 +133,12 @@
|
||||||
<expanded>true</expanded>
|
<expanded>true</expanded>
|
||||||
<properties/>
|
<properties/>
|
||||||
</scripts>
|
</scripts>
|
||||||
|
<scripts id="daf1f718-6fad-4bdb-9690-1229d0c8bb2d">
|
||||||
|
<classRef type="TS">
|
||||||
|
<className>FileUploadValidator</className>
|
||||||
|
<packageName>component.field.validation</packageName>
|
||||||
|
</classRef>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
</scripts>
|
||||||
</rootObject>
|
</rootObject>
|
||||||
</xmlComponent>
|
</xmlComponent>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/ManyToMany.html</documentation>
|
<documentation>component/fields/ManyToMany.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/ManyToManyField.html</documentation>
|
<documentation>component/fields/ManyToManyField.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Денежное_поле.html</documentation>
|
<documentation>component/fields/Денежное_поле.html</documentation>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Числовое_поле.html</documentation>
|
<documentation>component/fields/Числовое_поле.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/OneToMany.html</documentation>
|
<documentation>component/fields/OneToMany.html</documentation>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/OneToMany.html</documentation>
|
<documentation>component/fields/OneToMany.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Переключатель.html</documentation>
|
<documentation>component/fields/Переключатель.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/SignVerification.html</documentation>
|
<documentation>component/fields/SignVerification.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Статичный_выпадающий_список.html</documentation>
|
<documentation>component/fields/Статичный_выпадающий_список.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Статичный_переключатель.html</documentation>
|
<documentation>component/fields/Статичный_переключатель.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Текст.html</documentation>
|
<documentation>component/fields/Текст.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Многострочное_поле.html</documentation>
|
<documentation>component/fields/Многострочное_поле.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Текстовое_поле.html</documentation>
|
<documentation>component/fields/Текстовое_поле.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/Время.html</documentation>
|
<documentation>component/fields/Время.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/TreeField.html</documentation>
|
<documentation>component/fields/TreeField.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@
|
||||||
<localization>META-INF/components/localization/editable-grid</localization>
|
<localization>META-INF/components/localization/editable-grid</localization>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,11 @@
|
||||||
<name>EditableOneToManyForm</name>
|
<name>EditableOneToManyForm</name>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@
|
||||||
<localization>META-INF/components/localization/fields/file-upload-field</localization>
|
<localization>META-INF/components/localization/fields/file-upload-field</localization>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Фильтр_по_полю_адреса.html</documentation>
|
<documentation>component/fields/filters/Фильтр_по_полю_адреса.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Поле_ввода_с_подбором_значения.html</documentation>
|
<documentation>component/fields/filters/Поле_ввода_с_подбором_значения.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Фильтр_по_компоненте_Флаг.html</documentation>
|
<documentation>component/fields/filters/Фильтр_по_компоненте_Флаг.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Флаг.html</documentation>
|
<documentation>component/fields/filters/Флаг.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Фильтр_по_выпадающему_списку.html</documentation>
|
<documentation>component/fields/filters/Фильтр_по_выпадающему_списку.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Фильтр_по_дате.html</documentation>
|
<documentation>component/fields/filters/Фильтр_по_дате.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Фильтр_по_числовому_полю.html</documentation>
|
<documentation>component/fields/filters/Фильтр_по_числовому_полю.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Переключатель.html</documentation>
|
<documentation>component/fields/filters/Переключатель.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Фильтр_по_статичному_выпадающему_списку.html</documentation>
|
<documentation>component/fields/filters/Фильтр_по_статичному_выпадающему_списку.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Фильтр_по_полю_многострочного_ввода.html</documentation>
|
<documentation>component/fields/filters/Фильтр_по_полю_многострочного_ввода.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/fields/filters/Текстовое_поле.html</documentation>
|
<documentation>component/fields/filters/Текстовое_поле.html</documentation>
|
||||||
<internal>false</internal>
|
<internal>false</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@
|
||||||
<localization>META-INF/components/localization/fields/link-field</localization>
|
<localization>META-INF/components/localization/fields/link-field</localization>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
@ -182,5 +182,12 @@
|
||||||
<expanded>true</expanded>
|
<expanded>true</expanded>
|
||||||
<properties/>
|
<properties/>
|
||||||
</scripts>
|
</scripts>
|
||||||
|
<scripts id="0adea248-242f-4141-8160-619d8b6e40a9">
|
||||||
|
<classRef type="TS">
|
||||||
|
<className>RequiredFieldValidator</className>
|
||||||
|
<packageName>scripts</packageName>
|
||||||
|
</classRef>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
</scripts>
|
||||||
</rootObject>
|
</rootObject>
|
||||||
</xmlComponent>
|
</xmlComponent>
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,11 @@
|
||||||
<localization>META-INF/components/localization/fields/multi-value-field</localization>
|
<localization>META-INF/components/localization/fields/multi-value-field</localization>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,11 @@
|
||||||
<documentation>component/grids/Таблица.html</documentation>
|
<documentation>component/grids/Таблица.html</documentation>
|
||||||
<internal>true</internal>
|
<internal>true</internal>
|
||||||
<versions>
|
<versions>
|
||||||
<studioVersion>3.192.9</studioVersion>
|
<studioVersion>3.192.12</studioVersion>
|
||||||
<packageVersions>
|
<packageVersions>
|
||||||
<entry>
|
<entry>
|
||||||
<key>ru.cg.webbpm.packages.base.resources</key>
|
<key>ru.cg.webbpm.packages.base.resources</key>
|
||||||
<value>3.192.9</value>
|
<value>3.192.12</value>
|
||||||
</entry>
|
</entry>
|
||||||
</packageVersions>
|
</packageVersions>
|
||||||
</versions>
|
</versions>
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue