Commit Graph

1403 Commits

Author SHA1 Message Date
Cassie Tarakajian f09e743e92
Merge pull request #1143 from andrewn/feature/standalone-sketches
Standalone sketches and asset page (fixes #1142)
2019-09-11 16:52:39 -04:00
Cassie Tarakajian 3a65afb6da change link to editor back to 'back to editor' 2019-09-11 16:46:56 -04:00
Andrew Nicolaou 41636642c9 Style Dashboard tabs to match visual style of other tabs in app 2019-09-11 20:11:46 +02:00
Andrew Nicolaou 125051ccb1 Use Nav with user menu in "dashboard" layout 2019-09-11 20:11:46 +02:00
Andrew Nicolaou 611730c289 Refactor Nav 2019-09-11 19:06:30 +02:00
Andrew Nicolaou 8ac95c0084 SketchList and AssetList set page title 2019-09-08 17:10:48 +02:00
Andrew Nicolaou 7ea4ae5637 Fix linting errors and warnings 2019-09-08 16:43:16 +02:00
Andrew Nicolaou 162d5276f1 Display Access Token tab depending on UI_ACCESS_TOKEN_ENABLED feature flag (#1149) 2019-08-30 16:15:13 -04:00
Andrew Nicolaou 1f4bd581a8 Public API: Namespace private and public APIs (#1148)
* Converts import script to use public API endpoints

The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.

* Exposes public API endpoint to fetch user's sketches

* Implements public API delete endpoint

* Adds helper to create custom ApplicationError classes

* Adds create project endpoint that understand API's data structure

This transforms the nested tree of file data into a mongoose
Project model

* Returns '201 Created' to match API spec

* Removes 'CustomError' variable assignment as it shows up in test output

* transformFiles will return file validation errors

* Tests API project controller

* Tests toModel()

* Creates default files if no root-level .html file is provided

* Do not auto-generate a slug if it is provided

Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.

* Validates uniqueness of slugs for projects created by the public API

* Adds tests for slug uniqueness

* Configures node's Promise implementation for mongoose (fixes warnings)

* Moves createProject tests to match controller location

* Adds support for code to ApplicationErrors

* deleteProject controller tests

* getProjectsForUser controller tests

- implements tests
- update apiKey tests to use new User mocks

* Ensure error objects have consistent property names

`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format

* Assert environment variables are provided at script start

* Version public API

* Expect "files" property to always be provided

* Fixes linting error

* Converts import script to use public API endpoints

The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.

* Exposes public API endpoint to fetch user's sketches

* Implements public API delete endpoint

* Adds helper to create custom ApplicationError classes

* Adds create project endpoint that understand API's data structure

This transforms the nested tree of file data into a mongoose
Project model

* Returns '201 Created' to match API spec

* Removes 'CustomError' variable assignment as it shows up in test output

* transformFiles will return file validation errors

* Tests API project controller

* Tests toModel()

* Creates default files if no root-level .html file is provided

* Do not auto-generate a slug if it is provided

Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.

* Validates uniqueness of slugs for projects created by the public API

* Adds tests for slug uniqueness

* Configures node's Promise implementation for mongoose (fixes warnings)

* Moves createProject tests to match controller location

* deleteProject controller tests

* Adds support for code to ApplicationErrors

* getProjectsForUser controller tests

- implements tests
- update apiKey tests to use new User mocks

* Ensure error objects have consistent property names

`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format

* Assert environment variables are provided at script start

* Version public API

* Expect "files" property to always be provided

* Fixes linting error

* Checks that authenticated user has permission to create under this namespace

Previously, the project was always created under the authenticated user's
namespace, but this not obvious behaviour.

* Splits private and public APIs

The private API is under /editor and the public API under /api
2019-08-30 14:39:45 -04:00
Andrew Nicolaou d44a058fd8 Public API: Create new project (fixes #1095) (#1106)
* Converts import script to use public API endpoints

The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.

* Exposes public API endpoint to fetch user's sketches

* Implements public API delete endpoint

* Adds helper to create custom ApplicationError classes

* Adds create project endpoint that understand API's data structure

This transforms the nested tree of file data into a mongoose
Project model

* Returns '201 Created' to match API spec

* Removes 'CustomError' variable assignment as it shows up in test output

* transformFiles will return file validation errors

* Tests API project controller

* Tests toModel()

* Creates default files if no root-level .html file is provided

* Do not auto-generate a slug if it is provided

Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.

* Validates uniqueness of slugs for projects created by the public API

* Adds tests for slug uniqueness

* Configures node's Promise implementation for mongoose (fixes warnings)

* Moves createProject tests to match controller location

* Adds support for code to ApplicationErrors

* deleteProject controller tests

* getProjectsForUser controller tests

- implements tests
- update apiKey tests to use new User mocks

* Ensure error objects have consistent property names

`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format

* Assert environment variables are provided at script start

* Version public API

* Expect "files" property to always be provided

* Fixes linting error

* Converts import script to use public API endpoints

The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.

* Exposes public API endpoint to fetch user's sketches

* Implements public API delete endpoint

* Adds helper to create custom ApplicationError classes

* Adds create project endpoint that understand API's data structure

This transforms the nested tree of file data into a mongoose
Project model

* Returns '201 Created' to match API spec

* Removes 'CustomError' variable assignment as it shows up in test output

* transformFiles will return file validation errors

* Tests API project controller

* Tests toModel()

* Creates default files if no root-level .html file is provided

* Do not auto-generate a slug if it is provided

Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.

* Validates uniqueness of slugs for projects created by the public API

* Adds tests for slug uniqueness

* Configures node's Promise implementation for mongoose (fixes warnings)

* Moves createProject tests to match controller location

* deleteProject controller tests

* Adds support for code to ApplicationErrors

* getProjectsForUser controller tests

- implements tests
- update apiKey tests to use new User mocks

* Ensure error objects have consistent property names

`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format

* Assert environment variables are provided at script start

* Version public API

* Expect "files" property to always be provided

* Fixes linting error

* Checks that authenticated user has permission to create under this namespace

Previously, the project was always created under the authenticated user's
namespace, but this not obvious behaviour.
2019-08-30 14:26:57 -04:00
Andrew Nicolaou b1bfb91f80 Serve assets from /:username/assets, redirecting old path 2019-08-24 13:38:01 +02:00
Andrew Nicolaou a0a13ab7fc Flexible table width 2019-08-24 13:38:01 +02:00
Andrew Nicolaou 0193ee8297 Standalone sketch list and asset page 2019-08-24 13:37:55 +02:00
Andrew Nicolaou 1b461d33cf Do not set prevPath if navigation passes through skipSavingPath flag 2019-08-24 13:31:15 +02:00
Cassie Tarakajian 443232380c fix errors from rebase, again 2019-07-22 17:52:19 -04:00
Shan Rauf 116675f866 Fix hover effect on Log in and Sign up nav items (#1085)
* Fix hover effect on Log in and Sign up nav items

* Fix Login and Signup unequal spacing

* Fix HTML syntax and right nav__item-header hover
2019-07-22 17:34:26 -04:00
siddhant a851eda254 Add sorting to sketches #789 (#910)
* reselect added

* Added Reselect Sorting

* Refactor App

* added svgs

* Refactor

* Fixed Issues

* re: #789, update sorting styling, create sorting actions and reducers, add sort by sketch name

* re #789, change names of svg icons

* re: #789, use orderBy instead of sortBy, fix styling jumps
2019-07-22 17:34:26 -04:00
Vertmo a10e0f0327 You can now generate keys from the advanced settings interface 2019-07-22 17:33:26 -04:00
Laksh Singla bfef3e93dc Update sketch list styling (#819)
* parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540243 -0400

parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540198 -0400

parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560539667 -0400

Created initial html structure and styling for new SketchList design

Final styling of ActionDialogueBox commplete

Dropdown menu disappearing while clicking anywhere on the table

Fixed linting issues and renamed variables

Minor tweaks in the SketchList dropdown dialogue UI

Themifyed the dropdown

Made changes in the dropdown: Arrow positioned slightly updwards, Removed blank space and added box-shadow in dropdown, themifyed dropdowns dashed border color

Added Delete and Share functionality to Dialog box

Added Duplicate functionality to Dialog box

Added download functionality to Dialog box

SketchList does not open a sketch if dialogue box is opened

SketchList Rename initial UI completed

Enter key handled for rename project option

[WIP] Updating rename functionality

Download option now working for all the sketches

Duplicate functionality extended for non opened sketches too

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Dropdown closes when Share and Delete are closing for a more natural UX

fix broken files from rebasing

Created initial html structure and styling for new SketchList design

Final styling of ActionDialogueBox commplete

Added Delete and Share functionality to Dialog box

Added Duplicate functionality to Dialog box

[WIP] Updating rename functionality

Duplicate functionality extended for non opened sketches too

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Final styling of ActionDialogueBox commplete

Fixed linting issues and renamed variables

Minor tweaks in the SketchList dropdown dialogue UI

Themifyed the dropdown

Added Delete and Share functionality to Dialog box

[WIP] Updating rename functionality

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Dropdown closes when Share and Delete are closing for a more natural UX

fix broken files from rebasing

Final styling of ActionDialogueBox commplete

Minor tweaks in the SketchList dropdown dialogue UI

Themifyed the dropdown

[WIP] Updating rename functionality

Duplicate functionality extended for non opened sketches too

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Dropdown closes when Share and Delete are closing for a more natural UX

* fix bugs in merge commit

* move sketch list dialogue to ul/li

* update sketch option dropdown to use dropdown placeholder, remove unused css

* major refactor of sketchlist component, fix showShareModal action, minor updates ot icon sizing

* fix broken links on asset list

* remove unused image, fix options for different users in sketch list
2019-07-22 17:32:55 -04:00
Cassie Tarakajian ab7ecfc012 fix lingering errors from rebase 2019-07-22 17:22:36 -04:00
Shan Rauf 4e0ee89380 Fix hover effect on Log in and Sign up nav items (#1085)
* Fix hover effect on Log in and Sign up nav items

* Fix Login and Signup unequal spacing

* Fix HTML syntax and right nav__item-header hover
2019-07-22 16:16:17 -04:00
siddhant d7837a62be Add sorting to sketches #789 (#910)
* reselect added

* Added Reselect Sorting

* Refactor App

* added svgs

* Refactor

* Fixed Issues

* re: #789, update sorting styling, create sorting actions and reducers, add sort by sketch name

* re #789, change names of svg icons

* re: #789, use orderBy instead of sortBy, fix styling jumps
2019-07-22 16:16:17 -04:00
Cassie Tarakajian e2676ecda7 for #950, update babel to v7 (#1077)
* for #950, upgrade babel to v7

* fix linting errors

* for #950, remove @babel/core from devDependencies (so it's only in dependencies) and change babel-loader config to use .babelrc

* for #950, changes to .babelrc to make  work

* for #950, include core-js modules in webpack config for IE support with babel/plugin-syntax-dynamic-import

* for #950, update babel and associated packages to LTS
2019-07-22 16:16:17 -04:00
Andrew Nicolaou f937e72131 Makes form CSS theme-aware 2019-07-22 16:16:17 -04:00
Andrew Nicolaou e77cbf4fa3 Changes API_KEY_REMOVED action constant to match API_KEY_CREATED 2019-07-22 16:14:51 -04:00
Vertmo 64caab0702 You can now generate keys from the advanced settings interface 2019-07-22 16:13:59 -04:00
Andrew Nicolaou cd21e9ae72 Fixes bug where requestsOfType() would fail if no body
- Passes if request has no body
- Returns a JSON object with an error message when request
  doesn't match type, the response body was "[object Object]"
2019-07-22 16:09:11 -04:00
Cassie Tarakajian d4914983a4 prevent users from adding extension to folder name 2019-07-22 16:09:11 -04:00
Rachel Lim 1dd723cb9f for 989, updated folder cannot be renamed to empty string 2019-07-22 16:09:11 -04:00
Rachel Lim b94ca8a52d for #989, files cannot be renamed to empty string 2019-07-22 16:09:11 -04:00
Cassie Tarakajian f6416738ae Bug/orphaned assets (#1108)
* fixes #498

* fix linting errors
2019-07-22 16:09:11 -04:00
Laksh Singla c3856480b8 Update sketch list styling (#819)
* parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540243 -0400

parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540198 -0400

parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560539667 -0400

Created initial html structure and styling for new SketchList design

Final styling of ActionDialogueBox commplete

Dropdown menu disappearing while clicking anywhere on the table

Fixed linting issues and renamed variables

Minor tweaks in the SketchList dropdown dialogue UI

Themifyed the dropdown

Made changes in the dropdown: Arrow positioned slightly updwards, Removed blank space and added box-shadow in dropdown, themifyed dropdowns dashed border color

Added Delete and Share functionality to Dialog box

Added Duplicate functionality to Dialog box

Added download functionality to Dialog box

SketchList does not open a sketch if dialogue box is opened

SketchList Rename initial UI completed

Enter key handled for rename project option

[WIP] Updating rename functionality

Download option now working for all the sketches

Duplicate functionality extended for non opened sketches too

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Dropdown closes when Share and Delete are closing for a more natural UX

fix broken files from rebasing

Created initial html structure and styling for new SketchList design

Final styling of ActionDialogueBox commplete

Added Delete and Share functionality to Dialog box

Added Duplicate functionality to Dialog box

[WIP] Updating rename functionality

Duplicate functionality extended for non opened sketches too

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Final styling of ActionDialogueBox commplete

Fixed linting issues and renamed variables

Minor tweaks in the SketchList dropdown dialogue UI

Themifyed the dropdown

Added Delete and Share functionality to Dialog box

[WIP] Updating rename functionality

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Dropdown closes when Share and Delete are closing for a more natural UX

fix broken files from rebasing

Final styling of ActionDialogueBox commplete

Minor tweaks in the SketchList dropdown dialogue UI

Themifyed the dropdown

[WIP] Updating rename functionality

Duplicate functionality extended for non opened sketches too

Modified overlay behaviour to close only the last overlay

Share modal can now display different projects

Dropdown closes when Share and Delete are closing for a more natural UX

* fix bugs in merge commit

* move sketch list dialogue to ul/li

* update sketch option dropdown to use dropdown placeholder, remove unused css

* major refactor of sketchlist component, fix showShareModal action, minor updates ot icon sizing

* fix broken links on asset list

* remove unused image, fix options for different users in sketch list
2019-07-22 16:09:11 -04:00
Cassie Tarakajian 0206148b65 fixes #924 (#1107) 2019-07-22 16:09:11 -04:00
Cassie Tarakajian 4381c76758 update axios to latest version 2019-07-22 16:09:11 -04:00
Cassie Tarakajian 3c190874da re #389, update styling in sidebar and editor for icon consistency (#1104)
* re #389, update styling in sidebar and editor for icon consistency

* re #389, remove link to unused icon
2019-07-22 16:09:11 -04:00
Cassie Tarakajian 38e5022661 fixes #945 (#1102) 2019-07-22 16:07:37 -04:00
Cassie Tarakajian edcd225b9d fixes #943 (#1101) 2019-07-22 16:07:37 -04:00
Apoorv Taneja f13e806398 Added hover effect on sidebar elements (#887)
* fixes

* changes

* fixes #886, adjusts sidebar styling to match navigation dropdown, move nav dropdown and sidebar dropdowns into common placeholder
2019-07-22 16:07:37 -04:00
Cassie Tarakajian e81cce1925 fix server crash in which error 'regeneratorRuntime is not defined' was being thrown 2019-07-11 16:42:03 -04:00
Andrew Nicolaou 5534f6536a
Public API for Sketch management documentation (#1076)
Adds public API documentation and proposed API
2019-07-10 10:39:58 +02:00
Andrew Nicolaou f859cfbd0a Include @babel/polyfill for jest tests 2019-06-12 12:37:47 +02:00
Andrew Nicolaou d6438aa3b2 Merge branch 'master' into feature/public-api 2019-06-12 12:03:22 +02:00
Andrew Nicolaou a7b465d446 Merge branch 'feature/public-api' of https://github.com/processing/p5.js-web-editor into feature/public-api 2019-06-12 11:30:20 +02:00
Andrew Nicolaou d2cad7438e
Test create project server code (prep for #1095)
* upgrades jest to latest version

* tests Project model with mockingoose

* extracts createProject controller to own file

* tests createProject controller with sinon-mongoose
2019-06-12 11:27:28 +02:00
Shan Rauf 1ef07ed7a6 Fix hover effect on Log in and Sign up nav items (#1085)
* Fix hover effect on Log in and Sign up nav items

* Fix Login and Signup unequal spacing

* Fix HTML syntax and right nav__item-header hover
2019-06-11 17:47:14 -04:00
Andrew Nicolaou 528f57ad0c Removes the createProject IDE action as it's not used (#1097) 2019-06-11 17:47:14 -04:00
siddhant 8caeb0d439 Add sorting to sketches #789 (#910)
* reselect added

* Added Reselect Sorting

* Refactor App

* added svgs

* Refactor

* Fixed Issues

* re: #789, update sorting styling, create sorting actions and reducers, add sort by sketch name

* re #789, change names of svg icons

* re: #789, use orderBy instead of sortBy, fix styling jumps
2019-06-11 17:47:14 -04:00
Cassie Tarakajian 6f1b6fd51c for #950, update babel to v7 (#1077)
* for #950, upgrade babel to v7

* fix linting errors

* for #950, remove @babel/core from devDependencies (so it's only in dependencies) and change babel-loader config to use .babelrc

* for #950, changes to .babelrc to make  work

* for #950, include core-js modules in webpack config for IE support with babel/plugin-syntax-dynamic-import

* for #950, update babel and associated packages to LTS
2019-06-11 17:47:14 -04:00
Shan Rauf eb82968a9f Fix hover effect on Log in and Sign up nav items (#1085)
* Fix hover effect on Log in and Sign up nav items

* Fix Login and Signup unequal spacing

* Fix HTML syntax and right nav__item-header hover
2019-06-11 17:46:37 -04:00
Andrew Nicolaou 60a3197621 Removes the createProject IDE action as it's not used (#1097) 2019-06-11 17:29:42 -04:00