@bigbinary/neeto-webhooks-frontend 3.0.8 → 3.0.10

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.
@@ -655,13 +655,15 @@ var WEBHOOK_INITIAL_VALUES = {
655
655
  var EventCheckbox = function EventCheckbox(_ref) {
656
656
  var events = _ref.events,
657
657
  values = _ref.values,
658
- arrayHelpers = _ref.arrayHelpers;
658
+ arrayHelpers = _ref.arrayHelpers,
659
+ onEventsChange = _ref.onEventsChange;
659
660
  var handleToggle = function handleToggle(isSelected, index, event) {
660
661
  if (isSelected) {
661
662
  arrayHelpers.remove(index);
662
663
  } else {
663
664
  arrayHelpers.push(event);
664
665
  }
666
+ onEventsChange === null || onEventsChange === void 0 || onEventsChange();
665
667
  };
666
668
  return /*#__PURE__*/jsxRuntime.jsx("div", {
667
669
  children: events.map(function (event) {
@@ -802,7 +804,7 @@ var getValidationSchema = function getValidationSchema(webhooks) {
802
804
  endpoint: yup__namespace.string().trim().matches(/^(https?):\/\//i, i18next.t("neetoWebhooks.errors.webhook.invalidUrlProtocol")).url(i18next.t("neetoWebhooks.errors.webhook.invalidUrl")).required(i18next.t("neetoWebhooks.errors.webhook.required")).test("Is endpoint unique", i18next.t("neetoWebhooks.errors.webhook.urlNotUnique"), function (endpoint, ctx) {
803
805
  return !ramda.pluck("endpoint", neetoCist.removeById(ctx.parent.id, webhooks)).includes(endpoint === null || endpoint === void 0 ? void 0 : endpoint.trim());
804
806
  }),
805
- events: yup__namespace.array().min(1, i18next.t("neetoWebhooks.errors.webhook.events.required")),
807
+ events: yup__namespace.array()["default"]([]).min(1, i18next.t("neetoWebhooks.errors.webhook.events.required")),
806
808
  secret: yup__namespace.string().trim().nullable()
807
809
  });
808
810
  };
@@ -1003,9 +1005,13 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
1003
1005
  _useFetchEvents$data = _useFetchEvents.data,
1004
1006
  events = _useFetchEvents$data === void 0 ? [] : _useFetchEvents$data,
1005
1007
  isLoading = _useFetchEvents.isLoading;
1006
- var initialValues = editingWebhookId ? _objectSpread$1(_objectSpread$1({}, WEBHOOK_INITIAL_VALUES), webhook) : _objectSpread$1(_objectSpread$1({}, WEBHOOK_INITIAL_VALUES), {}, {
1007
- events: events
1008
- });
1008
+ var initialValues = react.useMemo(function () {
1009
+ return editingWebhookId ? _objectSpread$1(_objectSpread$1(_objectSpread$1({}, WEBHOOK_INITIAL_VALUES), webhook), {}, {
1010
+ events: Array.isArray(webhook === null || webhook === void 0 ? void 0 : webhook.events) ? webhook === null || webhook === void 0 ? void 0 : webhook.events : []
1011
+ }) : _objectSpread$1(_objectSpread$1({}, WEBHOOK_INITIAL_VALUES), {}, {
1012
+ events: events
1013
+ });
1014
+ }, [editingWebhookId, webhook, events]);
1009
1015
  var isWebhookExpiredOrDeprecated = editingWebhookId && (webhook.versionExpired || webhook.versionDeprecated);
1010
1016
  var handleSubmit = function handleSubmit(values) {
1011
1017
  // Check if webhook is expired or deprecated before allowing edit
@@ -1073,10 +1079,10 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
1073
1079
  },
1074
1080
  children: function children(_ref2) {
1075
1081
  var setFieldValue = _ref2.setFieldValue,
1082
+ setFieldTouched = _ref2.setFieldTouched,
1076
1083
  values = _ref2.values,
1077
- touched = _ref2.touched,
1078
- errors = _ref2.errors,
1079
- isValid = _ref2.isValid;
1084
+ isValid = _ref2.isValid,
1085
+ dirty = _ref2.dirty;
1080
1086
  return isLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
1081
1087
  className: "flex items-center justify-center",
1082
1088
  children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
@@ -1149,19 +1155,25 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
1149
1155
  children: [/*#__PURE__*/jsxRuntime.jsx(Label, {
1150
1156
  required: true,
1151
1157
  children: t("neetoWebhooks.common.event", constants.PLURAL)
1152
- }), !isLoading && /*#__PURE__*/jsxRuntime.jsx(formik.FieldArray, {
1158
+ }), /*#__PURE__*/jsxRuntime.jsx(formik.FieldArray, {
1153
1159
  name: "events",
1154
1160
  render: function render(arrayHelpers) {
1155
- return /*#__PURE__*/jsxRuntime.jsxs("div", {
1156
- children: [/*#__PURE__*/jsxRuntime.jsx(EventCheckbox, {
1157
- arrayHelpers: arrayHelpers,
1158
- events: events,
1159
- values: values
1160
- }), touched.events && errors.events && /*#__PURE__*/jsxRuntime.jsx("div", {
1161
- className: "neeto-ui-text-error-800 text-xs mt-1",
1162
- "data-testid": "event-error-text",
1163
- children: errors.events
1164
- })]
1161
+ return /*#__PURE__*/jsxRuntime.jsx(EventCheckbox, {
1162
+ arrayHelpers: arrayHelpers,
1163
+ events: events,
1164
+ values: values,
1165
+ onEventsChange: function onEventsChange() {
1166
+ return setFieldTouched("events", true);
1167
+ }
1168
+ });
1169
+ }
1170
+ }), /*#__PURE__*/jsxRuntime.jsx(formik.ErrorMessage, {
1171
+ name: "events",
1172
+ render: function render(msg) {
1173
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
1174
+ className: "neeto-ui-text-error-800 text-xs mt-1",
1175
+ "data-testid": "event-error-text",
1176
+ children: msg
1165
1177
  });
1166
1178
  }
1167
1179
  })]
@@ -1173,7 +1185,7 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
1173
1185
  onClick: onClose
1174
1186
  },
1175
1187
  submitButtonProps: {
1176
- disabled: isWebhookExpiredOrDeprecated || !isValid
1188
+ disabled: isWebhookExpiredOrDeprecated || !isValid || editingWebhookId && !dirty
1177
1189
  }
1178
1190
  })
1179
1191
  })]