@nestledjs/data-browser 0.1.17 → 0.1.18

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.
@@ -1,4 +1,5 @@
1
- import React, { useState, useMemo, useEffect } from "react";
1
+ import { jsxDEV } from "react/jsx-dev-runtime";
2
+ import { useState, useMemo, useEffect } from "react";
2
3
  import { gql } from "@apollo/client";
3
4
  import { useQuery, useMutation } from "@apollo/client/react";
4
5
  import { loadDevMessages, loadErrorMessages } from "@apollo/client/dev";
@@ -9,7 +10,6 @@ import { Form } from "@nestledjs/forms";
9
10
  import { useAdminDataContext } from "../context/AdminDataContext.js";
10
11
  import { useParams, Link, useNavigate } from "react-router";
11
12
  import { getAdminDocuments, buildFormFields, cleanFormInput } from "../utils/graphql-utils.js";
12
- var _jsxFileName = "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx";
13
13
  function toLowerCamelCase(name) {
14
14
  if (!name) return "";
15
15
  return name.charAt(0).toLowerCase() + name.slice(1);
@@ -44,15 +44,8 @@ const validateId = (id) => {
44
44
  return sanitized;
45
45
  };
46
46
  function AdminDataEditPage() {
47
- const {
48
- dataType,
49
- id
50
- } = useParams();
51
- const {
52
- databaseModels,
53
- basePath = "/admin/data",
54
- formTheme
55
- } = useAdminDataContext();
47
+ const { dataType, id } = useParams();
48
+ const { databaseModels, basePath = "/admin/data", formTheme } = useAdminDataContext();
56
49
  const findModelByName = (name) => {
57
50
  return databaseModels.find((model2) => model2.name === name);
58
51
  };
@@ -73,106 +66,130 @@ function AdminDataEditPage() {
73
66
  const model = validatedDataType ? findModelByName(validatedDataType) : null;
74
67
  const shouldShowModelNotFound = validatedDataType && validatedId && !model;
75
68
  if (shouldShowUnauthorized) {
76
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
77
- fileName: _jsxFileName,
78
- lineNumber: 116,
79
- columnNumber: 7
80
- } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-md", __self: this, __source: {
81
- fileName: _jsxFileName,
82
- lineNumber: 117,
83
- columnNumber: 9
84
- } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
85
- fileName: _jsxFileName,
86
- lineNumber: 118,
87
- columnNumber: 11
88
- } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
89
- fileName: _jsxFileName,
69
+ return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
70
+ /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, false, {
71
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
72
+ lineNumber: 120,
73
+ columnNumber: 15
74
+ }, this),
75
+ /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Unauthorized" }, void 0, false, {
76
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
77
+ lineNumber: 121,
78
+ columnNumber: 15
79
+ }, this),
80
+ /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: "Invalid data type, ID, or insufficient permissions." }, void 0, false, {
81
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
82
+ lineNumber: 122,
83
+ columnNumber: 15
84
+ }, this),
85
+ /* @__PURE__ */ jsxDEV("div", { className: "mt-6", children: /* @__PURE__ */ jsxDEV(
86
+ Link,
87
+ {
88
+ to: basePath,
89
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
90
+ children: "Return to Data Browser"
91
+ },
92
+ void 0,
93
+ false,
94
+ {
95
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
96
+ lineNumber: 126,
97
+ columnNumber: 17
98
+ },
99
+ this
100
+ ) }, void 0, false, {
101
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
102
+ lineNumber: 125,
103
+ columnNumber: 15
104
+ }, this)
105
+ ] }, void 0, true, {
106
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
90
107
  lineNumber: 119,
91
108
  columnNumber: 13
92
- } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400", __self: this, __source: {
93
- fileName: _jsxFileName,
94
- lineNumber: 120,
95
- columnNumber: 15
96
- } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
97
- fileName: _jsxFileName,
98
- lineNumber: 121,
99
- columnNumber: 15
100
- } }, "Unauthorized"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
101
- fileName: _jsxFileName,
102
- lineNumber: 122,
103
- columnNumber: 15
104
- } }, "Invalid data type, ID, or insufficient permissions."), /* @__PURE__ */ React.createElement("div", { className: "mt-6", __self: this, __source: {
105
- fileName: _jsxFileName,
106
- lineNumber: 125,
107
- columnNumber: 15
108
- } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web", __self: this, __source: {
109
- fileName: _jsxFileName,
110
- lineNumber: 126,
111
- columnNumber: 17
112
- } }, "Return to Data Browser"))))));
109
+ }, this) }, void 0, false, {
110
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
111
+ lineNumber: 118,
112
+ columnNumber: 11
113
+ }, this) }, void 0, false, {
114
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
115
+ lineNumber: 117,
116
+ columnNumber: 9
117
+ }, this) }, void 0, false, {
118
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
119
+ lineNumber: 116,
120
+ columnNumber: 7
121
+ }, this);
113
122
  }
114
123
  if (shouldShowModelNotFound) {
115
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
116
- fileName: _jsxFileName,
117
- lineNumber: 142,
118
- columnNumber: 7
119
- } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-md", __self: this, __source: {
120
- fileName: _jsxFileName,
121
- lineNumber: 143,
122
- columnNumber: 9
123
- } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
124
- fileName: _jsxFileName,
125
- lineNumber: 144,
126
- columnNumber: 11
127
- } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
128
- fileName: _jsxFileName,
124
+ return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
125
+ /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-yellow-400" }, void 0, false, {
126
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
127
+ lineNumber: 146,
128
+ columnNumber: 15
129
+ }, this),
130
+ /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Model Not Found" }, void 0, false, {
131
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
132
+ lineNumber: 147,
133
+ columnNumber: 15
134
+ }, this),
135
+ /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: [
136
+ 'The data model for "',
137
+ validatedDataType,
138
+ '" could not be found.'
139
+ ] }, void 0, true, {
140
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
141
+ lineNumber: 148,
142
+ columnNumber: 15
143
+ }, this),
144
+ /* @__PURE__ */ jsxDEV("div", { className: "mt-6", children: /* @__PURE__ */ jsxDEV(
145
+ Link,
146
+ {
147
+ to: basePath,
148
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
149
+ children: "Return to Data Browser"
150
+ },
151
+ void 0,
152
+ false,
153
+ {
154
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
155
+ lineNumber: 152,
156
+ columnNumber: 17
157
+ },
158
+ this
159
+ ) }, void 0, false, {
160
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
161
+ lineNumber: 151,
162
+ columnNumber: 15
163
+ }, this)
164
+ ] }, void 0, true, {
165
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
129
166
  lineNumber: 145,
130
167
  columnNumber: 13
131
- } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-yellow-400", __self: this, __source: {
132
- fileName: _jsxFileName,
133
- lineNumber: 146,
134
- columnNumber: 15
135
- } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
136
- fileName: _jsxFileName,
137
- lineNumber: 147,
138
- columnNumber: 15
139
- } }, "Model Not Found"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
140
- fileName: _jsxFileName,
141
- lineNumber: 148,
142
- columnNumber: 15
143
- } }, 'The data model for "', validatedDataType, '" could not be found.'), /* @__PURE__ */ React.createElement("div", { className: "mt-6", __self: this, __source: {
144
- fileName: _jsxFileName,
145
- lineNumber: 151,
146
- columnNumber: 15
147
- } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web", __self: this, __source: {
148
- fileName: _jsxFileName,
149
- lineNumber: 152,
150
- columnNumber: 17
151
- } }, "Return to Data Browser"))))));
168
+ }, this) }, void 0, false, {
169
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
170
+ lineNumber: 144,
171
+ columnNumber: 11
172
+ }, this) }, void 0, false, {
173
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
174
+ lineNumber: 143,
175
+ columnNumber: 9
176
+ }, this) }, void 0, false, {
177
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
178
+ lineNumber: 142,
179
+ columnNumber: 7
180
+ }, this);
152
181
  }
