Commit Graph

224 Commits

Author SHA1 Message Date
Azri Kahar
ae2024147f Fix WYSIWYG being disabled due to loading (#13147) 2022-05-09 12:58:46 -04:00
Josh Soref
0b01923b0d Spelling (#13072) 2022-05-02 13:16:03 -04:00
Rijk van Zanten
cdb63a90dc Fix validation check on item update (#12933) 2022-04-21 14:38:54 -04:00
Jay Cammarano
f7c8789800 Move more utils to shared (#12825)
* getEndpoint()

* cssVar() and abbreviateNumber

* remove unneeded type. Tests.

* better tests

* getEndpoint Tests

* cssVar => browser folder, test not passing yet

* tests passing
2022-04-19 11:25:48 -04:00
Rijk van Zanten
3410771bce Fix width detection when using mixed hidden fields (#12834)
* Use correct previous visible field when calculating width

Fixes #12815

* Fix order of system filter
2022-04-18 14:31:19 -04:00
Nitwel
303e192a05 fix update fetchedItems on every param change (#12832) 2022-04-18 17:08:06 +00:00
Nitwel
e57718dde5 fix itemId being null (#12799) 2022-04-18 15:38:55 +02:00
Nitwel
3e1fce8968 Relational Interfaces Rework 🐰🕳️ (#12082)
* add basic util function for later use

* sketch up useRelationMultiple implementation

* update relation util and start reworking relational interfaces

* support filter in m2o

* start working on useRelationMultiple

* continue working on relational foundation

* finish basic use-relation-multiple composable

* get o2m pretty close to being finished

* finish up list-o2m

* replace old interfaces

* copy existing interface

* rewrite vue file

* highlight deleted items

* use Search instead of Get

* support selection on m2m

* finish up m2m

* replace old files

* update files interface

* fix permission checks

* fix styling

* add sketches to explain relations

* rewrite m2a interface

* add usage hint to use-relation-multiple

* update file interface to use new composable

* update file-image interface

* fix image not being shown

* revert names

* fix selection of existing items

* fix loading selected items

* in between commit

* update translations interface

* try using composable recursive

* try linear approach on value modeling

* finish rewriting list-o2m-tree-view interface

* revert api changes

* fix sorting for list-o2m-tree-view

* fix selected items in created array

* Add direct download option to files interface

* Fix linter warnings

* Weird that it's being difficult, but ok

* Cast existingItemCount to number at all times

* fix page gets set below 1

* align pagination to the right

* highlight deselecting row

* show min 1 skeleton loader

* only filter selected when item exists

* fix working on new items

* Fix linter warning

* fix deselecting selected items

* show different icon depending if icon is local

* add changes from #12611

* Add _some vs _none support to o2m

* finish filtering out selected items

* Use get instead of search request

* fix save and stay

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* fix adding items to m2o

* Fix linter warning

* Handle no-type better

* Clean up axios usage

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2022-04-14 22:57:17 +02:00
Azri Kahar
0dfbc65bad Add copy button to role ID in role permissions page's sidebar detail (#12706)
* refactor to useClipboard composable

* add copy button to role permissions page
2022-04-13 17:56:29 -04:00
Rijk van Zanten
7bbad9a444 Add support for translatable bookmark names (#12687)
* Add support for translatable bookmark names

* Remove unused imports

* Remove even more unused imports
2022-04-11 20:28:49 +00:00
Rijk van Zanten
90f5b0a471 Add functions support to the app + add count function (#12488)
* Rename date functions to fn, add json_array_length for pg

* Add json count to mssql

* Add json array count support to other vendors

* Add UI for selecting API functions

* Make it not break

* Render functions in filter preview better

* Include functions in field altering

* Add schema access to database helper

* Allow filtering against o2m/m2m/m2a count

* Add data function execution helpers in utils

* Fix type issue

* Inject function results in validate step

* Render field keys with function names translated

* Allow selecting nested/functions in field validation step

* Make sure number comparisons are treated as numbers

* Add check if instanceof date when casting to a Number

* Prevent selecting foreign keys for junction sort (#12463)

* [SDK] Add further request options to `items` functions (#12503)

* add possibility to set further options to the request

* fix options type

* add typings to interface

* add test if headers are passed thourght

* create reusable options param

* set higher priority to options param

* Small stylistic cleanup

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Jürg Hunziker <juerg.hunziker@gmail.com>
2022-03-31 16:56:26 -04:00
Azri Kahar
31cfb8266f Bookmark improvements (#12031)
* add icon & color to bookmarks

* update current bookmark title on edit

* clean up edit bookmark dialog on cancel

* remove unused bookmark-edit component

* interaction improvements

* sort based on scope and alphabetically

* prevent hover when locked & use tooltip

* Reduce size of right hand icon in bookmark

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-03-28 11:23:00 -04:00
Azri Kahar
37cbaa0be5 Add App Translation Strings in Settings (#12170)
* add migration for translation strings

* add to navigation

* WIP

* fix dialog overflow

* update translation keys

* Update logic

* add placeholder to system-language

* fix translation

* remove unused import

* reset dialog on create new

* ensure search input is visible when searching

* merge translation strings on set language

* merge translation strings on update

* hydrate

* make sure null translation do not get merged

* change dialog to drawer

* update placeholder text

* fix form value

* revert dialog style change

* rename drawer component

* Force safe key name

* Move interface to system interfaces

The saved values are Directus app proprietary, so to prevent confusion in what it's supposed to do, we'll move it to system.

* Move composable to root composables

* Use new languages input in interface/display options

* hide translation strings field in project settings

* set system true to system-input-translated-string

* use this in field detail notes

* use in list options

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-03-22 09:39:04 -04:00
Rijk van Zanten
716e02f21f Fix groups in v-field-template (#12284)
* Fix groups in v-field-template

* Remove unused param
2022-03-21 14:39:48 -04:00
Gerard Lamusse
7561648f1b Fix being able to export a relational field that is within a group (#12260) 2022-03-21 09:35:50 -04:00
rijkvanzanten
bdfa50d9cb Fix nested group key path for m2o fields 2022-03-16 11:38:51 -04:00
Rijk van Zanten
5a77ac2f30 Group groups in field select, add search when number of fields exceeds 20 (#12157)
* Group groups in field select

* Fix selecting nested o2m

* Add search to field-list

* Only show search if fields > 20

* Fix default value for v-input

* Add search to field selection

* Make search work on nested subset

* Make search work nested+insensitive

* Fix sorting in field select

* Fix relational fields nested in groups
2022-03-16 10:47:24 -04:00
Azri Kahar
76f463c608 Form error validation improvements (#12001)
* expand groups on save when they contain error(s)

* bubble to top & scroll top

* fix groups validation errors watcher

* fix group acordion's first error field selection

* update global error notice

* WIP - field validation

* tweak validation errors list styling

* more validation-errors-list tweaks

* click and scroll to field

* move validation error notice to a component

* tweak use-item validate

* validate drawer item

* extract validateItem function

* Revert "WIP - field validation"

This reverts commit f6ffd836c4.
2022-03-09 16:48:10 -05:00
Azri Kahar
c51ca2e67b Fix "Save as Copy" for relational fields (#10418)
* fix "save as copy" for relational fields

* use router replace instead of push
2022-03-04 19:50:35 -05:00
Azri Kahar
e6055c8bf8 Resizable navigation panel (#11944)
* WIP for resizable nav panel

* tweak handle width & hover delay

* further tweaks based on vscode's implementation

* add useLocalStorage

* tweak responsiveness & limits

* prefix localstorage key

* rename key

* add context menu for resetting width

* snap into place when within 10 pixels range

* fix stylelint

* Tweak styling, reduce folder complexity

* Remove context menu

* Organize imports

* Rework private-view to script setup

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-03-04 19:15:10 -05:00
Rijk van Zanten
6a3eb823c3 Update base theme of the App (#11952)
* Add migration to remove default value from project_color

* Upgrade the default theme

* Do a pass over the header buttons

* Do another pass over --warning uses

* Little things

* Tweak smoke

* Use updated map

* Use dark system elements in dark mode

* Remove outdated files, update toasts

* Use correct delete button style for role

* Use primary for created point

* Tweak spacing in revisions section

* Use primary for sidebar sections

* Various color tweaks and changes

* Update base color palette

* Update "css reset" code

* Remove splashscreens, add default favicon

* Add primary highlight to datamodel page

* dark mode color update

* fix sign out hover color

* Does this help?!

* This fixes some loading issues

Fixes https://github.com/directus/directus/issues/10707

* Calculate default pretty background?

* Fix public view with logo

* Fix responsiveness of login page

* adjust notification group width to be equal

* Do an absolute pointless task that doesn't do anything

It was suggested that it could fix the stylelint error in tests, but alas

* Remove stylelint

Doesn't seem to play nice with script setup and other changes

Co-authored-by: Ben Haynes <ben@rngr.org>
2022-03-04 18:53:39 -05:00
Azri Kahar
9f0c272976 Hide save options when no create permission (#11762) 2022-02-21 11:12:01 -05:00
Azri Kahar
8a85e2adc1 Show errors for Save as Copy action (#11761)
* show errors for Save as Copy action

* extract error handler for both save & saveAsCopy
2022-02-21 11:11:17 -05:00
Azri Kahar
b74891217f Fix alias fields not showing up in permissions (#11685) 2022-02-17 09:17:40 -05:00
Azri Kahar
d7e45f4708 fix fields validation to include field presets (#10882) 2022-02-04 08:44:06 -05:00
Azri Kahar
bd39b1b546 Fix fields order in Fields Permissions (#11265)
* fix fields ordering in Fields Permissions

* extract logic into reusable function

* refine comment
2022-01-25 15:23:25 +00:00
Nicola Krumschmidt
ad8e09c96f Only trigger edits guard if there are edits (#11170)
We should only show a warning if the user actually made changes to the item.

Fixes #11088
2022-01-19 18:50:34 +00:00
José Varela
dc393ed9ba Create composable use-edits-guard (#11018) 2022-01-13 16:49:01 +00:00
José Varela
1c2848aadc has-edits as part of use-item (#11016) 2022-01-13 09:00:48 -05:00
Nicola Krumschmidt
9ee6e97cd9 Move useLayout composable to shared and expose it through extensions-sdk (#10850)
* Move useLayout composable to shared

* Expose useLayout through extensions-sdk
2022-01-05 15:38:48 -05:00
Nicola Krumschmidt
af0a197a99 Make registered extensions accessible from extensions (#10849)
* Add extensions system provide and useExtensions composable

* Expose useExtensions through extensions-sdk
2022-01-05 10:33:52 -05:00
Rijk van Zanten
dbf35a1736 Add ability to share items with people outside the platform (#10663)
* Add directus_shares

* Don't check for usage limit on refresh

* Add all endpoints to the shares controller

* Move route `/auth/shared` to `/shared/auth`

* Add password protection

* Add `share` action in permissions

* Add `shares/:pk/info`

* Start on shared-view

* Add basic styling for full shared view

* Fixed migrations

* Add inline style for shared view

* Allow title override

* Finish /info endpoint for shares

* Add basic UUID validation to share/info endpont

* Add UUID validation to other routes

* Add not found state

* Cleanup /extract/finish share login endpoint

* Cleanup auth

* Added `share_start` and `share_end`

* Add share sidebar details.

* Allow share permissions configuration

* Hide the `new_share` button for unauthorized users

* Fix uses_left displayed value

* Show expired / upcoming shares

* Improved expired/upcoming styling

* Fixed share login query

* Fix check-ip and get-permissions middlewares behaviour when role is null

* Simplify cache key

* Fix typescript linting issues

* Handle app auth flow for shared page

* Fixed /users/me response

* Show when user is authenticated

* Try showing item drawer in shared page

* Improved shared card styling

* Add shares permissions and change share card styling

* Pull in schema/permissions on share

* Create getPermissionForShare file

* Change getPermissionsForShare signature

* Render form + item on share after auth

* Finalize public front end

* Handle fake o2m field in applyQuery

* [WIP]

* New translations en-US.yaml (Bulgarian) (#10585)

* smaller label height (#10587)

* Update to the latest Material Icons (#10573)

The icons are based on https://fonts.google.com/icons

* New translations en-US.yaml (Arabic) (#10593)

* New translations en-US.yaml (Arabic) (#10594)

* New translations en-US.yaml (Portuguese, Brazilian) (#10604)

* New translations en-US.yaml (French) (#10605)

* New translations en-US.yaml (Italian) (#10613)

* fix M2A list not updating (#10617)

* Fix filters

* Add admin filter on m2o role selection

* Add admin filter on m2o role selection

* Add o2m permissions traversing

* Finish relational tree permissions generation

* Handle implicit a2o relation

* Update implicit relation regex

* Fix regex

* Fix implicitRelation unnesting for new regex

* Fix implicitRelation length check

* Rename m2a to a2o internally

* Add auto-gen permissions for a2o

* [WIP] Improve share UX

* Add ctx menu options

* Add share dialog

* Add email notifications

* Tweak endpoint

* Tweak file interface disabled state

* Add nicer invalid state to password input

* Dont return info for expired/upcoming shares

* Tweak disabled state for relational interfaces

* Fix share button for non admin roles

* Show/hide edit/delete based on permissions to shares

* Fix imports of mutationtype

* Resolve (my own) suggestions

* Fix migration for ms sql

* Resolve last suggestion

Co-authored-by: Oreilles <oreilles.github@nitoref.io>
Co-authored-by: Oreilles <33065839+oreilles@users.noreply.github.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Thien Nguyen <72242664+tatthien@users.noreply.github.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2021-12-23 18:51:59 -05:00
Azri Kahar
4d97597e8f Add Archive sidebar component (#10513)
* move archive to dedicated sidebar component

* fix unarchive dialog & notification

* update docs on viewing archived items

* remove commented code

* use radio btns, update options text & query string

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-16 22:30:00 +00:00
Azri Kahar
31bb890496 Unify & translate initial role/user detail in init & bootstrap command (#10493)
* Unify initial role/user detail in init & bootstrap

* translate role descriptions

* translate data from system collections
2021-12-14 09:33:44 -05:00
Azri Kahar
a33f0a63c0 fix advanced filter fields order with field groups (#10123)
* fix advanced filter fields order with field groups

* revert divider changes

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-10 15:04:17 -05:00
Oreille
8c468ced31 Small optimization in getNodeAtPath (#10316) 2021-12-06 00:35:37 +00:00
José Varela
eb68f85e54 Support 'selectionMode' on tabular and cards (#8010)
* showSelect as 'none', 'one' or 'multiple' on table

* showSelect on cards

* showSelect and fix on calendar

* showSelect and fix on map

* fix layout selection prop type

* fix tabular row click on select mode

* remove unused import

* minor strict equality changes

* hide checkbox for activity table

* Update app/src/modules/notifications/routes/collection.vue

Co-authored-by: ian <licitdev@gmail.com>

* Make preset item reactive

* Add comment clarifying ref wrapper

* Fix type signature of layout props

Co-authored-by: Azri Kahar <azrikahar@outlook.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-02 16:02:13 -05:00
rijkvanzanten
bbc46d4b3d Fix regression in layout options 2021-12-02 15:32:17 -05:00
Oreille
81ccf499df Fix updatePreset behavior (#10212)
* Use `merge` for `layout_query` and `layout_options`

* Fixed typo

* Don't use merge for layout_query and layout_options

* Removed unused import

* Fixed copypaste typo

* Make sure we don't accidentally break nested referenced objects

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-02 15:08:27 -05:00
Pascal Jufer
d4ec4a9672 Fixing some type errors in app #2 (#9637)
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-01 17:36:56 -05:00
Oreille
9c9e2eff5b Fix ability to change M2O field type and prevent incompatible interfaces in advanced mode (#10096)
* Fix ability to change M2O field type and prevent incompatible interfaces in advanced mode

* Removed unused imports

* Rename interface variable
2021-12-01 16:16:37 -05:00
Oreille
6e609ea82e Use lodash.assign in use-preset.ts (#9212)
* Use lodash.merge in use-preset.ts

* Use `assign` instead of `merge`

* Remove commented out code

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-01 15:47:51 -05:00
José Varela
485c984231 Fix reuse same M2M junction fields (#9789)
* reuse one_field if same m2m junction collection

* remove condition preventing 'create new'
2021-11-24 16:04:00 -05:00
José Varela
3968faa71f Fixup #9756 (#9760) 2021-11-12 14:39:59 +00:00
José Varela
076e28ff64 Improvement: DRY on applyConditions (#9756) 2021-11-12 14:08:10 +00:00
Oreille
ef3da32ab3 Properly handle M2A fields in fieldStore and useFieldTree (#9432)
* Properly handle M2A fields in fieldStore and useFieldTree

* Fix addNode

* Rewrote use-field-tree

* Remember visited paths

* Fix error whith undefined relation.meta
2021-11-04 20:35:05 -04:00
Pascal Jufer
942d7d39fe Fixing some type errors in app (#9466)
* Fixing some type errors in app

* Remove unused import

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-11-04 13:32:47 -04:00
Pascal Jufer
bdbb604ff6 Fix condition to translate directus collections (#9353)
* Fix condition to translate directus collections

* Check whether collection belongs to 'directus_collections'

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-11-02 20:16:09 +00:00
Oreille
b8e54442cb Fix field tree not updating appropriately. (#9118)
* Fix field tree not updating appropriately.

* Reset visitedRelations on collection change.
2021-10-25 11:48:54 -04:00
ian
20ec941fa8 Fix click on relational filters with children (#9007) 2021-10-21 12:35:48 -04:00