@solidstarters/create-solid-app 1.2.24 → 1.2.26

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/create-solid-app",
3
- "version": "1.2.24",
3
+ "version": "1.2.26",
4
4
  "main": "index.js",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -27,7 +27,7 @@
27
27
  "@nestjs/serve-static": "^4.0.2",
28
28
  "@nestjs/swagger": "^7.2.0",
29
29
  "@nestjs/typeorm": "^10.0.1",
30
- "@solidstarters/solid-core": "^1.2.140",
30
+ "@solidstarters/solid-core": "^1.2.141",
31
31
  "@types/luxon": "^3.4.2",
32
32
  "amqplib": "^0.10.4",
33
33
  "axios": "^1.7.0",
@@ -68,7 +68,7 @@
68
68
  "devDependencies": {
69
69
  "@nestjs/cli": "^10.0.0",
70
70
  "@nestjs/testing": "^10.0.0",
71
- "@solidstarters/solid-code-builder": "^1.0.28",
71
+ "@solidstarters/solid-code-builder": "^1.0.29",
72
72
  "@types/express": "^4.17.17",
73
73
  "@types/hapi__joi": "^17.1.12",
74
74
  "@types/jest": "^29.5.2",
@@ -4621,9 +4621,9 @@
4621
4621
  }
4622
4622
  },
4623
4623
  "node_modules/@solidstarters/solid-code-builder": {
4624
- "version": "1.0.28",
4625
- "resolved": "https://registry.npmjs.org/@solidstarters/solid-code-builder/-/solid-code-builder-1.0.28.tgz",
4626
- "integrity": "sha512-6UUCR3rZ0wW9Uc7o87L3j4HRqtCbZxWlyNlRLlsqWqjBQCQlpDe6qnaC7uV63ev1rjZ/woUmx8PkWYoVgPtXQw==",
4624
+ "version": "1.0.29",
4625
+ "resolved": "https://registry.npmjs.org/@solidstarters/solid-code-builder/-/solid-code-builder-1.0.29.tgz",
4626
+ "integrity": "sha512-SFl5nEP14bwb1HC/xivefkn4Z2UCcm5P7IM+5QU1jPaDajLwg2xYGtqzSX5mHesHr0q2yYJv8jRn506puxmbSw==",
4627
4627
  "dev": true,
4628
4628
  "license": "MIT",
4629
4629
  "dependencies": {
@@ -4666,9 +4666,9 @@
4666
4666
  }
4667
4667
  },