153
- return /* @__PURE__ */ React.createElement(AdminDataEditPageContent, { model, id: validatedId, basePath, formTheme, __self: this, __source: {
154
- fileName: _jsxFileName,
182
+ return /* @__PURE__ */ jsxDEV(AdminDataEditPageContent, { model, id: validatedId, basePath, formTheme }, void 0, false, {
183
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
155
184
  lineNumber: 167,
156
185
  columnNumber: 10
157
- } });
186
+ }, this);
158
187
  }
159
- function AdminDataEditPageContent({
160
- model,
161
- id,
162
- basePath,
163
- formTheme
164
- }) {
188
+ function AdminDataEditPageContent({ model, id, basePath, formTheme }) {
165
189
  const navigate = useNavigate();
166
- const {
167
- sdk,
168
- databaseModels
169
- } = useAdminDataContext();
170
- const [submissionState, setSubmissionState] = useState({
171
- status: "idle"
172
- });
173
- const [deleteState, setDeleteState] = useState({
174
- status: "idle"
175
- });
190
+ const { sdk, databaseModels } = useAdminDataContext();
191
+ const [submissionState, setSubmissionState] = useState({ status: "idle" });
192
+ const [deleteState, setDeleteState] = useState({ status: "idle" });
176
193
  const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);
177
194
  const documents = useMemo(() => {
178
195
  try {
@@ -219,38 +236,36 @@ function AdminDataEditPageContent({
219
236
  }, [documents]);
220
237
  const idVariableName = getModelIdVariableName(model.name);
221
238
  const responseFieldName = getModelResponseFieldName(model.name);
222
- const {
223
- data,
224
- loading,
225
- error,
226
- refetch
227
- } = useQuery(QUERY || gql`
239
+ const { data, loading, error, refetch } = useQuery(
240
+ QUERY || gql`
228
241
  query PlaceholderQuery {
229
242
  __typename
230
243
  }
231
- `, {
232
- variables: {
233
- [idVariableName]: id
234
- },
235
- errorPolicy: "all",
236
- skip: !QUERY || !id
237
- });
238
- const [updateMutation] = useMutation(UPDATE_MUTATION || gql`
244
+ `,
245
+ {
246
+ variables: { [idVariableName]: id },
247
+ errorPolicy: "all",
248
+ skip: !QUERY || !id
249
+ }
250
+ );
251
+ const [updateMutation] = useMutation(
252
+ UPDATE_MUTATION || gql`
239
253
  mutation PlaceholderUpdate {
240
254
  __typename
241
255
  }
242
- `);
243
- const [deleteMutation] = useMutation(DELETE_MUTATION || gql`
256
+ `
257
+ );
258
+ const [deleteMutation] = useMutation(
259
+ DELETE_MUTATION || gql`
244
260
  mutation PlaceholderDelete {
245
261
  __typename
246
262
  }
247
- `);
263
+ `
264
+ );
248
265
  useEffect(() => {
249
266
  if (submissionState.status === "error") {
250
267
  const timer = setTimeout(() => {
251
- setSubmissionState({
252
- status: "idle"
253
- });
268
+ setSubmissionState({ status: "idle" });
254
269
  }, 5e3);
255
270
  return () => clearTimeout(timer);
256
271
  }
@@ -258,165 +273,237 @@ function AdminDataEditPageContent({
258
273
  useEffect(() => {
259
274
  if (deleteState.status === "error") {
260
275
  const timer = setTimeout(() => {
261
- setDeleteState({
262
- status: "idle"
263
- });
276
+ setDeleteState({ status: "idle" });
264
277
  }, 5e3);
265
278
  return () => clearTimeout(timer);
266
279
  }
267
280
  }, [deleteState.status]);
268
281
  if (!documents || !QUERY || !UPDATE_MUTATION || !DELETE_MUTATION) {
269
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
270
- fileName: _jsxFileName,
271
- lineNumber: 299,
272
- columnNumber: 7
273
- } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-2xl", __self: this, __source: {
274
- fileName: _jsxFileName,
275
- lineNumber: 300,
276
- columnNumber: 9
277
- } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
278
- fileName: _jsxFileName,
279
- lineNumber: 301,
280
- columnNumber: 11
281
- } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
282
- fileName: _jsxFileName,
282
+ return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-2xl", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
283
+ /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, false, {
284
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
285
+ lineNumber: 303,
286
+ columnNumber: 15
287
+ }, this),
288
+ /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "GraphQL Schema Error" }, void 0, false, {
289
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
290
+ lineNumber: 304,
291
+ columnNumber: 15
292
+ }, this),
293
+ /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: "Unable to load GraphQL documents for this model. Please ensure the API server is running and the GraphQL schema is up to date." }, void 0, false, {
294
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
295
+ lineNumber: 305,
296
+ columnNumber: 15
297
+ }, this),
298
+ /* @__PURE__ */ jsxDEV("div", { className: "mt-6", children: /* @__PURE__ */ jsxDEV(
299
+ Link,
300
+ {
301
+ to: basePath,
302
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
303
+ children: "Return to Data Browser"
304
+ },
305
+ void 0,
306
+ false,
307
+ {
308
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
309
+ lineNumber: 310,
310
+ columnNumber: 17
311
+ },
312
+ this
313
+ ) }, void 0, false, {
314
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
315
+ lineNumber: 309,
316
+ columnNumber: 15
317
+ }, this)
318
+ ] }, void 0, true, {
319
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
283
320
  lineNumber: 302,
284
321
  columnNumber: 13
285
- } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400", __self: this, __source: {
286
- fileName: _jsxFileName,
287
- lineNumber: 303,
288
- columnNumber: 15
289
- } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
290
- fileName: _jsxFileName,
291
- lineNumber: 304,
292
- columnNumber: 15
293
- } }, "GraphQL Schema Error"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
294
- fileName: _jsxFileName,
295
- lineNumber: 305,
296
- columnNumber: 15
297
- } }, "Unable to load GraphQL documents for this model. Please ensure the API server is running and the GraphQL schema is up to date."), /* @__PURE__ */ React.createElement("div", { className: "mt-6", __self: this, __source: {
298
- fileName: _jsxFileName,
299
- lineNumber: 309,
300
- columnNumber: 15
301
- } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web", __self: this, __source: {
302
- fileName: _jsxFileName,
303
- lineNumber: 310,
304
- columnNumber: 17
305
- } }, "Return to Data Browser"))))));
322
+ }, this) }, void 0, false, {
323
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
324
+ lineNumber: 301,
325
+ columnNumber: 11
326
+ }, this) }, void 0, false, {
327
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
328
+ lineNumber: 300,
329
+ columnNumber: 9
330
+ }, this) }, void 0, false, {
331
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
332
+ lineNumber: 299,
333
+ columnNumber: 7
334
+ }, this);
306
335
  }
