Merge branch 'forecast_v1_ERVU-266' into develop

# Conflicts:
#	backend/src/main/java/ru/micord/ervu_dashboard/db_beans/total_registered/Keys.java
This commit is contained in:
Рауф Латыпов 2025-03-04 10:36:44 +03:00
commit 8ee3dc40a5
149 changed files with 8060 additions and 395 deletions

View file

@ -0,0 +1,22 @@
package custom.grid.formatter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Objects;
import property.grid.Formatter;
/**
* @author r.latypov
*/
public class YearFormatter implements Formatter<String, Object> {
@Override
public String format(final Object object) {
return object == null
? null
: object instanceof Date date
? new SimpleDateFormat("yyyy").format(date)
: Objects.toString(object);
}
}

View file

@ -128,6 +128,18 @@ public class ErvuMultiChartDataSetService extends AbstractChartDatasetService im
chartDataSetDto.setyAxisID(aggFuncData.yAxesId);
chartDataSetDto.setTension(aggFuncData.tension);
chartDataSetDto.setOrder(aggFuncData.drawOrder);
chartDataSetDto.setStack(aggFuncData.stack);
chartDataSetDto.setBorderRadius(aggFuncData.borderRadius);
chartDataSetDto.setBorderWidth(aggFuncData.borderWidth);
chartDataSetDto.setBarPercentage(aggFuncData.barPercentage);
chartDataSetDto.setBarThickness(aggFuncData.barThickness);
chartDataSetDto.setCategoryPercentage(aggFuncData.categoryPercentage);
chartDataSetDto.setBorderDash(aggFuncData.borderDash);
chartDataSetDto.setBorderDashOffset(aggFuncData.borderDashOffset);
chartDataSetDto.setPointBorderWidth(aggFuncData.pointBorderWidth);
chartDataSetDto.setPointRadius(aggFuncData.pointRadius);
return chartDataSetDto;
}).collect(Collectors.toList())).flatMap(Collection::stream).collect(Collectors.toList());
}
@ -165,6 +177,18 @@ public class ErvuMultiChartDataSetService extends AbstractChartDatasetService im
chartDataSetDto.setyAxisID(staticChartData.yAxesId);
chartDataSetDto.setTension(staticChartData.tension);
chartDataSetDto.setOrder(staticChartData.drawOrder);
chartDataSetDto.setStack(staticChartData.stack);
chartDataSetDto.setBorderRadius(staticChartData.borderRadius);
chartDataSetDto.setBorderWidth(staticChartData.borderWidth);
chartDataSetDto.setBarPercentage(staticChartData.barPercentage);
chartDataSetDto.setBarThickness(staticChartData.barThickness);
chartDataSetDto.setCategoryPercentage(staticChartData.categoryPercentage);
chartDataSetDto.setBorderDash(staticChartData.borderDash);
chartDataSetDto.setBorderDashOffset(staticChartData.borderDashOffset);
chartDataSetDto.setPointBorderWidth(staticChartData.pointBorderWidth);
chartDataSetDto.setPointRadius(staticChartData.pointRadius);
return chartDataSetDto;
}).collect(Collectors.toList());
}
@ -205,6 +229,7 @@ public class ErvuMultiChartDataSetService extends AbstractChartDatasetService im
chartDataSetDto.setyAxisID(dataSet.yAxesId);
chartDataSetDto.setTension(dataSet.tension);
chartDataSetDto.setOrder(dataSet.drawOrder);
chartDataSetDto.setStack(dataSet.stack);
chartDataSetDto.setBorderRadius(dataSet.borderRadius);
chartDataSetDto.setBarPercentage(dataSet.barPercentage);

View file

@ -30,7 +30,9 @@ public class ColumnAggregationDataSet {
public String yAxesId;
public Float tension;
public String tension;
public Integer drawOrder;
public String stack;
}

View file

