Skip to content

Commit c20ad54

Browse files
authored
Merge branch 'master' into custom-branding
2 parents c509c2d + 206b3f1 commit c20ad54

File tree

74 files changed

+4397
-3249
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+4397
-3249
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
name: "\U0001F41B Report an issue"
3+
about: A feature is not working as expected.
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
### New Issue Checklist
11+
<!--
12+
Check every following box [x] before submitting your issue.
13+
Click the "Preview" tab for better readability.
14+
Thanks for contributing to Parse Platform!
15+
-->
16+
17+
- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
18+
- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/master/SUPPORT.md).
19+
- [ ] I have searched through [existing issues](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
20+
- [ ] I can reproduce the issue with the latest versions of [Parse Server](https://github.com/parse-community/parse-server/releases) and [Parse Dashboard](https://github.com/parse-community/parse-dashboard/releases). <!-- We don't investigate issues for outdated releases. -->
21+
22+
### Issue Description
23+
<!-- What is the specific issue? -->
24+
25+
### Steps to reproduce
26+
<!-- How can someone else reproduce the issue? -->
27+
28+
### Actual Outcome
29+
<!-- What outcome did you get? -->
30+
31+
### Expected Outcome
32+
<!-- What outcome did you expect? -->
33+
34+
### Environment
35+
<!-- Be specific with versions, don't use "latest" or semver ranges like "~x.y.z" or "^x.y.z". -->
36+
37+
Dashboard
38+
- Parse Dashboard version: `FILL_THIS_OUT`
39+
- Browser (Safari, Chrome, Firefox, Edge, etc.): `FILL_THIS_OUT`
40+
- Browser version: `FILL_THIS_OUT`
41+
42+
Server
43+
- Parse Server version: `FILL_THIS_OUT`
44+
- Operating system: `FILL_THIS_OUT`
45+
- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): `FILL_THIS_OUT`
46+
47+
Database
48+
- System (MongoDB or Postgres): `FILL_THIS_OUT`
49+
- Database version: `FILL_THIS_OUT`
50+
- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): `FILL_THIS_OUT`
51+
52+
### Logs
53+
<!--
54+
Include relevant logs here. Turn on additional logging by configuring VERBOSE=1 in your environment. If you get a Browser JavaScript error run `npm run dev` to see source maps and a more detailed stack trace.
55+
-->
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: "\U0001F4A1 Request a feature"
3+
about: Suggest new functionality or an enhancement of existing functionality.
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
### New Feature / Enhancement Checklist
11+
<!--
12+
Check every following box [x] before submitting your issue.
13+
Click the "Preview" tab for better readability.
14+
Thanks for contributing to Parse Platform!
15+
-->
16+
17+
- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
18+
- [ ] I am not just asking a [question](https://github.com/parse-community/.github/blob/master/SUPPORT.md).
19+
- [ ] I have searched through [existing issues](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
20+
21+
### Current Limitation
22+
<!-- Which current limitation is the feature or enhancement addressing? -->
23+
24+
### Feature / Enhancement Description
25+
<!-- What is the concept of the functionality and how should it be implemented? -->
26+
27+
### Example Use Case
28+
<!-- What is an example use case in steps (1. / 2. / 3. / etc.) that describes the functionality? -->
29+
30+
### Alternatives / Workarounds
31+
<!-- Which alternatives or workarounds exist currently? -->
32+
33+
### 3rd Party References
34+
<!-- Have you seen a similar functionality provided somewhere else? -->

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 🙋🏽‍♀️ Getting help with code
4+
url: https://stackoverflow.com/questions/tagged/parse-platform
5+
about: Get help with code-level questions on Stack Overflow.
6+
- name: 🙋 Getting general help
7+
url: https://community.parseplatform.org
8+
about: Get help with other questions on our Community Forum.

.github/pull_request_template.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
### New Pull Request Checklist
2+
<!--
3+
Please check the following boxes [x] before submitting your issue.
4+
Click the "Preview" tab for better readability.
5+
Thanks for contributing to Parse Server!
6+
-->
7+
8+
- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
9+
- [ ] I am creating this PR in reference to an [issue](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
10+
11+
### Issue Description
12+
<!-- Add a brief description of the issue this PR solves. -->
13+
14+
Related issue: #`FILL_THIS_OUT`
15+
16+
### Approach
17+
<!-- Add a description of the approach in this PR. -->
18+
19+
### TODOs before merging
20+
<!--
21+
Add TODOs that need to be completed before merging this PR.
22+
Delete TODOs that do not apply to this PR.
23+
-->
24+
25+
- [ ] Add tests
26+
- [ ] Add entry to changelog
27+
- [ ] Add changes to documentation (guides, repository pages, in-code descriptions)

.github/workflows/ci.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ on:
77
branches:
88
- '**'
99
jobs:
10+
check-changelog:
11+
name: Changelog
12+
timeout-minutes: 5
13+
runs-on: ubuntu-18.04
14+
steps:
15+
- uses: actions/checkout@v2
16+
- uses: dangoslen/changelog-enforcer@v2
1017
build:
1118
runs-on: ubuntu-18.04
1219
timeout-minutes: 30

CHANGELOG.md

Lines changed: 61 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,64 @@
1-
## Parse Dashboard Changelog
2-
3-
### master
4-
[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.1.0...master)
5-
6-
### 2.1.0
1+
# Parse Dashboard Changelog
2+
3+
# master
4+
[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.2.0...master)
5+
6+
## New Features
7+
## Improvements
8+
- Add CI check to add changelog entry (Manuel Trezza) [#1764](https://github.com/parse-community/parse-dashboard/pull/1764)
9+
- Refactor: uniform issue templates across repos (Manuel Trezza) [#1767](https://github.com/parse-community/parse-dashboard/pull/1767)
10+
- fix: date cell value not selected on double clicks (fn-faisal) [#1730](https://github.com/parse-community/parse-dashboard/pull/1730)
11+
12+
## Fixes
13+
- Fixed bug when opening a big modal, modal content is not visible due to Sidebar (Prerna Mehra) [#1777](https://github.com/parse-community/parse-dashboard/pull/1778)
14+
- Fixed UI for a field containing an array of pointers (Prerna Mehra) [#1776](https://github.com/parse-community/parse-dashboard/pull/1776)
15+
- Fixed bug when editing or copying a field containing an array of pointers [#1770](https://github.com/parse-community/parse-dashboard/issues/1770) (Prerna Mehra) [#1771](https://github.com/parse-community/parse-dashboard/pull/1771)
16+
17+
# 2.2.0
18+
[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.1.0...2.2.0)
19+
20+
## New Features
21+
- Added data export in CSV format for classes (Cory Imdieke, Manuel Trezza) [#1494](https://github.com/parse-community/parse-dashboard/pull/1494)
22+
- Added collapsing sidebar for small screens (Douglas Muraoka, Manuel Trezza) [#1760](https://github.com/parse-community/parse-dashboard/pull/1760)
23+
- Added exclude hidden columns from being fetched from server (itzharDev) [#1694](https://github.com/parse-community/parse-dashboard/pull/1694)
24+
- Added cloning rows (Prerna Mehra) [#1697](https://github.com/parse-community/parse-dashboard/pull/1697)
25+
- Added `Cmd`-click on pointer to open link in new browser tab (fn-faisal) [#1757](https://github.com/parse-community/parse-dashboard/pull/1757)
26+
- Added browsing as another user (Nino Črljenec, Manuel Trezza) [#1750](https://github.com/parse-community/parse-dashboard/pull/1750)
27+
- Added `columnPreference.preventSort` configuration option to prevent a column from being used for sorting (Christopher Brookes) [#1709](https://github.com/parse-community/parse-dashboard/pull/1709)
28+
- Added `columnPreference` configuration option for data browser (dblythy) [#1625](https://github.com/parse-community/parse-dashboard/pull/1625)
29+
30+
## Improvements
31+
- Improved navigation by redesigning pointer cell with link icon (Prerna Mehra) [#1708](https://github.com/parse-community/parse-dashboard/pull/1708)
32+
- Improved rendering an array of pointers in cell (fn-faisal) [#1727](https://github.com/parse-community/parse-dashboard/pull/1727)
33+
- Improved flow when creating a class and adding columns (fn-faisal) [#1728](https://github.com/parse-community/parse-dashboard/pull/1728)
34+
- Added indication of required fields when adding new row (Prerna Mehra) [#1720](https://github.com/parse-community/parse-dashboard/pull/1720)
35+
- Added indication of auto-populated fields when adding new row (Prerna Mehra) [#1692](https://github.com/parse-community/parse-dashboard/pull/1692)
36+
- Added cancel button while adding a new row (Prerna Mehra) [#1690](https://github.com/parse-community/parse-dashboard/pull/1690)
37+
- Added progress indicator when uploading a file in modal dialog (Prerna Mehra) [#1717](https://github.com/parse-community/parse-dashboard/pull/1717)
38+
- Added tooltip for read-only fields (Prerna Mehra) [#1688](https://github.com/parse-community/parse-dashboard/pull/1688)
39+
- Added message when no locale is set for localizing push notifications (Prerna Mehra) [#1685](https://github.com/parse-community/parse-dashboard/pull/1685)
40+
- Updated to Parse JS SDK 3.3.0 (Manuel Trezza) [#1745](https://github.com/parse-community/parse-dashboard/pull/1745)
41+
- Transitioned CI to GitHub Actions (Diamond Lewis) [#1640](https://github.com/parse-community/parse-dashboard/pull/1640)
42+
- Added finish date to Cloud Job status (Diamond Lewis) [#1620](https://github.com/parse-community/parse-dashboard/pull/1620)
43+
44+
## Fixes
45+
- Fixed clear state.data when setting relation to prevent column type mismatch (John Dillick) [#1564](https://github.com/parse-community/parse-dashboard/pull/1564)
46+
- Fixed incorrect setting of pointer CLPs (mess-lelouch) [#1556](https://github.com/parse-community/parse-dashboard/pull/1556)
47+
- Fixed master key not being passed in when saving file in global config (stevestencil) [#1581](https://github.com/parse-community/parse-dashboard/pull/1581)
48+
- Fixes toolbar overlap to page title (Sergei Smirnov) [#1578](https://github.com/parse-community/parse-dashboard/pull/1578)
49+
- Fixed various issues with edit row dialog (Nino Črljenec) [#1586](https://github.com/parse-community/parse-dashboard/pull/1586)
50+
- Fixed date filters in data browser (Prerna Mehra) [#1682](https://github.com/parse-community/parse-dashboard/pull/1682)
51+
- Fixed `expiresAt` field in `Session` class not appearing as read-only (Prerna Mehra) [#1686](https://github.com/parse-community/parse-dashboard/pull/1686)
52+
- Fixed missing error message on failed clone row task (Prerna Mehra) [#1687](https://github.com/parse-community/parse-dashboard/pull/1687)
53+
- Fixes missing or duplicate rows displayed when scrolling; this fix may require the additional creation of database indices to avoid performance issues, see PR discussion (Prerna Mehra) [#1706](https://github.com/parse-community/parse-dashboard/pull/1706)
54+
- Fixed missing key binding for copy, paste, cancel while adding a new row (Christopher Brookes) [#1714](https://github.com/parse-community/parse-dashboard/pull/1714)
55+
- Fixed setup locales message when adding all locales to push notification (Prerna Mehra) [#1691](https://github.com/parse-community/parse-dashboard/pull/1691)
56+
- Fixed no error message displayed when trying to add column with a name that has a leading number (Prerna Mehra) [#1718](https://github.com/parse-community/parse-dashboard/pull/1718)
57+
- Fixed fetching data when un-hiding column despite that data is already cached (Prerna Mehra) [#1734](https://github.com/parse-community/parse-dashboard/pull/1734)
58+
- Fixed incorrect documentation (Philipp B) [#1592](https://github.com/parse-community/parse-dashboard/pull/1592)
59+
- Fixed various dependency vulnerabilities
60+
61+
# 2.1.0
762
[Full Changelog](https://github.com/parse-community/parse-dashboard/compare/2.0.5...2.1.0)
863

964
__New features:__

Parse-Dashboard/parse-dashboard-config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
}
1212
],
1313
"iconsFolder": "icons"
14-
}
14+
}

README.md

Lines changed: 76 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Parse Dashboard
1+
# Parse Dashboard <!-- omit in toc -->
22

33
[![Greenkeeper badge](https://badges.greenkeeper.io/parse-community/parse-dashboard.svg)](https://greenkeeper.io/)
44
[![Build Status](https://img.shields.io/travis/parse-community/parse-dashboard/master.svg?style=flat)](https://travis-ci.org/parse-community/parse-dashboard)
@@ -11,31 +11,35 @@
1111

1212
Parse Dashboard is a standalone dashboard for managing your [Parse Server](https://github.com/ParsePlatform/parse-server) apps.
1313

14-
* [Getting Started](#getting-started)
15-
* [Local Installation](#local-installation)
16-
* [Configuring Parse Dashboard](#configuring-parse-dashboard)
17-
* [File](#file)
18-
* [Environment variables](#environment-variables)
19-
* [Multiple apps](#multiple-apps)
20-
* [Single app](#single-app)
21-
* [Managing Multiple Apps](#managing-multiple-apps)
22-
* [GraphQL Playground](#graphql-playground)
23-
* [App Icon Configuration](#app-icon-configuration)
24-
* [App Background Color Configuration](#app-background-color-configuration)
25-
* [Other Configuration Options](#other-configuration-options)
26-
* [Running as Express Middleware](#running-as-express-middleware)
27-
* [Deploying Parse Dashboard](#deploying-parse-dashboard)
28-
* [Preparing for Deployment](#preparing-for-deployment)
29-
* [Security Considerations](#security-considerations)
30-
* [Configuring Basic Authentication](#configuring-basic-authentication)
31-
* [Separating App Access Based on User Identity](#separating-app-access-based-on-user-identity)
32-
* [Use Read-Only masterKey](#use-read-only-masterKey)
33-
* [Making an app read-only for all users](#making-an-app-read-only-for-all-users)
34-
* [Makings users read-only](#makings-users-read-only)
35-
* [Making user's apps readOnly](#making-users-apps-readonly)
36-
* [Configuring Localized Push Notifications](#configuring-localized-push-notifications)
37-
* [Run with Docker](#run-with-docker)
38-
* [Contributing](#contributing)
14+
- [Getting Started](#getting-started)
15+
- [Local Installation](#local-installation)
16+
- [Configuring Parse Dashboard](#configuring-parse-dashboard)
17+
- [File](#file)
18+
- [Environment variables](#environment-variables)
19+
- [Multiple apps](#multiple-apps)
20+
- [Single app](#single-app)
21+
- [Managing Multiple Apps](#managing-multiple-apps)
22+
- [GraphQL Playground](#graphql-playground)
23+
- [App Icon Configuration](#app-icon-configuration)
24+
- [App Background Color Configuration](#app-background-color-configuration)
25+
- [Other Configuration Options](#other-configuration-options)
26+
- [Prevent columns sorting](#prevent-columns-sorting)
27+
- [Running as Express Middleware](#running-as-express-middleware)
28+
- [Deploying Parse Dashboard](#deploying-parse-dashboard)
29+
- [Preparing for Deployment](#preparing-for-deployment)
30+
- [Security Considerations](#security-considerations)
31+
- [Configuring Basic Authentication](#configuring-basic-authentication)
32+
- [Separating App Access Based on User Identity](#separating-app-access-based-on-user-identity)
33+
- [Use Read-Only masterKey](#use-read-only-masterkey)
34+
- [Making an app read-only for all users](#making-an-app-read-only-for-all-users)
35+
- [Makings users read-only](#makings-users-read-only)
36+
- [Making user's apps readOnly](#making-users-apps-readonly)
37+
- [Configuring Localized Push Notifications](#configuring-localized-push-notifications)
38+
- [Run with Docker](#run-with-docker)
39+
- [Features](#features)
40+
- [Browse as User](#browse-as-user)
41+
- [CSV Export](#csv-export)
42+
- [Contributing](#contributing)
3943

4044
# Getting Started
4145

@@ -247,6 +251,33 @@ You can set `appNameForURL` in the config file for each app to control the url o
247251

248252
To change the app to production, simply set `production` to `true` in your config file. The default value is false if not specified.
249253

254+
### Prevent columns sorting
255+
256+
You can prevent some columns to be sortable by adding `preventSort` to columnPreference options in each app configuration
257+
258+
```json
259+
260+
"apps": [
261+
{
262+
"appId": "local_app_id",
263+
"columnPreference": {
264+
"_User": [
265+
{
266+
"name": "createdAt",
267+
"visible": true,
268+
"preventSort": true
269+
},
270+
{
271+
"name": "updatedAt",
272+
"visible": true,
273+
"preventSort": false
274+
},
275+
]
276+
}
277+
}
278+
]
279+
```
280+
250281
# Running as Express Middleware
251282

252283
Instead of starting Parse Dashboard with the CLI, you can also run it as an [express](https://github.com/expressjs/express) middleware.
@@ -535,6 +566,25 @@ docker run -d -p 80:8080 -v host/path/to/config.json:/src/Parse-Dashboard/parse-
535566

536567
If you are not familiar with Docker, ``--port 8080`` will be passed in as argument to the entrypoint to form the full command ``npm start -- --port 8080``. The application will start at port 8080 inside the container and port ``8080`` will be mounted to port ``80`` on your host machine.
537568

569+
# Features
570+
*(The following is not a complete list of features but a work in progress to build a comprehensive feature list.)*
571+
572+
## Browse as User
573+
574+
▶️ *Core > Browser > Browse*
575+
576+
This feature allows you to use the data browser as another user, respecting that user's data permissions. For example, you will only see records and fields the user has permission to see.
577+
578+
> ⚠️ Logging in as another user will trigger the same Cloud Triggers as if the user logged in themselves using any other login method. Logging in as another user requires to enter that user's password.
579+
580+
## CSV Export
581+
582+
▶️ *Core > Browser > Export*
583+
584+
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.
585+
586+
> ⚠️ 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.
587+
538588
# Contributing
539589

540590
We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Dashboard guide](CONTRIBUTING.md).

0 commit comments

Comments
 (0)