@dartcom/ui-kit 10.1.13 → 10.1.14
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/accordion/accordion.d.ts +11 -0
- package/dist/components/accordion/accordion.d.ts.map +1 -0
- package/dist/components/accordion/accordion.stories.d.ts +8 -0
- package/dist/components/accordion/accordion.stories.d.ts.map +1 -0
- package/dist/components/accordion/index.d.ts +2 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/accordion/types.d.ts +10 -0
- package/dist/components/accordion/types.d.ts.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/layers/leaflet/layers/traffic-sign/config/constants.d.ts +7 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/config/constants.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/buttons/add-dop/add-dop.d.ts +9 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/buttons/add-dop/add-dop.d.ts.map +1 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/buttons/add-dop/index.d.ts +2 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/buttons/add-dop/index.d.ts.map +1 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/buttons/index.d.ts +2 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/buttons/index.d.ts.map +1 -0
- 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/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/index.d.ts +1 -0
- package/dist/components/layers/leaflet/layers/traffic-sign/ui/index.d.ts.map +1 -1
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/tabs.d.ts +11 -0
- package/dist/components/tabs/tabs.d.ts.map +1 -0
- package/dist/components/tabs/tabs.stories.d.ts +7 -0
- package/dist/components/tabs/tabs.stories.d.ts.map +1 -0
- package/dist/components/tabs/types.d.ts +7 -0
- package/dist/components/tabs/types.d.ts.map +1 -0
- package/dist/index.cjs +197 -88
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +4 -4
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -15,8 +15,8 @@ var reactDom = require('react-dom');
|
|
|
15
15
|
var axios = require('axios');
|
|
16
16
|
var xDatePickers = require('@mui/x-date-pickers');
|
|
17
17
|
var AdapterDateFns = require('@mui/x-date-pickers/AdapterDateFns');
|
|
18
|
-
var DateField$1 = require('@mui/x-date-pickers/DateField');
|
|
19
18
|
var ArrowDownwardIcon = require('@mui/icons-material/ArrowDownward');
|
|
19
|
+
var DateField$1 = require('@mui/x-date-pickers/DateField');
|
|
20
20
|
var lab = require('@mui/lab');
|
|
21
21
|
var Box = require('@mui/material/Box');
|
|
22
22
|
var Modal = require('@mui/material/Modal');
|
|
@@ -23361,6 +23361,13 @@ const trafficSignDateFields = [
|
|
|
23361
23361
|
'warranty_expr_date',
|
|
23362
23362
|
];
|
|
23363
23363
|
const trafficSignDateFormat = 'dd.MM.yyyy';
|
|
23364
|
+
const maxTrafficSignDopsCount = 2;
|
|
23365
|
+
const trafficSignWords = {
|
|
23366
|
+
title: 'Дорожные знаки',
|
|
23367
|
+
};
|
|
23368
|
+
const trafficSignDopWords = {
|
|
23369
|
+
title: 'Дополнительная информация',
|
|
23370
|
+
};
|
|
23364
23371
|
|
|
23365
23372
|
const getTrafficSignLayers = (source) => {
|
|
23366
23373
|
const layers = [];
|
|
@@ -27093,6 +27100,33 @@ const TrafficSignTable = ({ pageSize = 15, defaultValues, filtered = {}, onSelec
|
|
|
27093
27100
|
};
|
|
27094
27101
|
var TrafficSignTable$1 = observer(TrafficSignTable);
|
|
27095
27102
|
|
|
27103
|
+
const Accordion = ({ items, onOpen, defaultValue = null, }) => {
|
|
27104
|
+
const [currentValue, setCurrentValue] = React__namespace.useState(defaultValue);
|
|
27105
|
+
const handleClose = React__namespace.useCallback(() => {
|
|
27106
|
+
setCurrentValue(null);
|
|
27107
|
+
}, []);
|
|
27108
|
+
React__namespace.useEffect(() => {
|
|
27109
|
+
if (defaultValue) {
|
|
27110
|
+
setCurrentValue(defaultValue);
|
|
27111
|
+
}
|
|
27112
|
+
}, [defaultValue]);
|
|
27113
|
+
const id = React__namespace.useId();
|
|
27114
|
+
return (jsxRuntime.jsx(material.Box, { id: id, children: items.map(({ value, summary, getDetails }) => {
|
|
27115
|
+
const key = `${id}-accordion-${value}`;
|
|
27116
|
+
return (jsxRuntime.jsxs(material.Accordion, { expanded: value === currentValue, children: [jsxRuntime.jsx(material.AccordionSummary, { expandIcon: jsxRuntime.jsx(ArrowDownwardIcon, {}), onClick: () => {
|
|
27117
|
+
setCurrentValue((prevState) => {
|
|
27118
|
+
if (prevState === value) {
|
|
27119
|
+
return null;
|
|
27120
|
+
}
|
|
27121
|
+
onOpen?.(value);
|
|
27122
|
+
return value;
|
|
27123
|
+
});
|
|
27124
|
+
}, "aria-controls": `${key}-content`, id: `${key}-header`, children: summary }), jsxRuntime.jsx(material.AccordionDetails, { children: getDetails({
|
|
27125
|
+
onClose: handleClose,
|
|
27126
|
+
}) })] }, key));
|
|
27127
|
+
}) }));
|
|
27128
|
+
};
|
|
27129
|
+
|
|
27096
27130
|
const CustomCard = ({ children, sx = {}, ...props }) => {
|
|
27097
27131
|
return (jsxRuntime.jsx(material.Box, { ...props, sx: {
|
|
27098
27132
|
padding: '20px 15px',
|
|
@@ -27115,33 +27149,60 @@ function DateField({ name, ...props }) {
|
|
|
27115
27149
|
} }));
|
|
27116
27150
|
}
|
|
27117
27151
|
|
|
27152
|
+
const Tabs = ({ items, initialValue, onChange }) => {
|
|
27153
|
+
const [value, setValue] = React__namespace.useState(() => initialValue ?? items[0].value);
|
|
27154
|
+
const id = React__namespace.useId();
|
|
27155
|
+
React__namespace.useEffect(() => {
|
|
27156
|
+
if (initialValue) {
|
|
27157
|
+
setValue(initialValue);
|
|
27158
|
+
}
|
|
27159
|
+
}, [initialValue]);
|
|
27160
|
+
return (jsxRuntime.jsxs(lab.TabContext, { value: value, children: [jsxRuntime.jsx(material.Box, { sx: { borderBottom: 1, borderColor: 'divider' }, children: jsxRuntime.jsx(lab.TabList, { "aria-label": `tabs-${id}`, onChange: (_, value) => {
|
|
27161
|
+
setValue(value);
|
|
27162
|
+
onChange?.(value);
|
|
27163
|
+
}, children: items.map(({ label, value }) => {
|
|
27164
|
+
const key = `${id}-tab-${value}`;
|
|
27165
|
+
return (jsxRuntime.jsx(material.Tab, { label: label, value: value, sx: {
|
|
27166
|
+
textTransform: 'none',
|
|
27167
|
+
} }, key));
|
|
27168
|
+
}) }) }), items.map(({ content, value }) => {
|
|
27169
|
+
const key = `${id}-tab-panel-${value}`;
|
|
27170
|
+
return (jsxRuntime.jsx(lab.TabPanel, { value: value, children: content }, key));
|
|
27171
|
+
})] }));
|
|
27172
|
+
};
|
|
27173
|
+
|
|
27118
27174
|
const fieldName$1 = 'oldDops';
|
|
27119
27175
|
const TrafficSignDopUpdateForm = ({ index, onDelete, onUpdate, }) => {
|
|
27120
|
-
const [expanded, setExpanded] = React__namespace.useState(false);
|
|
27121
27176
|
const { register, setValue, watch } = useFormContext$1();
|
|
27122
27177
|
const trafficSign = watch(`${fieldName$1}.${index}`);
|
|
27123
27178
|
const { dop_sign_number } = trafficSign;
|
|
27124
27179
|
return (jsxRuntime.jsxs(material.Box, { sx: {
|
|
27125
27180
|
display: 'grid',
|
|
27126
27181
|
gap: '12px',
|
|
27127
|
-
}, children: [jsxRuntime.
|
|
27128
|
-
|
|
27129
|
-
|
|
27182
|
+
}, children: [jsxRuntime.jsx(Accordion, { items: [
|
|
27183
|
+
{
|
|
27184
|
+
value: 1,
|
|
27185
|
+
summary: (jsxRuntime.jsxs(material.Box, { sx: {
|
|
27130
27186
|
display: 'flex',
|
|
27131
27187
|
alignItems: 'center',
|
|
27132
27188
|
gap: '12px',
|
|
27133
27189
|
}, children: [jsxRuntime.jsx(DeleteButton, { notification: {
|
|
27134
|
-
title: 'Удалить
|
|
27135
|
-
description: 'Вы действительно хотите удалить
|
|
27190
|
+
title: 'Удалить табличку',
|
|
27191
|
+
description: 'Вы действительно хотите удалить данную табличку?',
|
|
27136
27192
|
}, onDelete: () => {
|
|
27137
27193
|
onDelete(trafficSign);
|
|
27138
|
-
} }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: dop_sign_number })] })
|
|
27139
|
-
|
|
27140
|
-
|
|
27141
|
-
|
|
27142
|
-
|
|
27143
|
-
|
|
27144
|
-
|
|
27194
|
+
} }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: dop_sign_number })] })),
|
|
27195
|
+
getDetails: ({ onClose }) => {
|
|
27196
|
+
return (jsxRuntime.jsx(TrafficSignTable$1, { pageSize: 5, filtered: {
|
|
27197
|
+
type: false,
|
|
27198
|
+
}, trafficSigns: trafficSignsDop, onSelect: ({ title, number }) => {
|
|
27199
|
+
setValue(`${fieldName$1}.${index}.dop_sign_number`, number);
|
|
27200
|
+
setValue(`${fieldName$1}.${index}.dop_sign_title`, title);
|
|
27201
|
+
onClose();
|
|
27202
|
+
} }));
|
|
27203
|
+
},
|
|
27204
|
+
},
|
|
27205
|
+
] }), jsxRuntime.jsx(FormSelect, { ...register(`${fieldName$1}.${index}.status`), label: trafficSignFieldsTitles.status, items: trafficSignStatusOptions, getKey: ({ value }) => value, getLabel: ({ label }) => label, getValue: ({ value }) => value }), jsxRuntime.jsx(CustomInput, { ...register(`${fieldName$1}.${index}.comment`), label: trafficSignFieldsTitles.comment }), jsxRuntime.jsx(CustomInput, { ...register(`${fieldName$1}.${index}.dop_sign_text`), label: trafficSignFieldsTitles.dop_sign_text }), jsxRuntime.jsxs(material.Box, { sx: {
|
|
27145
27206
|
display: 'grid',
|
|
27146
27207
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
27147
27208
|
gap: '12px',
|
|
@@ -27153,33 +27214,34 @@ var TrafficSignDopUpdateForm$1 = observer(TrafficSignDopUpdateForm);
|
|
|
27153
27214
|
|
|
27154
27215
|
const fieldName = 'newDops';
|
|
27155
27216
|
const TrafficSignDopCreateForm = ({ index, onDelete, }) => {
|
|
27156
|
-
const { palette } = material.useTheme();
|
|
27157
|
-
const [expanded, setExpanded] = React__namespace.useState(false);
|
|
27158
27217
|
const { setValue, register, watch } = useFormContext$1();
|
|
27159
27218
|
const trafficSign = watch(`${fieldName}.${index}`);
|
|
27160
27219
|
const { dop_sign_number } = trafficSign;
|
|
27161
27220
|
return (jsxRuntime.jsxs(material.Box, { sx: {
|
|
27162
27221
|
display: 'grid',
|
|
27163
27222
|
gap: '12px',
|
|
27164
|
-
}, children: [jsxRuntime.
|
|
27165
|
-
|
|
27166
|
-
|
|
27223
|
+
}, children: [jsxRuntime.jsx(Accordion, { items: [
|
|
27224
|
+
{
|
|
27225
|
+
value: 1,
|
|
27226
|
+
summary: (jsxRuntime.jsxs(material.Box, { sx: {
|
|
27167
27227
|
display: 'flex',
|
|
27168
27228
|
alignItems: 'center',
|
|
27169
27229
|
gap: '12px',
|
|
27170
|
-
}, children: [jsxRuntime.jsx(
|
|
27171
|
-
|
|
27172
|
-
|
|
27173
|
-
},
|
|
27174
|
-
|
|
27175
|
-
|
|
27176
|
-
|
|
27177
|
-
|
|
27178
|
-
|
|
27179
|
-
|
|
27180
|
-
|
|
27181
|
-
|
|
27182
|
-
|
|
27230
|
+
}, children: [jsxRuntime.jsx(DeleteButton, { notification: {
|
|
27231
|
+
title: 'Удалить табличку',
|
|
27232
|
+
description: 'Вы действительно хотите удалить данную табличку?',
|
|
27233
|
+
}, onDelete: onDelete }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: dop_sign_number })] })),
|
|
27234
|
+
getDetails: ({ onClose }) => {
|
|
27235
|
+
return (jsxRuntime.jsx(TrafficSignTable$1, { pageSize: 5, filtered: {
|
|
27236
|
+
type: false,
|
|
27237
|
+
}, trafficSigns: trafficSignsDop, onSelect: ({ title, number }) => {
|
|
27238
|
+
setValue(`${fieldName}.${index}.dop_sign_number`, number);
|
|
27239
|
+
setValue(`${fieldName}.${index}.dop_sign_title`, title);
|
|
27240
|
+
onClose();
|
|
27241
|
+
} }));
|
|
27242
|
+
},
|
|
27243
|
+
},
|
|
27244
|
+
] }), jsxRuntime.jsx(FormSelect, { ...register(`${fieldName}.${index}.status`), label: trafficSignFieldsTitles.status, items: trafficSignStatusOptions, getKey: ({ value }) => value, getLabel: ({ label }) => label, getValue: ({ value }) => value }), jsxRuntime.jsx(CustomInput, { ...register(`${fieldName}.${index}.comment`), label: trafficSignFieldsTitles.comment }), jsxRuntime.jsx(CustomInput, { ...register(`${fieldName}.${index}.dop_sign_text`), label: trafficSignFieldsTitles.dop_sign_text }), jsxRuntime.jsxs(material.Box, { sx: {
|
|
27183
27245
|
display: 'grid',
|
|
27184
27246
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
27185
27247
|
gap: '12px',
|
|
@@ -27187,6 +27249,13 @@ const TrafficSignDopCreateForm = ({ index, onDelete, }) => {
|
|
|
27187
27249
|
};
|
|
27188
27250
|
var TrafficSignDopCreateForm$1 = observer(TrafficSignDopCreateForm);
|
|
27189
27251
|
|
|
27252
|
+
const TrafficSignAddDopButton = ({ disabled = false, onClick, }) => {
|
|
27253
|
+
return (jsxRuntime.jsx(Button, { sx: {
|
|
27254
|
+
margin: '0 auto',
|
|
27255
|
+
}, onClick: onClick, disabled: disabled, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0442\u0430\u0431\u043B\u0438\u0447\u043A\u0443" }));
|
|
27256
|
+
};
|
|
27257
|
+
var TrafficSignAddDopButton$1 = observer(TrafficSignAddDopButton);
|
|
27258
|
+
|
|
27190
27259
|
const TrafficSignPreviewTitle = ({ number, }) => {
|
|
27191
27260
|
const title = getTrafficSignTitleByNumber(number);
|
|
27192
27261
|
return (jsxRuntime.jsxs(material.Box, { sx: {
|
|
@@ -29846,8 +29915,14 @@ const schema$2 = create$3()
|
|
|
29846
29915
|
...mainFieldsSchema,
|
|
29847
29916
|
...datesFieldsSchema,
|
|
29848
29917
|
...idsFieldsSchema,
|
|
29849
|
-
oldDops: create$2()
|
|
29850
|
-
|
|
29918
|
+
oldDops: create$2()
|
|
29919
|
+
.max(maxTrafficSignDopsCount)
|
|
29920
|
+
.of(updatedTrafficSignDopSchema)
|
|
29921
|
+
.required(),
|
|
29922
|
+
newDops: create$2()
|
|
29923
|
+
.max(maxTrafficSignDopsCount)
|
|
29924
|
+
.of(createdTrafficSignDopSchema)
|
|
29925
|
+
.required(),
|
|
29851
29926
|
});
|
|
29852
29927
|
|
|
29853
29928
|
const r=(t,r,o)=>{if(t&&"reportValidity"in t){const s=get(o,r);t.setCustomValidity(s&&s.message||""),t.reportValidity();}},o$1=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&"reportValidity"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e));}},s=(r,s)=>{s.shouldUseNativeValidation&&o$1(r,s);const n={};for(const o in r){const f=get(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i$1(s.names||Object.keys(r),o)){const r=Object.assign({},get(n,o));set(r,"root",c),set(n,o,r);}else set(n,o,c);}return n},i$1=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\.\\d+`))};function n(e){return e.replace(/\]|\[/g,"")}
|
|
@@ -29855,11 +29930,6 @@ const r=(t,r,o)=>{if(t&&"reportValidity"in t){const s=get(o,r);t.setCustomValidi
|
|
|
29855
29930
|
function o(o,n,s$1){return void 0===s$1&&(s$1={}),function(a,i,c){try{return Promise.resolve(function(t,r){try{var u=(null!=n&&n.context&&"development"===process.env.NODE_ENV&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(o["sync"===s$1.mode?"validateSync":"validate"](a,Object.assign({abortEarly:!1},n,{context:i}))).then(function(t){return c.shouldUseNativeValidation&&o$1({},c),{values:s$1.raw?Object.assign({},a):t,errors:{}}}));}catch(e){return r(e)}return u&&u.then?u.then(void 0,r):u}(0,function(e){if(!e.inner)throw e;return {values:{},errors:s((o=e,n=!c.shouldUseNativeValidation&&"all"===c.criteriaMode,(o.inner||[]).reduce(function(e,t){if(e[t.path]||(e[t.path]={message:t.message,type:t.type}),n){var o=e[t.path].types,s=o&&o[t.type];e[t.path]=appendErrors(t.path,n,e,t.type,s?[].concat(s,t.message):t.message);}return e},{})),c)};var o,n;}))}catch(e){return Promise.reject(e)}}}
|
|
29856
29931
|
|
|
29857
29932
|
const TrafficSignUpdateForm = ({ trafficSign, onSubmit, onDelete, onDeleteDop, onUpdateDop, }) => {
|
|
29858
|
-
const [tabsValue, setTabsValue] = React__namespace.useState('1');
|
|
29859
|
-
const handleChange = React__namespace.useCallback((_, newValue) => {
|
|
29860
|
-
setTabsValue(newValue);
|
|
29861
|
-
}, []);
|
|
29862
|
-
const [expanded, setExpanded] = React__namespace.useState(false);
|
|
29863
29933
|
const defaultValues = React__namespace.useMemo(() => {
|
|
29864
29934
|
const { dops, traffic_sign_id } = trafficSign;
|
|
29865
29935
|
const defaultValues = {
|
|
@@ -29887,6 +29957,15 @@ const TrafficSignUpdateForm = ({ trafficSign, onSubmit, onDelete, onDeleteDop, o
|
|
|
29887
29957
|
control,
|
|
29888
29958
|
name: 'newDops',
|
|
29889
29959
|
});
|
|
29960
|
+
const isAddNewDop = React__namespace.useMemo(() => {
|
|
29961
|
+
const isAddNewDop = oldDopsFieldArray.fields.length + newDopsFieldArray.fields.length <
|
|
29962
|
+
maxTrafficSignDopsCount;
|
|
29963
|
+
return isAddNewDop;
|
|
29964
|
+
}, [
|
|
29965
|
+
oldDopsFieldArray.fields.length,
|
|
29966
|
+
newDopsFieldArray.fields.length,
|
|
29967
|
+
maxTrafficSignDopsCount,
|
|
29968
|
+
]);
|
|
29890
29969
|
const number = watch('traffic_sign_number');
|
|
29891
29970
|
React__namespace.useEffect(() => {
|
|
29892
29971
|
const isErrors = Object.keys(errors).length > 0;
|
|
@@ -29901,43 +29980,56 @@ const TrafficSignUpdateForm = ({ trafficSign, onSubmit, onDelete, onDeleteDop, o
|
|
|
29901
29980
|
React__namespace.useEffect(() => {
|
|
29902
29981
|
reset(defaultValues);
|
|
29903
29982
|
}, [trafficSign]);
|
|
29904
|
-
return (jsxRuntime.jsxs(CustomForm, { form: form, onSubmit: onSubmit, children: [jsxRuntime.
|
|
29905
|
-
|
|
29906
|
-
|
|
29907
|
-
|
|
29908
|
-
|
|
29983
|
+
return (jsxRuntime.jsxs(CustomForm, { form: form, onSubmit: onSubmit, children: [jsxRuntime.jsx(Tabs, { items: [
|
|
29984
|
+
{
|
|
29985
|
+
label: trafficSignWords.title,
|
|
29986
|
+
value: 1,
|
|
29987
|
+
content: (jsxRuntime.jsxs(material.Box, { sx: {
|
|
29909
29988
|
display: 'grid',
|
|
29910
29989
|
gap: '12px',
|
|
29911
|
-
}, children: [jsxRuntime.
|
|
29912
|
-
|
|
29913
|
-
|
|
29990
|
+
}, children: [jsxRuntime.jsx(Accordion, { items: [
|
|
29991
|
+
{
|
|
29992
|
+
value: 1,
|
|
29993
|
+
summary: (jsxRuntime.jsxs(material.Box, { sx: {
|
|
29914
29994
|
display: 'flex',
|
|
29915
29995
|
alignItems: 'center',
|
|
29916
29996
|
gap: '12px',
|
|
29917
29997
|
}, children: [jsxRuntime.jsx(DeleteButton, { notification: {
|
|
29918
|
-
title: 'Удалить
|
|
29919
|
-
description: 'Вы действительно хотите удалить данный
|
|
29998
|
+
title: 'Удалить дорожный знак',
|
|
29999
|
+
description: 'Вы действительно хотите удалить данный дорожный знак?',
|
|
29920
30000
|
}, onDelete: () => {
|
|
29921
30001
|
onDelete(trafficSign);
|
|
29922
|
-
} }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: number })] })
|
|
29923
|
-
|
|
29924
|
-
|
|
29925
|
-
|
|
29926
|
-
|
|
29927
|
-
|
|
30002
|
+
} }), jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: number })] })),
|
|
30003
|
+
getDetails: ({ onClose }) => {
|
|
30004
|
+
return (jsxRuntime.jsx(TrafficSignTable$1, { trafficSigns: trafficSigns, pageSize: 5, onSelect: ({ title, number, type }) => {
|
|
30005
|
+
setValue('traffic_sign_number', number);
|
|
30006
|
+
setValue('traffic_sign_title', title);
|
|
30007
|
+
setValue('traffic_sign_type', type);
|
|
30008
|
+
onClose();
|
|
30009
|
+
} }));
|
|
30010
|
+
},
|
|
30011
|
+
},
|
|
30012
|
+
] }), jsxRuntime.jsx(FormSelect, { ...register('status'), label: trafficSignFieldsTitles.status, items: trafficSignStatusOptions, getKey: ({ value }) => value, getLabel: ({ label }) => label, getValue: ({ value }) => value }), jsxRuntime.jsx(CustomInput, { ...register('traffic_sign_value'), label: trafficSignFieldsTitles.traffic_sign_value }), jsxRuntime.jsx(CustomInput, { ...register('comment'), label: trafficSignFieldsTitles.comment }), jsxRuntime.jsx(CustomInput, { ...register('direction'), label: trafficSignFieldsTitles.direction, type: "number" }), jsxRuntime.jsxs(material.Box, { sx: {
|
|
29928
30013
|
display: 'grid',
|
|
29929
30014
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
29930
30015
|
gap: '12px',
|
|
29931
|
-
}, 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 })] })] })
|
|
30016
|
+
}, 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 })] })] })),
|
|
30017
|
+
},
|
|
30018
|
+
{
|
|
30019
|
+
label: trafficSignDopWords.title,
|
|
30020
|
+
value: 2,
|
|
30021
|
+
content: (jsxRuntime.jsxs(material.Box, { sx: {
|
|
29932
30022
|
display: 'grid',
|
|
29933
30023
|
gap: '24px',
|
|
29934
|
-
}, children: [jsxRuntime.jsx(
|
|
29935
|
-
|
|
29936
|
-
|
|
29937
|
-
|
|
29938
|
-
|
|
30024
|
+
}, children: [jsxRuntime.jsx(TrafficSignAddDopButton$1, { disabled: !isAddNewDop, onClick: () => {
|
|
30025
|
+
newDopsFieldArray.append({
|
|
30026
|
+
...createdTrafficSignDop,
|
|
30027
|
+
});
|
|
30028
|
+
} }), 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: () => {
|
|
29939
30029
|
newDopsFieldArray.remove(index);
|
|
29940
|
-
}, index: index }) }, id)))] })
|
|
30030
|
+
}, index: index }) }, id)))] })),
|
|
30031
|
+
},
|
|
30032
|
+
] }), jsxRuntime.jsx(Button, { type: "submit", children: "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C" })] }));
|
|
29941
30033
|
};
|
|
29942
30034
|
var update = observer(TrafficSignUpdateForm);
|
|
29943
30035
|
|
|
@@ -29945,15 +30037,13 @@ const schema$1 = create$3()
|
|
|
29945
30037
|
.shape({
|
|
29946
30038
|
...mainFieldsSchema,
|
|
29947
30039
|
...datesFieldsSchema,
|
|
29948
|
-
newDops: create$2()
|
|
30040
|
+
newDops: create$2()
|
|
30041
|
+
.max(maxTrafficSignDopsCount)
|
|
30042
|
+
.of(createdTrafficSignDopSchema)
|
|
30043
|
+
.required(),
|
|
29949
30044
|
});
|
|
29950
30045
|
|
|
29951
30046
|
const TrafficSignCreateForm = ({ onSubmit, }) => {
|
|
29952
|
-
const [tabsValue, setTabsValue] = React__namespace.useState('1');
|
|
29953
|
-
const handleChange = (event, newValue) => {
|
|
29954
|
-
setTabsValue(newValue);
|
|
29955
|
-
};
|
|
29956
|
-
const [expanded, setExpanded] = React__namespace.useState(false);
|
|
29957
30047
|
const form = useForm({
|
|
29958
30048
|
resolver: o(schema$1),
|
|
29959
30049
|
defaultValues: {
|
|
@@ -29976,34 +30066,47 @@ const TrafficSignCreateForm = ({ onSubmit, }) => {
|
|
|
29976
30066
|
});
|
|
29977
30067
|
}
|
|
29978
30068
|
}, [errors]);
|
|
29979
|
-
return (jsxRuntime.jsxs(CustomForm, { form: form, onSubmit: onSubmit, children: [jsxRuntime.
|
|
29980
|
-
|
|
29981
|
-
|
|
29982
|
-
|
|
29983
|
-
|
|
30069
|
+
return (jsxRuntime.jsxs(CustomForm, { form: form, onSubmit: onSubmit, children: [jsxRuntime.jsx(Tabs, { items: [
|
|
30070
|
+
{
|
|
30071
|
+
label: trafficSignWords.title,
|
|
30072
|
+
value: 1,
|
|
30073
|
+
content: (jsxRuntime.jsxs(material.Box, { sx: {
|
|
29984
30074
|
display: 'grid',
|
|
29985
30075
|
gap: '12px',
|
|
29986
|
-
}, children: [jsxRuntime.
|
|
29987
|
-
|
|
29988
|
-
|
|
29989
|
-
|
|
29990
|
-
|
|
29991
|
-
|
|
29992
|
-
|
|
29993
|
-
|
|
30076
|
+
}, children: [jsxRuntime.jsx(Accordion, { items: [
|
|
30077
|
+
{
|
|
30078
|
+
value: 1,
|
|
30079
|
+
summary: jsxRuntime.jsx(TrafficSignPreviewTitle$1, { number: number }),
|
|
30080
|
+
getDetails: ({ onClose }) => {
|
|
30081
|
+
return (jsxRuntime.jsx(TrafficSignTable$1, { trafficSigns: trafficSigns, pageSize: 5, onSelect: ({ title, number, type }) => {
|
|
30082
|
+
setValue('traffic_sign_number', number);
|
|
30083
|
+
setValue('traffic_sign_title', title);
|
|
30084
|
+
setValue('traffic_sign_type', type);
|
|
30085
|
+
onClose();
|
|
30086
|
+
} }));
|
|
30087
|
+
},
|
|
30088
|
+
},
|
|
30089
|
+
] }), jsxRuntime.jsx(FormSelect, { ...register('status'), label: trafficSignFieldsTitles.status, items: trafficSignStatusOptions, getKey: ({ value }) => value, getLabel: ({ label }) => label, getValue: ({ value }) => value }), jsxRuntime.jsx(CustomInput, { ...register('traffic_sign_value'), label: trafficSignFieldsTitles.traffic_sign_value }), jsxRuntime.jsx(CustomInput, { ...register('comment'), label: trafficSignFieldsTitles.comment }), jsxRuntime.jsx(CustomInput, { ...register('direction'), label: trafficSignFieldsTitles.direction, type: "number" }), jsxRuntime.jsxs(material.Box, { sx: {
|
|
29994
30090
|
display: 'grid',
|
|
29995
30091
|
gridTemplateColumns: 'repeat(2, 1fr)',
|
|
29996
30092
|
gap: '12px',
|
|
29997
|
-
}, 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 })] })] })
|
|
30093
|
+
}, 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 })] })] })),
|
|
30094
|
+
},
|
|
30095
|
+
{
|
|
30096
|
+
label: trafficSignDopWords.title,
|
|
30097
|
+
value: 2,
|
|
30098
|
+
content: (jsxRuntime.jsxs(material.Box, { sx: {
|
|
29998
30099
|
display: 'grid',
|
|
29999
30100
|
gap: '24px',
|
|
30000
|
-
}, children: [jsxRuntime.jsx(
|
|
30001
|
-
|
|
30002
|
-
|
|
30003
|
-
|
|
30004
|
-
|
|
30101
|
+
}, children: [jsxRuntime.jsx(TrafficSignAddDopButton$1, { disabled: newDopsFieldArray.fields.length === maxTrafficSignDopsCount, onClick: () => {
|
|
30102
|
+
newDopsFieldArray.append({
|
|
30103
|
+
...createdTrafficSignDop,
|
|
30104
|
+
});
|
|
30105
|
+
} }), newDopsFieldArray.fields.map(({ id }, index) => (jsxRuntime.jsx(CustomCard, { children: jsxRuntime.jsx(TrafficSignDopCreateForm$1, { onDelete: () => {
|
|
30005
30106
|
newDopsFieldArray.remove(index);
|
|
30006
|
-
}, index: index }) }, id)))] })
|
|
30107
|
+
}, index: index }) }, id)))] })),
|
|
30108
|
+
},
|
|
30109
|
+
] }), jsxRuntime.jsx(Button, { type: "submit", children: "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C" })] }));
|
|
30007
30110
|
};
|
|
30008
30111
|
var create = observer(TrafficSignCreateForm);
|
|
30009
30112
|
|
|
@@ -33274,6 +33377,7 @@ var tangram_min = /*#__PURE__*/Object.freeze({
|
|
|
33274
33377
|
__proto__: null
|
|
33275
33378
|
});
|
|
33276
33379
|
|
|
33380
|
+
exports.Accordion = Accordion;
|
|
33277
33381
|
exports.ApiService = ApiService;
|
|
33278
33382
|
exports.AuthPage = AuthPage;
|
|
33279
33383
|
exports.AuthStore = AuthStore;
|
|
@@ -33303,6 +33407,8 @@ exports.NoData = NoData;
|
|
|
33303
33407
|
exports.QueryProvider = QueryProvider;
|
|
33304
33408
|
exports.Select = FormSelect;
|
|
33305
33409
|
exports.StoreContext = StoreContext;
|
|
33410
|
+
exports.Tabs = Tabs;
|
|
33411
|
+
exports.TrafficSignAddDopButton = TrafficSignAddDopButton$1;
|
|
33306
33412
|
exports.TrafficSignCreateForm = create;
|
|
33307
33413
|
exports.TrafficSignDopCreateForm = TrafficSignDopCreateForm$1;
|
|
33308
33414
|
exports.TrafficSignDopUpdateForm = TrafficSignDopUpdateForm$1;
|
|
@@ -33366,6 +33472,7 @@ exports.getWaterAreaLayers = getWaterAreaLayers;
|
|
|
33366
33472
|
exports.getWaterLinkLayers = getWaterLinkLayers;
|
|
33367
33473
|
exports.imagesPath = imagesPath;
|
|
33368
33474
|
exports.loggerService = loggerService;
|
|
33475
|
+
exports.maxTrafficSignDopsCount = maxTrafficSignDopsCount;
|
|
33369
33476
|
exports.modalStore = modalStore;
|
|
33370
33477
|
exports.modalStyle = modalStyle;
|
|
33371
33478
|
exports.parseTrafficSignCSVFile = parseTrafficSignCSVFile;
|
|
@@ -33378,6 +33485,7 @@ exports.trafficSignBackendDates = trafficSignBackendDates;
|
|
|
33378
33485
|
exports.trafficSignDateFields = trafficSignDateFields;
|
|
33379
33486
|
exports.trafficSignDateFormat = trafficSignDateFormat;
|
|
33380
33487
|
exports.trafficSignDopMainFields = trafficSignDopMainFields;
|
|
33488
|
+
exports.trafficSignDopWords = trafficSignDopWords;
|
|
33381
33489
|
exports.trafficSignExtension = trafficSignExtension;
|
|
33382
33490
|
exports.trafficSignFieldsTitles = trafficSignFieldsTitles;
|
|
33383
33491
|
exports.trafficSignFrontendDates = trafficSignFrontendDates;
|
|
@@ -33385,6 +33493,7 @@ exports.trafficSignLayerName = trafficSignLayerName;
|
|
|
33385
33493
|
exports.trafficSignMainFields = trafficSignMainFields;
|
|
33386
33494
|
exports.trafficSignStatusOptions = trafficSignStatusOptions;
|
|
33387
33495
|
exports.trafficSignWidths = trafficSignWidths;
|
|
33496
|
+
exports.trafficSignWords = trafficSignWords;
|
|
33388
33497
|
exports.trafficSigns = trafficSigns;
|
|
33389
33498
|
exports.trafficSignsDop = trafficSignsDop;
|
|
33390
33499
|
exports.updatedTrafficSign = updatedTrafficSign;
|