@bigbinary/neeto-templates-frontend 2.2.3 → 2.2.5
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/README.md +80 -24
- package/dist/CreateTemplateModal.js +3 -2
- package/dist/CreateTemplateModal.js.map +1 -1
- package/dist/TemplateSettings.js +10 -7
- package/dist/TemplateSettings.js.map +1 -1
- package/dist/TemplateTags.js.map +1 -1
- package/dist/cjs/CreateTemplateModal.js +3 -2
- package/dist/cjs/CreateTemplateModal.js.map +1 -1
- package/dist/cjs/TemplateSettings.js +10 -7
- package/dist/cjs/TemplateSettings.js.map +1 -1
- package/dist/cjs/TemplateTags.js.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/query-BGtVO_Eu.js.map +1 -1
- package/dist/query-De4rM-Up.js.map +1 -1
- package/dist/useTemplatesApi-6OsWJwNM.js +119 -0
- package/dist/{useTemplatesApi-xtNazLh_.js.map → useTemplatesApi-6OsWJwNM.js.map} +1 -1
- package/dist/useTemplatesApi-Biz_h1BN.js +114 -0
- package/dist/{useTemplatesApi-DTKxYV5U.js.map → useTemplatesApi-Biz_h1BN.js.map} +1 -1
- package/package.json +56 -54
- package/types.d.ts +1 -1
- package/dist/useTemplatesApi-DTKxYV5U.js +0 -114
- package/dist/useTemplatesApi-xtNazLh_.js +0 -119
package/README.md
CHANGED
|
@@ -1,25 +1,36 @@
|
|
|
1
1
|
# neeto-templates-nano
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
The `neeto-templates-nano` facilitates the administration of templates and
|
|
4
|
+
template settings within neeto applications. The nano exports the
|
|
5
|
+
`@bigbinary/neeto-templates-frontend` NPM package and `neeto-templates-engine`
|
|
6
|
+
Rails engine for development.
|
|
3
7
|
|
|
4
8
|
# Contents
|
|
9
|
+
|
|
5
10
|
1. [Development with Host Application](#development-with-host-application)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
|
|
12
|
+
- [Engine](#engine)
|
|
13
|
+
- [Installation](#installation)
|
|
14
|
+
- [Usage](#usage)
|
|
15
|
+
- [Frontend package](#frontend-package)
|
|
16
|
+
- [Installation](#installation-1)
|
|
17
|
+
- [Instructions for development](#instructions-for-development)
|
|
18
|
+
- [Components](#components)
|
|
19
|
+
- [Other Functions](#other-functions)
|
|
14
20
|
|
|
15
21
|
2. [Instructions for Publishing](#instructions-for-publishing)
|
|
16
22
|
|
|
17
23
|
# Development with Host Application
|
|
24
|
+
|
|
18
25
|
## Engine
|
|
19
|
-
|
|
26
|
+
|
|
27
|
+
The engine is used to manage templates and template settings across neeto
|
|
28
|
+
products.
|
|
20
29
|
|
|
21
30
|
### Installation
|
|
31
|
+
|
|
22
32
|
1. Add this line to your application's Gemfile:
|
|
33
|
+
|
|
23
34
|
```ruby
|
|
24
35
|
source "NEETO_GEM_SERVER_URL" do
|
|
25
36
|
# ..existing gems
|
|
@@ -27,15 +38,23 @@ The engine is used to manage templates and template settings across neeto produc
|
|
|
27
38
|
gem 'neeto-templates-engine'
|
|
28
39
|
end
|
|
29
40
|
```
|
|
41
|
+
|
|
30
42
|
2. And then execute:
|
|
31
43
|
```shell
|
|
32
44
|
bundle install
|
|
33
45
|
```
|
|
34
|
-
3. Run the command to bring in all migrations, routes, models, associations, and
|
|
46
|
+
3. Run the command to bring in all migrations, routes, models, associations, and
|
|
47
|
+
controllers required from the engine to the host application:
|
|
48
|
+
|
|
35
49
|
```shell
|
|
36
50
|
bundle exec rails neeto_templates_engine:install
|
|
37
51
|
```
|
|
38
|
-
|
|
52
|
+
|
|
53
|
+
This will prompt the user to enter the resource model name. The resource
|
|
54
|
+
model name is the name of the model that will be used as a template. For
|
|
55
|
+
example, if the resource model name is `Form`, this will dynamically generate
|
|
56
|
+
all necessary associations, routes, and controllers required for the
|
|
57
|
+
`neeto_templates_engine` to work with the `Form` model.
|
|
39
58
|
|
|
40
59
|
> **_Note:_** _You might need to re-arrange the associations statements which
|
|
41
60
|
> are normally inserted to top most lines of the file, to satisfy the Rails
|
|
@@ -48,17 +67,24 @@ The engine is used to manage templates and template settings across neeto produc
|
|
|
48
67
|
|
|
49
68
|
### Usage
|
|
50
69
|
|
|
51
|
-
The `neeto_templates_engine` whitelists the `templates` subdomain for creation
|
|
70
|
+
The `neeto_templates_engine` whitelists the `templates` subdomain for creation
|
|
71
|
+
of the templates. All the entities (sites/forms) created in the `templates`
|
|
72
|
+
subdomain are fetched as templates in the other subdomains.
|
|
52
73
|
|
|
53
74
|
You can learn more about the setup and usage here:
|
|
75
|
+
|
|
54
76
|
1. [Models](./docs/engine/models.md)
|
|
55
77
|
2. [Controllers](./docs/engine/controllers.md)
|
|
56
78
|
|
|
57
79
|
## Frontend package
|
|
58
80
|
|
|
59
|
-
To seamlessly integrate `NeetoTemplatesNano` into your host app, it iss
|
|
81
|
+
To seamlessly integrate `NeetoTemplatesNano` into your host app, it iss
|
|
82
|
+
essential to whitelist the `templates` subdomain. The entities built under this
|
|
83
|
+
subdomain will be the listed as templates in the `CreateTemplateModal`
|
|
84
|
+
component.
|
|
60
85
|
|
|
61
86
|
### Installation
|
|
87
|
+
|
|
62
88
|
Install the latest `NeetoTemplatesNano` package using the below command:
|
|
63
89
|
|
|
64
90
|
```shell
|
|
@@ -66,21 +92,31 @@ yarn add @bigbinary/neeto-templates-frontend
|
|
|
66
92
|
```
|
|
67
93
|
|
|
68
94
|
### Instructions for development
|
|
69
|
-
|
|
95
|
+
|
|
96
|
+
Check the
|
|
97
|
+
[Frontend package development guide](https://neeto-engineering.neetokb.com/p/a-d34cb4b0)
|
|
98
|
+
for step-by-step instructions to develop the
|
|
70
99
|
|
|
71
100
|
### Components
|
|
101
|
+
|
|
72
102
|
#### `CreateTemplateModal` ([source code](https://github.com/bigbinary/neeto-templates-nano/blob/aec3368475c252284a25820c08ff151c1cdd254c/app/javascript/src/components/CreateTemplateModal/index.jsx))
|
|
73
|
-
|
|
103
|
+
|
|
104
|
+
The CreateTemplateModal component is a React component used for creating and
|
|
105
|
+
previewing templates within a web application. It provides a user interface for
|
|
106
|
+
users to create templates and view their details.
|
|
74
107
|
|
|
75
108
|
##### Props
|
|
109
|
+
|
|
76
110
|
- `isOpen`: A boolean indicating whether the modal is open or closed.
|
|
77
111
|
- `onClose`: A function to close the modal.
|
|
78
|
-
- `isCreating`: A boolean flag indicating whether a template is currently being
|
|
112
|
+
- `isCreating`: A boolean flag indicating whether a template is currently being
|
|
113
|
+
created.
|
|
79
114
|
- `refetchResource`: A function to refetch template resources.
|
|
80
115
|
- `onCreate`: A function to handle template creation.
|
|
81
116
|
- `afterCreate`: A function to perform actions after template creation.
|
|
82
117
|
|
|
83
118
|
##### Usage
|
|
119
|
+
|
|
84
120
|
```jsx
|
|
85
121
|
import React from "react";
|
|
86
122
|
|
|
@@ -101,14 +137,23 @@ const App = () => {
|
|
|
101
137
|
```
|
|
102
138
|
|
|
103
139
|
#### `TemplateSettings` ([source code](https://github.com/bigbinary/neeto-templates-nano/blob/aec3368475c252284a25820c08ff151c1cdd254c/app/javascript/src/components/TemplateSettings/index.jsx))
|
|
104
|
-
|
|
140
|
+
|
|
141
|
+
The TemplateSettings component is a React component used for configuring and
|
|
142
|
+
editing template settings within a web application. It provides a user interface
|
|
143
|
+
for users to customize various aspects of a template, including its image, tags,
|
|
144
|
+
and preview.
|
|
105
145
|
|
|
106
146
|
##### Props
|
|
107
|
-
|
|
147
|
+
|
|
148
|
+
- `onCancelTemplatePreview`: A function to handle canceling the template
|
|
149
|
+
preview.
|
|
108
150
|
- `breadcrumbs`: An array of breadcrumb items for navigation.
|
|
109
151
|
- `className`: A CSS class name for styling.
|
|
152
|
+
- `resourceId`: A string (eg: formId, siteId), to specify the route of the
|
|
153
|
+
entity. It is 'id' by default.
|
|
110
154
|
|
|
111
155
|
##### Usage
|
|
156
|
+
|
|
112
157
|
```jsx
|
|
113
158
|
import React from "react";
|
|
114
159
|
|
|
@@ -130,17 +175,24 @@ const App = () => {
|
|
|
130
175
|
};
|
|
131
176
|
```
|
|
132
177
|
|
|
133
|
-
Use the `PrivateRoute` component to conditionally render this component only for
|
|
178
|
+
Use the `PrivateRoute` component to conditionally render this component only for
|
|
179
|
+
the `templates` subdomain.
|
|
134
180
|
|
|
135
181
|
#### `TemplateTags` ([source code](https://github.com/bigbinary/neeto-templates-nano/blob/aec3368475c252284a25820c08ff151c1cdd254c/app/javascript/src/components/TemplateTags/index.jsx))
|
|
136
|
-
|
|
182
|
+
|
|
183
|
+
The TemplateTags component is a React component used for displaying and managing
|
|
184
|
+
tags within a web application. It provides a user interface for users to add,
|
|
185
|
+
remove, edit and merge tags.
|
|
137
186
|
|
|
138
187
|
##### Props
|
|
188
|
+
|
|
139
189
|
- `breadcrumbs`: An array of breadcrumb items for navigation.
|
|
140
|
-
- `tagsPath`: A string representing the path to the frontend route for tags
|
|
190
|
+
- `tagsPath`: A string representing the path to the frontend route for tags
|
|
191
|
+
page.
|
|
141
192
|
- `otherProps`: Additional props to be passed to the component.
|
|
142
193
|
|
|
143
194
|
##### Usage
|
|
195
|
+
|
|
144
196
|
```jsx
|
|
145
197
|
import React from "react";
|
|
146
198
|
import { TemplateTags } from "@bigbinary/neeto-templates-frontend";
|
|
@@ -160,8 +212,12 @@ The TemplateTags component is a React component used for displaying and managing
|
|
|
160
212
|
);
|
|
161
213
|
};
|
|
162
214
|
```
|
|
163
|
-
|
|
215
|
+
|
|
216
|
+
Use the `PrivateRoute` component (no need to add exact) to conditionally
|
|
217
|
+
render this component only for the `templates` subdomain.
|
|
164
218
|
|
|
165
219
|
# Instructions for Publishing
|
|
166
220
|
|
|
167
|
-
Consult the
|
|
221
|
+
Consult the
|
|
222
|
+
[building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages)
|
|
223
|
+
guide for details on how to publish.
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { useState, useRef, useCallback, useEffect, createElement } from 'react';
|
|
4
4
|
import { noop } from '@bigbinary/neeto-cist';
|
|
5
5
|
import Modal from '@bigbinary/neetoui/Modal';
|
|
6
|
-
import { b as useFetchTemplates, c as useCreateTemplate } from './useTemplatesApi-
|
|
6
|
+
import { b as useFetchTemplates, c as useCreateTemplate } from './useTemplatesApi-Biz_h1BN.js';
|
|
7
7
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
8
8
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
9
9
|
import Search from '@bigbinary/neeto-molecules/Search';
|
|
@@ -12,6 +12,7 @@ import Typography from '@bigbinary/neetoui/Typography';
|
|
|
12
12
|
import Accordion from '@bigbinary/neetoui/Accordion';
|
|
13
13
|
import { useTranslation } from 'react-i18next';
|
|
14
14
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
15
|
+
import { CLOUDFRONT_BASE_URL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
15
16
|
import classnames from 'classnames';
|
|
16
17
|
import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/utils';
|
|
17
18
|
import { useBreakpoints } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
@@ -316,7 +317,7 @@ var Card = function Card(_ref) {
|
|
|
316
317
|
children: /*#__PURE__*/jsx("img", {
|
|
317
318
|
className: "neeto-template__image",
|
|
318
319
|
"data-cy": "template-thumbnail-image",
|
|
319
|
-
src: template.imageUrl || "
|
|
320
|
+
src: template.imageUrl || "".concat(CLOUDFRONT_BASE_URL, "/images/neetoForm/default-form-template.svg")
|
|
320
321
|
})
|
|
321
322
|
}), /*#__PURE__*/jsx("div", {
|
|
322
323
|
className: "neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-3 py-1.5",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateTemplateModal.js","sources":["../app/javascript/src/components/CreateTemplateModal/constants.js","../node_modules/react-intersection-observer-hook/dist/react-intersection-observer-hook.esm.js","../node_modules/react-infinite-scroll-hook/dist/react-infinite-scroll-hook.esm.js","../app/javascript/src/assets/dashboard/custom.svg","../app/javascript/src/components/CreateTemplateModal/BlankCard.jsx","../app/javascript/src/components/CreateTemplateModal/Card.jsx","../app/javascript/src/components/CreateTemplateModal/CategoryItem.jsx","../app/javascript/src/components/CreateTemplateModal/List.jsx","../app/javascript/src/components/CreateTemplateModal/Preview.jsx","../app/javascript/src/components/CreateTemplateModal/index.jsx"],"sourcesContent":["export const TEMPLATE_SCREENS = { LIST: \"List\", PREVIEW: \"Preview\" };\n\nexport const DEFAULT_CATEGORY = { id: \"all\", name: \"All\" };\n\nexport const INFINITE_SCROLL_DELAY = 500;\n\nexport const MENU_ITEMS = { CREATE: \"create\", PREVIEW: \"preview\" };\n\nexport const RESPONSIVE_DEVICES = {\n DESKTOP: \"desktop\",\n TABLET: \"tablet\",\n MOBILE: \"mobile\",\n};\n","import { useRef, useState, useCallback } from 'react';\n\nfunction createObserverCache() {\n var cachesByRoot = new Map();\n\n function getObserver(_ref) {\n var root = _ref.root,\n rootMargin = _ref.rootMargin,\n threshold = _ref.threshold;\n var cacheByRoot = cachesByRoot.get(root);\n\n if (!cacheByRoot) {\n cacheByRoot = new Map();\n cachesByRoot.set(root, cacheByRoot);\n }\n\n var cacheKey = JSON.stringify({\n rootMargin: rootMargin,\n threshold: threshold\n });\n var cachedObserver = cacheByRoot.get(cacheKey);\n\n if (!cachedObserver) {\n var entryCallbacks = new Map();\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var callback = entryCallbacks.get(entry.target);\n callback == null ? void 0 : callback(entry);\n });\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold\n });\n cachedObserver = {\n observer: observer,\n entryCallbacks: entryCallbacks\n };\n cacheByRoot.set(cacheKey, cachedObserver);\n }\n\n return {\n observe: function observe(node, callback) {\n var _cachedObserver, _cachedObserver2;\n\n (_cachedObserver = cachedObserver) == null ? void 0 : _cachedObserver.entryCallbacks.set(node, callback);\n (_cachedObserver2 = cachedObserver) == null ? void 0 : _cachedObserver2.observer.observe(node);\n },\n unobserve: function unobserve(node) {\n var _cachedObserver3, _cachedObserver4;\n\n (_cachedObserver3 = cachedObserver) == null ? void 0 : _cachedObserver3.entryCallbacks[\"delete\"](node);\n (_cachedObserver4 = cachedObserver) == null ? void 0 : _cachedObserver4.observer.unobserve(node);\n }\n };\n }\n\n return {\n getObserver: getObserver\n };\n}\n\nvar DEFAULT_ROOT_MARGIN = '0px';\nvar DEFAULT_THRESHOLD = [0];\nvar observerCache = /*#__PURE__*/createObserverCache(); // For more info:\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n\nfunction useIntersectionObserver(args) {\n var _args$rootMargin, _args$threshold;\n\n var rootMargin = (_args$rootMargin = args == null ? void 0 : args.rootMargin) != null ? _args$rootMargin : DEFAULT_ROOT_MARGIN;\n var threshold = (_args$threshold = args == null ? void 0 : args.threshold) != null ? _args$threshold : DEFAULT_THRESHOLD;\n var nodeRef = useRef(null);\n var rootRef = useRef(null);\n var observerRef = useRef(null);\n\n var _useState = useState(),\n entry = _useState[0],\n setEntry = _useState[1];\n\n var observe = useCallback(function () {\n var node = nodeRef.current;\n\n if (!node) {\n setEntry(undefined);\n return;\n }\n\n var observer = observerCache.getObserver({\n root: rootRef.current,\n rootMargin: rootMargin,\n threshold: threshold\n });\n observer.observe(node, function (observedEntry) {\n setEntry(observedEntry);\n });\n observerRef.current = observer;\n }, [rootMargin, threshold]);\n var unobserve = useCallback(function () {\n var currentObserver = observerRef.current;\n var node = nodeRef.current;\n\n if (node) {\n currentObserver == null ? void 0 : currentObserver.unobserve(node);\n }\n\n observerRef.current = null;\n }, []); // React will call the ref callback with the DOM element when the component mounts,\n // and call it with null when it unmounts.\n // So, we don't need an useEffect etc to unobserve nodes.\n // When nodeRef.current is null, it will be unobserved and observe function\n // won't do anything.\n\n var refCallback = useCallback(function (node) {\n unobserve();\n nodeRef.current = node;\n observe();\n }, [observe, unobserve]);\n var rootRefCallback = useCallback(function (rootNode) {\n unobserve();\n rootRef.current = rootNode;\n observe();\n }, [observe, unobserve]);\n return [refCallback, {\n entry: entry,\n rootRef: rootRefCallback\n }];\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction useTrackVisibility(args) {\n var _result$entry;\n\n var _useIntersectionObser = useIntersectionObserver(args),\n ref = _useIntersectionObser[0],\n result = _useIntersectionObser[1];\n\n var isVisible = Boolean((_result$entry = result.entry) == null ? void 0 : _result$entry.isIntersecting);\n\n var _useState = useState(isVisible),\n wasEverVisible = _useState[0],\n setWasEverVisible = _useState[1];\n\n if (isVisible && !wasEverVisible) {\n setWasEverVisible(true);\n }\n\n return [ref, _extends({}, result, {\n isVisible: isVisible,\n wasEverVisible: wasEverVisible\n })];\n}\n\nexport { useIntersectionObserver, useTrackVisibility };\n//# sourceMappingURL=react-intersection-observer-hook.esm.js.map\n","import { useEffect } from 'react';\nimport { useTrackVisibility } from 'react-intersection-observer-hook';\n\nvar DEFAULT_DELAY_IN_MS = 100;\n\nfunction useInfiniteScroll(_ref) {\n var loading = _ref.loading,\n hasNextPage = _ref.hasNextPage,\n onLoadMore = _ref.onLoadMore,\n rootMargin = _ref.rootMargin,\n disabled = _ref.disabled,\n _ref$delayInMs = _ref.delayInMs,\n delayInMs = _ref$delayInMs === void 0 ? DEFAULT_DELAY_IN_MS : _ref$delayInMs;\n\n var _useTrackVisibility = useTrackVisibility({\n rootMargin: rootMargin\n }),\n ref = _useTrackVisibility[0],\n _useTrackVisibility$ = _useTrackVisibility[1],\n rootRef = _useTrackVisibility$.rootRef,\n isVisible = _useTrackVisibility$.isVisible;\n\n var shouldLoadMore = !disabled && !loading && isVisible && hasNextPage; // eslint-disable-next-line consistent-return\n\n useEffect(function () {\n if (shouldLoadMore) {\n // When we trigger 'onLoadMore' and new items are added to the list,\n // right before they become rendered on the screen, 'loading' becomes false\n // and 'isVisible' can be true for a brief time, based on the scroll position.\n // So, it triggers 'onLoadMore' just after the first one is finished.\n // We use a small delay here to prevent this kind of situations.\n // It can be configured by hook args.\n var timer = setTimeout(function () {\n onLoadMore();\n }, delayInMs);\n return function () {\n clearTimeout(timer);\n };\n }\n }, [onLoadMore, shouldLoadMore, delayInMs]);\n return [ref, {\n rootRef: rootRef\n }];\n}\n\nexport default useInfiniteScroll;\n//# sourceMappingURL=react-infinite-scroll-hook.esm.js.map\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"46\" height=\"46\" fill=\"none\" viewBox=\"0 0 46 46\"><rect width=\"40\" height=\"40\" x=\"3\" y=\"2\" fill=\"#008068\" rx=\"2\"/><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M23.75 16C23.75 15.5858 23.4142 15.25 23 15.25C22.5858 15.25 22.25 15.5858 22.25 16V21.25H17C16.5858 21.25 16.25 21.5858 16.25 22C16.25 22.4142 16.5858 22.75 17 22.75H22.25V28C22.25 28.4142 22.5858 28.75 23 28.75C23.4142 28.75 23.75 28.4142 23.75 28V22.75H29C29.4142 22.75 29.75 22.4142 29.75 22C29.75 21.5858 29.4142 21.25 29 21.25H23.75V16Z\" clip-rule=\"evenodd\"/></svg>\n","import { noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nconst BlankCard = ({\n icon: Icon,\n title,\n description,\n onClick = noop,\n disabled = false,\n}) => (\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white hover:neeto-ui-bg-white neeto-ui-border-primary-500 flex cursor-pointer flex-col items-center justify-center border border-dashed p-6 outline-none transition-all duration-300 ease-in-out hover:border-solid focus:border-solid\"\n data-cy=\"start-from-scratch-button\"\n tabIndex={0}\n onClick={!disabled ? onClick : noop}\n >\n <div className=\"neeto-ui-text-primary-500 mb-4\">\n <Icon size={40} />\n </div>\n <Typography\n className=\"text-center\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n lineHeight=\"leading-4\"\n style=\"body3\"\n >\n {description}\n </Typography>\n </div>\n);\n\nexport default BlankCard;\n","import { Typography } from \"neetoui\";\n\nconst Card = ({ template, onClick }) => (\n <div\n {...{ onClick }}\n className=\"neeto-template neeto-template-thumbnail neeto-ui-bg-white neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border outline-none transition-colors duration-300 ease-in-out\"\n data-cy=\"template-card\"\n tabIndex={0}\n >\n <div className=\"neeto-template__header relative overflow-hidden\">\n <img\n className=\"neeto-template__image\"\n data-cy=\"template-thumbnail-image\"\n src={\n template.imageUrl ||\n \"https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg\"\n }\n />\n </div>\n <div className=\"neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-3 py-1.5\">\n <Typography\n className=\"neeto-template-thumbnail__title line-clamp-2\"\n data-cy=\"template-card-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n >\n {template.title}\n </Typography>\n </div>\n </div>\n);\n\nexport default Card;\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\n\nconst CategoryItem = ({ label, count, isActive, setCurrentCategory }) => (\n <button\n data-cy={`category-${joinHyphenCase(label)}`}\n tabIndex={0}\n className={classnames(\n \"neeto-ui-rounded-lg outline-none flex w-full items-center justify-between gap-2 border border-solid px-3 py-2 text-sm font-medium leading-4 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-700 hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 border-transparent\":\n !isActive,\n \"neeto-ui-text-gray-800 neeto-ui-bg-white neeto-ui-border-gray-300 focus:neeto-ui-border-gray-500\":\n isActive,\n }\n )}\n onClick={setCurrentCategory}\n >\n <span>{label}</span>\n <span>{count}</span>\n </button>\n);\n\nexport default CategoryItem;\n","import { useState } from \"react\";\n\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography, Accordion } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport useInfiniteScroll from \"react-infinite-scroll-hook\";\n\nimport CustomSVG from \"assets/dashboard/custom\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport BlankCard from \"./BlankCard\";\nimport Card from \"./Card\";\nimport CategoryItem from \"./CategoryItem\";\nimport {\n DEFAULT_CATEGORY,\n INFINITE_SCROLL_DELAY,\n TEMPLATE_SCREENS,\n} from \"./constants\";\n\nconst List = ({\n setCurrentScreen,\n setSelectedTemplate,\n onCreate,\n isCreating,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const [currentCategory, setCurrentCategory] = useState(DEFAULT_CATEGORY);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const {\n hasNextPage = false,\n fetchNextPage,\n isLoading: isTemplatesLoading,\n data = {},\n } = useFetchTemplates({ searchTerm, category: currentCategory });\n\n const [sentryRef, { rootRef }] = useInfiniteScroll({\n loading: isTemplatesLoading,\n hasNextPage,\n onLoadMore: fetchNextPage,\n rootMargin: \"0px 0px 700px 0px\",\n delayInMs: INFINITE_SCROLL_DELAY,\n });\n\n const handleCardClick = template => {\n setCurrentScreen(TEMPLATE_SCREENS.PREVIEW);\n setSelectedTemplate(template);\n };\n\n if (isTemplatesLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n const { tags = [], templates = [], templatesCount = 0 } = data;\n\n const categories = [{ ...DEFAULT_CATEGORY, count: templatesCount }, ...tags];\n\n return (\n <div className=\"neeto-ui-bg-gray-100 relative flex flex-col items-start md:min-h-full md:flex-row\">\n <div className=\"w-full flex-shrink-0 space-y-6 px-4 py-6 md:sticky md:left-0 md:top-0 md:w-72 md:space-y-8 md:pl-10 md:pr-0 lg:w-80 xl:pl-16\">\n <div className=\"space-y-4\">\n <div className=\"space-y-1\">\n <Typography\n data-cy=\"create-new-form-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoTemplate.templates.createNewEntity\")}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTemplate.templates.description\")}\n </Typography>\n </div>\n <Search\n autoFocus\n disableTrimOnBlur\n data-cy=\"template-search-input\"\n placeholder={t(\"neetoTemplate.templates.search\")}\n onSearch={value => setSearchTerm(value)}\n />\n </div>\n <Accordion className=\"md:hidden\">\n <Accordion.Item title={t(\"neetoTemplate.templates.categories\")}>\n {categories.map(({ id, name, count }) => (\n <CategoryItem\n {...{ count }}\n isActive={currentCategory.id === id}\n key={id}\n label={name}\n setCurrentCategory={() => setCurrentCategory({ id, name })}\n />\n ))}\n </Accordion.Item>\n </Accordion>\n <div className=\"hidden space-y-3 md:block\">\n <Typography\n className=\"uppercase\"\n data-cy=\"template-categories-label\"\n style=\"h6\"\n >\n {t(\"neetoTemplate.templates.categories\")}\n </Typography>\n <div className=\"space-y-2\">\n {categories.map(({ id, name, count }) => (\n <CategoryItem\n {...{ count }}\n isActive={currentCategory.id === id}\n key={id}\n label={name}\n setCurrentCategory={() => setCurrentCategory({ id, name })}\n />\n ))}\n </div>\n </div>\n </div>\n <div\n className=\"h-screen w-full p-4 md:overflow-y-auto md:py-8 md:pl-8 md:pr-20 xl:px-20\"\n ref={rootRef}\n >\n <div className=\"flex-grow space-y-6\">\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 lg:gap-5 xl:gap-6 2xl:grid-cols-4\">\n <BlankCard\n description={t(\"neetoTemplate.templates.blankCard.description\")}\n disabled={isCreating}\n icon={isCreating ? Spinner : CustomSVG}\n title={t(\"neetoTemplate.templates.blankCard.title\")}\n onClick={onCreate}\n />\n {templates.map((template, index) => (\n <Card\n {...{ afterCreate, refetchResource, template }}\n key={index}\n onClick={() => handleCardClick(template)}\n />\n ))}\n </div>\n {hasNextPage && (\n <div className=\"my-10 text-center\" ref={sentryRef}>\n <Spinner />\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default List;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport ResponsiveDevicePicker from \"neetomolecules/ResponsiveDevicePicker\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { TEMPLATE_SCREENS, RESPONSIVE_DEVICES } from \"./constants\";\n\nconst Preview = ({\n selectedTemplate,\n setCurrentScreen,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const { isSize } = useBreakpoints();\n\n const { mutate: createTemplate, isPending: isCreating } = useCreateTemplate();\n\n const [selectedDevice, setSelectedDevice] = useState(\n RESPONSIVE_DEVICES.DESKTOP\n );\n\n const handleCreateTemplate = () => {\n createTemplate(\n { id: selectedTemplate.id },\n {\n onSuccess: response => {\n afterCreate(response);\n refetchResource();\n },\n }\n );\n };\n\n const { title, previewUrl } = selectedTemplate;\n\n return (\n <div className=\"neeto-templates-full-page-preview flex h-full w-full flex-col\">\n <div className=\"neeto-templates-full-page-preview__header neeto-ui-border-gray-200 border-b px-4\">\n <div className=\"mx-auto flex w-full max-w-6xl items-center justify-between py-[9px]\">\n <div className=\"w-1/3\">\n <Typography\n className=\"truncate leading-tight\"\n data-cy=\"preview-template-title\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </div>\n <div className=\"hidden flex-shrink-0 lg:flex\">\n <ResponsiveDevicePicker\n {...{ selectedDevice }}\n onDeviceChange={setSelectedDevice}\n />\n </div>\n <div className=\"flex w-1/3 items-center justify-end gap-2\">\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-template-back-button\"\n style=\"secondary\"\n label={\n isSize(\"mobile\")\n ? t(\"neetoTemplate.templates.back\")\n : t(\"neetoTemplate.templates.backToTemplates\")\n }\n onClick={() => setCurrentScreen(TEMPLATE_SCREENS.LIST)}\n />\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-use-template-button\"\n disabled={isCreating}\n label={t(\"neetoTemplate.templates.editTemplate\")}\n loading={isCreating}\n onClick={handleCreateTemplate}\n />\n </div>\n </div>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-templates-full-page-preview__holder-wrapper min-h-0 flex-grow\">\n <div\n className={classnames(\n \"neeto-templates-full-page-preview__holder m-auto\",\n {\n \"neeto-templates-full-page-preview__holder--desktop\":\n selectedDevice === RESPONSIVE_DEVICES.DESKTOP,\n \"neeto-templates-full-page-preview__holder--tablet\":\n selectedDevice === RESPONSIVE_DEVICES.TABLET,\n \"neeto-templates-full-page-preview__holder--mobile\":\n selectedDevice === RESPONSIVE_DEVICES.MOBILE,\n }\n )}\n >\n <div className=\"neeto-templates-full-page-preview__device-border h-full w-full\">\n <iframe\n className=\"neeto-templates-full-page-preview__iframe h-full w-full border-none\"\n data-cy=\"iframe-id\"\n src={previewUrl}\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\nexport default Preview;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Modal } from \"neetoui\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/application.scss\";\n\nimport { TEMPLATE_SCREENS } from \"./constants\";\nimport List from \"./List\";\nimport Preview from \"./Preview\";\n\nconst CreateTemplateModal = ({\n isOpen,\n onClose,\n isCreating,\n refetchResource,\n onCreate = noop,\n afterCreate = noop,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(TEMPLATE_SCREENS.LIST);\n const [selectedTemplate, setSelectedTemplate] = useState({});\n\n const onModalClose = () => {\n onClose();\n setTimeout(() => {\n setCurrentScreen(TEMPLATE_SCREENS.LIST);\n }, 300); //To accommodate the animation duration.\n };\n\n return (\n <Modal\n {...{ isOpen }}\n className=\"neeto-template-list h-screen w-screen overflow-y-auto\"\n closeButton={currentScreen === TEMPLATE_SCREENS.LIST}\n size=\"fullScreen\"\n onClose={onModalClose}\n >\n {currentScreen === TEMPLATE_SCREENS.LIST ? (\n <List\n {...{\n afterCreate,\n isCreating,\n onCreate,\n refetchResource,\n setCurrentScreen,\n setSelectedTemplate,\n }}\n />\n ) : (\n <Preview\n {...{\n afterCreate,\n refetchResource,\n selectedTemplate,\n setCurrentScreen,\n }}\n />\n )}\n </Modal>\n );\n};\n\nexport default CreateTemplateModal;\n"],"names":["TEMPLATE_SCREENS","LIST","PREVIEW","DEFAULT_CATEGORY","id","name","INFINITE_SCROLL_DELAY","RESPONSIVE_DEVICES","DESKTOP","TABLET","MOBILE","_extends","BlankCard","_ref","Icon","icon","title","description","_ref$onClick","onClick","noop","_ref$disabled","disabled","_jsxs","className","tabIndex","children","_jsx","size","Typography","lineHeight","style","weight","Card","template","src","imageUrl","CategoryItem","label","count","isActive","setCurrentCategory","concat","joinHyphenCase","classnames","List","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","currentCategory","_useState3","_useState4","searchTerm","setSearchTerm","_useFetchTemplates","useFetchTemplates","category","_useFetchTemplates$ha","hasNextPage","fetchNextPage","isTemplatesLoading","isLoading","_useFetchTemplates$da","data","_useInfiniteScroll","useInfiniteScroll","loading","onLoadMore","rootMargin","delayInMs","_useInfiniteScroll2","sentryRef","rootRef","handleCardClick","Spinner","_data$tags","tags","_data$templates","templates","_data$templatesCount","templatesCount","categories","_objectSpread","_toConsumableArray","Search","autoFocus","disableTrimOnBlur","placeholder","onSearch","value","Accordion","Item","map","_ref2","_createElement","key","_ref3","ref","CustomSVG","index","Preview","selectedTemplate","_useBreakpoints","useBreakpoints","isSize","_useCreateTemplate","useCreateTemplate","createTemplate","mutate","isPending","selectedDevice","setSelectedDevice","handleCreateTemplate","onSuccess","response","previewUrl","ResponsiveDevicePicker","onDeviceChange","Button","CreateTemplateModal","isOpen","onClose","_ref$onCreate","_ref$afterCreate","currentScreen","onModalClose","setTimeout","Modal","closeButton"],"mappings":"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","x_google_ignoreList":[1,2]}
|
|
1
|
+
{"version":3,"file":"CreateTemplateModal.js","sources":["../app/javascript/src/components/CreateTemplateModal/constants.js","../node_modules/react-intersection-observer-hook/dist/react-intersection-observer-hook.esm.js","../node_modules/react-infinite-scroll-hook/dist/react-infinite-scroll-hook.esm.js","../app/javascript/src/assets/dashboard/custom.svg","../app/javascript/src/components/CreateTemplateModal/BlankCard.jsx","../app/javascript/src/components/CreateTemplateModal/Card.jsx","../app/javascript/src/components/CreateTemplateModal/CategoryItem.jsx","../app/javascript/src/components/CreateTemplateModal/List.jsx","../app/javascript/src/components/CreateTemplateModal/Preview.jsx","../app/javascript/src/components/CreateTemplateModal/index.jsx"],"sourcesContent":["export const TEMPLATE_SCREENS = { LIST: \"List\", PREVIEW: \"Preview\" };\n\nexport const DEFAULT_CATEGORY = { id: \"all\", name: \"All\" };\n\nexport const INFINITE_SCROLL_DELAY = 500;\n\nexport const MENU_ITEMS = { CREATE: \"create\", PREVIEW: \"preview\" };\n\nexport const RESPONSIVE_DEVICES = {\n DESKTOP: \"desktop\",\n TABLET: \"tablet\",\n MOBILE: \"mobile\",\n};\n","import { useRef, useState, useCallback } from 'react';\n\nfunction createObserverCache() {\n var cachesByRoot = new Map();\n\n function getObserver(_ref) {\n var root = _ref.root,\n rootMargin = _ref.rootMargin,\n threshold = _ref.threshold;\n var cacheByRoot = cachesByRoot.get(root);\n\n if (!cacheByRoot) {\n cacheByRoot = new Map();\n cachesByRoot.set(root, cacheByRoot);\n }\n\n var cacheKey = JSON.stringify({\n rootMargin: rootMargin,\n threshold: threshold\n });\n var cachedObserver = cacheByRoot.get(cacheKey);\n\n if (!cachedObserver) {\n var entryCallbacks = new Map();\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var callback = entryCallbacks.get(entry.target);\n callback == null ? void 0 : callback(entry);\n });\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold\n });\n cachedObserver = {\n observer: observer,\n entryCallbacks: entryCallbacks\n };\n cacheByRoot.set(cacheKey, cachedObserver);\n }\n\n return {\n observe: function observe(node, callback) {\n var _cachedObserver, _cachedObserver2;\n\n (_cachedObserver = cachedObserver) == null ? void 0 : _cachedObserver.entryCallbacks.set(node, callback);\n (_cachedObserver2 = cachedObserver) == null ? void 0 : _cachedObserver2.observer.observe(node);\n },\n unobserve: function unobserve(node) {\n var _cachedObserver3, _cachedObserver4;\n\n (_cachedObserver3 = cachedObserver) == null ? void 0 : _cachedObserver3.entryCallbacks[\"delete\"](node);\n (_cachedObserver4 = cachedObserver) == null ? void 0 : _cachedObserver4.observer.unobserve(node);\n }\n };\n }\n\n return {\n getObserver: getObserver\n };\n}\n\nvar DEFAULT_ROOT_MARGIN = '0px';\nvar DEFAULT_THRESHOLD = [0];\nvar observerCache = /*#__PURE__*/createObserverCache(); // For more info:\n// https://developers.google.com/web/updates/2016/04/intersectionobserver\n// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n\nfunction useIntersectionObserver(args) {\n var _args$rootMargin, _args$threshold;\n\n var rootMargin = (_args$rootMargin = args == null ? void 0 : args.rootMargin) != null ? _args$rootMargin : DEFAULT_ROOT_MARGIN;\n var threshold = (_args$threshold = args == null ? void 0 : args.threshold) != null ? _args$threshold : DEFAULT_THRESHOLD;\n var nodeRef = useRef(null);\n var rootRef = useRef(null);\n var observerRef = useRef(null);\n\n var _useState = useState(),\n entry = _useState[0],\n setEntry = _useState[1];\n\n var observe = useCallback(function () {\n var node = nodeRef.current;\n\n if (!node) {\n setEntry(undefined);\n return;\n }\n\n var observer = observerCache.getObserver({\n root: rootRef.current,\n rootMargin: rootMargin,\n threshold: threshold\n });\n observer.observe(node, function (observedEntry) {\n setEntry(observedEntry);\n });\n observerRef.current = observer;\n }, [rootMargin, threshold]);\n var unobserve = useCallback(function () {\n var currentObserver = observerRef.current;\n var node = nodeRef.current;\n\n if (node) {\n currentObserver == null ? void 0 : currentObserver.unobserve(node);\n }\n\n observerRef.current = null;\n }, []); // React will call the ref callback with the DOM element when the component mounts,\n // and call it with null when it unmounts.\n // So, we don't need an useEffect etc to unobserve nodes.\n // When nodeRef.current is null, it will be unobserved and observe function\n // won't do anything.\n\n var refCallback = useCallback(function (node) {\n unobserve();\n nodeRef.current = node;\n observe();\n }, [observe, unobserve]);\n var rootRefCallback = useCallback(function (rootNode) {\n unobserve();\n rootRef.current = rootNode;\n observe();\n }, [observe, unobserve]);\n return [refCallback, {\n entry: entry,\n rootRef: rootRefCallback\n }];\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction useTrackVisibility(args) {\n var _result$entry;\n\n var _useIntersectionObser = useIntersectionObserver(args),\n ref = _useIntersectionObser[0],\n result = _useIntersectionObser[1];\n\n var isVisible = Boolean((_result$entry = result.entry) == null ? void 0 : _result$entry.isIntersecting);\n\n var _useState = useState(isVisible),\n wasEverVisible = _useState[0],\n setWasEverVisible = _useState[1];\n\n if (isVisible && !wasEverVisible) {\n setWasEverVisible(true);\n }\n\n return [ref, _extends({}, result, {\n isVisible: isVisible,\n wasEverVisible: wasEverVisible\n })];\n}\n\nexport { useIntersectionObserver, useTrackVisibility };\n//# sourceMappingURL=react-intersection-observer-hook.esm.js.map\n","import { useEffect } from 'react';\nimport { useTrackVisibility } from 'react-intersection-observer-hook';\n\nvar DEFAULT_DELAY_IN_MS = 100;\n\nfunction useInfiniteScroll(_ref) {\n var loading = _ref.loading,\n hasNextPage = _ref.hasNextPage,\n onLoadMore = _ref.onLoadMore,\n rootMargin = _ref.rootMargin,\n disabled = _ref.disabled,\n _ref$delayInMs = _ref.delayInMs,\n delayInMs = _ref$delayInMs === void 0 ? DEFAULT_DELAY_IN_MS : _ref$delayInMs;\n\n var _useTrackVisibility = useTrackVisibility({\n rootMargin: rootMargin\n }),\n ref = _useTrackVisibility[0],\n _useTrackVisibility$ = _useTrackVisibility[1],\n rootRef = _useTrackVisibility$.rootRef,\n isVisible = _useTrackVisibility$.isVisible;\n\n var shouldLoadMore = !disabled && !loading && isVisible && hasNextPage; // eslint-disable-next-line consistent-return\n\n useEffect(function () {\n if (shouldLoadMore) {\n // When we trigger 'onLoadMore' and new items are added to the list,\n // right before they become rendered on the screen, 'loading' becomes false\n // and 'isVisible' can be true for a brief time, based on the scroll position.\n // So, it triggers 'onLoadMore' just after the first one is finished.\n // We use a small delay here to prevent this kind of situations.\n // It can be configured by hook args.\n var timer = setTimeout(function () {\n onLoadMore();\n }, delayInMs);\n return function () {\n clearTimeout(timer);\n };\n }\n }, [onLoadMore, shouldLoadMore, delayInMs]);\n return [ref, {\n rootRef: rootRef\n }];\n}\n\nexport default useInfiniteScroll;\n//# sourceMappingURL=react-infinite-scroll-hook.esm.js.map\n","<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"46\" height=\"46\" fill=\"none\" viewBox=\"0 0 46 46\"><rect width=\"40\" height=\"40\" x=\"3\" y=\"2\" fill=\"#008068\" rx=\"2\"/><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M23.75 16C23.75 15.5858 23.4142 15.25 23 15.25C22.5858 15.25 22.25 15.5858 22.25 16V21.25H17C16.5858 21.25 16.25 21.5858 16.25 22C16.25 22.4142 16.5858 22.75 17 22.75H22.25V28C22.25 28.4142 22.5858 28.75 23 28.75C23.4142 28.75 23.75 28.4142 23.75 28V22.75H29C29.4142 22.75 29.75 22.4142 29.75 22C29.75 21.5858 29.4142 21.25 29 21.25H23.75V16Z\" clip-rule=\"evenodd\"/></svg>\n","import { noop } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nconst BlankCard = ({\n icon: Icon,\n title,\n description,\n onClick = noop,\n disabled = false,\n}) => (\n <div\n className=\"neeto-ui-rounded-lg neeto-ui-bg-white hover:neeto-ui-bg-white neeto-ui-border-primary-500 flex cursor-pointer flex-col items-center justify-center border border-dashed p-6 outline-none transition-all duration-300 ease-in-out hover:border-solid focus:border-solid\"\n data-cy=\"start-from-scratch-button\"\n tabIndex={0}\n onClick={!disabled ? onClick : noop}\n >\n <div className=\"neeto-ui-text-primary-500 mb-4\">\n <Icon size={40} />\n </div>\n <Typography\n className=\"text-center\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n lineHeight=\"leading-4\"\n style=\"body3\"\n >\n {description}\n </Typography>\n </div>\n);\n\nexport default BlankCard;\n","import { CLOUDFRONT_BASE_URL } from \"neetocommons/constants\";\nimport { Typography } from \"neetoui\";\n\nconst Card = ({ template, onClick }) => (\n <div\n {...{ onClick }}\n className=\"neeto-template neeto-template-thumbnail neeto-ui-bg-white neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border outline-none transition-colors duration-300 ease-in-out\"\n data-cy=\"template-card\"\n tabIndex={0}\n >\n <div className=\"neeto-template__header relative overflow-hidden\">\n <img\n className=\"neeto-template__image\"\n data-cy=\"template-thumbnail-image\"\n src={\n template.imageUrl ||\n `${CLOUDFRONT_BASE_URL}/images/neetoForm/default-form-template.svg`\n }\n />\n </div>\n <div className=\"neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-3 py-1.5\">\n <Typography\n className=\"neeto-template-thumbnail__title line-clamp-2\"\n data-cy=\"template-card-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n >\n {template.title}\n </Typography>\n </div>\n </div>\n);\n\nexport default Card;\n","import classnames from \"classnames\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\n\nconst CategoryItem = ({ label, count, isActive, setCurrentCategory }) => (\n <button\n data-cy={`category-${joinHyphenCase(label)}`}\n tabIndex={0}\n className={classnames(\n \"neeto-ui-rounded-lg outline-none flex w-full items-center justify-between gap-2 border border-solid px-3 py-2 text-sm font-medium leading-4 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-text-gray-700 hover:neeto-ui-bg-gray-200 focus:neeto-ui-bg-gray-200 border-transparent\":\n !isActive,\n \"neeto-ui-text-gray-800 neeto-ui-bg-white neeto-ui-border-gray-300 focus:neeto-ui-border-gray-500\":\n isActive,\n }\n )}\n onClick={setCurrentCategory}\n >\n <span>{label}</span>\n <span>{count}</span>\n </button>\n);\n\nexport default CategoryItem;\n","import { useState } from \"react\";\n\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography, Accordion } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport useInfiniteScroll from \"react-infinite-scroll-hook\";\n\nimport CustomSVG from \"assets/dashboard/custom\";\nimport { useFetchTemplates } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport BlankCard from \"./BlankCard\";\nimport Card from \"./Card\";\nimport CategoryItem from \"./CategoryItem\";\nimport {\n DEFAULT_CATEGORY,\n INFINITE_SCROLL_DELAY,\n TEMPLATE_SCREENS,\n} from \"./constants\";\n\nconst List = ({\n setCurrentScreen,\n setSelectedTemplate,\n onCreate,\n isCreating,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const [currentCategory, setCurrentCategory] = useState(DEFAULT_CATEGORY);\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const {\n hasNextPage = false,\n fetchNextPage,\n isLoading: isTemplatesLoading,\n data = {},\n } = useFetchTemplates({ searchTerm, category: currentCategory });\n\n const [sentryRef, { rootRef }] = useInfiniteScroll({\n loading: isTemplatesLoading,\n hasNextPage,\n onLoadMore: fetchNextPage,\n rootMargin: \"0px 0px 700px 0px\",\n delayInMs: INFINITE_SCROLL_DELAY,\n });\n\n const handleCardClick = template => {\n setCurrentScreen(TEMPLATE_SCREENS.PREVIEW);\n setSelectedTemplate(template);\n };\n\n if (isTemplatesLoading) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n const { tags = [], templates = [], templatesCount = 0 } = data;\n\n const categories = [{ ...DEFAULT_CATEGORY, count: templatesCount }, ...tags];\n\n return (\n <div className=\"neeto-ui-bg-gray-100 relative flex flex-col items-start md:min-h-full md:flex-row\">\n <div className=\"w-full flex-shrink-0 space-y-6 px-4 py-6 md:sticky md:left-0 md:top-0 md:w-72 md:space-y-8 md:pl-10 md:pr-0 lg:w-80 xl:pl-16\">\n <div className=\"space-y-4\">\n <div className=\"space-y-1\">\n <Typography\n data-cy=\"create-new-form-title\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"neetoTemplate.templates.createNewEntity\")}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoTemplate.templates.description\")}\n </Typography>\n </div>\n <Search\n autoFocus\n disableTrimOnBlur\n data-cy=\"template-search-input\"\n placeholder={t(\"neetoTemplate.templates.search\")}\n onSearch={value => setSearchTerm(value)}\n />\n </div>\n <Accordion className=\"md:hidden\">\n <Accordion.Item title={t(\"neetoTemplate.templates.categories\")}>\n {categories.map(({ id, name, count }) => (\n <CategoryItem\n {...{ count }}\n isActive={currentCategory.id === id}\n key={id}\n label={name}\n setCurrentCategory={() => setCurrentCategory({ id, name })}\n />\n ))}\n </Accordion.Item>\n </Accordion>\n <div className=\"hidden space-y-3 md:block\">\n <Typography\n className=\"uppercase\"\n data-cy=\"template-categories-label\"\n style=\"h6\"\n >\n {t(\"neetoTemplate.templates.categories\")}\n </Typography>\n <div className=\"space-y-2\">\n {categories.map(({ id, name, count }) => (\n <CategoryItem\n {...{ count }}\n isActive={currentCategory.id === id}\n key={id}\n label={name}\n setCurrentCategory={() => setCurrentCategory({ id, name })}\n />\n ))}\n </div>\n </div>\n </div>\n <div\n className=\"h-screen w-full p-4 md:overflow-y-auto md:py-8 md:pl-8 md:pr-20 xl:px-20\"\n ref={rootRef}\n >\n <div className=\"flex-grow space-y-6\">\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3 lg:gap-5 xl:gap-6 2xl:grid-cols-4\">\n <BlankCard\n description={t(\"neetoTemplate.templates.blankCard.description\")}\n disabled={isCreating}\n icon={isCreating ? Spinner : CustomSVG}\n title={t(\"neetoTemplate.templates.blankCard.title\")}\n onClick={onCreate}\n />\n {templates.map((template, index) => (\n <Card\n {...{ afterCreate, refetchResource, template }}\n key={index}\n onClick={() => handleCardClick(template)}\n />\n ))}\n </div>\n {hasNextPage && (\n <div className=\"my-10 text-center\" ref={sentryRef}>\n <Spinner />\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default List;\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport ResponsiveDevicePicker from \"neetomolecules/ResponsiveDevicePicker\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useCreateTemplate } from \"hooks/reactQuery/useTemplatesApi\";\n\nimport { TEMPLATE_SCREENS, RESPONSIVE_DEVICES } from \"./constants\";\n\nconst Preview = ({\n selectedTemplate,\n setCurrentScreen,\n afterCreate,\n refetchResource,\n}) => {\n const { t } = useTranslation();\n\n const { isSize } = useBreakpoints();\n\n const { mutate: createTemplate, isPending: isCreating } = useCreateTemplate();\n\n const [selectedDevice, setSelectedDevice] = useState(\n RESPONSIVE_DEVICES.DESKTOP\n );\n\n const handleCreateTemplate = () => {\n createTemplate(\n { id: selectedTemplate.id },\n {\n onSuccess: response => {\n afterCreate(response);\n refetchResource();\n },\n }\n );\n };\n\n const { title, previewUrl } = selectedTemplate;\n\n return (\n <div className=\"neeto-templates-full-page-preview flex h-full w-full flex-col\">\n <div className=\"neeto-templates-full-page-preview__header neeto-ui-border-gray-200 border-b px-4\">\n <div className=\"mx-auto flex w-full max-w-6xl items-center justify-between py-[9px]\">\n <div className=\"w-1/3\">\n <Typography\n className=\"truncate leading-tight\"\n data-cy=\"preview-template-title\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {title}\n </Typography>\n </div>\n <div className=\"hidden flex-shrink-0 lg:flex\">\n <ResponsiveDevicePicker\n {...{ selectedDevice }}\n onDeviceChange={setSelectedDevice}\n />\n </div>\n <div className=\"flex w-1/3 items-center justify-end gap-2\">\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-template-back-button\"\n style=\"secondary\"\n label={\n isSize(\"mobile\")\n ? t(\"neetoTemplate.templates.back\")\n : t(\"neetoTemplate.templates.backToTemplates\")\n }\n onClick={() => setCurrentScreen(TEMPLATE_SCREENS.LIST)}\n />\n <Button\n className=\"flex-shrink-0\"\n data-cy=\"preview-use-template-button\"\n disabled={isCreating}\n label={t(\"neetoTemplate.templates.editTemplate\")}\n loading={isCreating}\n onClick={handleCreateTemplate}\n />\n </div>\n </div>\n </div>\n <div className=\"neeto-ui-bg-gray-200 neeto-templates-full-page-preview__holder-wrapper min-h-0 flex-grow\">\n <div\n className={classnames(\n \"neeto-templates-full-page-preview__holder m-auto\",\n {\n \"neeto-templates-full-page-preview__holder--desktop\":\n selectedDevice === RESPONSIVE_DEVICES.DESKTOP,\n \"neeto-templates-full-page-preview__holder--tablet\":\n selectedDevice === RESPONSIVE_DEVICES.TABLET,\n \"neeto-templates-full-page-preview__holder--mobile\":\n selectedDevice === RESPONSIVE_DEVICES.MOBILE,\n }\n )}\n >\n <div className=\"neeto-templates-full-page-preview__device-border h-full w-full\">\n <iframe\n className=\"neeto-templates-full-page-preview__iframe h-full w-full border-none\"\n data-cy=\"iframe-id\"\n src={previewUrl}\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\nexport default Preview;\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { Modal } from \"neetoui\";\n\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/application.scss\";\n\nimport { TEMPLATE_SCREENS } from \"./constants\";\nimport List from \"./List\";\nimport Preview from \"./Preview\";\n\nconst CreateTemplateModal = ({\n isOpen,\n onClose,\n isCreating,\n refetchResource,\n onCreate = noop,\n afterCreate = noop,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(TEMPLATE_SCREENS.LIST);\n const [selectedTemplate, setSelectedTemplate] = useState({});\n\n const onModalClose = () => {\n onClose();\n setTimeout(() => {\n setCurrentScreen(TEMPLATE_SCREENS.LIST);\n }, 300); //To accommodate the animation duration.\n };\n\n return (\n <Modal\n {...{ isOpen }}\n className=\"neeto-template-list h-screen w-screen overflow-y-auto\"\n closeButton={currentScreen === TEMPLATE_SCREENS.LIST}\n size=\"fullScreen\"\n onClose={onModalClose}\n >\n {currentScreen === TEMPLATE_SCREENS.LIST ? (\n <List\n {...{\n afterCreate,\n isCreating,\n onCreate,\n refetchResource,\n setCurrentScreen,\n setSelectedTemplate,\n }}\n />\n ) : (\n <Preview\n {...{\n afterCreate,\n refetchResource,\n selectedTemplate,\n setCurrentScreen,\n }}\n />\n )}\n </Modal>\n );\n};\n\nexport default CreateTemplateModal;\n"],"names":["TEMPLATE_SCREENS","LIST","PREVIEW","DEFAULT_CATEGORY","id","name","INFINITE_SCROLL_DELAY","RESPONSIVE_DEVICES","DESKTOP","TABLET","MOBILE","_extends","BlankCard","_ref","Icon","icon","title","description","_ref$onClick","onClick","noop","_ref$disabled","disabled","_jsxs","className","tabIndex","children","_jsx","size","Typography","lineHeight","style","weight","Card","template","src","imageUrl","concat","CLOUDFRONT_BASE_URL","CategoryItem","label","count","isActive","setCurrentCategory","joinHyphenCase","classnames","List","setCurrentScreen","setSelectedTemplate","onCreate","isCreating","afterCreate","refetchResource","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","currentCategory","_useState3","_useState4","searchTerm","setSearchTerm","_useFetchTemplates","useFetchTemplates","category","_useFetchTemplates$ha","hasNextPage","fetchNextPage","isTemplatesLoading","isLoading","_useFetchTemplates$da","data","_useInfiniteScroll","useInfiniteScroll","loading","onLoadMore","rootMargin","delayInMs","_useInfiniteScroll2","sentryRef","rootRef","handleCardClick","Spinner","_data$tags","tags","_data$templates","templates","_data$templatesCount","templatesCount","categories","_objectSpread","_toConsumableArray","Search","autoFocus","disableTrimOnBlur","placeholder","onSearch","value","Accordion","Item","map","_ref2","_createElement","key","_ref3","ref","CustomSVG","index","Preview","selectedTemplate","_useBreakpoints","useBreakpoints","isSize","_useCreateTemplate","useCreateTemplate","createTemplate","mutate","isPending","selectedDevice","setSelectedDevice","handleCreateTemplate","onSuccess","response","previewUrl","ResponsiveDevicePicker","onDeviceChange","Button","CreateTemplateModal","isOpen","onClose","_ref$onCreate","_ref$afterCreate","currentScreen","onModalClose","setTimeout","Modal","closeButton"],"mappings":"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","x_google_ignoreList":[1,2]}
|
package/dist/TemplateSettings.js
CHANGED
|
@@ -7,7 +7,7 @@ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
|
|
|
7
7
|
import Form from '@bigbinary/neetoui/formik/Form';
|
|
8
8
|
import { useTranslation } from 'react-i18next';
|
|
9
9
|
import { useParams } from 'react-router-dom';
|
|
10
|
-
import { u as useFetchTemplate, a as useUpdateTemplate } from './useTemplatesApi-
|
|
10
|
+
import { u as useFetchTemplate, a as useUpdateTemplate } from './useTemplatesApi-Biz_h1BN.js';
|
|
11
11
|
import { refetchTags } from '@bigbinary/neeto-tags-frontend/utils';
|
|
12
12
|
import { useMutation, useQuery } from '@tanstack/react-query';
|
|
13
13
|
import axios from 'axios';
|
|
@@ -22,6 +22,7 @@ import Scrollable from '@bigbinary/neeto-molecules/Scrollable';
|
|
|
22
22
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
23
23
|
import TagsComponent from '@bigbinary/neeto-tags-frontend/TagsComponent';
|
|
24
24
|
import Label from '@bigbinary/neetoui/Label';
|
|
25
|
+
import { CLOUDFRONT_BASE_URL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
25
26
|
import { pluck } from 'ramda';
|
|
26
27
|
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
27
28
|
|
|
@@ -175,14 +176,14 @@ var Preview = function Preview(_ref) {
|
|
|
175
176
|
var template = _ref.template,
|
|
176
177
|
imageUrl = _ref.imageUrl;
|
|
177
178
|
return /*#__PURE__*/jsxs("div", {
|
|
178
|
-
className: "neeto-template neeto-ui-bg-white
|
|
179
|
+
className: "neeto-template neeto-ui-bg-white neeto-ui-shadow-sm hover:neeto-ui-border-gray-400 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border outline-none transition-colors duration-300 ease-in-out",
|
|
179
180
|
tabIndex: 0,
|
|
180
181
|
children: [/*#__PURE__*/jsx("div", {
|
|
181
182
|
className: "neeto-template__header",
|
|
182
183
|
children: /*#__PURE__*/jsx("img", {
|
|
183
184
|
className: "neeto-template__image",
|
|
184
185
|
"data-cy": "template-image-preview",
|
|
185
|
-
src: imageUrl || "
|
|
186
|
+
src: imageUrl || "".concat(CLOUDFRONT_BASE_URL, "/images/neetoForm/default-form-template.svg")
|
|
186
187
|
})
|
|
187
188
|
}), /*#__PURE__*/jsx("div", {
|
|
188
189
|
className: "neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-2 py-1.5",
|
|
@@ -229,18 +230,20 @@ var TemplateSettings = function TemplateSettings(_ref) {
|
|
|
229
230
|
_ref$breadcrumbs = _ref.breadcrumbs,
|
|
230
231
|
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
|
|
231
232
|
_ref$className = _ref.className,
|
|
232
|
-
className = _ref$className === void 0 ? "" : _ref$className
|
|
233
|
+
className = _ref$className === void 0 ? "" : _ref$className,
|
|
234
|
+
_ref$resourceId = _ref.resourceId,
|
|
235
|
+
resourceId = _ref$resourceId === void 0 ? "id" : _ref$resourceId;
|
|
233
236
|
var _useParams = useParams(),
|
|
234
|
-
|
|
237
|
+
id = _useParams[resourceId];
|
|
235
238
|
var _useTranslation = useTranslation(),
|
|
236
239
|
t = _useTranslation.t;
|
|
237
240
|
var _useFetchTemplate = useFetchTemplate({
|
|
238
|
-
resourceId:
|
|
241
|
+
resourceId: id
|
|
239
242
|
}),
|
|
240
243
|
data = _useFetchTemplate.data,
|
|
241
244
|
isFetchingTemplate = _useFetchTemplate.isLoading;
|
|
242
245
|
var _useUpdateTemplate = useUpdateTemplate({
|
|
243
|
-
resourceId:
|
|
246
|
+
resourceId: id
|
|
244
247
|
}),
|
|
245
248
|
updateTemplate = _useUpdateTemplate.mutate,
|
|
246
249
|
isUpdatingTemplate = _useUpdateTemplate.isPending;
|