307
336
  if (error) {
308
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
309
- fileName: _jsxFileName,
310
- lineNumber: 327,
311
- columnNumber: 7
312
- } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-md", __self: this, __source: {
313
- fileName: _jsxFileName,
314
- lineNumber: 328,
315
- columnNumber: 9
316
- } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
317
- fileName: _jsxFileName,
318
- lineNumber: 329,
319
- columnNumber: 11
320
- } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
321
- fileName: _jsxFileName,
337
+ return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
338
+ /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400" }, void 0, false, {
339
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
340
+ lineNumber: 331,
341
+ columnNumber: 15
342
+ }, this),
343
+ /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Error Loading Data" }, void 0, false, {
344
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
345
+ lineNumber: 332,
346
+ columnNumber: 15
347
+ }, this),
348
+ /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: error.message }, void 0, false, {
349
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
350
+ lineNumber: 333,
351
+ columnNumber: 15
352
+ }, this),
353
+ /* @__PURE__ */ jsxDEV("div", { className: "mt-6 space-y-3", children: [
354
+ /* @__PURE__ */ jsxDEV(
355
+ "button",
356
+ {
357
+ onClick: () => refetch(),
358
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
359
+ children: "Try Again"
360
+ },
361
+ void 0,
362
+ false,
363
+ {
364
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
365
+ lineNumber: 335,
366
+ columnNumber: 17
367
+ },
368
+ this
369
+ ),
370
+ /* @__PURE__ */ jsxDEV(
371
+ Link,
372
+ {
373
+ to: `${basePath}/${toKebabCase(model.pluralName)}`,
374
+ className: "w-full flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
375
+ children: "Back to List"
376
+ },
377
+ void 0,
378
+ false,
379
+ {
380
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
381
+ lineNumber: 341,
382
+ columnNumber: 17
383
+ },
384
+ this
385
+ )
386
+ ] }, void 0, true, {
387
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
388
+ lineNumber: 334,
389
+ columnNumber: 15
390
+ }, this)
391
+ ] }, void 0, true, {
392
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
322
393
  lineNumber: 330,
323
394
  columnNumber: 13
324
- } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-red-400", __self: this, __source: {
325
- fileName: _jsxFileName,
326
- lineNumber: 331,
327
- columnNumber: 15
328
- } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
329
- fileName: _jsxFileName,
330
- lineNumber: 332,
331
- columnNumber: 15
332
- } }, "Error Loading Data"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
333
- fileName: _jsxFileName,
334
- lineNumber: 333,
335
- columnNumber: 15
336
- } }, error.message), /* @__PURE__ */ React.createElement("div", { className: "mt-6 space-y-3", __self: this, __source: {
337
- fileName: _jsxFileName,
338
- lineNumber: 334,
339
- columnNumber: 15
340
- } }, /* @__PURE__ */ React.createElement("button", { onClick: () => refetch(), className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web", __self: this, __source: {
341
- fileName: _jsxFileName,
342
- lineNumber: 335,
343
- columnNumber: 17
344
- } }, "Try Again"), /* @__PURE__ */ React.createElement(Link, { to: `${basePath}/${toKebabCase(model.pluralName)}`, className: "w-full flex justify-center py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 bg-white hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web", __self: this, __source: {
345
- fileName: _jsxFileName,
346
- lineNumber: 341,
347
- columnNumber: 17
348
- } }, "Back to List"))))));
395
+ }, this) }, void 0, false, {
396
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
397
+ lineNumber: 329,
398
+ columnNumber: 11
399
+ }, this) }, void 0, false, {
400
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
401
+ lineNumber: 328,
402
+ columnNumber: 9
403
+ }, this) }, void 0, false, {
404
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
405
+ lineNumber: 327,
406
+ columnNumber: 7
407
+ }, this);
349
408
  }
350
409
  if (loading) {
351
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
352
- fileName: _jsxFileName,
353
- lineNumber: 358,
354
- columnNumber: 7
355
- } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-md", __self: this, __source: {
356
- fileName: _jsxFileName,
357
- lineNumber: 359,
358
- columnNumber: 9
359
- } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
360
- fileName: _jsxFileName,
361
- lineNumber: 360,
362
- columnNumber: 11
363
- } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
364
- fileName: _jsxFileName,
410
+ return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
411
+ /* @__PURE__ */ jsxDEV("div", { className: "mx-auto h-12 w-12 border-4 border-green-web border-t-transparent rounded-full animate-spin" }, void 0, false, {
412
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
413
+ lineNumber: 362,
414
+ columnNumber: 15
415
+ }, this),
416
+ /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Loading..." }, void 0, false, {
417
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
418
+ lineNumber: 363,
419
+ columnNumber: 15
420
+ }, this),
421
+ /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: [
422
+ "Loading ",
423
+ toReadableText(model.name),
424
+ " data..."
425
+ ] }, void 0, true, {
426
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
427
+ lineNumber: 364,
428
+ columnNumber: 15
429
+ }, this)
430
+ ] }, void 0, true, {
431
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
365
432
  lineNumber: 361,
366
433
  columnNumber: 13
367
- } }, /* @__PURE__ */ React.createElement("div", { className: "mx-auto h-12 w-12 border-4 border-green-web border-t-transparent rounded-full animate-spin", __self: this, __source: {
368
- fileName: _jsxFileName,
369
- lineNumber: 362,
370
- columnNumber: 15
371
- } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
372
- fileName: _jsxFileName,
373
- lineNumber: 363,
374
- columnNumber: 15
375
- } }, "Loading..."), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
376
- fileName: _jsxFileName,
377
- lineNumber: 364,
378
- columnNumber: 15
379
- } }, "Loading ", toReadableText(model.name), " data...")))));
434
+ }, this) }, void 0, false, {
435
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
436
+ lineNumber: 360,
437
+ columnNumber: 11
438
+ }, this) }, void 0, false, {
439
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
440
+ lineNumber: 359,
441
+ columnNumber: 9
442
+ }, this) }, void 0, false, {
443
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
444
+ lineNumber: 358,
445
+ columnNumber: 7
446
+ }, this);
380
447
  }