@ -10,36 +10,12 @@ import component.chart.dto.ChartPointDto;
*/
public class ErvuChartDataSetDto extends ChartDataSetDto {
public Integer borderRadius;
public String barPercentage;
public String[] backgroundColors;
public ErvuChartDataSetDto(String label, String type,
List<ChartPointDto> data) {
public ErvuChartDataSetDto(String label, String type, List<ChartPointDto> data) {
super(label, type, data);
}
public Integer getBorderRadius() {
return borderRadius;
}
public void setBorderRadius(Integer borderRadius) {
this.borderRadius = borderRadius;
}
public String getBarPercentage() {
return barPercentage;
}
public void setBarPercentage(String barPercentage) {
this.barPercentage = barPercentage;
}
public String[] getBackgroundColors() {
return backgroundColors;
}
public void setBackgroundColors(String[] backgroundColors) {
this.backgroundColors = backgroundColors;
}

View file

@ -21,13 +21,4 @@ public class RoundChartDataDto extends SingleChartDataDto {
super(datasets, labels);
this.centerLabels = centerLabels;
}
public List<ChartLabelModel> getCenterLabels() {
return centerLabels;
}
public void setCenterLabels(
List<ChartLabelModel> centerLabels) {
this.centerLabels = centerLabels;
}
}

View file

@ -18,10 +18,6 @@ public class RoundChartDataSetDto extends SingleChartDataSetDto {
@JsonInclude
public Integer hoverOffset;
public RoundChartDataSetDto() {
super(null, null, null);
}
public RoundChartDataSetDto(String label, List<Object> data, String[] backgroundColor,
Integer borderWidth, String radius, String cutout, Integer hoverOffset) {
super(label, data, backgroundColor);
@ -30,36 +26,4 @@ public class RoundChartDataSetDto extends SingleChartDataSetDto {
this.cutout = cutout;
this.hoverOffset = hoverOffset;
}
public String getRadius() {
return radius;
}
public void setRadius(String radius) {
this.radius = radius;
}
public String getCutout() {
return cutout;
}
public void setCutout(String cutout) {
this.cutout = cutout;
}
public Integer getBorderWidth() {
return borderWidth;
}
public void setBorderWidth(Integer borderWidth) {
this.borderWidth = borderWidth;
}
public Integer getHoverOffset() {
return hoverOffset;
}
public void setHoverOffset(Integer hoverOffset) {
this.hoverOffset = hoverOffset;
}
}

View file

@ -6,8 +6,8 @@ import java.util.List;
* @author Vitaly Chekushkin
*/
public class RoundChartDataSetDtoWrapper {
private RoundChartDataSetDto roundChartDataSetDto;
private List<Object> labels;
private final RoundChartDataSetDto roundChartDataSetDto;
private final List<Object> labels;
public RoundChartDataSetDtoWrapper(RoundChartDataSetDto roundChartDataSetDto,
List<Object> labels) {
@ -19,15 +19,7 @@ public class RoundChartDataSetDtoWrapper {
return roundChartDataSetDto;
}
public void setRoundChartDataSetDto(RoundChartDataSetDto roundChartDataSetDto) {
this.roundChartDataSetDto = roundChartDataSetDto;
}
public List<Object> getLabels() {
return labels;
}
public void setLabels(List<Object> labels) {
this.labels = labels;
}
}

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
<changeSet id="0001" author="saliakhov">
<comment>create schema</comment>
<sql>
CREATE SCHEMA IF NOT EXISTS forecast;
ALTER SCHEMA forecast OWNER TO "ervu-dashboard";
</sql>
</changeSet>
<changeSet id="0002" author="saliakhov">
<comment>create table</comment>
<sql>
CREATE TABLE IF NOT EXISTS forecast.registered_citizens (
registered_citizens_id bigserial NOT NULL,
recruitment_id uuid NOT NULL,
recording_date date DEFAULT now() NOT NULL,
"schema" varchar(64) DEFAULT 'empty'::character varying NOT NULL,
count_all numeric NULL,
reaching_17_age numeric NULL,
women_military_specialty numeric NULL,
CONSTRAINT pk_registered_citizens PRIMARY KEY (registered_citizens_id)
);
ALTER TABLE IF EXISTS forecast.registered_citizens OWNER TO "ervu-dashboard";
COMMENT ON TABLE forecast.registered_citizens IS 'Динамика количества граждан на учете';
COMMENT ON COLUMN forecast.registered_citizens.count_all IS 'Всего на учете';
COMMENT ON COLUMN forecast.registered_citizens.reaching_17_age IS 'В год достижения 17 лет';
COMMENT ON COLUMN forecast.registered_citizens.women_military_specialty IS 'Женщины, получившие ВУС';
</sql>
</changeSet>
</databaseChangeLog>

View file

@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
<changeSet id="0001" author="saliakhov">
<comment>create table</comment>
<sql>
CREATE TABLE IF NOT EXISTS forecast.reporting_military_commissariat (
reporting_military_commissariat_id bigserial NOT NULL,
recruitment_id uuid NOT NULL,
recording_date date DEFAULT now() NOT NULL,
"schema" varchar(64) DEFAULT 'empty'::character varying NOT NULL,
subpoenaed_appear numeric NULL,
missed_deadline numeric NULL,
missed_deadline_reason numeric NULL,
subpoenas_issued numeric NULL,
retrieved_7_days numeric NULL,
CONSTRAINT pk_reporting_military_commissariat PRIMARY KEY (reporting_military_commissariat_id)
);
ALTER TABLE IF EXISTS forecast.reporting_military_commissariat OWNER TO "ervu-dashboard";
COMMENT ON TABLE forecast.reporting_military_commissariat IS 'Явка в Военный комиссариат';
COMMENT ON COLUMN forecast.reporting_military_commissariat.subpoenaed_appear IS 'Явились по повесткам';
COMMENT ON COLUMN forecast.reporting_military_commissariat.missed_deadline IS 'Не явились в срок';
COMMENT ON COLUMN forecast.reporting_military_commissariat.missed_deadline_reason IS 'Не явились по уважительной причине';
COMMENT ON COLUMN forecast.reporting_military_commissariat.subpoenas_issued IS 'Вручено повесток';
COMMENT ON COLUMN forecast.reporting_military_commissariat.retrieved_7_days IS 'Вручено через 7 дней(автоматически)';
</sql>
</changeSet>
<changeSet id="0002" author="saliakhov">
<comment>create table</comment>
<sql>
CREATE TABLE IF NOT EXISTS forecast.enroll (
enroll_id bigserial NOT NULL,
recruitment_id uuid NOT NULL,
recording_date date DEFAULT now() NOT NULL,
"schema" varchar(64) DEFAULT 'empty'::character varying NOT NULL,
study numeric NULL,
work numeric NULL,
unemployed numeric NULL,
count_17_years numeric NULL,
count_18_26_years numeric NULL,
count_27_30_years numeric NULL,
count_31_35_years numeric NULL,
count_36_40_years numeric NULL,
count_41_45_years numeric NULL,
count_46_50_years numeric NULL,
count_51_years numeric NULL,
CONSTRAINT pk_enroll PRIMARY KEY (enroll_id)
);
ALTER TABLE IF EXISTS forecast.enroll OWNER TO "ervu-dashboard";
COMMENT ON TABLE forecast.enroll IS 'Подлежат постановке на учет';
COMMENT ON COLUMN forecast.enroll.study IS 'Учатся';
COMMENT ON COLUMN forecast.enroll.work IS 'Работают';
COMMENT ON COLUMN forecast.enroll.unemployed IS 'Безработные';
COMMENT ON COLUMN forecast.enroll.count_17_years IS '17 л.';
COMMENT ON COLUMN forecast.enroll.count_18_26_years IS '18-26 л.';
COMMENT ON COLUMN forecast.enroll.count_27_30_years IS '27-30 л.';
COMMENT ON COLUMN forecast.enroll.count_31_35_years IS '31-35 л.';
COMMENT ON COLUMN forecast.enroll.count_36_40_years IS '36-40 л.';
COMMENT ON COLUMN forecast.enroll.count_41_45_years IS '41-45 л.';
COMMENT ON COLUMN forecast.enroll.count_46_50_years IS '46-50 л.';
COMMENT ON COLUMN forecast.enroll.count_51_years IS '51+ л.';
</sql>
</changeSet>
<changeSet id="0003" author="saliakhov">
<comment>create table</comment>
<sql>
CREATE TABLE IF NOT EXISTS forecast.temporary_measures (
temporary_measures_id bigserial NOT NULL,
recruitment_id uuid NOT NULL,
recording_date date DEFAULT now() NOT NULL,
"schema" varchar(64) DEFAULT 'empty'::character varying NOT NULL,
introduction_provisional_measures numeric NULL,
lifting_provisional_measures numeric NULL,
CONSTRAINT pk_temporary_measures PRIMARY KEY (temporary_measures_id)
);
ALTER TABLE IF EXISTS forecast.temporary_measures OWNER TO "ervu-dashboard";
COMMENT ON TABLE forecast.temporary_measures IS 'Решения о принятии и снятии временных мер';
COMMENT ON COLUMN forecast.temporary_measures.introduction_provisional_measures IS 'Введение временных мер';
COMMENT ON COLUMN forecast.temporary_measures.lifting_provisional_measures IS 'Снятие временных мер';
</sql>
</changeSet>
<changeSet id="0004" author="saliakhov">
<comment>create table</comment>
<sql>
CREATE TABLE IF NOT EXISTS forecast.appeals (
appeals_id bigserial NOT NULL,
recruitment_id uuid NOT NULL,
recording_date date DEFAULT now() NOT NULL,
"schema" varchar(64) DEFAULT 'empty'::character varying NOT NULL,
resolved_appeals numeric NULL,
document_retrieval numeric NULL,
retraction_complaint numeric NULL,
disagreement_decision numeric NULL,
incorrect_information numeric NULL,
maintaining_military_records numeric NULL,
conscription numeric NULL,
temporary_measures numeric NULL,
CONSTRAINT pk_appeals PRIMARY KEY (appeals_id)
);
ALTER TABLE IF EXISTS forecast.appeals OWNER TO "ervu-dashboard";
COMMENT ON TABLE forecast.appeals IS 'Обжалования';
COMMENT ON COLUMN forecast.appeals.resolved_appeals IS 'Решенные обжалования';
COMMENT ON COLUMN forecast.appeals.document_retrieval IS 'Досыл документов';
COMMENT ON COLUMN forecast.appeals.retraction_complaint IS 'Отзыв жалобы';
COMMENT ON COLUMN forecast.appeals.disagreement_decision IS 'Несогласие с решением';
COMMENT ON COLUMN forecast.appeals.incorrect_information IS 'Некорректные данные';
COMMENT ON COLUMN forecast.appeals.maintaining_military_records IS 'Ведение воинского учета';
COMMENT ON COLUMN forecast.appeals.conscription IS 'Призыв на службу';
COMMENT ON COLUMN forecast.appeals.temporary_measures IS 'Временные меры';
</sql>
</changeSet>
<changeSet id="0005" author="saliakhov">
<comment>create table</comment>
<sql>
CREATE TABLE IF NOT EXISTS forecast.deferment_conscription (
deferment_conscription_id bigserial NOT NULL,
recruitment_id uuid NOT NULL,
recording_date date DEFAULT now() NOT NULL,
"schema" varchar(64) DEFAULT 'empty'::character varying NOT NULL,
eligible_deferment numeric NULL,
deferment_granted numeric NULL,
CONSTRAINT pk_deferment_conscription PRIMARY KEY (deferment_conscription_id)
);
ALTER TABLE IF EXISTS forecast.deferment_conscription OWNER TO "ervu-dashboard";
COMMENT ON TABLE forecast.deferment_conscription IS 'Отсрочка от призыва';
COMMENT ON COLUMN forecast.deferment_conscription.eligible_deferment IS 'Имеют право на отсрочку';
COMMENT ON COLUMN forecast.deferment_conscription.deferment_granted IS 'Предоставлена отсрочка';
</sql>
</changeSet>
</databaseChangeLog>

View file

@ -13,5 +13,7 @@
<include file="20250129-ERVU-db_changes.xml" relativeToChangelogFile="true"/>
<include file="20250131-ERVU-db_changes.xml" relativeToChangelogFile="true"/>
<include file="20250204-ERVU-db_changes.xml" relativeToChangelogFile="true"/>
<include file="20250205-ERVU-271.xml" relativeToChangelogFile="true"/>
<include file="20250212-ERVU-271.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>

View file

@ -1748,9 +1748,9 @@
}
},
"@webbpm/base-package": {
"version": "3.185.0",
"resolved": "https://repo.micord.ru/repository/npm-all/@webbpm/base-package/-/base-package-3.185.0.tgz",
"integrity": "sha512-m6qlhhYIjx6tNUJl5MNsUflAFjLt2tLurxf706iwI6IM8ZZGeTjF6j1dCeEUZnOc6hntdRigcUpOsSGa97QMog==",
"version": "3.185.1",
"resolved": "https://repo.micord.ru/repository/npm-all/@webbpm/base-package/-/base-package-3.185.1.tgz",
"integrity": "sha512-RiULNC8FWC6ynVvxHFo0qFwcUw226bBJXwQMz6680brBkgw5YfMDU4jhyb1GCAK3HQSDoZWV3ZSJBU04NjXnZg==",
"requires": {
"tslib": "^1.9.0"
}

View file

@ -26,7 +26,7 @@
"@angular/platform-browser-dynamic": "7.2.15",
"@angular/router": "7.2.15",
"@ng-bootstrap/ng-bootstrap": "4.2.2-micord.1",
"@webbpm/base-package": "3.185.0",
"@webbpm/base-package": "3.185.1",
"ag-grid-angular": "29.0.0-micord.4",
"ag-grid-community": "29.0.0-micord.4",
"angular-calendar": "0.28.28",

View file

@ -458,6 +458,9 @@
.webbpm.ervu_dashboard text label {
width: min(7.5vw, 9.375rem) ; /*150px*/
}
.webbpm.ervu_dashboard .free-label label {
width: auto;
}
.webbpm.ervu_dashboard text.num-addtitle > div > div:first-child {
color: var(--color-text-secondary);
align-items: center;
@ -468,6 +471,42 @@
line-height: normal;
}
.webbpm.ervu_dashboard .selectize-control {
height: 100%;
background-color: transparent;
}
.webbpm.ervu_dashboard .selectize-control .selectize-input,
.webbpm.ervu_dashboard input,
.webbpm.ervu_dashboard input[disabled] {
color: var(--color-text-primary);
font-size: var(--size-text-primary);
min-height: max-content;
padding: var(--indent-small) var(--indent-xlarge) var(--indent-small) var(--indent-medium);
margin-bottom: 0;
border-radius: 100px;
border: 0;
background-color: var(--color-dark-20);
}
.webbpm.ervu_dashboard .selectize-control .selectize-input {
display: flex;
}
.webbpm.ervu_dashboard .selectize-control .selectize-input::after {
position: absolute;
content: "\f282";
position: absolute;
font-family: bootstrap-icons !important;
font-weight: 800 !important;
font-size: var(--size-text-secondary);
top: calc((50% - var(--size-text-secondary)/ 2));
right: var(--indent-base);
height: auto;
width: auto;
border: 0;
}
.webbpm.ervu_dashboard .selectize-control .selectize-input::before {
display: none;
}
.webbpm.ervu_dashboard .selectize-dropdown {
height: fit-content;
padding: var(--indent-base) 0;
@ -827,7 +866,8 @@
.webbpm.ervu_dashboard [class*="graph-legend"] ervu-chart-v2 ~ hbox {
margin-top: var(--indent-mini);
}
.webbpm.ervu_dashboard [class*="graph-legend"] > div > hbox {
.webbpm.ervu_dashboard [class*="graph-legend"] > div > hbox,
.webbpm.ervu_dashboard [class*="graph-legend"] > div > text[class*="col-"] ~ text {
margin-top: var(--indent-mini);
}
.webbpm.ervu_dashboard [class*="graph-legend"] .form-group {
@ -927,6 +967,28 @@
background-color: #7e6ad9;
}
.webbpm.ervu_dashboard [class*="graph-legend"] [class*="col-"] label {
font-family: 'GilroyEB';
}
.webbpm.ervu_dashboard [class*="graph-legend"] .col-red label {
color: #e24040;
}
.webbpm.ervu_dashboard [class*="graph-legend"] .col-lila label {
color: #d04eff;
}
.webbpm.ervu_dashboard [class*="graph-legend"] .col-yellow label {
color: #ffc737;
}
.webbpm.ervu_dashboard [class*="graph-legend"] .col-blue label {
color: #00f0ff;
}
.webbpm.ervu_dashboard [class*="graph-legend"] .col-orange label {
color: #d98200;
}
.webbpm.ervu_dashboard [class*="graph-legend"] .col-green label {
color: #00db5b;
}
.webbpm.ervu_dashboard .pers-group .vertical-container > text:first-child {
color: var(--color-text-secondary);
}
@ -1160,39 +1222,7 @@
background: var(--btn-bg);
box-shadow: var(--btn-shadow);
}
.webbpm.ervu_dashboard .search-block .selectize-control {
height: 100%;
background-color: transparent;
}
.webbpm.ervu_dashboard .search-block :is(.selectize-input, input) {
color: var(--color-text-primary);
font-size: var(--size-text-primary);
min-height: max-content;
padding: var(--indent-small) var(--indent-xlarge) var(--indent-small) var(--indent-medium);
margin-bottom: 0;
border-radius: 100px;
border: 0;
background-color: var(--color-dark-20);
}
.webbpm.ervu_dashboard .search-block .selectize-input {
display: flex;
}
.webbpm.ervu_dashboard .search-block .selectize-input::after {
position: absolute;
content: "\f282";
position: absolute;
font-family: bootstrap-icons !important;
font-weight: 800 !important;
font-size: var(--size-text-secondary);
top: calc((50% - var(--size-text-secondary)/ 2));
right: var(--indent-base);
height: auto;
width: auto;
border: 0;
}
.webbpm.ervu_dashboard .search-block .selectize-input::before {
display: none;
}
.webbpm.ervu_dashboard .search-block .grid {
flex-direction: column;
flex: 1 1 auto;

View file

@ -35,4 +35,66 @@ export class ChartUtils {
public static clone<T>(source: T): T {
return JSON.parse(JSON.stringify(source));
}
}
public static hexToHsl(colorHex: string, lightness?: number): string {
if (!colorHex) {
return colorHex;
}
let result: string[] = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(colorHex);
if (!result) {
result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(colorHex);
}
if (!result || (result.length != 4 && result.length != 5)) {
return undefined;
}
let r = parseInt(result[1], 16);
let g = parseInt(result[2], 16);
let b = parseInt(result[3], 16);
r /= 255;
g /= 255;
b /= 255;
const max = Math.max(r, g, b), min = Math.min(r, g, b);
let h, s, l = (max + min) / 2;
if (max == min) {
h = s = 0; // achromatic
}
else {
const d = max - min;
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
switch (max) {
case r:
h = (g - b) / d + (g < b ? 6 : 0);
break;
case g:
h = (b - r) / d + 2;
break;
case b:
h = (r - g) / d + 4;
break;
}
h /= 6;
}
h = Math.round(h * 360);
s = Math.round(s * 100);
l = Math.round(l * 100);
if (lightness) {
l *= lightness / 100;
l = Math.round(Math.max(0, Math.min(100, l)));
}
let a: number;
if (result.length == 5) {
a = parseInt(result[4], 16)
a = Math.round(a / 255 * 10) / 10;
}
return result.length == 5
? 'hsla(' + h + ', ' + s + '%, ' + l + '%, ' + a + ')'
: 'hsl(' + h + ', ' + s + '%, ' + l + '%)';
}
}

View file

@ -25,8 +25,9 @@ import {
UnsupportedOperationError,
Visible
} from "@webbpm/base-package";
import {ChartLegendSettings} from "./model/ChartLegendSettings";
import {ChartBarSettings} from "./model/ChartBarSettings";
import {ChartLegendSettings} from "./model/ChartLegendSettings";
import {Options} from "./model/Options";
import {ChartPlugin} from "./plugin/ChartPlugin";
import {ChartUtils} from "./ChartUtils";
@ -52,6 +53,7 @@ export class ErvuChartV2 extends Control implements Filterable {
public scales: ChartScaleSettings[];
public bars: ChartBarSettings;
public options: Options;
@NotNull()
public loadOnStart: boolean = true;
@ -223,14 +225,19 @@ export class ErvuChartV2 extends Control implements Filterable {
chartOptions.plugins.title = this.title;
}
if (this.addDataSetsVisibilityToggleDataset && chartConfig.data.datasets &&
chartConfig.data.datasets.length > 0) {
let datasetLength = chartConfig.data.datasets.length;
chartConfig.data.datasets.push({
label: this.hideAllDatasetsLabel,
xAxisID: {display: false},
yAxisID: {display: false}
});
let datasets;
let datasetsLength: number = 0;
if (chartConfig.data && chartConfig.data.datasets && chartConfig.data.datasets.length > 0) {
datasets = chartConfig.data.datasets;
datasetsLength = datasets.length;
}
if (this.addDataSetsVisibilityToggleDataset && datasetsLength > 0) {
datasets.push({
label: this.hideAllDatasetsLabel,
xAxisID: {display: false},
yAxisID: {display: false}
});
chartOptions.plugins.legend.onClick = (e, legendItem, legend) => {
const index = legendItem.datasetIndex;
@ -238,12 +245,12 @@ export class ErvuChartV2 extends Control implements Filterable {
let datasetMeta = chartObj.getDatasetMeta(index);
if (datasetLength == index) {
if (datasetsLength == index) {
let showAll = datasetMeta.label == this.showAllDatasetsLabel;
chartObj.data.datasets[index].label =
showAll ? this.hideAllDatasetsLabel : this.showAllDatasetsLabel;
for (let i = 0; i < datasetLength; i++) {
for (let i = 0; i < datasetsLength; i++) {
chartObj.setDatasetVisibility(i, showAll);
}
chartObj.update();
@ -261,8 +268,8 @@ export class ErvuChartV2 extends Control implements Filterable {
};
}
if (chartConfig.data.datasets) { // remove it after change type of ChartDataSetDto.backgroundColor
chartConfig.data.datasets.forEach(dataset => {
if (datasetsLength > 0) { // remove it after change type of ChartDataSetDto.backgroundColor
datasets.forEach(dataset => {
if (dataset.backgroundColors) dataset.backgroundColor = dataset.backgroundColors;
});
}
@ -282,7 +289,16 @@ export class ErvuChartV2 extends Control implements Filterable {
if (this.bars) {
chartOptions.scales = chartOptions.scales ? chartOptions.scales : {};
chartOptions.scales.x = this.bars.x;
chartOptions.scales.y = this.bars.y
chartOptions.scales.y = this.bars.y;
// shadow bar treatment
if (this.bars.shadowBar && datasetsLength > 0) {
this.initShadowBar(datasets);
}
}
if (this.options) {
Object.assign(chartOptions, this.options);
}
chartConfig.tooltips = {
@ -304,6 +320,42 @@ export class ErvuChartV2 extends Control implements Filterable {
this.chartConfig = chartConfig;
}
private initShadowBar(datasets) {
const shadowBarStack: string = this.bars.shadowBar;
const shadowBarIndex = datasets.findIndex(element => element.stack === shadowBarStack);
if (shadowBarIndex > -1) {
const shadowBar = datasets[shadowBarIndex];
const stacks: string[] = [];
datasets.forEach((element, index) => {
let stack: string = element.stack;
if (stack) {
if (stack !== shadowBarStack && !stacks.includes(stack)) {
stacks.push(stack);
}
}
else {
stack = shadowBarStack + index;
element.stack = stack;
stacks.push(stack);
}
});
datasets.splice(shadowBarIndex, 1);
stacks.forEach(value => {
const cloneShadowBar = {...shadowBar};
cloneShadowBar.data = [];
shadowBar.data.forEach((item) => {
cloneShadowBar.data.push({...item});
});
cloneShadowBar.stack = value;
datasets.push(cloneShadowBar);
});
}
}
private repaint(chartData) {
if (this.chart) {
this.chart.destroy();

View file

@ -1,4 +1,13 @@
import {AdvancedProperty, ColorEditor} from "@webbpm/base-package";
export class AxisGridSettings {
public display: boolean = true;
public drawBorder: boolean = true;
}
public display: boolean;
@AdvancedProperty()
public drawBorder: boolean;
@AdvancedProperty()
@ColorEditor()
public borderColor: string;
@AdvancedProperty()
@ColorEditor()
public color: string;
}

View file

@ -1,8 +1,11 @@
import {AxisGridSettings} from "./AxisGridSettings";
import {AxisTicksSettings} from "./AxisTicksSettings";
import {AdvancedProperty} from "@webbpm/base-package";
export class AxisSettings {
public stacked: boolean;
public grid: AxisGridSettings;
public ticks: AxisTicksSettings;
@AdvancedProperty()
public grace: string;
}
}

View file

@ -1,3 +1,8 @@
import {AdvancedProperty, ColorEditor} from "@webbpm/base-package";
export class AxisTicksSettings {
public display: boolean = true;
}
public display: boolean;
@AdvancedProperty()
@ColorEditor()
public color: string;
}

View file

@ -1,6 +1,7 @@
import {AxisSettings} from "./AxisSettings";
export class ChartBarSettings {
public shadowBar: string;
public x: AxisSettings;
public y: AxisSettings;
}
}

View file

@ -0,0 +1,16 @@
export class Options {
// bar, doughnut
public borderRadius: number;
// bar, line
public borderWidth: number;
// bar
public barPercentage: number;
public barThickness: number;
public categoryPercentage: number;
// line
public borderDash: number[];
public borderDashOffset: number;
public pointBorderWidth: number;
public pointRadius: number;
public tension: number;
}

View file

@ -0,0 +1,38 @@
import {
AdvancedProperty,
AnalyticalScope,
Behavior,
ColorEditor,
Visible
} from "@webbpm/base-package";
import {Chart} from "chart.js";
import {ChartPlugin} from "./ChartPlugin";
import {ErvuChartV2} from "../ErvuChartV2";
@AnalyticalScope(ErvuChartV2)
export class BackgroundColorChartPlugin extends Behavior implements ChartPlugin {
@Visible('false')
id: string = 'background-color';
@ColorEditor()
public color: string;
@AdvancedProperty()
public onlyChartArea: boolean;
/**
* Настройка цвета фона
*/
beforeDraw(chart: Chart): void {
const {ctx, chartArea: {left, top, width, height}} = chart;
ctx.save();
ctx.globalCompositeOperation = 'destination-over';
ctx.fillStyle = this.color ? this.color : 'lightGreen';
if (this.onlyChartArea) {
ctx.fillRect(left, top, width, height);
}
else {
ctx.fillRect(0, 0, chart.width, chart.height);
}
ctx.restore();
}
}

View file

@ -3,6 +3,10 @@ import {Chart, ChartMeta} from "chart.js";
export interface ChartPlugin {
id: string;
beforeUpdate?(chart: Chart, args?, options?): void;
beforeElementsUpdate?(chart: Chart, args?, options?): void;
beforeDatasetsUpdate?(chart: Chart, args?, options?): void;
beforeDraw?(chart: Chart): void;
beforeDatasetsDraw?(chart: Chart, args?: { cancellable: true }, options?: any): void;
beforeDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }): void;
@ -10,4 +14,4 @@ export interface ChartPlugin {
afterDatasetDraw?(chart: Chart, args: { index: number; meta: ChartMeta }): void;
afterDatasetsDraw?(chart: Chart, args?: unknown, options?: any): void;
afterDraw?(chart: Chart): void;
}
}

View file

@ -0,0 +1,96 @@
import {
AdvancedProperty,
AnalyticalScope,
Behavior,
DateTimeUtil,
NotNull,
Visible
} from "@webbpm/base-package";
import {Chart} from "chart.js";
import {Moment} from "moment-timezone";
import {ChartPlugin} from "./ChartPlugin";
import {ChartUtils} from "../ChartUtils";
import {ErvuChartV2} from "../ErvuChartV2";
@AnalyticalScope(ErvuChartV2)
export class DarkBackgroundColorChartPlugin extends Behavior implements ChartPlugin {
@Visible('false')
id: string = 'dark-background-color';
@NotNull()
public dateFormat: string;
public lightness: number; // 0 - 100 для затемнения, для осветления > 100
public dash: number;
public space: number;
@AdvancedProperty()
public date: Date;
/**
* Затемнение цвета столбцов и добавление пунктира в линию для графика после текущей или заданной
* даты
*/
beforeDatasetsUpdate(chart: Chart, args?, options?): void {
const doLightness: boolean = !!this.lightness || this.lightness === 0;
const doDash: boolean = !!this.dash && !!this.space;
const date: Date = this.date == null ? new Date() : this.date;
const indexAxis = chart.config.options.indexAxis || 'x';
const datasets = chart.config.data.datasets;
if (doLightness) {
datasets.forEach(dataset => {
if (dataset.type === 'bar') {
const backgroundColor = dataset.backgroundColor;
if (typeof backgroundColor === 'string' && backgroundColor.length >= 7
&& backgroundColor.substr(0, 1) == '#') {
const colorHsl: string = ChartUtils.hexToHsl(backgroundColor, this.lightness);
if (colorHsl) {
const dateFormat = this.dateFormat;
dataset.backgroundColor = function (context) {
const scaleIndex = context.raw[indexAxis];
const parsedMoment: Moment = DarkBackgroundColorChartPlugin.getParsedMoment(
scaleIndex, dateFormat);
const scaleDate = parsedMoment ? parsedMoment.toDate() : undefined;
return scaleDate > date ? colorHsl : backgroundColor;
}
}
}
}
})
}
if (doDash) {
datasets.forEach(dataset => {
if (dataset.type === 'line') {
const borderDash: number[] = [this.dash, this.space];
const dateFormat = this.dateFormat;
Object.assign(dataset, {
segment: {
borderDash: function (context) {
const scaleIndex = context.p1.raw[indexAxis];
const parsedMoment: Moment = DarkBackgroundColorChartPlugin.getParsedMoment(
scaleIndex, dateFormat);
const scaleDate = parsedMoment ? parsedMoment.toDate() : undefined;
return scaleDate > date ? borderDash : undefined;
}
}
})
}
})
}
}
private static getParsedMoment(scaleIndex, dateFormat: string): Moment {
let moment: Moment = DateTimeUtil.parseDateWithFormat(scaleIndex, dateFormat);
switch (dateFormat) {
case "DD.MM.YYYY":
moment = DateTimeUtil.getEndOfDay(moment);
break;
case "MM.YYYY":
moment = moment.endOf('month');
break;
case "YYYY":
moment = moment.endOf('year');
break;
}
return moment;
}
}

View file

@ -8,6 +8,11 @@ const appRoutes: Routes = [
path: 'access-denied',
component: AccessDeniedComponent,
canActivate: [ConfirmExitGuard]
},
{
path: 'forecast',
loadChildren: 'generated-sources/page-forecast.module#PageforecastModule',
canActivate: [ConfirmExitGuard],
},
{
path: 'milregistration',

View file

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>ru.cg.webbpm.packages.base</groupId>
<artifactId>resources</artifactId>
<version>3.185.0</version>
<version>3.185.1</version>
<organization>
<name>Micord</name>
</organization>
@ -28,13 +28,13 @@
<jooq.version>3.19.3</jooq.version>
<jupiter.version>5.10.2</jupiter.version>
<enforcer.manageVersions>true</enforcer.manageVersions>
<webbpm-platform.version>3.185.0</webbpm-platform.version>
<webbpm-platform.version>3.185.1</webbpm-platform.version>
<h2.version>1.4.200</h2.version>
<build.timestamp>1107112530</build.timestamp>
<build.timestamp>1202100233</build.timestamp>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<junit.platform.version>1.10.0</junit.platform.version>
<enforcer.manageExclusions>true</enforcer.manageExclusions>
<revision>3.185.0</revision>
<revision>3.185.1</revision>
<metadata.ts.filename>typescript.metadata.json</metadata.ts.filename>
<package.repository.url>https://repo.micord.ru</package.repository.url>
<maven.build.timestamp.format>MMddHHmmss</maven.build.timestamp.format>
@ -47,19 +47,19 @@
<dependency>
<groupId>ru.cg.webbpm.packages.base</groupId>
<artifactId>converters</artifactId>
<version>3.185.0</version>
<version>3.185.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ru.cg.webbpm.packages.base</groupId>
<artifactId>backend</artifactId>
<version>3.185.0</version>
<version>3.185.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>ru.cg.webbpm.packages.base</groupId>
<artifactId>frontend</artifactId>
<version>3.185.0</version>
<version>3.185.1</version>
<scope>compile</scope>
</dependency>
</dependencies>

View file

@ -60,7 +60,7 @@
<ul>
<li>&#x41e;&#x431;&#x440;&#x430;&#x437;&#x435;&#x446; &#x432;&#x43d;&#x435;&#x448;&#x43d;&#x435;&#x439; &#x441;&#x441;&#x44b;&#x43b;&#x43a;&#x438;: <code>https://www.wildberries.ru/catalog/${sku}/detail.aspx</code></li>
<li>&#x41e;&#x431;&#x440;&#x430;&#x437;&#x435;&#x446; &#x432;&#x43d;&#x443;&#x442;&#x440;&#x435;&#x43d;&#x43d;&#x435;&#x439; &#x441;&#x441;&#x44b;&#x43b;&#x43a;&#x438;: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.185.0</code></li>
<li>&#x41e;&#x431;&#x440;&#x430;&#x437;&#x435;&#x446; &#x432;&#x43d;&#x443;&#x442;&#x440;&#x435;&#x43d;&#x43d;&#x435;&#x439; &#x441;&#x441;&#x44b;&#x43b;&#x43a;&#x438;: <code>products/ru.cg.webbpm.packages.base:resources:jar:3.185.1</code></li>
</ul>
</li>
<li>

View file

@ -4,17 +4,17 @@
<description>Base webbpm package</description>
<groupId>ru.cg.webbpm.packages.base</groupId>
<artifactId>resources</artifactId>
<version>3.185.0</version>
<studioVersion>3.185.0</studioVersion>
<version>3.185.1</version>
<studioVersion>3.185.1</studioVersion>
<backendModule>
<groupId>ru.cg.webbpm.packages.base</groupId>
<artifactId>backend</artifactId>
<version>3.185.0</version>
<version>3.185.1</version>
</backendModule>
<frontendModule>
<packageName>@webbpm/base-package</packageName>
<version>3.185.0</version>
<version>3.185.1</version>
</frontendModule>
</packageInfo>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_отмены.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_очистки_фильтра.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_удаления.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопкаагрузки.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_вызова_ошибки.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<documentation>component/buttons/Кнопка_выполнения_бизнес-процесса.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_выполнения_SQL.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_для_фильтрации.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопкаавигации.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_сохранения.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_выбора.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопка_подписи.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/Кнопкаапуска_бизнес-процесса.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/reporting/Кнопка_печати_из_графа_сущности.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/buttons/reporting/Кнопка_печати_отчета_из_формы.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Сворачиваемая_панель.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Диалог.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Контейнер_с_кнопками.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Группа_полей.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Набор_фильтров.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Форма.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Горизонтальный_контейнер.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Контейнер_вкладок.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Вкладка.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Вертикальный_контейнер.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/containers/Окно.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/editable-grids/EditableGrid.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/autocomplete</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/check-box</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/combo-box</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/date-time-picker</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/money-field</localization>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/number-field</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/one-to-many</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -6,11 +6,11 @@
<localization>META-INF/components/localization/editable-grids/read-only</localization>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -5,11 +5,11 @@
<category>editable-grids</category>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>Статичный_выпадающий_список_колонки_таблицы.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/text-area</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/text-field</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -7,11 +7,11 @@
<localization>META-INF/components/localization/editable-grids/time-picker</localization>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/ФИАС.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Поле_ввода_с_подбором_значения.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Флаг.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Выпадающий_список.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Дата.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/EditableOneToMany.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Файл.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Файл.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/ManyToMany.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/ManyToManyField.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Денежное_поле.html</documentation>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Числовое_поле.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/OneToMany.html</documentation>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/OneToMany.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Переключатель.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/SignVerification.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Статичный_выпадающий_список.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Статичный_переключатель.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Текст.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Многострочное_поле.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Текстовое_поле.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/Время.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/TreeField.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -5,11 +5,11 @@
<localization>META-INF/components/localization/editable-grid</localization>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -4,11 +4,11 @@
<name>EditableOneToManyForm</name>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -5,11 +5,11 @@
<localization>META-INF/components/localization/fields/file-upload-field</localization>
<internal>true</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/filters/Фильтр_по_полю_адреса.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/filters/Поле_ввода_с_подбором_значения.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/filters/Фильтр_поомпоненте_Флаг.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/filters/Флаг.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

View file

@ -8,11 +8,11 @@
<documentation>component/fields/filters/Фильтр_по_выпадающему_списку.html</documentation>
<internal>false</internal>
<versions>
<studioVersion>3.185.0</studioVersion>
<studioVersion>3.185.1</studioVersion>
<packageVersions>
<entry>
<key>ru.cg.webbpm.packages.base.resources</key>
<value>3.185.0</value>
<value>3.185.1</value>
</entry>
</packageVersions>
</versions>

Some files were not shown because too many files have changed in this diff Show more