volto-searchblocks 0.2.0-alpha.1 → 0.2.1
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/.changelog.draft +3 -0
- package/CHANGELOG.md +4 -0
- package/README.md +201 -0
- package/package.json +9 -9
package/.changelog.draft
ADDED
package/CHANGELOG.md
CHANGED
package/README.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
# Search blocks (volto-searchblocks)
|
|
2
|
+
|
|
3
|
+
A Volto add-on that provides a control panel for searching and managing content that uses specific blocks.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/volto-searchblocks)
|
|
6
|
+
[](https://collective.github.io/volto-searchblocks/)
|
|
7
|
+
[](https://github.com/collective/collective-searchblocks/actions/workflows/main.yml)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Features ✨
|
|
11
|
+
|
|
12
|
+
- **Search Blocks Control Panel**: Dedicated control panel view for searching content by block types
|
|
13
|
+
- **Table Display**: Results displayed in a sortable table with key metadata
|
|
14
|
+
- **Pagination**: Navigate through results with configurable page sizes (default, 50, or all)
|
|
15
|
+
- **Block Type Selection**: Dropdown selector for choosing which block type to search for
|
|
16
|
+
- **Multilingual Support**: Full i18n support with Italian translation included
|
|
17
|
+
- **Error Handling**: Comprehensive error displays for API failures
|
|
18
|
+
- **Semantic UI Integration**: Uses Volto's standard Semantic UI components for consistent styling
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
To install your project, you must choose the method appropriate to your version of Volto.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Volto 18 and later
|
|
26
|
+
|
|
27
|
+
Add `volto-searchblocks` to your `package.json`.
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"volto-searchblocks": "*"
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Add `volto-searchblocks` to your `volto.config.js`.
|
|
36
|
+
|
|
37
|
+
```javascript
|
|
38
|
+
const addons = ['volto-searchblocks'];
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If this package provides a Volto theme, and you want to activate it, then add the following to your `volto.config.js`.
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
const theme = 'volto-searchblocks';
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Volto 17 and earlier
|
|
48
|
+
|
|
49
|
+
Create a new Volto project.
|
|
50
|
+
You can skip this step if you already have one.
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
npm install -g yo @plone/generator-volto
|
|
54
|
+
yo @plone/volto my-volto-project --addon volto-searchblocks
|
|
55
|
+
cd my-volto-project
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Add `volto-searchblocks` to your `package.json`.
|
|
59
|
+
|
|
60
|
+
```JSON
|
|
61
|
+
"addons": [
|
|
62
|
+
"volto-searchblocks"
|
|
63
|
+
],
|
|
64
|
+
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"volto-searchblocks": "*"
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Download and install the new add-on.
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
yarn install
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Start Volto.
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
yarn start
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Test installation
|
|
83
|
+
|
|
84
|
+
Visit http://localhost:3000/ in a browser, login, and check the awesome new features.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
## Development
|
|
88
|
+
|
|
89
|
+
The development of this add-on is done in isolation using pnpm workspaces, the latest `mrs-developer`, and other Volto core improvements.
|
|
90
|
+
For these reasons, it only works with pnpm and Volto 18.
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
### Prerequisites ✅
|
|
94
|
+
|
|
95
|
+
- An [operating system](https://6.docs.plone.org/install/create-project-cookieplone.html#prerequisites-for-installation) that runs all the requirements mentioned.
|
|
96
|
+
- [nvm](https://6.docs.plone.org/install/create-project-cookieplone.html#nvm)
|
|
97
|
+
- [Node.js and pnpm](https://6.docs.plone.org/install/create-project.html#node-js) 22
|
|
98
|
+
- [Make](https://6.docs.plone.org/install/create-project-cookieplone.html#make)
|
|
99
|
+
- [Git](https://6.docs.plone.org/install/create-project-cookieplone.html#git)
|
|
100
|
+
- [Docker](https://docs.docker.com/get-started/get-docker/) (optional)
|
|
101
|
+
|
|
102
|
+
### Installation 🔧
|
|
103
|
+
|
|
104
|
+
1. Clone this repository, then change your working directory.
|
|
105
|
+
|
|
106
|
+
```shell
|
|
107
|
+
git clone git@github.com:collective/collective-searchblocks.git
|
|
108
|
+
cd collective-searchblocks/frontend
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
2. Install this code base.
|
|
112
|
+
|
|
113
|
+
```shell
|
|
114
|
+
make install
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### Make convenience commands
|
|
119
|
+
|
|
120
|
+
Run `make help` to list the available Make commands.
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
### Set up development environment
|
|
124
|
+
|
|
125
|
+
Install package requirements.
|
|
126
|
+
|
|
127
|
+
```shell
|
|
128
|
+
make install
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Start developing
|
|
132
|
+
|
|
133
|
+
Start the backend.
|
|
134
|
+
|
|
135
|
+
```shell
|
|
136
|
+
make backend-docker-start
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
In a separate terminal session, start the frontend.
|
|
140
|
+
|
|
141
|
+
```shell
|
|
142
|
+
make start
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Lint code
|
|
146
|
+
|
|
147
|
+
Run ESlint, Prettier, and Stylelint in analyze mode.
|
|
148
|
+
|
|
149
|
+
```shell
|
|
150
|
+
make lint
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Format code
|
|
154
|
+
|
|
155
|
+
Run ESlint, Prettier, and Stylelint in fix mode.
|
|
156
|
+
|
|
157
|
+
```shell
|
|
158
|
+
make format
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### i18n
|
|
162
|
+
|
|
163
|
+
Extract the i18n messages to locales.
|
|
164
|
+
|
|
165
|
+
```shell
|
|
166
|
+
make i18n
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Unit tests
|
|
170
|
+
|
|
171
|
+
Run unit tests.
|
|
172
|
+
|
|
173
|
+
```shell
|
|
174
|
+
make test
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Run Cypress tests
|
|
178
|
+
|
|
179
|
+
Run each of these steps in separate terminal sessions.
|
|
180
|
+
|
|
181
|
+
In the first session, start the frontend in development mode.
|
|
182
|
+
|
|
183
|
+
```shell
|
|
184
|
+
make acceptance-frontend-dev-start
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
In the second session, start the backend acceptance server.
|
|
188
|
+
|
|
189
|
+
```shell
|
|
190
|
+
make acceptance-backend-start
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
In the third session, start the Cypress interactive test runner.
|
|
194
|
+
|
|
195
|
+
```shell
|
|
196
|
+
make acceptance-test
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## License
|
|
200
|
+
|
|
201
|
+
The project is licensed under the MIT license.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "volto-searchblocks",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Additional control-panel that allow users to search which contents using a specific block",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,13 +20,6 @@
|
|
|
20
20
|
"access": "public",
|
|
21
21
|
"registry": "https://registry.npmjs.org/"
|
|
22
22
|
},
|
|
23
|
-
"scripts": {
|
|
24
|
-
"i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
|
|
25
|
-
"dry-release": "release-it --dry-run",
|
|
26
|
-
"release": "release-it",
|
|
27
|
-
"release-major-alpha": "release-it major --preRelease=alpha",
|
|
28
|
-
"release-alpha": "release-it --preRelease=alpha"
|
|
29
|
-
},
|
|
30
23
|
"addons": [],
|
|
31
24
|
"theme": "",
|
|
32
25
|
"peerDependencies": {
|
|
@@ -39,5 +32,12 @@
|
|
|
39
32
|
"release-it": "^19.0.5",
|
|
40
33
|
"typescript": "^5.7.3",
|
|
41
34
|
"@plone/scripts": "^3.10.3"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
|
|
38
|
+
"dry-release": "release-it --dry-run",
|
|
39
|
+
"release": "release-it",
|
|
40
|
+
"release-major-alpha": "release-it major --preRelease=alpha",
|
|
41
|
+
"release-alpha": "release-it --preRelease=alpha"
|
|
42
42
|
}
|
|
43
|
-
}
|
|
43
|
+
}
|