@dartcom/ui-kit 10.1.0 → 10.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/date-field/date-field.d.ts +6 -2
- package/dist/components/date-field/date-field.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/config/constants.d.ts +1 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/config/constants.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/lib/types.d.ts +5 -4
- package/dist/components/layers/leaflet/layers/traffic-sign/lib/types.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/lib/utils.d.ts +4 -8
- package/dist/components/layers/leaflet/layers/traffic-sign/lib/utils.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/traffic-sign-dop/ui/forms/create/create.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/traffic-sign-dop/ui/forms/update/update.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/create/create.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/create/create.stories.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/create/schema.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/create/types.d.ts +4 -2
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/create/types.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/schema.d.ts +23 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/schema.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/update/schema.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/update/update.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/forms/update/update.stories.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/index.d.ts +1 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/index.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/preview-image/preview-image.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/preview-title/index.d.ts +2 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/preview-title/index.d.ts.map +1 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/preview-title/preview-title.d.ts +8 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/preview-title/preview-title.d.ts.map +1 -0
- package/dist/components/layers/leaflet/lib/hooks/useGetLeafletLayer.d.ts.map +1 -1
- package/dist/index.cjs +167 -74
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +4 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/logger/index.d.ts +2 -0
- package/dist/services/logger/index.d.ts.map +1 -0
- package/dist/services/logger/logger.d.ts +21 -0
- package/dist/services/logger/logger.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -16907,6 +16907,20 @@ const _testApiKeys = {
|
|
|
16907
16907
|
invalid: 'abcdefghijklmnopqrstuvwxyz0123456789',
|
|
16908
16908
|
};
|
|
16909
16909
|
|
|
16910
|
+
class LoggerService {
|
|
16911
|
+
constructor() { }
|
|
16912
|
+
log({ message, context, meta, }) {
|
|
16913
|
+
console.log(context, message, meta);
|
|
16914
|
+
}
|
|
16915
|
+
warn({ message, context, meta, }) {
|
|
16916
|
+
console.warn(context, message, meta);
|
|
16917
|
+
}
|
|
16918
|
+
error({ message, context, meta, }) {
|
|
16919
|
+
console.error(context, message, meta);
|
|
16920
|
+
}
|
|
16921
|
+
}
|
|
16922
|
+
const loggerService = new LoggerService();
|
|
16923
|
+
|
|
16910
16924
|
exports.API_METHODS = void 0;
|
|
16911
16925
|
(function (API_METHODS) {
|
|
16912
16926
|
API_METHODS["GET"] = "GET";
|
|
@@ -27249,6 +27263,7 @@ const trafficSignDateFields = [
|
|
|
27249
27263
|
'verification_date',
|
|
27250
27264
|
'warranty_expr_date',
|
|
27251
27265
|
];
|
|
27266
|
+
const trafficSignDateFormat = 'dd.MM.yyyy';
|
|
27252
27267
|
|
|
27253
27268
|
const getTrafficSignLayers = (source) => {
|
|
27254
27269
|
const layers = [];
|
|
@@ -27320,12 +27335,25 @@ const getTrafficSignTitlesOptions = () => {
|
|
|
27320
27335
|
return options;
|
|
27321
27336
|
};
|
|
27322
27337
|
const getTrafficSignFrontendDates = (fields) => {
|
|
27323
|
-
const frontendDates =
|
|
27324
|
-
...
|
|
27325
|
-
|
|
27326
|
-
|
|
27338
|
+
const frontendDates = {
|
|
27339
|
+
...trafficSignFrontendDates,
|
|
27340
|
+
};
|
|
27341
|
+
trafficSignDateFields.forEach((dateField) => {
|
|
27342
|
+
const frontendDate = new Date(fields[dateField]);
|
|
27343
|
+
frontendDates[dateField] = frontendDate;
|
|
27344
|
+
});
|
|
27327
27345
|
return frontendDates;
|
|
27328
27346
|
};
|
|
27347
|
+
const getTrafficSignBackendDates = (fields) => {
|
|
27348
|
+
const backendDates = {
|
|
27349
|
+
...trafficSignBackendDates,
|
|
27350
|
+
};
|
|
27351
|
+
trafficSignDateFields.forEach((dateField) => {
|
|
27352
|
+
const backendDate = getBackendDate(fields[dateField]);
|
|
27353
|
+
backendDates[dateField] = backendDate;
|
|
27354
|
+
});
|
|
27355
|
+
return backendDates;
|
|
27356
|
+
};
|
|
27329
27357
|
const parseTrafficSignCSVFile = (data) => {
|
|
27330
27358
|
const trafficSigns = data;
|
|
27331
27359
|
const trafficSignData = {};
|
|
@@ -27342,6 +27370,13 @@ const getTrafficSignTitleByNumber = (number) => {
|
|
|
27342
27370
|
const title = allTrafficSigns[number].title;
|
|
27343
27371
|
return title;
|
|
27344
27372
|
};
|
|
27373
|
+
const getBackendDate = (date) => {
|
|
27374
|
+
const year = date.getFullYear();
|
|
27375
|
+
const month = `${date.getUTCMonth() + 1}`.padStart(2, '0');
|
|
27376
|
+
const day = `${date.getUTCDate()}`.padStart(2, '0');
|
|
27377
|
+
const backendDate = `${year}-${month}-${day}`;
|
|
27378
|
+
return backendDate;
|
|
27379
|
+
};
|
|
27345
27380
|
|
|
27346
27381
|
/**
|
|
27347
27382
|
* table-core
|
|
@@ -30725,10 +30760,6 @@ const TrafficSignPreviewImage = ({ number, }) => {
|
|
|
30725
30760
|
type: 'preview',
|
|
30726
30761
|
number,
|
|
30727
30762
|
});
|
|
30728
|
-
const allTrafficSigns = {
|
|
30729
|
-
...trafficSigns,
|
|
30730
|
-
...trafficSignsDop,
|
|
30731
|
-
};
|
|
30732
30763
|
const { height } = allTrafficSigns[number];
|
|
30733
30764
|
return (jsxRuntime.jsx("img", { src: imgSrc, id: imgId, width: trafficSignWidths['preview'], height: height * 2, ref: imgRef, alt: `traffic-sign-${number}` }));
|
|
30734
30765
|
};
|
|
@@ -30977,11 +31008,11 @@ const CustomCard = ({ children, sx = {}, ...props }) => {
|
|
|
30977
31008
|
}, children: children }));
|
|
30978
31009
|
};
|
|
30979
31010
|
|
|
30980
|
-
function DateField({ name,
|
|
31011
|
+
function DateField({ name, ...props }) {
|
|
30981
31012
|
const { control } = useFormContext$1();
|
|
30982
31013
|
const id = React__namespace.useId();
|
|
30983
31014
|
return (jsxRuntime.jsx(Controller, { control: control, name: name, render: ({ field }) => {
|
|
30984
|
-
return (jsxRuntime.jsx(DateField$1.DateField, { ...field, id: id,
|
|
31015
|
+
return (jsxRuntime.jsx(DateField$1.DateField, { ...props, ...field, id: id, slots: {
|
|
30985
31016
|
field: TextField,
|
|
30986
31017
|
} }));
|
|
30987
31018
|
} }));
|
|
@@ -31007,7 +31038,7 @@ const TrafficSignDopUpdateForm = ({ index, onDelete, onUpdate, }) => {
|
|
|
31007
31038
|
description: 'Вы действительно хотите удалить данный traffic sign?',
|
|
31008
31039
|
}, onDelete: () => {
|
|
31009
31040
|
onDelete(trafficSign);
|
|
31010
|
-
} }), jsxRuntime.jsx(
|
|
31041
|
+
} }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: dop_sign_number })] }) }), jsxRuntime.jsx(material.AccordionDetails, { children: jsxRuntime.jsx(TrafficSignTable$1, { pageSize: 5, filtered: {
|
|
31011
31042
|
type: false,
|
|
31012
31043
|
}, trafficSigns: trafficSignsDop, onSelect: ({ title, number }) => {
|
|
31013
31044
|
setValue(`${fieldName$1}.${index}.dop_sign_number`, number);
|
|
@@ -31017,19 +31048,19 @@ const TrafficSignDopUpdateForm = ({ index, onDelete, onUpdate, }) => {
|
|
|
31017
31048
|
display: 'grid',
|
|
31018
31049
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
31019
31050
|
gap: '12px',
|
|
31020
|
-
}, children: [jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.placement_date`), label: trafficSignFieldsTitles.placement_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.verification_date`), label: trafficSignFieldsTitles.verification_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.future_maintanance_date`), label: trafficSignFieldsTitles.future_maintanance_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.rapair_performed_date`), label: trafficSignFieldsTitles.rapair_performed_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.warranty_expr_date`), label: trafficSignFieldsTitles.warranty_expr_date })] }), jsxRuntime.jsx(Button, { onClick: () => {
|
|
31051
|
+
}, children: [jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.placement_date`), label: trafficSignFieldsTitles.placement_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.verification_date`), label: trafficSignFieldsTitles.verification_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.future_maintanance_date`), label: trafficSignFieldsTitles.future_maintanance_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.rapair_performed_date`), label: trafficSignFieldsTitles.rapair_performed_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName$1}.${index}.warranty_expr_date`), label: trafficSignFieldsTitles.warranty_expr_date, format: trafficSignDateFormat })] }), jsxRuntime.jsx(Button, { onClick: () => {
|
|
31021
31052
|
onUpdate(trafficSign);
|
|
31022
31053
|
}, children: "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C" })] }));
|
|
31023
31054
|
};
|
|
31024
31055
|
var TrafficSignDopUpdateForm$1 = observer(TrafficSignDopUpdateForm);
|
|
31025
31056
|
|
|
31026
|
-
const fieldName = '
|
|
31057
|
+
const fieldName = 'newDops';
|
|
31027
31058
|
const TrafficSignDopCreateForm = ({ index, onDelete, }) => {
|
|
31059
|
+
const { palette } = material.useTheme();
|
|
31028
31060
|
const [expanded, setExpanded] = React__namespace.useState(false);
|
|
31029
31061
|
const { setValue, register, watch } = useFormContext$1();
|
|
31030
31062
|
const trafficSign = watch(`${fieldName}.${index}`);
|
|
31031
31063
|
const { dop_sign_number } = trafficSign;
|
|
31032
|
-
const title = getTrafficSignTitleByNumber(dop_sign_number);
|
|
31033
31064
|
return (jsxRuntime.jsxs(material.Box, { sx: {
|
|
31034
31065
|
display: 'grid',
|
|
31035
31066
|
gap: '12px',
|
|
@@ -31039,10 +31070,13 @@ const TrafficSignDopCreateForm = ({ index, onDelete, }) => {
|
|
|
31039
31070
|
display: 'flex',
|
|
31040
31071
|
alignItems: 'center',
|
|
31041
31072
|
gap: '12px',
|
|
31042
|
-
}, children: [jsxRuntime.jsx(
|
|
31073
|
+
}, children: [jsxRuntime.jsx(Paragraph, { variant: "h6", color: "error", sx: {
|
|
31074
|
+
fontWeight: 700,
|
|
31075
|
+
color: palette.primary['main'],
|
|
31076
|
+
}, children: "NEW" }), jsxRuntime.jsx(DeleteButton, { notification: {
|
|
31043
31077
|
title: 'Удалить traffic sign',
|
|
31044
31078
|
description: 'Вы действительно хотите удалить данный traffic sign?',
|
|
31045
|
-
}, onDelete: onDelete }), jsxRuntime.jsx(
|
|
31079
|
+
}, onDelete: onDelete }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: dop_sign_number })] }) }), jsxRuntime.jsx(material.AccordionDetails, { children: jsxRuntime.jsx(TrafficSignTable$1, { pageSize: 5, filtered: {
|
|
31046
31080
|
type: false,
|
|
31047
31081
|
}, trafficSigns: trafficSignsDop, onSelect: ({ title, number }) => {
|
|
31048
31082
|
setValue(`${fieldName}.${index}.dop_sign_number`, number);
|
|
@@ -31052,10 +31086,20 @@ const TrafficSignDopCreateForm = ({ index, onDelete, }) => {
|
|
|
31052
31086
|
display: 'grid',
|
|
31053
31087
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
31054
31088
|
gap: '12px',
|
|
31055
|
-
}, children: [jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.placement_date`), label: trafficSignFieldsTitles.placement_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.verification_date`), label: trafficSignFieldsTitles.verification_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.future_maintanance_date`), label: trafficSignFieldsTitles.future_maintanance_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.rapair_performed_date`), label: trafficSignFieldsTitles.rapair_performed_date }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.warranty_expr_date`), label: trafficSignFieldsTitles.warranty_expr_date })] })] }));
|
|
31089
|
+
}, children: [jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.placement_date`), label: trafficSignFieldsTitles.placement_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.verification_date`), label: trafficSignFieldsTitles.verification_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.future_maintanance_date`), label: trafficSignFieldsTitles.future_maintanance_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.rapair_performed_date`), label: trafficSignFieldsTitles.rapair_performed_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register(`${fieldName}.${index}.warranty_expr_date`), label: trafficSignFieldsTitles.warranty_expr_date, format: trafficSignDateFormat })] })] }));
|
|
31056
31090
|
};
|
|
31057
31091
|
var TrafficSignDopCreateForm$1 = observer(TrafficSignDopCreateForm);
|
|
31058
31092
|
|
|
31093
|
+
const TrafficSignPreviewTitle = ({ number, }) => {
|
|
31094
|
+
const title = getTrafficSignTitleByNumber(number);
|
|
31095
|
+
return (jsxRuntime.jsxs(material.Box, { sx: {
|
|
31096
|
+
display: 'flex',
|
|
31097
|
+
alignItems: 'center',
|
|
31098
|
+
gap: '12px',
|
|
31099
|
+
}, children: [jsxRuntime.jsx(TrafficSignPreviewImage$1, { number: number }), jsxRuntime.jsxs(material.Typography, { children: [title, " (", number, ")"] })] }));
|
|
31100
|
+
};
|
|
31101
|
+
var TrafficSignPreviewTitle$1 = observer(TrafficSignPreviewTitle);
|
|
31102
|
+
|
|
31059
31103
|
/**
|
|
31060
31104
|
* Based on Kendo UI Core expression code <https://github.com/telerik/kendo-ui-core#license-information>
|
|
31061
31105
|
*/
|
|
@@ -33676,25 +33720,34 @@ const createdTrafficSignDopSchema = create$3().shape({
|
|
|
33676
33720
|
verification_date: create$4().required(),
|
|
33677
33721
|
warranty_expr_date: create$4().required(),
|
|
33678
33722
|
});
|
|
33679
|
-
|
|
33680
|
-
const schema$2 = create$3()
|
|
33681
|
-
.shape({
|
|
33682
|
-
traffic_sign_id: create$6().required(),
|
|
33683
|
-
dit_id: create$5().required(),
|
|
33684
|
-
tsodd_id: create$5().required(),
|
|
33685
|
-
pillar_id: create$6(),
|
|
33723
|
+
const mainFieldsSchema = {
|
|
33686
33724
|
traffic_sign_type: create$6().required(),
|
|
33687
33725
|
traffic_sign_number: create$6().required(),
|
|
33688
33726
|
traffic_sign_title: create$6().required(),
|
|
33689
33727
|
status: create$6().required(),
|
|
33690
|
-
comment: create$6(),
|
|
33691
|
-
traffic_sign_value: create$6(),
|
|
33692
|
-
direction: create$5(),
|
|
33728
|
+
comment: create$6().nullable(),
|
|
33729
|
+
traffic_sign_value: create$6().nullable(),
|
|
33730
|
+
direction: create$5().nullable(),
|
|
33731
|
+
};
|
|
33732
|
+
const datesFieldsSchema = {
|
|
33693
33733
|
future_maintanance_date: create$4().required(),
|
|
33694
33734
|
placement_date: create$4().required(),
|
|
33695
33735
|
rapair_performed_date: create$4().required(),
|
|
33696
33736
|
verification_date: create$4().required(),
|
|
33697
33737
|
warranty_expr_date: create$4().required(),
|
|
33738
|
+
};
|
|
33739
|
+
const idsFieldsSchema = {
|
|
33740
|
+
traffic_sign_id: create$6().required(),
|
|
33741
|
+
dit_id: create$5().required(),
|
|
33742
|
+
tsodd_id: create$5().required(),
|
|
33743
|
+
pillar_id: create$6().nullable(),
|
|
33744
|
+
};
|
|
33745
|
+
|
|
33746
|
+
const schema$2 = create$3()
|
|
33747
|
+
.shape({
|
|
33748
|
+
...mainFieldsSchema,
|
|
33749
|
+
...datesFieldsSchema,
|
|
33750
|
+
...idsFieldsSchema,
|
|
33698
33751
|
oldDops: create$2().of(updatedTrafficSignDopSchema).required(),
|
|
33699
33752
|
newDops: create$2().of(createdTrafficSignDopSchema).required(),
|
|
33700
33753
|
});
|
|
@@ -33722,7 +33775,7 @@ const TrafficSignUpdateForm = ({ trafficSign, onSubmit, onDelete, onDeleteDop, o
|
|
|
33722
33775
|
newDops: [],
|
|
33723
33776
|
},
|
|
33724
33777
|
});
|
|
33725
|
-
const { control, register, setValue, watch, formState: {
|
|
33778
|
+
const { control, register, setValue, watch, formState: { errors }, } = form;
|
|
33726
33779
|
const oldDopsFieldArray = useFieldArray({
|
|
33727
33780
|
control,
|
|
33728
33781
|
name: 'oldDops',
|
|
@@ -33732,9 +33785,20 @@ const TrafficSignUpdateForm = ({ trafficSign, onSubmit, onDelete, onDeleteDop, o
|
|
|
33732
33785
|
name: 'newDops',
|
|
33733
33786
|
});
|
|
33734
33787
|
const number = watch('traffic_sign_number');
|
|
33735
|
-
|
|
33788
|
+
React__namespace.useEffect(() => {
|
|
33789
|
+
const isErrors = Object.keys(errors).length > 0;
|
|
33790
|
+
if (isErrors) {
|
|
33791
|
+
loggerService.warn({
|
|
33792
|
+
message: 'Ошибки валидации формы',
|
|
33793
|
+
context: 'TrafficSignUpdateForm',
|
|
33794
|
+
meta: errors,
|
|
33795
|
+
});
|
|
33796
|
+
}
|
|
33797
|
+
}, [errors]);
|
|
33798
|
+
console.log('newDopsFieldArray.fields', newDopsFieldArray.fields);
|
|
33799
|
+
return (jsxRuntime.jsxs(CustomForm, { form: form, onSubmit: onSubmit, children: [jsxRuntime.jsxs(lab.TabContext, { value: tabsValue, children: [jsxRuntime.jsx(material.Box, { sx: { borderBottom: 1, borderColor: 'divider' }, children: jsxRuntime.jsxs(lab.TabList, { onChange: handleChange, "aria-label": "lab API tabs example", children: [jsxRuntime.jsx(material.Tab, { label: "Traffic Sign", value: "1", sx: {
|
|
33736
33800
|
textTransform: 'none',
|
|
33737
|
-
} }), jsxRuntime.jsx(material.Tab, { label: "
|
|
33801
|
+
} }), jsxRuntime.jsx(material.Tab, { label: "Traffic Sign Dop", value: "2", sx: {
|
|
33738
33802
|
textTransform: 'none',
|
|
33739
33803
|
} })] }) }), jsxRuntime.jsx(lab.TabPanel, { value: "1", children: jsxRuntime.jsxs(material.Box, { sx: {
|
|
33740
33804
|
display: 'grid',
|
|
@@ -33750,7 +33814,7 @@ const TrafficSignUpdateForm = ({ trafficSign, onSubmit, onDelete, onDeleteDop, o
|
|
|
33750
33814
|
description: 'Вы действительно хотите удалить данный traffic sign?',
|
|
33751
33815
|
}, onDelete: () => {
|
|
33752
33816
|
onDelete(trafficSign);
|
|
33753
|
-
} }), jsxRuntime.jsx(
|
|
33817
|
+
} }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: number })] }) }), jsxRuntime.jsx(material.AccordionDetails, { children: jsxRuntime.jsx(TrafficSignTable$1, { trafficSigns: trafficSigns, pageSize: 5, onSelect: ({ title, number, type }) => {
|
|
33754
33818
|
setValue('traffic_sign_number', number);
|
|
33755
33819
|
setValue('traffic_sign_title', title);
|
|
33756
33820
|
setValue('traffic_sign_type', type);
|
|
@@ -33759,34 +33823,24 @@ const TrafficSignUpdateForm = ({ trafficSign, onSubmit, onDelete, onDeleteDop, o
|
|
|
33759
33823
|
display: 'grid',
|
|
33760
33824
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
33761
33825
|
gap: '12px',
|
|
33762
|
-
}, children: [jsxRuntime.jsx(DateField, { ...register('placement_date'), label: trafficSignFieldsTitles.placement_date }), jsxRuntime.jsx(DateField, { ...register('verification_date'), label: trafficSignFieldsTitles.verification_date }), jsxRuntime.jsx(DateField, { ...register('future_maintanance_date'), label: trafficSignFieldsTitles.future_maintanance_date }), jsxRuntime.jsx(DateField, { ...register('rapair_performed_date'), label: trafficSignFieldsTitles.rapair_performed_date }), jsxRuntime.jsx(DateField, { ...register('warranty_expr_date'), label: trafficSignFieldsTitles.warranty_expr_date })] })] }) }), jsxRuntime.jsx(lab.TabPanel, { value: "2", children: jsxRuntime.jsxs(material.Box, { sx: {
|
|
33826
|
+
}, children: [jsxRuntime.jsx(DateField, { ...register('placement_date'), label: trafficSignFieldsTitles.placement_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('verification_date'), label: trafficSignFieldsTitles.verification_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('future_maintanance_date'), label: trafficSignFieldsTitles.future_maintanance_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('rapair_performed_date'), label: trafficSignFieldsTitles.rapair_performed_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('warranty_expr_date'), label: trafficSignFieldsTitles.warranty_expr_date, format: trafficSignDateFormat })] })] }) }), jsxRuntime.jsx(lab.TabPanel, { value: "2", children: jsxRuntime.jsxs(material.Box, { sx: {
|
|
33763
33827
|
display: 'grid',
|
|
33764
33828
|
gap: '24px',
|
|
33765
33829
|
}, children: [jsxRuntime.jsx(material.Box, { children: jsxRuntime.jsx(Button, { onClick: () => {
|
|
33766
33830
|
newDopsFieldArray.append({
|
|
33767
33831
|
...createdTrafficSignDop,
|
|
33768
33832
|
});
|
|
33769
|
-
}, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 traffic sign" }) }), oldDopsFieldArray.fields.map((
|
|
33833
|
+
}, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 traffic sign" }) }), oldDopsFieldArray.fields.map(({ id }, index) => (jsxRuntime.jsx(CustomCard, { children: jsxRuntime.jsx(TrafficSignDopUpdateForm$1, { index: index, onDelete: onDeleteDop, onUpdate: onUpdateDop }) }, id))), newDopsFieldArray.fields.map(({ id }, index) => (jsxRuntime.jsx(CustomCard, { children: jsxRuntime.jsx(TrafficSignDopCreateForm$1, { onDelete: () => {
|
|
33770
33834
|
newDopsFieldArray.remove(index);
|
|
33771
|
-
}, index: index }) },
|
|
33835
|
+
}, index: index }) }, id)))] }) })] }), jsxRuntime.jsx(Button, { type: "submit", children: "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C" })] }));
|
|
33772
33836
|
};
|
|
33773
33837
|
var update = observer(TrafficSignUpdateForm);
|
|
33774
33838
|
|
|
33775
33839
|
const schema$1 = create$3()
|
|
33776
33840
|
.shape({
|
|
33777
|
-
|
|
33778
|
-
|
|
33779
|
-
|
|
33780
|
-
status: create$6().required(),
|
|
33781
|
-
comment: create$6(),
|
|
33782
|
-
traffic_sign_value: create$6(),
|
|
33783
|
-
direction: create$5(),
|
|
33784
|
-
future_maintanance_date: create$4().required(),
|
|
33785
|
-
placement_date: create$4().required(),
|
|
33786
|
-
rapair_performed_date: create$4().required(),
|
|
33787
|
-
verification_date: create$4().required(),
|
|
33788
|
-
warranty_expr_date: create$4().required(),
|
|
33789
|
-
dops: create$2().of(createdTrafficSignDopSchema).required(),
|
|
33841
|
+
...mainFieldsSchema,
|
|
33842
|
+
...datesFieldsSchema,
|
|
33843
|
+
newDops: create$2().of(createdTrafficSignDopSchema).required(),
|
|
33790
33844
|
});
|
|
33791
33845
|
|
|
33792
33846
|
const TrafficSignCreateForm = ({ onSubmit, }) => {
|
|
@@ -33801,12 +33855,22 @@ const TrafficSignCreateForm = ({ onSubmit, }) => {
|
|
|
33801
33855
|
...cratedTrafficSign,
|
|
33802
33856
|
},
|
|
33803
33857
|
});
|
|
33804
|
-
const { control, register, setValue, watch, formState: {
|
|
33805
|
-
const
|
|
33858
|
+
const { control, register, setValue, watch, formState: { errors }, } = form;
|
|
33859
|
+
const newDopsFieldArray = useFieldArray({
|
|
33806
33860
|
control,
|
|
33807
|
-
name: '
|
|
33861
|
+
name: 'newDops',
|
|
33808
33862
|
});
|
|
33809
33863
|
const number = watch('traffic_sign_number');
|
|
33864
|
+
React__namespace.useEffect(() => {
|
|
33865
|
+
const isErrors = Object.keys(errors).length > 0;
|
|
33866
|
+
if (isErrors) {
|
|
33867
|
+
loggerService.warn({
|
|
33868
|
+
message: 'Ошибки валидации формы',
|
|
33869
|
+
context: 'TrafficSignCreateForm',
|
|
33870
|
+
meta: errors,
|
|
33871
|
+
});
|
|
33872
|
+
}
|
|
33873
|
+
}, [errors]);
|
|
33810
33874
|
return (jsxRuntime.jsxs(CustomForm, { form: form, onSubmit: onSubmit, children: [jsxRuntime.jsxs(lab.TabContext, { value: tabsValue, children: [jsxRuntime.jsx(material.Box, { sx: { borderBottom: 1, borderColor: 'divider' }, children: jsxRuntime.jsxs(lab.TabList, { onChange: handleChange, "aria-label": "lab API tabs example", children: [jsxRuntime.jsx(material.Tab, { label: "TrafficSign", value: "1", sx: {
|
|
33811
33875
|
textTransform: 'none',
|
|
33812
33876
|
} }), jsxRuntime.jsx(material.Tab, { label: "TrafficSignDop", value: "2", sx: {
|
|
@@ -33816,11 +33880,7 @@ const TrafficSignCreateForm = ({ onSubmit, }) => {
|
|
|
33816
33880
|
gap: '12px',
|
|
33817
33881
|
}, children: [jsxRuntime.jsxs(material.Accordion, { expanded: expanded, children: [jsxRuntime.jsx(material.AccordionSummary, { expandIcon: jsxRuntime.jsx(ArrowDownwardIcon, {}), onClick: () => {
|
|
33818
33882
|
setExpanded((prevState) => !prevState);
|
|
33819
|
-
}, "aria-controls": "panel1-content", id: "panel1-header", children: jsxRuntime.
|
|
33820
|
-
display: 'flex',
|
|
33821
|
-
alignItems: 'center',
|
|
33822
|
-
gap: '12px',
|
|
33823
|
-
}, children: [jsxRuntime.jsx(TrafficSignPreviewImage$1, { number: number }), jsxRuntime.jsxs(material.Typography, { children: [getTrafficSignTitleByNumber(number), " (", number, ")"] })] }) }), jsxRuntime.jsx(material.AccordionDetails, { children: jsxRuntime.jsx(TrafficSignTable$1, { trafficSigns: trafficSigns, pageSize: 5, onSelect: ({ title, number, type }) => {
|
|
33883
|
+
}, "aria-controls": "panel1-content", id: "panel1-header", children: jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: number }) }), jsxRuntime.jsx(material.AccordionDetails, { children: jsxRuntime.jsx(TrafficSignTable$1, { trafficSigns: trafficSigns, pageSize: 5, onSelect: ({ title, number, type }) => {
|
|
33824
33884
|
setValue('traffic_sign_number', number);
|
|
33825
33885
|
setValue('traffic_sign_title', title);
|
|
33826
33886
|
setValue('traffic_sign_type', type);
|
|
@@ -33829,16 +33889,16 @@ const TrafficSignCreateForm = ({ onSubmit, }) => {
|
|
|
33829
33889
|
display: 'grid',
|
|
33830
33890
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
33831
33891
|
gap: '12px',
|
|
33832
|
-
}, children: [jsxRuntime.jsx(DateField, { ...register('placement_date'), label: trafficSignFieldsTitles.placement_date }), jsxRuntime.jsx(DateField, { ...register('verification_date'), label: trafficSignFieldsTitles.verification_date }), jsxRuntime.jsx(DateField, { ...register('future_maintanance_date'), label: trafficSignFieldsTitles.future_maintanance_date }), jsxRuntime.jsx(DateField, { ...register('rapair_performed_date'), label: trafficSignFieldsTitles.rapair_performed_date }), jsxRuntime.jsx(DateField, { ...register('warranty_expr_date'), label: trafficSignFieldsTitles.warranty_expr_date })] })] }) }), jsxRuntime.jsx(lab.TabPanel, { value: "2", children: jsxRuntime.jsxs(material.Box, { sx: {
|
|
33892
|
+
}, children: [jsxRuntime.jsx(DateField, { ...register('placement_date'), label: trafficSignFieldsTitles.placement_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('verification_date'), label: trafficSignFieldsTitles.verification_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('future_maintanance_date'), label: trafficSignFieldsTitles.future_maintanance_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('rapair_performed_date'), label: trafficSignFieldsTitles.rapair_performed_date, format: trafficSignDateFormat }), jsxRuntime.jsx(DateField, { ...register('warranty_expr_date'), label: trafficSignFieldsTitles.warranty_expr_date, format: trafficSignDateFormat })] })] }) }), jsxRuntime.jsx(lab.TabPanel, { value: "2", children: jsxRuntime.jsxs(material.Box, { sx: {
|
|
33833
33893
|
display: 'grid',
|
|
33834
33894
|
gap: '24px',
|
|
33835
33895
|
}, children: [jsxRuntime.jsx(material.Box, { children: jsxRuntime.jsx(Button, { onClick: () => {
|
|
33836
|
-
|
|
33896
|
+
newDopsFieldArray.append({
|
|
33837
33897
|
...createdTrafficSignDop,
|
|
33838
33898
|
});
|
|
33839
|
-
}, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 traffic sign" }) }),
|
|
33840
|
-
|
|
33841
|
-
}, index: index }) },
|
|
33899
|
+
}, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u043E\u0432\u044B\u0439 traffic sign" }) }), newDopsFieldArray.fields.map(({ id }, index) => (jsxRuntime.jsx(CustomCard, { children: jsxRuntime.jsx(TrafficSignDopCreateForm$1, { onDelete: () => {
|
|
33900
|
+
newDopsFieldArray.remove(index);
|
|
33901
|
+
}, index: index }) }, id)))] }) })] }), jsxRuntime.jsx(Button, { type: "submit", children: "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C" })] }));
|
|
33842
33902
|
};
|
|
33843
33903
|
var create = observer(TrafficSignCreateForm);
|
|
33844
33904
|
|
|
@@ -34184,11 +34244,15 @@ const useGetLeafletLayer = ({ eventHandlers, }) => {
|
|
|
34184
34244
|
}, [eventHandlers]);
|
|
34185
34245
|
const addSource = React__namespace.useCallback((sourceConfig) => {
|
|
34186
34246
|
if (!scene) {
|
|
34187
|
-
|
|
34247
|
+
loggerService.warn({
|
|
34248
|
+
message: 'Scene не инициализирована',
|
|
34249
|
+
});
|
|
34188
34250
|
return;
|
|
34189
34251
|
}
|
|
34190
34252
|
if (!config) {
|
|
34191
|
-
|
|
34253
|
+
loggerService.warn({
|
|
34254
|
+
message: 'Config не инициализирована',
|
|
34255
|
+
});
|
|
34192
34256
|
return;
|
|
34193
34257
|
}
|
|
34194
34258
|
const { name } = sourceConfig;
|
|
@@ -34198,18 +34262,24 @@ const useGetLeafletLayer = ({ eventHandlers, }) => {
|
|
|
34198
34262
|
}, [scene, config]);
|
|
34199
34263
|
const getSource = React__namespace.useCallback((sourceName) => {
|
|
34200
34264
|
if (!config) {
|
|
34201
|
-
|
|
34265
|
+
loggerService.warn({
|
|
34266
|
+
message: 'Config не инициализирована',
|
|
34267
|
+
});
|
|
34202
34268
|
return;
|
|
34203
34269
|
}
|
|
34204
34270
|
return structuredClone(config.sources[sourceName]);
|
|
34205
34271
|
}, [config]);
|
|
34206
34272
|
const updateSource = React__namespace.useCallback((sourceName, newUrl) => {
|
|
34207
34273
|
if (!scene) {
|
|
34208
|
-
|
|
34274
|
+
loggerService.warn({
|
|
34275
|
+
message: 'Scene не инициализирована',
|
|
34276
|
+
});
|
|
34209
34277
|
return;
|
|
34210
34278
|
}
|
|
34211
34279
|
if (!config) {
|
|
34212
|
-
|
|
34280
|
+
loggerService.warn({
|
|
34281
|
+
message: 'Config не инициализирована',
|
|
34282
|
+
});
|
|
34213
34283
|
return;
|
|
34214
34284
|
}
|
|
34215
34285
|
config.sources[sourceName].url = newUrl;
|
|
@@ -34218,11 +34288,15 @@ const useGetLeafletLayer = ({ eventHandlers, }) => {
|
|
|
34218
34288
|
}, [config, scene]);
|
|
34219
34289
|
const addLayer = React__namespace.useCallback((layer) => {
|
|
34220
34290
|
if (!scene) {
|
|
34221
|
-
|
|
34291
|
+
loggerService.warn({
|
|
34292
|
+
message: 'Scene не инициализирован',
|
|
34293
|
+
});
|
|
34222
34294
|
return;
|
|
34223
34295
|
}
|
|
34224
34296
|
if (!config) {
|
|
34225
|
-
|
|
34297
|
+
loggerService.warn({
|
|
34298
|
+
message: 'Config не инициализирован',
|
|
34299
|
+
});
|
|
34226
34300
|
return;
|
|
34227
34301
|
}
|
|
34228
34302
|
const order = getLayers().length + 1;
|
|
@@ -34255,11 +34329,15 @@ const useGetLeafletLayer = ({ eventHandlers, }) => {
|
|
|
34255
34329
|
}, [config, scene, eventHandlers]);
|
|
34256
34330
|
const removeLayer = React__namespace.useCallback((layer) => {
|
|
34257
34331
|
if (!scene) {
|
|
34258
|
-
|
|
34332
|
+
loggerService.warn({
|
|
34333
|
+
message: 'Scene не инициализирован',
|
|
34334
|
+
});
|
|
34259
34335
|
return;
|
|
34260
34336
|
}
|
|
34261
34337
|
if (!config) {
|
|
34262
|
-
|
|
34338
|
+
loggerService.warn({
|
|
34339
|
+
message: 'Config не инициализирован',
|
|
34340
|
+
});
|
|
34263
34341
|
return;
|
|
34264
34342
|
}
|
|
34265
34343
|
const layerName = getLayerName(layer);
|
|
@@ -34271,11 +34349,15 @@ const useGetLeafletLayer = ({ eventHandlers, }) => {
|
|
|
34271
34349
|
}, [config, scene]);
|
|
34272
34350
|
const addStyle = React__namespace.useCallback(({ name, style }) => {
|
|
34273
34351
|
if (!scene) {
|
|
34274
|
-
|
|
34352
|
+
loggerService.warn({
|
|
34353
|
+
message: 'Scene не инициализирована',
|
|
34354
|
+
});
|
|
34275
34355
|
return;
|
|
34276
34356
|
}
|
|
34277
34357
|
if (!config) {
|
|
34278
|
-
|
|
34358
|
+
loggerService.warn({
|
|
34359
|
+
message: 'Config не инициализирована',
|
|
34360
|
+
});
|
|
34279
34361
|
return;
|
|
34280
34362
|
}
|
|
34281
34363
|
config.styles[name] = structuredClone(style);
|
|
@@ -34283,7 +34365,9 @@ const useGetLeafletLayer = ({ eventHandlers, }) => {
|
|
|
34283
34365
|
}, [config, scene]);
|
|
34284
34366
|
const getLayerVisibility = React__namespace.useCallback((layer) => {
|
|
34285
34367
|
if (!config) {
|
|
34286
|
-
|
|
34368
|
+
loggerService.warn({
|
|
34369
|
+
message: 'Config не инициализирована',
|
|
34370
|
+
});
|
|
34287
34371
|
return;
|
|
34288
34372
|
}
|
|
34289
34373
|
const layerName = getLayerName(layer);
|
|
@@ -34292,11 +34376,15 @@ const useGetLeafletLayer = ({ eventHandlers, }) => {
|
|
|
34292
34376
|
}, [config]);
|
|
34293
34377
|
const toggleLayerVisibility = React__namespace.useCallback(({ layer, visible }) => {
|
|
34294
34378
|
if (!scene) {
|
|
34295
|
-
|
|
34379
|
+
loggerService.warn({
|
|
34380
|
+
message: 'Config не инициализирована',
|
|
34381
|
+
});
|
|
34296
34382
|
return;
|
|
34297
34383
|
}
|
|
34298
34384
|
if (!config) {
|
|
34299
|
-
|
|
34385
|
+
loggerService.warn({
|
|
34386
|
+
message: 'Config не инициализирована',
|
|
34387
|
+
});
|
|
34300
34388
|
return;
|
|
34301
34389
|
}
|
|
34302
34390
|
const layerName = getLayerName(layer);
|
|
@@ -37152,6 +37240,7 @@ exports.TrafficSignCreateForm = create;
|
|
|
37152
37240
|
exports.TrafficSignDopCreateForm = TrafficSignDopCreateForm$1;
|
|
37153
37241
|
exports.TrafficSignDopUpdateForm = TrafficSignDopUpdateForm$1;
|
|
37154
37242
|
exports.TrafficSignPreviewImage = TrafficSignPreviewImage$1;
|
|
37243
|
+
exports.TrafficSignPreviewTitle = TrafficSignPreviewTitle$1;
|
|
37155
37244
|
exports.TrafficSignTable = TrafficSignTable$1;
|
|
37156
37245
|
exports.TrafficSignUpdateForm = update;
|
|
37157
37246
|
exports.UploadButton = UploadButton;
|
|
@@ -37171,6 +37260,7 @@ exports.getAllLayers = getAllLayers;
|
|
|
37171
37260
|
exports.getAllPointLayers = getAllPointLayers;
|
|
37172
37261
|
exports.getAllPolygonLayers = getAllPolygonLayers;
|
|
37173
37262
|
exports.getAllPolylineLayers = getAllPolylineLayers;
|
|
37263
|
+
exports.getBackendDate = getBackendDate;
|
|
37174
37264
|
exports.getBuildingLayers = getBuildingLayers;
|
|
37175
37265
|
exports.getBuiltupAreaLayers = getBuiltupAreaLayers;
|
|
37176
37266
|
exports.getCameraLayers = getCameraLayers;
|
|
@@ -37194,6 +37284,7 @@ exports.getPillarLayers = getPillarLayers;
|
|
|
37194
37284
|
exports.getPointAddressLayers = getPointAddressLayers;
|
|
37195
37285
|
exports.getRailroadLayers = getRailroadLayers;
|
|
37196
37286
|
exports.getRoadPolyLayers = getRoadPolyLayers;
|
|
37287
|
+
exports.getTrafficSignBackendDates = getTrafficSignBackendDates;
|
|
37197
37288
|
exports.getTrafficSignFrontendDates = getTrafficSignFrontendDates;
|
|
37198
37289
|
exports.getTrafficSignImgSrc = getTrafficSignImgSrc;
|
|
37199
37290
|
exports.getTrafficSignLayers = getTrafficSignLayers;
|
|
@@ -37206,6 +37297,7 @@ exports.getValidLayer = getValidLayer;
|
|
|
37206
37297
|
exports.getWaterAreaLayers = getWaterAreaLayers;
|
|
37207
37298
|
exports.getWaterLinkLayers = getWaterLinkLayers;
|
|
37208
37299
|
exports.imagesPath = imagesPath;
|
|
37300
|
+
exports.loggerService = loggerService;
|
|
37209
37301
|
exports.modalStyle = modalStyle;
|
|
37210
37302
|
exports.parseTrafficSignCSVFile = parseTrafficSignCSVFile;
|
|
37211
37303
|
exports.queryClient = queryClient;
|
|
@@ -37215,6 +37307,7 @@ exports.text_source = text_source;
|
|
|
37215
37307
|
exports.tile_size = tile_size;
|
|
37216
37308
|
exports.trafficSignBackendDates = trafficSignBackendDates;
|
|
37217
37309
|
exports.trafficSignDateFields = trafficSignDateFields;
|
|
37310
|
+
exports.trafficSignDateFormat = trafficSignDateFormat;
|
|
37218
37311
|
exports.trafficSignDopMainFields = trafficSignDopMainFields;
|
|
37219
37312
|
exports.trafficSignExtension = trafficSignExtension;
|
|
37220
37313
|
exports.trafficSignFieldsTitles = trafficSignFieldsTitles;
|