parse-dashboard 7.3.0-alpha.2 → 7.3.0-alpha.20
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
CHANGED
|
@@ -61,19 +61,23 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
|
|
|
61
61
|
- [Data Browser](#data-browser)
|
|
62
62
|
- [Filters](#filters)
|
|
63
63
|
- [Info Panel](#info-panel)
|
|
64
|
-
- [
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
64
|
+
- [Response](#response)
|
|
65
|
+
- [Segments](#segments)
|
|
66
|
+
- [Text Item](#text-item)
|
|
67
|
+
- [Key-Value Item](#key-value-item)
|
|
68
|
+
- [Table Item](#table-item)
|
|
69
|
+
- [Image Item](#image-item)
|
|
70
|
+
- [Video Item](#video-item)
|
|
71
|
+
- [Audio Item](#audio-item)
|
|
72
|
+
- [Button Item](#button-item)
|
|
73
|
+
- [Panel Item](#panel-item)
|
|
74
|
+
- [Prefetching](#prefetching)
|
|
75
|
+
- [Freeze Columns](#freeze-columns)
|
|
73
76
|
- [Browse as User](#browse-as-user)
|
|
74
77
|
- [Change Pointer Key](#change-pointer-key)
|
|
75
78
|
- [Limitations](#limitations)
|
|
76
79
|
- [CSV Export](#csv-export)
|
|
80
|
+
- [Views](#views)
|
|
77
81
|
- [Contributing](#contributing)
|
|
78
82
|
|
|
79
83
|
# Getting Started
|
|
@@ -138,6 +142,8 @@ Parse Dashboard is continuously tested with the most recent releases of Node.js
|
|
|
138
142
|
| `infoPanel[*].title` | String | no | - | `User Details` | The panel title. |
|
|
139
143
|
| `infoPanel[*].classes` | Array<String> | no | - | `["_User"]` | The classes for which the info panel should be displayed. |
|
|
140
144
|
| `infoPanel[*].cloudCodeFunction` | String | no | - | `getUserDetails` | The Cloud Code Function which received the selected object in the data browser and returns the response to be displayed in the info panel. |
|
|
145
|
+
| `infoPanel[*].prefetchObjects` | Number | yes | `0` | `2` | Number of next rows to prefetch when browsing sequential rows. For example, `2` means the next 2 rows will be fetched in advance. |
|
|
146
|
+
| `infoPanel[*].prefetchStale` | Number | yes | `0` | `10` | Duration in seconds after which prefetched data is discarded as stale. |
|
|
141
147
|
| `apps.scripts` | Array<Object> | yes | `[]` | `[{ ... }, { ... }]` | The scripts that can be executed for that app. |
|
|
142
148
|
| `apps.scripts.title` | String | no | - | `'Delete User'` | The title that will be displayed in the data browser context menu and the script run confirmation dialog. |
|
|
143
149
|
| `apps.scripts.classes` | Array<String> | no | - | `['_User']` | The classes of Parse Objects for which the scripts can be executed. |
|
|
@@ -871,7 +877,9 @@ The following example dashboard configuration shows an info panel for the `_User
|
|
|
871
877
|
{
|
|
872
878
|
"title": "User Details",
|
|
873
879
|
"classes": ["_User"],
|
|
874
|
-
"cloudCodeFunction": "getUserDetails"
|
|
880
|
+
"cloudCodeFunction": "getUserDetails",
|
|
881
|
+
"prefetchObjects": 2,
|
|
882
|
+
"prefetchStale": 10
|
|
875
883
|
}
|
|
876
884
|
]
|
|
877
885
|
}
|
|
@@ -880,7 +888,9 @@ The following example dashboard configuration shows an info panel for the `_User
|
|
|
880
888
|
|
|
881
889
|
The Cloud Code Function receives the selected object in the payload and returns a response that can include various items.
|
|
882
890
|
|
|
883
|
-
####
|
|
891
|
+
#### Response
|
|
892
|
+
|
|
893
|
+
##### Segments
|
|
884
894
|
|
|
885
895
|
The info panel can contain multiple segments to display different groups of information.
|
|
886
896
|
|
|
@@ -916,7 +926,7 @@ Example:
|
|
|
916
926
|
|
|
917
927
|
The items array can include various types of content such as text, key-value pairs, tables, images, videos, audios, and buttons. Each type offers a different way to display information within the info panel, allowing for a customizable and rich user experience. Below is a detailed explanation of each type.
|
|
918
928
|
|
|
919
|
-
|
|
929
|
+
##### Text Item
|
|
920
930
|
|
|
921
931
|
A simple text field.
|
|
922
932
|
|
|
@@ -936,7 +946,7 @@ Example:
|
|
|
936
946
|
}
|
|
937
947
|
```
|
|
938
948
|
|
|
939
|
-
|
|
949
|
+
##### Key-Value Item
|
|
940
950
|
|
|
941
951
|
A text item that consists of a key and a value. The value can optionally be linked to a URL.
|
|
942
952
|
|
|
@@ -947,6 +957,7 @@ A text item that consists of a key and a value. The value can optionally be link
|
|
|
947
957
|
| `value` | String | - | No | The value text to display. |
|
|
948
958
|
| `url` | String | `undefined` | Yes | The URL that will be opened in a new browser tab when clicking on the value text. It can be set to an absolute URL or a relative URL in which case the base URL is `<PROTOCOL>://<HOST>/<MOUNT_PATH>/`. |
|
|
949
959
|
| `isRelativeUrl` | Boolean | `false` | Yes | Set this to `true` when linking to another dashboard page, in which case the base URL for the relative URL will be `<PROTOCOL>://<HOST>/<MOUNT_PATH>/apps/<APP_NAME>/`. |
|
|
960
|
+
| `values` | Array | - | Yes | Additional values to display after `value`. Each item is an object with `value`, optional `url` and `isRelativeUrl`. |
|
|
950
961
|
| `style` | Object | - | Yes | The CSS style definition. |
|
|
951
962
|
|
|
952
963
|
Examples:
|
|
@@ -979,6 +990,17 @@ Examples:
|
|
|
979
990
|
}
|
|
980
991
|
```
|
|
981
992
|
|
|
993
|
+
```json
|
|
994
|
+
{
|
|
995
|
+
"type": "keyValue",
|
|
996
|
+
"key": "Purchase Value",
|
|
997
|
+
"value": "123",
|
|
998
|
+
"url": "browser/Purchase",
|
|
999
|
+
"isRelativeUrl": true,
|
|
1000
|
+
"values": [{ "value": "456" }]
|
|
1001
|
+
}
|
|
1002
|
+
```
|
|
1003
|
+
|
|
982
1004
|
To navigate to a specific object using a relative URL, the query parameters must be URL encoded:
|
|
983
1005
|
|
|
984
1006
|
```js
|
|
@@ -995,7 +1017,7 @@ const item = {
|
|
|
995
1017
|
}
|
|
996
1018
|
```
|
|
997
1019
|
|
|
998
|
-
|
|
1020
|
+
##### Table Item
|
|
999
1021
|
|
|
1000
1022
|
A table with columns and rows to display data in a structured format.
|
|
1001
1023
|
|
|
@@ -1037,7 +1059,7 @@ Example:
|
|
|
1037
1059
|
}
|
|
1038
1060
|
```
|
|
1039
1061
|
|
|
1040
|
-
|
|
1062
|
+
##### Image Item
|
|
1041
1063
|
|
|
1042
1064
|
An image to be displayed in the panel.
|
|
1043
1065
|
|
|
@@ -1057,7 +1079,7 @@ Example:
|
|
|
1057
1079
|
}
|
|
1058
1080
|
```
|
|
1059
1081
|
|
|
1060
|
-
|
|
1082
|
+
##### Video Item
|
|
1061
1083
|
|
|
1062
1084
|
A video to be displayed in the panel.
|
|
1063
1085
|
|
|
@@ -1077,7 +1099,7 @@ Example:
|
|
|
1077
1099
|
}
|
|
1078
1100
|
```
|
|
1079
1101
|
|
|
1080
|
-
|
|
1102
|
+
##### Audio Item
|
|
1081
1103
|
|
|
1082
1104
|
An audio file to be played in the panel.
|
|
1083
1105
|
|
|
@@ -1097,7 +1119,7 @@ Example:
|
|
|
1097
1119
|
}
|
|
1098
1120
|
```
|
|
1099
1121
|
|
|
1100
|
-
|
|
1122
|
+
##### Button Item
|
|
1101
1123
|
|
|
1102
1124
|
A button that triggers an action when clicked.
|
|
1103
1125
|
|
|
@@ -1132,7 +1154,7 @@ Example:
|
|
|
1132
1154
|
}
|
|
1133
1155
|
```
|
|
1134
1156
|
|
|
1135
|
-
|
|
1157
|
+
##### Panel Item
|
|
1136
1158
|
|
|
1137
1159
|
A sub-panel whose data is loaded on-demand by expanding the item.
|
|
1138
1160
|
|
|
@@ -1154,6 +1176,23 @@ Example:
|
|
|
1154
1176
|
}
|
|
1155
1177
|
```
|
|
1156
1178
|
|
|
1179
|
+
#### Prefetching
|
|
1180
|
+
|
|
1181
|
+
To reduce the time for info panel data to appear, data can be prefetched.
|
|
1182
|
+
|
|
1183
|
+
| Parameter | Type | Optional | Default | Example | Description |
|
|
1184
|
+
|--------------------------------|--------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------------------------|
|
|
1185
|
+
| `infoPanel[*].prefetchObjects` | Number | yes | `0` | `2` | Number of next rows to prefetch when browsing sequential rows. For example, `2` means the next 2 rows will be fetched in advance. |
|
|
1186
|
+
| `infoPanel[*].prefetchStale` | Number | yes | `0` | `10` | Duration in seconds after which prefetched data is discarded as stale. |
|
|
1187
|
+
|
|
1188
|
+
Prefetching is particularly useful when navigating through lists of objects. To optimize performance and avoid unnecessary data loading, prefetching is triggered only after the user has moved through 3 consecutive rows using the keyboard down-arrow key or by mouse click.
|
|
1189
|
+
|
|
1190
|
+
### Freeze Columns
|
|
1191
|
+
|
|
1192
|
+
▶️ *Core > Browser > Freeze column*
|
|
1193
|
+
|
|
1194
|
+
Right-click on a table column header to freeze columns from the left up to the clicked column in the data browser. When scrolling horizontally, the frozen columns remain visible while the other columns scroll underneath.
|
|
1195
|
+
|
|
1157
1196
|
## Browse as User
|
|
1158
1197
|
|
|
1159
1198
|
▶️ *Core > Browser > Browse*
|
|
@@ -1182,6 +1221,12 @@ This feature allows you to change how a pointer is represented in the browser. B
|
|
|
1182
1221
|
This feature will take either selected rows or all rows of an individual class and saves them to a CSV file, which is then downloaded. CSV headers are added to the top of the file matching the column names.
|
|
1183
1222
|
|
|
1184
1223
|
> ⚠️ There is currently a 10,000 row limit when exporting all data. If more than 10,000 rows are present in the class, the CSV file will only contain 10,000 rows.
|
|
1224
|
+
## Views
|
|
1225
|
+
|
|
1226
|
+
▶️ *Core > Views*
|
|
1227
|
+
|
|
1228
|
+
Views are saved queries that display aggregated data from your classes. Create a view by providing a name, selecting a class and defining an aggregation pipeline. Optionally enable the object counter to show how many items match the view. Saved views appear in the sidebar, where you can select, edit, or delete them.
|
|
1229
|
+
|
|
1185
1230
|
|
|
1186
1231
|
# Contributing
|
|
1187
1232
|
|
|
@@ -1193,4 +1238,4 @@ As of April 5, 2017, Parse, LLC has transferred this code to the parse-community
|
|
|
1193
1238
|
|
|
1194
1239
|
[license-svg]: https://img.shields.io/badge/license-BSD-lightgrey.svg
|
|
1195
1240
|
[license-link]: LICENSE
|
|
1196
|
-
[open-collective-link]: https://opencollective.com/parse-server
|
|
1241
|
+
[open-collective-link]: https://opencollective.com/parse-server
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parse-dashboard",
|
|
3
|
-
"version": "7.3.0-alpha.
|
|
3
|
+
"version": "7.3.0-alpha.20",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/parse-community/parse-dashboard"
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"fast-deep-equal": "3.1.3",
|
|
50
50
|
"graphiql": "2.0.8",
|
|
51
51
|
"graphql": "16.11.0",
|
|
52
|
-
"immutable": "5.1.
|
|
52
|
+
"immutable": "5.1.3",
|
|
53
53
|
"immutable-devtools": "0.1.5",
|
|
54
54
|
"inquirer": "12.6.3",
|
|
55
55
|
"js-beautify": "1.15.4",
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
"devDependencies": {
|
|
78
78
|
"@actions/core": "1.11.1",
|
|
79
79
|
"@babel/core": "7.27.4",
|
|
80
|
-
"@babel/eslint-parser": "7.
|
|
80
|
+
"@babel/eslint-parser": "7.28.0",
|
|
81
81
|
"@babel/plugin-proposal-decorators": "7.27.1",
|
|
82
|
-
"@babel/plugin-transform-runtime": "7.
|
|
82
|
+
"@babel/plugin-transform-runtime": "7.28.0",
|
|
83
83
|
"@babel/preset-env": "7.27.2",
|
|
84
84
|
"@babel/preset-react": "7.27.1",
|
|
85
85
|
"@eslint/compat": "1.2.9",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"babel-loader": "10.0.0",
|
|
96
96
|
"css-loader": "6.7.3",
|
|
97
97
|
"eslint": "9.28.0",
|
|
98
|
-
"eslint-plugin-jest": "
|
|
98
|
+
"eslint-plugin-jest": "29.0.1",
|
|
99
99
|
"eslint-plugin-react": "7.37.5",
|
|
100
100
|
"globals": "16.2.0",
|
|
101
101
|
"http-server": "14.1.1",
|
|
@@ -106,13 +106,13 @@
|
|
|
106
106
|
"marked": "15.0.12",
|
|
107
107
|
"null-loader": "4.0.1",
|
|
108
108
|
"prettier": "3.5.3",
|
|
109
|
-
"puppeteer": "24.
|
|
109
|
+
"puppeteer": "24.12.1",
|
|
110
110
|
"react-test-renderer": "16.13.1",
|
|
111
111
|
"request": "2.88.2",
|
|
112
|
-
"request-promise": "4.2.
|
|
113
|
-
"sass": "1.89.
|
|
112
|
+
"request-promise": "4.2.6",
|
|
113
|
+
"sass": "1.89.2",
|
|
114
114
|
"sass-loader": "13.2.0",
|
|
115
|
-
"semantic-release": "24.2.
|
|
115
|
+
"semantic-release": "24.2.7",
|
|
116
116
|
"semver": "7.7.2",
|
|
117
117
|
"style-loader": "3.3.1",
|
|
118
118
|
"svg-prep": "1.0.4",
|