4668
4668
  "node_modules/@solidstarters/solid-core": {
4669
- "version": "1.2.140",
4670
- "resolved": "https://registry.npmjs.org/@solidstarters/solid-core/-/solid-core-1.2.140.tgz",
4671
- "integrity": "sha512-CtWlr4r7jON1TfNZjiRbWO0EdbcJGYGnU/eVmeuK2StXB7jSYECDCiVnvM9SjSsGYX7eyDN1On5nYUHqb2bBsQ==",
4669
+ "version": "1.2.141",
4670
+ "resolved": "https://registry.npmjs.org/@solidstarters/solid-core/-/solid-core-1.2.141.tgz",
4671
+ "integrity": "sha512-kKD0MAq9Qqcf9+iVE2my7ukb1nJ4WN3A7JbEg0Nj7snQCDxhiXnfsF2iJGtTySfeKY/drKM72yQTHFL0j7mEUQ==",
4672
4672
  "license": "ISC",
4673
4673
  "dependencies": {
4674
4674
  "@angular-devkit/core": "^18.0.3",
@@ -44,7 +44,7 @@
44
44
  "@nestjs/serve-static": "^4.0.2",
45
45
  "@nestjs/swagger": "^7.2.0",
46
46
  "@nestjs/typeorm": "^10.0.1",
47
- "@solidstarters/solid-core": "^1.2.140",
47
+ "@solidstarters/solid-core": "^1.2.141",
48
48
  "@types/luxon": "^3.4.2",
49
49
  "amqplib": "^0.10.4",
50
50
  "axios": "^1.7.0",
@@ -82,7 +82,7 @@
82
82
  "devDependencies": {
83
83
  "@nestjs/cli": "^10.0.0",
84
84
  "@nestjs/testing": "^10.0.0",
85
- "@solidstarters/solid-code-builder": "^1.0.28",
85
+ "@solidstarters/solid-code-builder": "^1.0.29",
86
86
  "@types/express": "^4.17.17",
87
87
  "@types/hapi__joi": "^17.1.12",
88
88
  "@types/jest": "^29.5.2",
@@ -1,13 +1,8 @@
1
1
  import { registerExtensionComponent, registerExtensionFunction } from "@solidstarters/solid-core-ui";
2
- import ImageGrid12Column from "./admin/extensions/ImageGrid12Column";
3
- import handleBookFormViewChange from "./admin/extensions/bookFormViewChangeHandler";
4
- import handleBookFormViewBlur from "./admin/extensions/bookFormViewBlurHandler";
5
- import BookSimilarTitles from "./admin/extensions/BookSimilarTitles";
6
2
 
7
3
  // Registering a custom component
8
- registerExtensionComponent("BookFormViewDynamicComponent", ImageGrid12Column);
9
- registerExtensionComponent("BookSimilarTitles", BookSimilarTitles);
4
+ // registerExtensionComponent("BookFormViewDynamicComponent", ImageGrid12Column);
10
5
 
11
6
  // Registering a custom function
12
- registerExtensionFunction("bookFormViewChangeHandler", handleBookFormViewChange);
13
- registerExtensionFunction("bookFormViewBlurHandler", handleBookFormViewBlur);
7
+ // registerExtensionFunction("bookFormViewChangeHandler", handleBookFormViewChange);
8
+ // registerExtensionFunction("bookFormViewBlurHandler", handleBookFormViewBlur);
@@ -13,7 +13,7 @@
13
13
  "@codemirror/theme-one-dark": "^6.1.2",
14
14
  "@hello-pangea/dnd": "^17.0.0",
15
15
  "@reduxjs/toolkit": "^1.9.5",
16
- "@solidstarters/solid-core-ui": "^1.1.165",
16
+ "@solidstarters/solid-core-ui": "^1.1.169",
17
17
  "@uiw/react-codemirror": "^4.23.3",
18
18
  "axios": "^1.7.2",
19
19
  "bcryptjs": "^2.4.3",
@@ -1001,9 +1001,9 @@
1001
1001
  }
1002
1002
  },
1003
1003
  "node_modules/@solidstarters/solid-core-ui": {
1004
- "version": "1.1.165",
1005
- "resolved": "https://registry.npmjs.org/@solidstarters/solid-core-ui/-/solid-core-ui-1.1.165.tgz",
1006
- "integrity": "sha512-NX6rUvCkPINsUItLFwD8CeqZHgv8wzrpt0uvtA/WR0tJK3lwC+1p0GUPguwjXf4DNBRwJUdwSfunf1/Uq2oSwQ==",
1004
+ "version": "1.1.169",
1005
+ "resolved": "https://registry.npmjs.org/@solidstarters/solid-core-ui/-/solid-core-ui-1.1.169.tgz",
1006
+ "integrity": "sha512-ONXEfRYf8c67LBcEsAyIcDP7bJ1kVhiTwCV9iwmOrFE+SEwZ91UQ8PaQ7o5h8l6twYH05k42agmK5M7jn3dvww==",
1007
1007
  "license": "ISC",
1008
1008
  "dependencies": {
1009
1009
  "@faker-js/faker": "^9.9.0",
@@ -15,7 +15,7 @@
15
15
  "@codemirror/theme-one-dark": "^6.1.2",
16
16
  "@hello-pangea/dnd": "^17.0.0",
17
17
  "@reduxjs/toolkit": "^1.9.5",
18
- "@solidstarters/solid-core-ui": "^1.1.165",
18
+ "@solidstarters/solid-core-ui": "^1.1.169",
19
19
  "@uiw/react-codemirror": "^4.23.3",
20
20
  "axios": "^1.7.2",
21
21
  "bcryptjs": "^2.4.3",
@@ -1,90 +1,34 @@
1
1
  // 'use client';
2
2
  // @ts-nocheck
3
3
  import { configureStore } from "@reduxjs/toolkit";
4
- import { authApi } from "@solidstarters/solid-core-ui";
5
- import { fieldsApi } from "@solidstarters/solid-core-ui";
6
- import { mediaApi } from "@solidstarters/solid-core-ui";
7
- import { mediaStorageProviderApi } from "@solidstarters/solid-core-ui";
8
- import { modelsApi } from "@solidstarters/solid-core-ui";
9
- import { modulesApi } from "@solidstarters/solid-core-ui";
10
- import { solidActionsApi } from "@solidstarters/solid-core-ui";
11
- import { createSolidEntityApi } from "@solidstarters/solid-core-ui";
12
- import { solidMenusApi } from "@solidstarters/solid-core-ui";
13
- import { solidViewsApi } from "@solidstarters/solid-core-ui";
14
- import { userApi } from "@solidstarters/solid-core-ui";
15
- import { authenticationReducer } from "@solidstarters/solid-core-ui";
16
- import { dataViewReducer } from "@solidstarters/solid-core-ui";
17
- import { navbarReducer } from '@solidstarters/solid-core-ui';
18
- import { popupReducer } from '@solidstarters/solid-core-ui';
19
- import { themeReducer } from '@solidstarters/solid-core-ui';
20
- import { userReducer } from "@solidstarters/solid-core-ui";
21
- import { solidSettingsApi } from "@solidstarters/solid-core-ui";
22
- import { roleApi } from "@solidstarters/solid-core-ui";
23
- import { exportTemplateApi } from "@solidstarters/solid-core-ui";
24
- import { solidChatterMessageApi } from "@solidstarters/solid-core-ui";
25
- import { solidServiceApi } from "@solidstarters/solid-core-ui";
26
- import { importTransactionApi } from "@solidstarters/solid-core-ui";
27
- import {dashboardApi, dashboardQuestionApi, aiInteractionApi} from "@solidstarters/solid-core-ui";
4
+ import {
5
+ solidApiSlices,
6
+ solidReducers,
7
+ createSolidEntityApi
8
+ } from "@solidstarters/solid-core-ui";
28
9
 
29
10
  export function initializeStore(entities: string[] = []) {
30
11
 
31
12
  const reducers = {
32
- authentication: authenticationReducer,
33
- auth: userReducer,
34
- [authApi.reducerPath]: authApi.reducer,
35
- [userApi.reducerPath]: userApi.reducer,
36
- [modulesApi.reducerPath]: modulesApi.reducer,
37
- [modelsApi.reducerPath]: modelsApi.reducer,
38
- [fieldsApi.reducerPath]: fieldsApi.reducer,
39
- [mediaStorageProviderApi.reducerPath]: mediaStorageProviderApi.reducer,
40
- [mediaApi.reducerPath]: mediaApi.reducer,
41
- [solidViewsApi.reducerPath]: solidViewsApi.reducer,
42
- [solidActionsApi.reducerPath]: solidActionsApi.reducer,
43
- [solidMenusApi.reducerPath]: solidMenusApi.reducer,
44
- [solidSettingsApi.reducerPath]: solidSettingsApi.reducer,
45
- [roleApi.reducerPath]: roleApi.reducer,
46
- [solidChatterMessageApi.reducerPath]: solidChatterMessageApi.reducer,
47
- [exportTemplateApi.reducerPath]:exportTemplateApi.reducer,
48
- [solidServiceApi.reducerPath]: solidServiceApi.reducer,
49
- [importTransactionApi.reducerPath]: importTransactionApi.reducer,
50
- [dashboardApi.reducerPath]: dashboardApi.reducer,
51
- [dashboardQuestionApi.reducerPath]: dashboardQuestionApi.reducer,
52
- [aiInteractionApi.reducerPath]: aiInteractionApi.reducer,
53
-
54
- // This has now become dynamica and is added using the for loop below
55
- // [solidCountryApi.reducerPath]: solidCountryApi.reducer,
56
-
57
- theme: themeReducer,
58
- popup: popupReducer,
59
- navbarState: navbarReducer,
60
- dataViewState: dataViewReducer
13
+ ...solidReducers,
14
+ ...Object.fromEntries(
15
+ solidApiSlices.map(api => [api.reducerPath, api.reducer])
16
+ ),
17
+ //add anditional custom api slice
18
+ //eg. [customImportTransactionApi.reducerPath]: customImportTransactionApi.reducer,
19
+
20
+ // Add any additional reducers here
21
+ // eg.theme: themeReducer,
61
22
  };
62
23
 
63
- const middlewares = [
64
- authApi.middleware,
65
- userApi.middleware,
66
- modulesApi.middleware,
67
- modelsApi.middleware,
68
- fieldsApi.middleware,
69
- mediaStorageProviderApi.middleware,
70
- mediaApi.middleware,
71
- solidViewsApi.middleware,
72
- solidActionsApi.middleware,
73
- solidMenusApi.middleware,
74
- solidSettingsApi.middleware,
75
- roleApi.middleware,
76
- solidChatterMessageApi.middleware,
77
- exportTemplateApi.middleware,
78
- solidServiceApi.middleware,
79
- importTransactionApi.middleware,
80
- dashboardApi.middleware,
81
- dashboardQuestionApi.middleware,
82
- aiInteractionApi.middleware,
83
24
 
84
- // This has now become dynamica and is added using the for loop below
85
- // solidCountryApi.middleware
25
+ const middlewares = [
26
+ ...solidApiSlices.map(api => api.middleware),
27
+ //add any additional custom middlewares here
28
+ //eg. customImportTransactionApi.middleware,
86
29
  ];
87
30
 
31
+
88
32
  for (let i = 0; i < entities.length; i++) {
89
33
  const entity = entities[i];
90
34
 
@@ -105,4 +49,4 @@ export function initializeStore(entities: string[] = []) {
105
49
  }
106
50
 
107
51
  // export type RootState = ReturnType<ReturnType<typeof initializeStore>['getState']>;
108
- // export type AppDispatch = ReturnType<typeof initializeStore>['dispatch'];
52
+ // export type AppDispatch = ReturnType<typeof initializeStore>['dispatch']
@@ -1,63 +0,0 @@
1
- "use client";
2
-
3
- import Image from "next/image";
4
- import { useEffect, useState } from "react";
5
- import { SolidFormWidgetProps } from '@solidstarters/solid-core-ui';
6
-
7
- const BookSimilarTitles = ({ formData, field, fieldsMetadata, viewMetadata }: SolidFormWidgetProps) => {
8
- const [books, setBooks] = useState<any[]>([]);
9
-
10
- useEffect(() => {
11
-
12
- const myHeaders = new Headers();
13
- myHeaders.append("Authorization", "AIzaSyDxskVYoHM7b1sY_6_9SHb471Ue_CC1Yh8");
14
-
15
- const requestOptions = {
16
- method: "GET",
17
- headers: myHeaders
18
- };
19
-
20
- async function fetchBookData() {
21
- try {
22
- const title = formData['title'];
23
- console.log(`Fetching similar titles for ${title}`);
24
-
25
- const endpoint = `https://www.googleapis.com/books/v1/volumes?q=${title}&maxResults=40`;
26
- const response = await fetch(encodeURI(endpoint), requestOptions);
27
- const result = await response.json();
28
- console.log(`Loaded similar titles from Google Books API`, result);
29
- setBooks(result.items);
30
- } catch (error) {
31
- console.error(error);
32
- }
33
- }
34
-
35
- // Call the function
36
- fetchBookData();
37
- }, []);
38
-
39
- return (
40
- <>
41
- <div className="flex justify-center">
42
- <div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-12 gap-4" style={{ minWidth: "30vw" }}>
43
- {books.map((book, index) => (
44
- <div key={index} className=" h-32 relative" style={{ width: "100px", height: "100px" }}>
45
- <a target="_blank" href={book.volumeInfo.infoLink}>
46
- <Image
47
- src={book.volumeInfo.imageLinks?.thumbnail}
48
- alt={`Book description: ${book.volumeInfo.description}`}
49
- layout="fill"
50
- objectFit="cover"
51
- className="rounded"
52
- unoptimized={true}
53
- />
54
- </a>
55
- </div>
56
- ))}
57
- </div>
58
- </div>
59
- </>
60
- );
61
- };
62
-
63
- export default BookSimilarTitles
@@ -1,132 +0,0 @@
1
- "use client";
2
-
3
- import Image from "next/image";
4
- import { useEffect, useState } from "react";
5
-
6
- const ImageGrid12Column = () => {
7
- const [images, setImages] = useState<string[]>([]);
8
-
9
- useEffect(() => {
10
- setImages([
11
- "https://randomuser.me/api/portraits/women/29.jpg",
12
- "https://randomuser.me/api/portraits/women/29.jpg",
13
- "https://randomuser.me/api/portraits/women/31.jpg",
14
- "https://randomuser.me/api/portraits/women/44.jpg",
15
- "https://randomuser.me/api/portraits/women/81.jpg",
16
- "https://randomuser.me/api/portraits/women/80.jpg",
17
- "https://randomuser.me/api/portraits/women/64.jpg",
18
- "https://randomuser.me/api/portraits/women/61.jpg",
19
- "https://randomuser.me/api/portraits/women/28.jpg",
20
- "https://randomuser.me/api/portraits/women/40.jpg",
21
- "https://randomuser.me/api/portraits/women/91.jpg",
22
- "https://randomuser.me/api/portraits/women/63.jpg",
23
- "https://randomuser.me/api/portraits/women/73.jpg",
24
- "https://randomuser.me/api/portraits/women/6.jpg",
25
- "https://randomuser.me/api/portraits/women/30.jpg",
26
- "https://randomuser.me/api/portraits/women/42.jpg",
27
- "https://randomuser.me/api/portraits/women/78.jpg",
28
- "https://randomuser.me/api/portraits/women/14.jpg",
29
- "https://randomuser.me/api/portraits/women/52.jpg",
30
- "https://randomuser.me/api/portraits/women/55.jpg",
31
- "https://randomuser.me/api/portraits/women/2.jpg",
32
- "https://randomuser.me/api/portraits/women/75.jpg",
33
- "https://randomuser.me/api/portraits/women/24.jpg",
34
- "https://randomuser.me/api/portraits/women/15.jpg",
35
- "https://randomuser.me/api/portraits/women/48.jpg",
36
- "https://randomuser.me/api/portraits/women/54.jpg",
37
- "https://randomuser.me/api/portraits/women/47.jpg",
38
- "https://randomuser.me/api/portraits/women/43.jpg",
39
- "https://randomuser.me/api/portraits/women/39.jpg",
40
- "https://randomuser.me/api/portraits/women/57.jpg",
41
- "https://randomuser.me/api/portraits/women/37.jpg",
42
- "https://randomuser.me/api/portraits/women/22.jpg",
43
- "https://randomuser.me/api/portraits/women/85.jpg",
44
- "https://randomuser.me/api/portraits/women/69.jpg",
45
- "https://randomuser.me/api/portraits/women/90.jpg",
46
- "https://randomuser.me/api/portraits/women/18.jpg",
47
- "https://randomuser.me/api/portraits/women/8.jpg",
48
- "https://randomuser.me/api/portraits/women/87.jpg",
49
- "https://randomuser.me/api/portraits/women/82.jpg",
50
- "https://randomuser.me/api/portraits/women/71.jpg",
51
- "https://randomuser.me/api/portraits/women/45.jpg",
52
- "https://randomuser.me/api/portraits/women/12.jpg",
53
- "https://randomuser.me/api/portraits/women/5.jpg",
54
- "https://randomuser.me/api/portraits/women/16.jpg",
55
- "https://randomuser.me/api/portraits/women/84.jpg",
56
- "https://randomuser.me/api/portraits/women/11.jpg",
57
- "https://randomuser.me/api/portraits/women/59.jpg",
58
- "https://randomuser.me/api/portraits/women/19.jpg",
59
- "https://randomuser.me/api/portraits/women/27.jpg",
60
- "https://randomuser.me/api/portraits/women/7.jpg",
61
- "https://randomuser.me/api/portraits/women/49.jpg",
62
- "https://randomuser.me/api/portraits/women/83.jpg",
63
- "https://randomuser.me/api/portraits/women/33.jpg",
64
- "https://randomuser.me/api/portraits/women/3.jpg",
65
- "https://randomuser.me/api/portraits/women/17.jpg",
66
- "https://randomuser.me/api/portraits/women/13.jpg",
67
- "https://randomuser.me/api/portraits/women/77.jpg",
68
- "https://randomuser.me/api/portraits/women/50.jpg",
69
- "https://randomuser.me/api/portraits/women/0.jpg",
70
- "https://randomuser.me/api/portraits/women/67.jpg",
71
- "https://randomuser.me/api/portraits/women/68.jpg",
72
- "https://randomuser.me/api/portraits/women/65.jpg",
73
- "https://randomuser.me/api/portraits/women/66.jpg",
74
- "https://randomuser.me/api/portraits/women/94.jpg",
75
- "https://randomuser.me/api/portraits/women/38.jpg",
76
- "https://randomuser.me/api/portraits/women/88.jpg",
77
- "https://randomuser.me/api/portraits/women/1.jpg",
78
- "https://randomuser.me/api/portraits/women/36.jpg",
79
- "https://randomuser.me/api/portraits/women/20.jpg",
80
- "https://randomuser.me/api/portraits/women/70.jpg",
81
- "https://randomuser.me/api/portraits/women/21.jpg",
82
- "https://randomuser.me/api/portraits/women/34.jpg",
83
- "https://randomuser.me/api/portraits/women/46.jpg",
84
- "https://randomuser.me/api/portraits/women/4.jpg",
85
- "https://randomuser.me/api/portraits/women/58.jpg",
86
- "https://randomuser.me/api/portraits/women/32.jpg",
87
- "https://randomuser.me/api/portraits/women/76.jpg",
88
- "https://randomuser.me/api/portraits/women/9.jpg",
89
- "https://randomuser.me/api/portraits/women/51.jpg",
90
- "https://randomuser.me/api/portraits/women/72.jpg",
91
- "https://randomuser.me/api/portraits/women/89.jpg",
92
- "https://randomuser.me/api/portraits/women/92.jpg",
93
- "https://randomuser.me/api/portraits/women/86.jpg",
94
- "https://randomuser.me/api/portraits/women/35.jpg",
95
- "https://randomuser.me/api/portraits/women/62.jpg",
96
- "https://randomuser.me/api/portraits/women/23.jpg",
97
- "https://randomuser.me/api/portraits/women/53.jpg",
98
- "https://randomuser.me/api/portraits/women/10.jpg",
99
- "https://randomuser.me/api/portraits/women/74.jpg",
100
- "https://randomuser.me/api/portraits/women/79.jpg",
101
- "https://randomuser.me/api/portraits/women/93.jpg",
102
- "https://randomuser.me/api/portraits/women/25.jpg",
103
- "https://randomuser.me/api/portraits/women/26.jpg",
104
- "https://randomuser.me/api/portraits/women/56.jpg",
105
- "https://randomuser.me/api/portraits/women/41.jpg",
106
- "https://randomuser.me/api/portraits/women/60.jpg",
107
- ]);
108
- }, []);
109
-
110
- return (
111
- <>
112
- <div className="flex justify-center">
113
- <div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-12 gap-4" style={{ minWidth: "30vw" }}>
114
- {images.map((src, index) => (
115
- <div key={index} className=" h-32 relative" style={{ width: "100px", height: "100px" }}>
116
- <Image
117
- src={src}
118
- alt={`Image ${index + 1}`}
119
- layout="fill"
120
- objectFit="cover"
121
- className="rounded"
122
- unoptimized={true} // Temporarily bypass Next.js optimization
123
- />
124
- </div>
125
- ))}
126
- </div>
127
- </div>
128
- </>
129
- );
130
- };
131
-
132
- export default ImageGrid12Column
@@ -1,21 +0,0 @@
1
- import { SolidUiEvent, SolidViewLayoutManager } from '@solidstarters/solid-core-ui';
2
-
3
- const handleBookFormViewBlur = (event: SolidUiEvent) => {
4
- console.log(`handleBookFormViewBlur event triggered:`);
5
- console.log(event);
6
-
7
- const { type, modifiedField, formData, viewMetadata, fieldsMetadata } = event;
8
-
9
- // TODO: make an api call to get title & pageCount given the ISBN.
10
- if (modifiedField === 'isbn') {
11
- // return {
12
- // layoutChanged: false,
13
- // dataChanged: true,
14
- // newFormData: {
15
- // title: 'The Oxygen Advantage',
16
- // pageCount: '277',
17
- // },
18
- // }
19
- }
20
- }
21
- export default handleBookFormViewBlur;
@@ -1,42 +0,0 @@
1
- import { SolidUiEvent, SolidViewLayoutManager } from '@solidstarters/solid-core-ui';
2
-
3
- const handleBookFormViewChange = (event: SolidUiEvent) => {
4
- console.log(`handleBookFormViewChange triggered:`);
5
- console.log(event);
6
-
7
- const { type, modifiedField, modifiedFieldValue, formData, viewMetadata, fieldsMetadata } = event;
8
- const layout = viewMetadata.layout;
9
- const model = viewMetadata.model;
10
- const module = viewMetadata.module;
11
- const viewName = viewMetadata.name;
12
-
13
- // handle change to title.
14
- // TODO: here we intend on injecting something in the form context which we will then use to render a message somewhere on the form view.
15
- if (modifiedField === 'title') {
16
- // const title = formData['title'];
17
- const title = modifiedFieldValue;
18
- const layoutManager = new SolidViewLayoutManager(layout);
19
- layoutManager.updateNodeAttributes('page-1-row-1-div-1-div-1-title-custom', { visible: true });
20
- return {
21
- layoutChanged: true,
22
- dataChanged: true,
23
- newFormData: {
24
- ctxtTitleAlphpabetCount: title ? title.length : 0
25
- },
26
- newLayout: layoutManager.getLayout()
27
- }
28
- }
29
-
30
- if (modifiedField === 'enableSeo') {
31
- // const enableSeo = formData['enableSeo'];
32
- // console.log(`Examining enableSeo: `, enableSeo);
33
- const layoutManager = new SolidViewLayoutManager(layout);
34
- layoutManager.updateNodeAttributes('page-4', { visible: (modifiedFieldValue.value === 'yes') });
35
- return {
36
- layoutChanged: true,
37
- newLayout: layoutManager.getLayout(),
38
- dataChanged: false,
39
- }
40
- }
41
- }
42
- export default handleBookFormViewChange;