@opengeoweb/sigmet-airmet 14.5.2 → 15.1.0

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.
Files changed (2) hide show
  1. package/index.esm.js +57 -1
  2. package/package.json +10 -10
package/index.esm.js CHANGED
@@ -15,7 +15,7 @@ import { useTranslation } from 'react-i18next';
15
15
  import { LegendConnect, OlMapViewConnect, TimeSliderConnect } from '@opengeoweb/core';
16
16
  import { DrawFIRLand, Edit, Success, Clock } from '@opengeoweb/theme';
17
17
  import { LayerType, webmapUtils } from '@opengeoweb/webmap';
18
- import { debounce } from 'lodash';
18
+ import { cloneDeep, debounce } from 'lodash';
19
19
  import { useAuthenticationContext as useAuthenticationContext$1 } from '@opengeoweb/authentication';
20
20
 
21
21
  var en = {
@@ -5811,6 +5811,19 @@ var DrawTools = function DrawTools(_ref) {
5811
5811
  var DEFAULT_ROUNDING_LEVELS_FL = 5;
5812
5812
  var DEFAULT_ROUNDING_LEVELS_FT = 500;
5813
5813
  var DEFAULT_ROUNDING_LEVELS_M = 1;
5814
+ // Helper to unfreeze an unintended immutable level field.
5815
+ var ensureLevelObjectIsEditable = function ensureLevelObjectIsEditable(parentPath, getValues, setValue) {
5816
+ var parentValue = getValues(parentPath);
5817
+ if (!parentValue || typeof parentValue !== 'object') {
5818
+ return;
5819
+ }
5820
+ if (!Object.isFrozen(parentValue)) {
5821
+ return;
5822
+ }
5823
+ setValue(parentPath, cloneDeep(parentValue), {
5824
+ shouldDirty: false
5825
+ });
5826
+ };
5814
5827
  var getLevelInvalidStepsForFLUnitMessage = function getLevelInvalidStepsForFLUnitMessage(t, value) {
5815
5828
  if (value === void 0) {
5816
5829
  value = DEFAULT_ROUNDING_LEVELS_FL;
@@ -5893,6 +5906,9 @@ var Levels = function Levels(_ref) {
5893
5906
  isRequiredField = _useDraftFormHelpers.isRequired;
5894
5907
  var _useShortTestHelpers = useShortTestHelpers(),
5895
5908
  isShortTest = _useShortTestHelpers.isShortTest;
5909
+ var ensureEditable = React.useCallback(function (parentPath) {
5910
+ ensureLevelObjectIsEditable(parentPath, getValues, setValue);
5911
+ }, [getValues, setValue]);
5896
5912
  var isRequired = function isRequired(value) {
5897
5913
  return isShortTest() || isRequiredField(value);
5898
5914
  };
@@ -5959,6 +5975,22 @@ var Levels = function Levels(_ref) {
5959
5975
  isReadOnly: isReadOnly,
5960
5976
  name: "levelInfoMode",
5961
5977
  onChange: function onChange() {
5978
+ var currentLevel = getValues('level');
5979
+ if (currentLevel && typeof currentLevel === 'object') {
5980
+ if (Object.isFrozen(currentLevel)) {
5981
+ setValue('level', cloneDeep(currentLevel), {
5982
+ shouldDirty: false
5983
+ });
5984
+ }
5985
+ }
5986
+ var currentLowerLevel = getValues('lowerLevel');
5987
+ if (currentLowerLevel && typeof currentLowerLevel === 'object') {
5988
+ if (Object.isFrozen(currentLowerLevel)) {
5989
+ setValue('lowerLevel', cloneDeep(currentLowerLevel), {
5990
+ shouldDirty: false
5991
+ });
5992
+ }
5993
+ }
5962
5994
  // Reset default value for the level value to '' so when it rerenders it uses this empty default value
5963
5995
  setValue('level.unit', 'FL');
5964
5996
  setValue('level.value', null);
@@ -6014,6 +6046,9 @@ var Levels = function Levels(_ref) {
6014
6046
  isReadOnly: isReadOnly,
6015
6047
  label: t('unit-label'),
6016
6048
  name: "level.unit",
6049
+ onBeforeChange: function onBeforeChange() {
6050
+ ensureEditable('level');
6051
+ },
6017
6052
  onChange: function onChange() {
6018
6053
  triggerValidations(['level.value'], getValues, trigger);
6019
6054
  _onChange();
@@ -6044,6 +6079,9 @@ var Levels = function Levels(_ref) {
6044
6079
  isReadOnly: isReadOnly,
6045
6080
  label: t('level'),
6046
6081
  name: "level.value",
6082
+ onBeforeChange: function onBeforeChange() {
6083
+ ensureEditable('level');
6084
+ },
6047
6085
  rules: {
6048
6086
  validate: {
6049
6087
  isRequired: isRequired,
@@ -6103,6 +6141,9 @@ var Levels = function Levels(_ref) {
6103
6141
  isReadOnly: isReadOnly,
6104
6142
  label: t('unit-label'),
6105
6143
  name: "level.unit",
6144
+ onBeforeChange: function onBeforeChange() {
6145
+ ensureEditable('level');
6146
+ },
6106
6147
  onChange: function onChange() {
6107
6148
  triggerValidations(['level.value', 'lowerLevel.value', 'lowerLevel.unit'], getValues, trigger);
6108
6149
  _onChange();
@@ -6138,6 +6179,9 @@ var Levels = function Levels(_ref) {
6138
6179
  isReadOnly: isReadOnly,
6139
6180
  label: t('levels-upper-level-label'),
6140
6181
  name: "level.value",
6182
+ onBeforeChange: function onBeforeChange() {
6183
+ ensureEditable('level');
6184
+ },
6141
6185
  onChange: function onChange() {
6142
6186
  triggerValidations(['lowerLevel.value'], getValues, trigger);
6143
6187
  },
@@ -6214,6 +6258,9 @@ var Levels = function Levels(_ref) {
6214
6258
  isReadOnly: isReadOnly,
6215
6259
  label: t('unit-label'),
6216
6260
  name: "lowerLevel.unit",
6261
+ onBeforeChange: function onBeforeChange() {
6262
+ ensureEditable('lowerLevel');
6263
+ },
6217
6264
  onChange: function onChange() {
6218
6265
  triggerValidations(['lowerLevel.value', 'level.unit'], getValues, trigger);
6219
6266
  _onChange();
@@ -6248,6 +6295,9 @@ var Levels = function Levels(_ref) {
6248
6295
  isReadOnly: isReadOnly,
6249
6296
  label: t('levels-lower-level-label'),
6250
6297
  name: "lowerLevel.value",
6298
+ onBeforeChange: function onBeforeChange() {
6299
+ ensureEditable('lowerLevel');
6300
+ },
6251
6301
  rules: {
6252
6302
  validate: {
6253
6303
  isRequired: isRequired,
@@ -6332,6 +6382,9 @@ var Levels = function Levels(_ref) {
6332
6382
  isReadOnly: isReadOnly,
6333
6383
  label: t('unit-label'),
6334
6384
  name: "level.unit",
6385
+ onBeforeChange: function onBeforeChange() {
6386
+ ensureEditable('level');
6387
+ },
6335
6388
  onChange: function onChange() {
6336
6389
  triggerValidations(['level.value'], getValues, trigger);
6337
6390
  _onChange();
@@ -6361,6 +6414,9 @@ var Levels = function Levels(_ref) {
6361
6414
  isReadOnly: isReadOnly,
6362
6415
  label: t('level'),
6363
6416
  name: "level.value",
6417
+ onBeforeChange: function onBeforeChange() {
6418
+ ensureEditable('level');
6419
+ },
6364
6420
  rules: {
6365
6421
  validate: {
6366
6422
  isRequired: isRequired,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/sigmet-airmet",
3
- "version": "14.5.2",
3
+ "version": "15.1.0",
4
4
  "description": "GeoWeb Sigmet/Airmet library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,17 +8,17 @@
8
8
  "url": "git@gitlab.com:opengeoweb/opengeoweb.git"
9
9
  },
10
10
  "dependencies": {
11
- "@opengeoweb/api": "14.5.2",
12
- "@opengeoweb/shared": "14.5.2",
13
- "@opengeoweb/theme": "14.5.2",
14
- "@opengeoweb/store": "14.5.2",
15
- "@opengeoweb/webmap": "14.5.2",
16
- "@opengeoweb/webmap-react": "14.5.2",
11
+ "@opengeoweb/api": "15.1.0",
12
+ "@opengeoweb/shared": "15.1.0",
13
+ "@opengeoweb/theme": "15.1.0",
14
+ "@opengeoweb/store": "15.1.0",
15
+ "@opengeoweb/webmap": "15.1.0",
16
+ "@opengeoweb/webmap-react": "15.1.0",
17
17
  "react-redux": "^9.2.0",
18
- "@opengeoweb/core": "14.5.2",
19
- "@opengeoweb/authentication": "14.5.2",
18
+ "@opengeoweb/core": "15.1.0",
19
+ "@opengeoweb/authentication": "15.1.0",
20
20
  "@mui/system": "^7.3.2",
21
- "@opengeoweb/form-fields": "14.5.2",
21
+ "@opengeoweb/form-fields": "15.1.0",
22
22
  "react-hook-form": "^7.50.1",
23
23
  "axios": "^1.7.7",
24
24
  "lodash": "^4.17.21",