381
448
  const item = data == null ? void 0 : data[responseFieldName];
382
449
  if (!item) {
383
- return /* @__PURE__ */ React.createElement("div", { className: "flex flex-col justify-center py-12", __self: this, __source: {
384
- fileName: _jsxFileName,
385
- lineNumber: 379,
386
- columnNumber: 7
387
- } }, /* @__PURE__ */ React.createElement("div", { className: "mt-8 mx-auto w-full max-w-md", __self: this, __source: {
388
- fileName: _jsxFileName,
389
- lineNumber: 380,
390
- columnNumber: 9
391
- } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", __self: this, __source: {
392
- fileName: _jsxFileName,
393
- lineNumber: 381,
394
- columnNumber: 11
395
- } }, /* @__PURE__ */ React.createElement("div", { className: "text-center", __self: this, __source: {
396
- fileName: _jsxFileName,
450
+ return /* @__PURE__ */ jsxDEV("div", { className: "flex flex-col justify-center py-12", children: /* @__PURE__ */ jsxDEV("div", { className: "mt-8 mx-auto w-full max-w-md", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 py-8 px-4 shadow sm:rounded-lg sm:px-10", children: /* @__PURE__ */ jsxDEV("div", { className: "text-center", children: [
451
+ /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-yellow-400" }, void 0, false, {
452
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
453
+ lineNumber: 383,
454
+ columnNumber: 15
455
+ }, this),
456
+ /* @__PURE__ */ jsxDEV("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", children: "Not Found" }, void 0, false, {
457
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
458
+ lineNumber: 384,
459
+ columnNumber: 15
460
+ }, this),
461
+ /* @__PURE__ */ jsxDEV("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", children: [
462
+ "The ",
463
+ toReadableText(model.name),
464
+ " you're looking for doesn't exist or has been deleted."
465
+ ] }, void 0, true, {
466
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
467
+ lineNumber: 385,
468
+ columnNumber: 15
469
+ }, this),
470
+ /* @__PURE__ */ jsxDEV("div", { className: "mt-6", children: /* @__PURE__ */ jsxDEV(
471
+ Link,
472
+ {
473
+ to: `${basePath}/${toKebabCase(model.pluralName)}`,
474
+ className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web",
475
+ children: "Back to List"
476
+ },
477
+ void 0,
478
+ false,
479
+ {
480
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
481
+ lineNumber: 390,
482
+ columnNumber: 17
483
+ },
484
+ this
485
+ ) }, void 0, false, {
486
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
487
+ lineNumber: 389,
488
+ columnNumber: 15
489
+ }, this)
490
+ ] }, void 0, true, {
491
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
397
492
  lineNumber: 382,
398
493
  columnNumber: 13
399
- } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "mx-auto h-12 w-12 text-yellow-400", __self: this, __source: {
400
- fileName: _jsxFileName,
401
- lineNumber: 383,
402
- columnNumber: 15
403
- } }), /* @__PURE__ */ React.createElement("h2", { className: "mt-4 text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
404
- fileName: _jsxFileName,
405
- lineNumber: 384,
406
- columnNumber: 15
407
- } }, "Not Found"), /* @__PURE__ */ React.createElement("p", { className: "mt-2 text-sm text-gray-600 dark:text-gray-400", __self: this, __source: {
408
- fileName: _jsxFileName,
409
- lineNumber: 385,
410
- columnNumber: 15
411
- } }, "The ", toReadableText(model.name), " you're looking for doesn't exist or has been deleted."), /* @__PURE__ */ React.createElement("div", { className: "mt-6", __self: this, __source: {
412
- fileName: _jsxFileName,
413
- lineNumber: 389,
414
- columnNumber: 15
415
- } }, /* @__PURE__ */ React.createElement(Link, { to: `${basePath}/${toKebabCase(model.pluralName)}`, className: "w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-green-web hover:bg-green-web-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web", __self: this, __source: {
416
- fileName: _jsxFileName,
417
- lineNumber: 390,
418
- columnNumber: 17
419
- } }, "Back to List"))))));
494
+ }, this) }, void 0, false, {
495
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
496
+ lineNumber: 381,
497
+ columnNumber: 11
498
+ }, this) }, void 0, false, {
499
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
500
+ lineNumber: 380,
501
+ columnNumber: 9
502
+ }, this) }, void 0, false, {
503
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
504
+ lineNumber: 379,
505
+ columnNumber: 7
506
+ }, this);
420
507
  }
421
508
  const formFields = buildFormFields(sdk, model, "update", item, submissionState.status === "loading", basePath, databaseModels);
422
509
  const initialValues = {};
