Commit Graph

1575 Commits

Author SHA1 Message Date
Andrew Nicolaou 0086601af1 Sets Collection List modal in addMode to fixed width 2019-09-25 12:07:18 -04:00
Andrew Nicolaou 679304d0ab Do not empty table when fetching new data 2019-09-25 12:07:18 -04:00
Andrew Nicolaou a385b470b2 Padding for table cells to align with header 2019-09-25 12:07:18 -04:00
Andrew Nicolaou c288481476 Shorten date displayed in Collection List items for better layout 2019-09-25 12:07:18 -04:00
Andrew Nicolaou 95f6105a8b Assets routes should be parsed after server routes so /add-to-collection URL will work 2019-09-25 12:07:17 -04:00
Andrew Nicolaou 20a5ac5ec3 Show toast message when creating collection or adding/removing sketches 2019-09-25 12:07:17 -04:00
Andrew Nicolaou f98919e69b Logged in user can use "Add to collection" menu item 2019-09-25 12:07:17 -04:00
Andrew Nicolaou 959ff3ef20 Splits CollectionList into smaller files 2019-09-25 12:06:07 -04:00
Andrew Nicolaou 8781036ac7 WIP Display collection 2019-09-25 12:06:07 -04:00
Andrew Nicolaou 521e117d95 EditableInput component 2019-09-25 12:06:07 -04:00
Andrew Nicolaou c57ead4c62 Create Collection 2019-09-25 12:06:07 -04:00
Andrew Nicolaou 6ca6e78a28 Displays existing collection
- List all collections for a given user
- View an individual collection
- Link to a sketch from a collection
2019-09-25 12:06:07 -04:00
Andrew Nicolaou af955b1602 Adds collections Nav item behind a feature flag 2019-09-25 12:04:37 -04:00
Andrew Nicolaou c9551a3142 Adds Collections model and Editor API to manage collections
- List any user's collections
- Create new collection
- Modify collection metadata
- Delete collection
- Add/remove any project to/from a collection
2019-09-25 12:01:39 -04:00
Cassie Tarakajian 5c54983c24 add searchbar to sketches dashboard view, adjust sketch list and asset list styling to have sticky header 2019-09-24 17:52:45 -04:00
Cassie Tarakajian 5900e62904 unify navigation for authentication pages, add authorization to front end, fixes #650 2019-09-19 13:38:27 -04:00
Andrew Nicolaou 52e98723f5 Collection metadata area layout improvements 2019-09-18 09:10:10 +02:00
Andrew Nicolaou a93ac48587 Enable collection and sketch to be created from dashboard page 2019-09-17 21:32:54 +02:00
Andrew Nicolaou b980ec7854 Add sketch to collection from collection view 2019-09-17 20:48:37 +02:00
Andrew Nicolaou 709aa8eccb Fix sketch list padding in collection view 2019-09-16 23:13:20 +02:00
Andrew Nicolaou 8b058d8e56 Edit sketch name/description 2019-09-16 23:05:24 +02:00
Andrew Nicolaou d2ec6864fb Remove logging 2019-09-16 21:57:32 +02:00
Andrew Nicolaou 5011c1f002 Display icon-based add/remove button in Collection List 2019-09-16 21:50:44 +02:00
Cassie Tarakajian 7f2529a973 merge master 2019-09-11 19:05:15 -04:00
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 5575c6344a Sets Collection List modal in addMode to fixed width 2019-09-11 21:13:51 +02:00
Andrew Nicolaou a0384f166a Do not empty table when fetching new data 2019-09-11 21:13:34 +02: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 cf3c13266d Padding for table cells to align with header 2019-09-11 20:06:24 +02:00
Andrew Nicolaou fef4bd8d71 Shorten date displayed in Collection List items for better layout 2019-09-11 20:06:08 +02:00
Andrew Nicolaou 611730c289 Refactor Nav 2019-09-11 19:06:30 +02:00
Cassie Tarakajian 8d0e59efc2
Merge pull request #1151 from davidbmx/master
Add matches search into code mirror fixes #936
2019-09-10 16:45:54 -04:00
davidbmx 6030b355ff Remove num results when don't match find 2019-09-10 12:38:12 -05:00
davidbmx 22f958e50a Add matches search into code mirror 2019-09-10 12:00:27 -05:00
Andrew Nicolaou ee896b06ec Assets routes should be parsed after server routes so /add-to-collection URL will work 2019-09-09 18:54:16 +02:00
Andrew Nicolaou c575559272 Show toast message when creating collection or adding/removing sketches 2019-09-09 18:53:54 +02:00
Andrew Nicolaou 55e6b3162d Logged in user can use "Add to collection" menu item 2019-09-09 18:53:21 +02:00
Andrew Nicolaou 3dbaa900a4 Splits CollectionList into smaller files 2019-09-09 18:52:14 +02:00
Andrew Nicolaou b258d7c5ca Fix routing bug displaying Sketch list tab 2019-09-08 19:25:45 +02:00
Andrew Nicolaou 2df3670dc4 WIP Display collection 2019-09-08 19:24:02 +02:00
Andrew Nicolaou 1c97152533 EditableInput component 2019-09-08 18:57:57 +02:00
Andrew Nicolaou dcf65c6f46 Create Collection 2019-09-08 18:06:16 +02:00
Andrew Nicolaou d02a413bf3 Displays existing collection
- List all collections for a given user
- View an individual collection
- Link to a sketch from a collection
2019-09-08 17:24:46 +02:00
Andrew Nicolaou 8ac95c0084 SketchList and AssetList set page title 2019-09-08 17:10:48 +02:00
Andrew Nicolaou 9c36f2b2e2 Adds collections Nav item behind a feature flag 2019-09-08 16:45:59 +02:00
Andrew Nicolaou 83978acc1d Adds Collections model and Editor API to manage collections
- List any user's collections
- Create new collection
- Modify collection metadata
- Delete collection
- Add/remove any project to/from a collection
2019-09-08 16:45:59 +02:00
Andrew Nicolaou 0ae7a9eebb Display Access Token tab depending on UI_ACCESS_TOKEN_ENABLED feature flag (#1149) 2019-09-08 16:45:59 +02:00
Andrew Nicolaou 210e8b60bf 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-09-08 16:45:58 +02:00