Commit Graph

15 Commits

Author SHA1 Message Date
Rijk van Zanten
92e1ee77bd Add support for Conditional Fields (#6864)
* Add conditions field to directus_fields

* Add conditions configuration

* Apply conditional overrides

* Handle conditions in nested groups

* Fix reverse mutating conditions

* Start on filter setup interface

* Move field types/constants to shared

* [WIP] Updated client side filter validation

* Support logical operators in client validation step

* Use new validation util in conditions check

* Add nesting in filter seutp

* Add filter rule setup configurator

* Fixes that should've been done in the merge

* Strip out filter-settings interface

TBD in a new PR

* Move browser to index
2021-07-26 18:02:24 -04:00
Nicola Krumschmidt
32972f4c01 Move define extension functions to shared and expose them through extension-sdk (#6880)
* Move defineInterface to shared

* Split up utils into node and browser utils

* Move defineDisplay to shared

* Move defineLayout to shared

* Move defineModule to shared

* Add defineEndpoint and defineHook to define-extensions

* Expose define extension functions through extension-sdk

* Make route type of defineEndpoint more specific

* Simplify define extension functions

* Deduplicate types and local types definition

* Do not allow functional components in display handler

* Make interface options nullable

* Deduplicate extension types definition

* Fix utils/node exports
2021-07-22 17:02:29 +02:00
Nicola Krumschmidt
b61543c0e9 Move DeepPartial to shared (#6886)
Also cleans it up and adds support for readonly arrays.
2021-07-20 11:40:59 -04:00
Nicola Krumschmidt
d3a960a0a0 Make extension loading more robust (#6845)
* Make extension loading more robust

* Remove unnecessary path joining
2021-07-16 13:57:18 -04:00
Nicola Krumschmidt
7898f3ee92 Fix extension loading on Windows (#6862)
Extension path and entrypoint are win32 paths, so they have to be
converted to posix last.
2021-07-16 13:56:51 -04:00
Nicola Krumschmidt
a65c3d3df9 Fix production build on node versions <16 (#6836) 2021-07-15 15:19:04 -04:00
rijkvanzanten
f6807767e4 Handle monorepos in extension discovery 2021-07-14 16:53:28 -04:00
Nicola Krumschmidt
1989760ccc Allow extension-sdk to bundle API extensions as well (#6735)
This also converts the API extension templates to ESM syntax.
2021-07-11 10:01:18 +02:00
Nicola Krumschmidt
1436340163 Rename ensure-extensions-dirs.ts to align with function name (#6737) 2021-07-09 15:23:04 +00:00
Nicola Krumschmidt
b7a50c5012 Optimize extension-sdk CLI types (#6718)
* Add extension type guards

* Rename validate-extension-package util

* Optimize extension-sdk CLI types
2021-07-09 12:32:07 +02:00
Nicola Krumschmidt
ff393eab3b Add create command to extension-sdk CLI (#6590)
* Add create command to extension-sdk CLI

* Extract extension package.json key name to shared

* Check package.json before building extensions

* Add source field to package.json

* Pin extension-sdk verson in scaffolded package

* Change options color to magenta
2021-07-07 12:34:51 +00:00
Nicola Krumschmidt
e764c7c7fb Fix extension loading on windows (#6579)
Javascript import syntax uses URLs instead of paths, so we have to
normalize the extension paths to forward slashes when importing them
inside the virtual entrypoints.

Fixes #6550
2021-06-30 10:03:21 -04:00
Nicola Krumschmidt
ed1127f3b1 Fix extension loading when PUBLIC_URL is absolute without origin (#6534)
* Fix extension loading when PUBLIC_URL is absolute without origin

* Minify extension bundler output

* Make extension loading in dev more robust

* Rename ensureExtensionsDirs to ensureExtensionDirs
2021-06-28 11:20:30 -04:00
Nicola Krumschmidt
d544214c79 Fix extension loading on initial startup (#6471) 2021-06-23 18:16:13 -04:00
Nicola Krumschmidt
051df415df Fix extensions (#6377)
* Add support for npm extensions

* Allow extensions to import vue from the main app

* Bundle app extensions on server startup

* Fix return type of useLayoutState

* Add shared package

* Add extension-sdk package

* Add type declaration files to allow deep import of shared package

* Add extension loading to shared

* Refactor extension loading to use shared package

* Remove app bundle newline replacement

* Fix extension loading in development

* Rename extension entrypoints

* Update extension build instructions

* Remove vite auto-replacement workaround

* Update package-lock.json

* Remove newline from generated extension entrypoint

* Update package-lock.json

* Build shared package as cjs and esm

* Move useLayoutState composable to shared

* Reverse vite base env check

* Share useLayoutState composable through extension-sdk

* Update layout docs

* Update package versions

* Small cleanup

* Fix layout docs

* Fix imports

* Add nickrum to codeowners

* Fix typo

* Add 'em to vite config too

* Fix email

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-06-23 12:43:06 -04:00