@@ -495,9 +582,7 @@ function AdminDataEditPageContent({
495
582
  }
496
583
  const handleSubmit = async (formData) => {
497
584
  try {
498
- setSubmissionState({
499
- status: "loading"
500
- });
585
+ setSubmissionState({ status: "loading" });
501
586
  const cleanedInput = cleanFormInput(formData, model);
502
587
  const result = await updateMutation({
503
588
  variables: {
@@ -526,9 +611,7 @@ function AdminDataEditPageContent({
526
611
  };
527
612
  const handleDelete = async () => {
528
613
  try {
529
- setDeleteState({
530
- status: "loading"
531
- });
614
+ setDeleteState({ status: "loading" });
532
615
  const result = await deleteMutation({
533
616
  variables: {
534
617
  [idVariableName]: id
@@ -555,188 +638,363 @@ function AdminDataEditPageContent({
555
638
  });
556
639
  }
557
640
  };
558
- return /* @__PURE__ */ React.createElement("div", { className: "space-y-6", __self: this, __source: {
559
- fileName: _jsxFileName,
641
+ return /* @__PURE__ */ jsxDEV("div", { className: "space-y-6", children: [
642
+ /* @__PURE__ */ jsxDEV("div", { className: "mb-8", children: [
643
+ /* @__PURE__ */ jsxDEV("nav", { className: "flex mb-6", "aria-label": "Breadcrumb", children: /* @__PURE__ */ jsxDEV("ol", { className: "flex items-center space-x-4", children: [
644
+ /* @__PURE__ */ jsxDEV("li", { children: /* @__PURE__ */ jsxDEV(Link, { to: basePath, className: "text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", children: "Data Browser" }, void 0, false, {
645
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
646
+ lineNumber: 597,
647
+ columnNumber: 17
648
+ }, this) }, void 0, false, {
649
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
650
+ lineNumber: 596,
651
+ columnNumber: 15
652
+ }, this),
653
+ /* @__PURE__ */ jsxDEV("li", { children: /* @__PURE__ */ jsxDEV("div", { className: "flex items-center", children: [
654
+ /* @__PURE__ */ jsxDEV(
655
+ "svg",
656
+ {
657
+ className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600",
658
+ fill: "currentColor",
659
+ viewBox: "0 0 20 20",
660
+ children: /* @__PURE__ */ jsxDEV(
661
+ "path",
662
+ {
663
+ fillRule: "evenodd",
664
+ d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
665
+ clipRule: "evenodd"
666
+ },
667
+ void 0,
668
+ false,
669
+ {
670
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
671
+ lineNumber: 608,
672
+ columnNumber: 21
673
+ },
674
+ this
675
+ )
676
+ },
677
+ void 0,
678
+ false,
679
+ {
680
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
681
+ lineNumber: 603,
682
+ columnNumber: 19
683
+ },
684
+ this
685
+ ),
686
+ /* @__PURE__ */ jsxDEV(
687
+ Link,
688
+ {
689
+ to: `${basePath}/${toKebabCase(model.pluralName)}`,
690
+ className: "ml-4 text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400",
691
+ children: toReadableText(model.pluralName)
692
+ },
693
+ void 0,
694
+ false,
695
+ {
696
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
697
+ lineNumber: 614,
698
+ columnNumber: 19
699
+ },
700
+ this
701
+ )
702
+ ] }, void 0, true, {
703
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
704
+ lineNumber: 602,
705
+ columnNumber: 17
706
+ }, this) }, void 0, false, {
707
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
708
+ lineNumber: 601,
709
+ columnNumber: 15
710
+ }, this),
711
+ /* @__PURE__ */ jsxDEV("li", { children: /* @__PURE__ */ jsxDEV("div", { className: "flex items-center", children: [
712
+ /* @__PURE__ */ jsxDEV(
713
+ "svg",
714
+ {
715
+ className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600",
716
+ fill: "currentColor",
717
+ viewBox: "0 0 20 20",
718
+ children: /* @__PURE__ */ jsxDEV(
719
+ "path",
720
+ {
721
+ fillRule: "evenodd",
722
+ d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",
723
+ clipRule: "evenodd"
724
+ },
725
+ void 0,
726
+ false,
727
+ {
728
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
729
+ lineNumber: 629,
730
+ columnNumber: 21
731
+ },
732
+ this
733
+ )
734
+ },
735
+ void 0,
736
+ false,
737
+ {
738
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
739
+ lineNumber: 624,
740
+ columnNumber: 19
741
+ },
742
+ this
743
+ ),
744
+ /* @__PURE__ */ jsxDEV("span", { className: "ml-4 text-gray-500 dark:text-gray-400", children: "Edit" }, void 0, false, {
745
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
746
+ lineNumber: 635,
747
+ columnNumber: 19
748
+ }, this)
749
+ ] }, void 0, true, {
750
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
751
+ lineNumber: 623,
752
+ columnNumber: 17
753
+ }, this) }, void 0, false, {
754
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
755
+ lineNumber: 622,
756
+ columnNumber: 15
757
+ }, this)
758
+ ] }, void 0, true, {
759
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
760
+ lineNumber: 595,
761
+ columnNumber: 13
762
+ }, this) }, void 0, false, {
763
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
764
+ lineNumber: 594,
765
+ columnNumber: 11
766
+ }, this),
767
+ /* @__PURE__ */ jsxDEV("div", { className: "flex items-center justify-between", children: [
768
+ /* @__PURE__ */ jsxDEV("h1", { className: "text-3xl font-bold text-gray-900 dark:text-gray-100", children: [
769
+ "Edit ",
770
+ toReadableText(model.name)
771
+ ] }, void 0, true, {
772
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
773
+ lineNumber: 641,
774
+ columnNumber: 13
775
+ }, this),
776
+ /* @__PURE__ */ jsxDEV(
777
+ "button",
778
+ {
779
+ onClick: () => setShowDeleteConfirm(true),
780
+ disabled: deleteState.status === "loading",
781
+ className: "inline-flex items-center px-3 py-2 border border-red-300 shadow-sm text-sm leading-4 font-medium rounded-md text-red-700 bg-white hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 disabled:opacity-50 disabled:cursor-not-allowed",
782
+ children: [
783
+ /* @__PURE__ */ jsxDEV(TrashIcon, { className: "h-4 w-4 mr-2" }, void 0, false, {
784
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
785
+ lineNumber: 647,
786
+ columnNumber: 15
787
+ }, this),
788
+ "Delete"
789
+ ]
790
+ },
791
+ void 0,
792
+ true,
793
+ {
794
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
795
+ lineNumber: 642,
796
+ columnNumber: 13
797
+ },
798
+ this
799
+ )
800
+ ] }, void 0, true, {
801
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
802
+ lineNumber: 640,
803
+ columnNumber: 11
804
+ }, this)
805
+ ] }, void 0, true, {
806
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
807
+ lineNumber: 593,
808
+ columnNumber: 7
809
+ }, this),
810
+ showDeleteConfirm && /* @__PURE__ */ jsxDEV("div", { className: "fixed inset-0 bg-gray-600 dark:bg-gray-900 bg-opacity-50 dark:bg-opacity-75 overflow-y-auto h-full w-full z-50 flex items-center justify-center", children: /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 p-6 rounded-lg shadow-xl max-w-md w-full mx-4", children: [
811
+ /* @__PURE__ */ jsxDEV("div", { className: "flex items-center", children: [
812
+ /* @__PURE__ */ jsxDEV("div", { className: "flex-shrink-0", children: /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "h-6 w-6 text-red-600" }, void 0, false, {
813
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
814
+ lineNumber: 659,
815
+ columnNumber: 19
816
+ }, this) }, void 0, false, {
817
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
818
+ lineNumber: 658,
819
+ columnNumber: 17
820
+ }, this),
821
+ /* @__PURE__ */ jsxDEV("div", { className: "ml-3", children: [
822
+ /* @__PURE__ */ jsxDEV("h3", { className: "text-lg font-medium text-gray-900 dark:text-gray-100", children: [
823
+ "Delete ",
824
+ toReadableText(model.name)
825
+ ] }, void 0, true, {
826
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
827
+ lineNumber: 662,
828
+ columnNumber: 19
829
+ }, this),
830
+ /* @__PURE__ */ jsxDEV("div", { className: "mt-2", children: /* @__PURE__ */ jsxDEV("p", { className: "text-sm text-gray-500 dark:text-gray-400", children: [
831
+ "Are you sure you want to delete this",
832
+ " ",
833
+ toReadableText(model.name).toLowerCase(),
834
+ "? This action cannot be undone."
835
+ ] }, void 0, true, {
836
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
837
+ lineNumber: 666,
838
+ columnNumber: 21
839
+ }, this) }, void 0, false, {
840
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
841
+ lineNumber: 665,
842
+ columnNumber: 19
843
+ }, this)
844
+ ] }, void 0, true, {
845
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
846
+ lineNumber: 661,
847
+ columnNumber: 17
848
+ }, this)
849
+ ] }, void 0, true, {
850
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
851
+ lineNumber: 657,
852
+ columnNumber: 15
853
+ }, this),
854
+ /* @__PURE__ */ jsxDEV("div", { className: "mt-5 sm:mt-4 sm:flex sm:flex-row-reverse", children: [
855
+ /* @__PURE__ */ jsxDEV(
856
+ "button",
857
+ {
858
+ onClick: handleDelete,
859
+ disabled: deleteState.status === "loading",
860
+ className: "w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm disabled:opacity-50 disabled:cursor-not-allowed",
861
+ children: deleteState.status === "loading" ? "Deleting..." : "Delete"
862
+ },
863
+ void 0,
864
+ false,
865
+ {
866
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
867
+ lineNumber: 674,
868
+ columnNumber: 17
869
+ },
870
+ this
871
+ ),
872
+ /* @__PURE__ */ jsxDEV(
873
+ "button",
874
+ {
875
+ onClick: () => setShowDeleteConfirm(false),
876
+ disabled: deleteState.status === "loading",
877
+ className: "mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web sm:mt-0 sm:w-auto sm:text-sm disabled:opacity-50 disabled:cursor-not-allowed",
878
+ children: "Cancel"
879
+ },
880
+ void 0,
881
+ false,
882
+ {
883
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
884
+ lineNumber: 681,
885
+ columnNumber: 17
886
+ },
887
+ this
888
+ )
889
+ ] }, void 0, true, {
890
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
891
+ lineNumber: 673,
892
+ columnNumber: 15
893
+ }, this)
894
+ ] }, void 0, true, {
895
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
896
+ lineNumber: 656,
897
+ columnNumber: 13
898
+ }, this) }, void 0, false, {
899
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
900
+ lineNumber: 655,
901
+ columnNumber: 11
902
+ }, this),
903
+ (submissionState.status !== "idle" || deleteState.status !== "idle") && /* @__PURE__ */ jsxDEV(
904
+ "div",
905
+ {
906
+ className: `mb-6 rounded-md p-4 ${submissionState.status === "success" || deleteState.status === "success" ? "bg-green-50 border border-green-200" : submissionState.status === "error" || deleteState.status === "error" ? "bg-red-50 border border-red-200" : "bg-blue-50 border border-blue-200"}`,
907
+ children: /* @__PURE__ */ jsxDEV("div", { className: "flex", children: [
908
+ /* @__PURE__ */ jsxDEV("div", { className: "flex-shrink-0", children: submissionState.status === "success" || deleteState.status === "success" ? /* @__PURE__ */ jsxDEV(CheckCircleIcon, { className: "h-5 w-5 text-green-400" }, void 0, false, {
909
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
910
+ lineNumber: 707,
911
+ columnNumber: 19
912
+ }, this) : submissionState.status === "error" || deleteState.status === "error" ? /* @__PURE__ */ jsxDEV(ExclamationCircleIcon, { className: "h-5 w-5 text-red-400" }, void 0, false, {
913
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
914
+ lineNumber: 709,
915
+ columnNumber: 19
916
+ }, this) : /* @__PURE__ */ jsxDEV("div", { className: "h-5 w-5 border-2 border-blue-400 border-t-transparent rounded-full animate-spin" }, void 0, false, {
917
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
918
+ lineNumber: 711,
919
+ columnNumber: 19
920
+ }, this) }, void 0, false, {
921
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
922
+ lineNumber: 705,
923
+ columnNumber: 15
924
+ }, this),
925
+ /* @__PURE__ */ jsxDEV("div", { className: "ml-3", children: /* @__PURE__ */ jsxDEV(
926
+ "p",
927
+ {
928
+ className: `text-sm font-medium ${submissionState.status === "success" || deleteState.status === "success" ? "text-green-800" : submissionState.status === "error" || deleteState.status === "error" ? "text-red-800" : "text-blue-800"}`,
929
+ children: submissionState.status === "loading" ? `Updating ${toReadableText(model.name)}...` : deleteState.status === "loading" ? `Deleting ${toReadableText(model.name)}...` : submissionState.message || deleteState.message
930
+ },
931
+ void 0,
932
+ false,
933
+ {
934
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
935
+ lineNumber: 715,
936
+ columnNumber: 17
937
+ },
938
+ this
939
+ ) }, void 0, false, {
940
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
941
+ lineNumber: 714,
942
+ columnNumber: 15
943
+ }, this)
944
+ ] }, void 0, true, {
945
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
946
+ lineNumber: 704,
947
+ columnNumber: 13
948
+ }, this)
949
+ },
950
+ void 0,
951
+ false,
952
+ {
953
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
954
+ lineNumber: 695,
955
+ columnNumber: 11
956
+ },
957
+ this
958
+ ),
959
+ /* @__PURE__ */ jsxDEV("div", { className: "bg-white dark:bg-gray-800 shadow-sm rounded-lg", children: /* @__PURE__ */ jsxDEV("div", { className: "px-6 py-8", children: /* @__PURE__ */ jsxDEV(
960
+ Form,
961
+ {
962
+ id: `edit-${model.name.toLowerCase()}-form`,
963
+ fields: formFields,
964
+ submit: handleSubmit,
965
+ disabled: submissionState.status === "loading" || deleteState.status === "loading",
966
+ defaultValues: initialValues,
967
+ theme: formTheme
968
+ },
969
+ void 0,
970
+ false,
971
+ {
972
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
973
+ lineNumber: 738,
974
+ columnNumber: 13
975
+ },
976
+ this
977
+ ) }, void 0, false, {
978
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
979
+ lineNumber: 737,
980
+ columnNumber: 11
981
+ }, this) }, void 0, false, {
982
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
983
+ lineNumber: 736,
984
+ columnNumber: 9
985
+ }, this)
986
+ ] }, void 0, true, {
987
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
560
988
  lineNumber: 591,
561
989
  columnNumber: 5
562
- } }, /* @__PURE__ */ React.createElement("div", { className: "mb-8", __self: this, __source: {
563
- fileName: _jsxFileName,
564
- lineNumber: 593,
565
- columnNumber: 7
566
- } }, /* @__PURE__ */ React.createElement("nav", { className: "flex mb-6", "aria-label": "Breadcrumb", __self: this, __source: {
567
- fileName: _jsxFileName,
568
- lineNumber: 594,
569
- columnNumber: 11
570
- } }, /* @__PURE__ */ React.createElement("ol", { className: "flex items-center space-x-4", __self: this, __source: {
571
- fileName: _jsxFileName,
572
- lineNumber: 595,
573
- columnNumber: 13
574
- } }, /* @__PURE__ */ React.createElement("li", { __self: this, __source: {
575
- fileName: _jsxFileName,
576
- lineNumber: 596,
577
- columnNumber: 15
578
- } }, /* @__PURE__ */ React.createElement(Link, { to: basePath, className: "text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", __self: this, __source: {
579
- fileName: _jsxFileName,
580
- lineNumber: 597,
581
- columnNumber: 17
582
- } }, "Data Browser")), /* @__PURE__ */ React.createElement("li", { __self: this, __source: {
583
- fileName: _jsxFileName,
584
- lineNumber: 601,
585
- columnNumber: 15
586
- } }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center", __self: this, __source: {
587
- fileName: _jsxFileName,
588
- lineNumber: 602,
589
- columnNumber: 17
590
- } }, /* @__PURE__ */ React.createElement("svg", { className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600", fill: "currentColor", viewBox: "0 0 20 20", __self: this, __source: {
591
- fileName: _jsxFileName,
592
- lineNumber: 603,
593
- columnNumber: 19
594
- } }, /* @__PURE__ */ React.createElement("path", { fillRule: "evenodd", d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", clipRule: "evenodd", __self: this, __source: {
595
- fileName: _jsxFileName,
596
- lineNumber: 608,
597
- columnNumber: 21
598
- } })), /* @__PURE__ */ React.createElement(Link, { to: `${basePath}/${toKebabCase(model.pluralName)}`, className: "ml-4 text-gray-400 dark:text-gray-500 hover:text-gray-500 dark:hover:text-gray-400", __self: this, __source: {
599
- fileName: _jsxFileName,
600
- lineNumber: 614,
601
- columnNumber: 19
602
- } }, toReadableText(model.pluralName)))), /* @__PURE__ */ React.createElement("li", { __self: this, __source: {
603
- fileName: _jsxFileName,
604
- lineNumber: 622,
605
- columnNumber: 15
606
- } }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center", __self: this, __source: {
607
- fileName: _jsxFileName,
608
- lineNumber: 623,
609
- columnNumber: 17
610
- } }, /* @__PURE__ */ React.createElement("svg", { className: "flex-shrink-0 h-5 w-5 text-gray-300 dark:text-gray-600", fill: "currentColor", viewBox: "0 0 20 20", __self: this, __source: {
611
- fileName: _jsxFileName,
612
- lineNumber: 624,
613
- columnNumber: 19
614
- } }, /* @__PURE__ */ React.createElement("path", { fillRule: "evenodd", d: "M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 111.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z", clipRule: "evenodd", __self: this, __source: {
615
- fileName: _jsxFileName,
616
- lineNumber: 629,
617
- columnNumber: 21
618
- } })), /* @__PURE__ */ React.createElement("span", { className: "ml-4 text-gray-500 dark:text-gray-400", __self: this, __source: {
619
- fileName: _jsxFileName,
620
- lineNumber: 635,
621
- columnNumber: 19
622
- } }, "Edit"))))), /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-between", __self: this, __source: {
623
- fileName: _jsxFileName,
624
- lineNumber: 640,
625
- columnNumber: 11
626
- } }, /* @__PURE__ */ React.createElement("h1", { className: "text-3xl font-bold text-gray-900 dark:text-gray-100", __self: this, __source: {
627
- fileName: _jsxFileName,
628
- lineNumber: 641,
629
- columnNumber: 13
630
- } }, "Edit ", toReadableText(model.name)), /* @__PURE__ */ React.createElement("button", { onClick: () => setShowDeleteConfirm(true), disabled: deleteState.status === "loading", className: "inline-flex items-center px-3 py-2 border border-red-300 shadow-sm text-sm leading-4 font-medium rounded-md text-red-700 bg-white hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 disabled:opacity-50 disabled:cursor-not-allowed", __self: this, __source: {
631
- fileName: _jsxFileName,
632
- lineNumber: 642,
633
- columnNumber: 13
634
- } }, /* @__PURE__ */ React.createElement(TrashIcon, { className: "h-4 w-4 mr-2", __self: this, __source: {
635
- fileName: _jsxFileName,
636
- lineNumber: 647,
637
- columnNumber: 15
638
- } }), "Delete"))), showDeleteConfirm && /* @__PURE__ */ React.createElement("div", { className: "fixed inset-0 bg-gray-600 dark:bg-gray-900 bg-opacity-50 dark:bg-opacity-75 overflow-y-auto h-full w-full z-50 flex items-center justify-center", __self: this, __source: {
639
- fileName: _jsxFileName,
640
- lineNumber: 655,
641
- columnNumber: 11
642
- } }, /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 p-6 rounded-lg shadow-xl max-w-md w-full mx-4", __self: this, __source: {
643
- fileName: _jsxFileName,
644
- lineNumber: 656,
645
- columnNumber: 13
646
- } }, /* @__PURE__ */ React.createElement("div", { className: "flex items-center", __self: this, __source: {
647
- fileName: _jsxFileName,
648
- lineNumber: 657,
649
- columnNumber: 15
650
- } }, /* @__PURE__ */ React.createElement("div", { className: "flex-shrink-0", __self: this, __source: {
651
- fileName: _jsxFileName,
652
- lineNumber: 658,
653
- columnNumber: 17
654
- } }, /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "h-6 w-6 text-red-600", __self: this, __source: {
655
- fileName: _jsxFileName,
656
- lineNumber: 659,
657
- columnNumber: 19
658
- } })), /* @__PURE__ */ React.createElement("div", { className: "ml-3", __self: this, __source: {
659
- fileName: _jsxFileName,
660
- lineNumber: 661,
661
- columnNumber: 17
662
- } }, /* @__PURE__ */ React.createElement("h3", { className: "text-lg font-medium text-gray-900 dark:text-gray-100", __self: this, __source: {
663
- fileName: _jsxFileName,
664
- lineNumber: 662,
665
- columnNumber: 19
666
- } }, "Delete ", toReadableText(model.name)), /* @__PURE__ */ React.createElement("div", { className: "mt-2", __self: this, __source: {
667
- fileName: _jsxFileName,
668
- lineNumber: 665,
669
- columnNumber: 19
670
- } }, /* @__PURE__ */ React.createElement("p", { className: "text-sm text-gray-500 dark:text-gray-400", __self: this, __source: {
671
- fileName: _jsxFileName,
672
- lineNumber: 666,
673
- columnNumber: 21
674
- } }, "Are you sure you want to delete this", " ", toReadableText(model.name).toLowerCase(), "? This action cannot be undone.")))), /* @__PURE__ */ React.createElement("div", { className: "mt-5 sm:mt-4 sm:flex sm:flex-row-reverse", __self: this, __source: {
675
- fileName: _jsxFileName,
676
- lineNumber: 673,
677
- columnNumber: 15
678
- } }, /* @__PURE__ */ React.createElement("button", { onClick: handleDelete, disabled: deleteState.status === "loading", className: "w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm disabled:opacity-50 disabled:cursor-not-allowed", __self: this, __source: {
679
- fileName: _jsxFileName,
680
- lineNumber: 674,
681
- columnNumber: 17
682
- } }, deleteState.status === "loading" ? "Deleting..." : "Delete"), /* @__PURE__ */ React.createElement("button", { onClick: () => setShowDeleteConfirm(false), disabled: deleteState.status === "loading", className: "mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-web sm:mt-0 sm:w-auto sm:text-sm disabled:opacity-50 disabled:cursor-not-allowed", __self: this, __source: {
683
- fileName: _jsxFileName,
684
- lineNumber: 681,
685
- columnNumber: 17
686
- } }, "Cancel")))), (submissionState.status !== "idle" || deleteState.status !== "idle") && /* @__PURE__ */ React.createElement("div", { className: `mb-6 rounded-md p-4 ${submissionState.status === "success" || deleteState.status === "success" ? "bg-green-50 border border-green-200" : submissionState.status === "error" || deleteState.status === "error" ? "bg-red-50 border border-red-200" : "bg-blue-50 border border-blue-200"}`, __self: this, __source: {
687
- fileName: _jsxFileName,
688
- lineNumber: 695,
689
- columnNumber: 11
690
- } }, /* @__PURE__ */ React.createElement("div", { className: "flex", __self: this, __source: {
691
- fileName: _jsxFileName,
692
- lineNumber: 704,
693
- columnNumber: 13
694
- } }, /* @__PURE__ */ React.createElement("div", { className: "flex-shrink-0", __self: this, __source: {
695
- fileName: _jsxFileName,
696
- lineNumber: 705,
697
- columnNumber: 15
698
- } }, submissionState.status === "success" || deleteState.status === "success" ? /* @__PURE__ */ React.createElement(CheckCircleIcon, { className: "h-5 w-5 text-green-400", __self: this, __source: {
699
- fileName: _jsxFileName,
700
- lineNumber: 707,
701
- columnNumber: 19
702
- } }) : submissionState.status === "error" || deleteState.status === "error" ? /* @__PURE__ */ React.createElement(ExclamationCircleIcon, { className: "h-5 w-5 text-red-400", __self: this, __source: {
703
- fileName: _jsxFileName,
704
- lineNumber: 709,
705
- columnNumber: 19
706
- } }) : /* @__PURE__ */ React.createElement("div", { className: "h-5 w-5 border-2 border-blue-400 border-t-transparent rounded-full animate-spin", __self: this, __source: {
707
- fileName: _jsxFileName,
708
- lineNumber: 711,
709
- columnNumber: 19
710
- } })), /* @__PURE__ */ React.createElement("div", { className: "ml-3", __self: this, __source: {
711
- fileName: _jsxFileName,
712
- lineNumber: 714,
713
- columnNumber: 15
714
- } }, /* @__PURE__ */ React.createElement("p", { className: `text-sm font-medium ${submissionState.status === "success" || deleteState.status === "success" ? "text-green-800" : submissionState.status === "error" || deleteState.status === "error" ? "text-red-800" : "text-blue-800"}`, __self: this, __source: {
715
- fileName: _jsxFileName,
716
- lineNumber: 715,
717
- columnNumber: 17
718
- } }, submissionState.status === "loading" ? `Updating ${toReadableText(model.name)}...` : deleteState.status === "loading" ? `Deleting ${toReadableText(model.name)}...` : submissionState.message || deleteState.message)))), /* @__PURE__ */ React.createElement("div", { className: "bg-white dark:bg-gray-800 shadow-sm rounded-lg", __self: this, __source: {
719
- fileName: _jsxFileName,
720
- lineNumber: 736,
721
- columnNumber: 9
722
- } }, /* @__PURE__ */ React.createElement("div", { className: "px-6 py-8", __self: this, __source: {
723
- fileName: _jsxFileName,
724
- lineNumber: 737,
725
- columnNumber: 11
726
- } }, /* @__PURE__ */ React.createElement(Form, { id: `edit-${model.name.toLowerCase()}-form`, fields: formFields, submit: handleSubmit, disabled: submissionState.status === "loading" || deleteState.status === "loading", defaultValues: initialValues, theme: formTheme, __self: this, __source: {
727
- fileName: _jsxFileName,
728
- lineNumber: 738,
729
- columnNumber: 13
730
- } }))));
990
+ }, this);
731
991
  }
732
- function AdminDataEditErrorBoundary({
733
- error
734
- }) {
735
- return /* @__PURE__ */ React.createElement(ErrorBoundary, { error, __self: this, __source: {
736
- fileName: _jsxFileName,
992
+ function AdminDataEditErrorBoundary({ error }) {
993
+ return /* @__PURE__ */ jsxDEV(ErrorBoundary, { error }, void 0, false, {
994
+ fileName: "/Users/justinhandley/IdeaProjects/nestled_template/libs/data-browser/src/lib/pages/AdminDataEditPage.tsx",
737
995
  lineNumber: 753,
738
996
  columnNumber: 10
739
- } });
997
+ }, this);
740
998
  }
741
999
  export {
742
1000
  AdminDataEditErrorBoundary,