Commit Graph

873 Commits

Author SHA1 Message Date
Nitwel
64901d736c Fix scrolling on dialog (#15823)
* fix scrolling on dialog

* Update app/src/interfaces/input-rich-text-html/input-rich-text-html.vue

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-10-15 02:36:01 +00:00
Nitwel
990b26cb78 fix non viewable items (#15824) 2022-10-14 22:27:27 -04:00
Nitwel
a0e2801501 Fix empty form info on translations (#15757)
* fix empty form info

* hide circle

* Allow setting prop icon to false in v-info

* Add inline prop to v-form to disable info icon

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-10-14 19:18:06 -04:00
Nitwel
64f60a007a use right collection for filter (#16002) 2022-10-14 14:33:24 -04:00
Vincent Kempers
03d65e8363 Fix and improve raw value editor (#15868)
* this works in the form-field setting up for refactor

* refactored the useRaw and made form-field-raw-editor

* add defaults

* add tests for render submitting and cancelling

* add isNil

* delete the comment

* add a cancel button

* change let to const

* add the if statement when it's not a object

* delete the .raw-value and place it in the raw-editor form field

* rename submit to setRawValue

* change submit to set-raw-value

* add a possibility to add a placeholder to the system-raw-editor

* implement the system-raw-editor to the form-field-raw-editor

* update the snapshot and fix the emitted tests

* found out we can disable the gutter and line-numbers

* add a language prop to the system when it's not defined it should default to mustache

* delete style; add language and add type

* update the html in tests

* add input-code for the extended validation

* add default value

* Update form-field-raw-editor.vue language to plaintext

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

* update test

Co-authored-by: Vincent Kempers <vincentkempers@vincents-mbp.lan>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-10-14 14:17:24 -04:00
Azri Kahar
b99e8f02d4 Allow removing existing link by clearing URL (#15880) 2022-10-12 16:13:16 -04:00
Nitwel
d1b3bdee3d Add missing adjustFieldsForDisplays (#15959)
* add missing adjustFieldsForDisplays

* Fix linter warning

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-10-12 16:56:54 +00:00
Nitwel
324b549d9d fix image alt being null (#15709) 2022-09-22 23:23:48 -04:00
Jonathan Schneider
212481ff07 Add missing download and token parameter in File interface (#14871)
* add missing download and token parameter

* add download name

* update all file download links (:download and :href), update icon, add single file drawer download

* add filename_download to adjustFieldsForDisplays

* add new computed use asset url logic

* switch composable to utility function

* switch to new URL and add tests

* add getAssetUrl to file-image

* Update app/src/interfaces/files/files.vue

Co-authored-by: Nitwel <mail@nitwel.de>

* update code style error

* add download to drawer of file-image, fix wrong css selector and update preview download icon

* Remove debugging database

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Nitwel <mail@nitwel.de>
2022-09-12 16:30:43 -04:00
GBSTR
213de3f5c6 fix divider not showing/ showing when not needed (drawer-item) (#14605)
* fix form divider when opened from drawer item

* remove redundant functions

* change back the form order to what is was

* add the option to swap between relation fields and junction fields

* fix language

* added m2m options as dropdown with more abilities

* remove the hide options and put off instead

* remove the off option from m2m junctionFieldLocation

Co-authored-by: Gabriel Shtenberg <gabriels@brainpop.com>
Co-authored-by: dev name <devn@brainpop.com>
2022-09-05 16:23:44 +02:00
Brainslug
0d56357475 Sort is set to NULL for new items (#15241)
* Fix sort field assignment in relationships

* fixed a merge error

* add sort logic to API

* using isNil for a more concise condition expression

* Removed the custom getSortMax function in favor of Math.max

* increment sort value accordingly for bulk creates

* make reordering sort start with 1 instead of 0

* account for bulk create in API side

* removed the redundant frontend sorting code

* reverted change from pr #14987

* updated selectedOnPage to support both item duplication and sorting

* Revert "account for bulk create in API side"

This reverts commit b37ed207f3.

* re-add bulk create increment sort logic

* prevent sending "+" as primary key for newly created relational items (#15353)

* re-add the removed new line as it felt odd

* ensure sql query fires once only

* fix return value

* use `.max()`

Co-authored-by: André Gaul <andre@gaul.io>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-09-02 15:58:30 -04:00
Roger Stringer
07135d7250 check that collection exists and not a singleton on panels (#15355)
* check that collection exists and not a singleton on panels

* add a prop to includeSingleton
2022-09-02 15:52:08 -04:00
Nitwel
791f739b66 Reset value when no changes (#15366)
* initial fix

* change fetching

* finish fix

* clean up useRelationMultiple

* fix for m2a
2022-09-02 10:14:11 -04:00
Nitwel
5fe28db539 Add Components Package (#15094)
* move components without dependencies to packages

* make every components use vue script setup

* move components and utils from shared to @directus/components

* fix imports

* move over some more components

* get rid of unnecessary isEmpty and notEmpty

* move pagination

* fix missing !

* move groupable components

* move text-overflow and useElementSize

* fix icons not being shown

* add first unit tests

* remove capitalizeFirst

* simple cleanup

* add css-var unit test

* move over most other components

* make every component use script setup

* add some more unit tests

* add more tests and burn v-switch to the ground. 🔥

* add checkbox tests

* start with next test

* add storybook

* add more pages to storybook

* add final stories

* fix stories actions

* improve action fix

* cleaning props and adding tests

* unit tests -.-

* add some documentation to components

* Add docs to each prop

* clean storybook paths

* add more unit tests

* apply v-select fix

* update lock file

* small tweaks

* move back to shared

* fix imports

* fix imports

* cleaning

* stories to typescript

* Fix version number

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-09-01 16:07:31 -04:00
Nitwel
f0fdd463a0 Fix drawer (#15336)
* start fixing the drawer

* debug

* fix drawer-item

* finish fixing all interfaces
2022-08-31 13:49:25 -04:00
Azri Kahar
4e1fbbf629 Fix pagination on disabled o2m and m2m fields (#15304)
* fix pagination on disabled o2m and m2m

* alternative fix and hide per-page

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-08-30 14:55:24 -04:00
Azri Kahar
08105d0ed2 Revert list style for O2M and M2M interfaces (#15267)
* revert list style for list-o2m

* revert list style for list-m2m
2022-08-25 17:19:18 -04:00
Nitwel
f91247260a fix and clean up m2m & o2m (#15220) 2022-08-24 17:52:04 -04:00
Gerard Lamusse
ef939072cc Fix displaying values from deeper relationships in table (#15155) 2022-08-19 10:42:57 -04:00
Gerard Lamusse
9c104519f0 Initial interface of O2M & M2M Table View (#12820)
* Fix lint issues
Merge in main

* Add support for resizing columns.
Disable sorting on json columns

* Replaced static text with translations

* remove unused variables

* add no collection/fields states to system-fields

* turn columns to notice when creating list-m2m

* tweak system-fields no fields background color

* add danger styling for deselect in table layout

* add tooltips

* prevent linking to items without ID yet

* fix launch icon for list layout

* tweak padding for per page

* Update missing types

* resolve ::v-deep to :deep warning

* minor style tweaks

* fix search

* fix destructuring crashing when no permissions

* remove unused variables

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2022-08-19 03:16:20 +08:00
Lukas Schätzle
a803331b4a Unify download icon (#15132) 2022-08-17 16:44:41 -04:00
ian
122f8cfed0 Fix URL for subfolder assets (#15126)
* Prevent duplicate rootPath for image in file-preview

* Add rootPath to file and file-image for downloading

* Revert change to v-image

* Patch rootPaths accordingly

* Fix missing file name on download
2022-08-17 14:03:29 -04:00
Azri Kahar
5297c56422 Fix translations interface and use-relation-multiple empty edits (#15111)
* fix translations interface empty edits

* fix use-relation-multiple empty edits
2022-08-17 11:35:09 -04:00
Azri Kahar
608596f382 Fix margin for tree view buttons (#15117) 2022-08-17 10:14:26 -04:00
Anh Le
9c0f806ed8 Add allow duplicates option to M2A and M2M interfaces (#14987)
* Add allow duplicates option to M2A and M2M interfaces

* add allow duplicates translation

Co-authored-by: Anh Le <anh.le@hybridheroes.de>
2022-08-16 21:19:55 +08:00
Brainslug
bd55ebcc83 Workaround preventing the drawer to render with an empty collection (#14824) 2022-08-15 09:40:15 -04:00
Azri Kahar
edc431764e fix filter by folder for file and files interface (#15073) 2022-08-15 09:38:41 -04:00
Azri Kahar
50963747f1 fix map interface for non-native geometry types (#15008) 2022-08-10 10:20:09 -04:00
Ramon van Bezouw
df054f294d RTL support in translation interface (#14665)
* first draft for translations rtl implementation

* make direction field dybamic

* Fixed default direction field

* added directionality to: tags, input-multiline, repeater (list)

* added directionality for wysiwyg, input-autocomplete, groups

* reverted directionality in wysiwyg-editor

* removed hardcoded rtl, ltr buttons from wysiwyg toolbar

* working directionality in wysiwyg editor

* also add v-if to await language for second language (split-view) in translations.vue

* added watcher for changing wysiwyg directionality on language change

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Martijn de Voogd <devoogd@kissthefrog.nl>
Co-authored-by: Martijn <73393707+martijn-dev@users.noreply.github.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2022-08-09 15:23:05 +02:00
Azri Kahar
f611bfe3a8 fix checkboxes and radio buttons overflow (#14841) 2022-08-05 16:49:21 -04:00
Jonathan Schneider
479b65526c Remove disabled propertie from presentation links #14735 (#14867) 2022-08-05 14:53:13 -04:00
Gerard Lamusse
0f64c76d0d Only show search if there are more than 10 choices (#14663) 2022-08-03 17:02:58 -04:00
Gerard Lamusse
9508ed4f7a Exclude relationship fields on field validation (#14818)
* Exclude relationship fields on field validation

* Refactor to includeRelations. Also add to conditions
2022-08-03 15:20:13 -04:00
Rijk van Zanten
628dae7d2e Add configuration for "Add New"/"Select Existing" buttons in M2O interface (#14745)
Co-authored-by: Patrik Szkandera <patrik@laposa.ie>
2022-07-29 11:14:34 -04:00
Brainslug
8740f5e044 fixes interface "trim" defaults (#14709) 2022-07-28 17:41:33 -04:00
Azri Kahar
0f394d90d8 fix files interface's drawer download button (#14688) 2022-07-27 12:35:37 -04:00
Brainslug
ef397e97b1 broken assets paths when serving Directus from a subfolder (#14650)
* removing getrootpath

* removed redundant getRootPath from components

* We use leading / everywhere else in api usage

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-07-26 11:29:14 -04:00
Rijk van Zanten
88c5edf7a3 Add app unit tests using vitest (#14583)
* Install / bootstrap vitest

* Install c8

* Add tests for add-query-to-path

* Don't set global maplibre token on individual style

This feels wrong to me. We have a single global access token that should be used for these things. Overriding that with a token that's found for individual styles on top of the same global object in order of configured maps feels weird, as the latter tokens will override the earlier ones. Needs more research though

* Install testing libraries

* Use happy-dom as env in vitest

* Enable ts checking in tests

* Remove unused jest config

* Organize store imports

* Remove types from TSDoc in add-query-to-path

* Improve check in add-related-primary-key-to-fields

* Add reusable stub for anything touching nanoid

* Add tests for add-related-primary-key-to-fields

* Move adjust date to shared

* Remove arraysAreEqual util in favor of relying on lodash

* Fix add-related-primary-key-to-fields test

* Add test coverage for capitlize-first

* Add TSDoc/tests for extract-field-from-function

* Add test coverage for formatFieldFunction

* Add test coverage for format-filesize

* Add test coverage for get-groups

* Add tests for get-root-path

* cleanup imports

* Move tests to live next to source files

* Add tests for user-name

* Update type to match function behavior

* Add test coverage for point-on-line

* Add tests for is-empty

* Add test coverage for is-hex

* Remove getSetting util

Bit pointless to have a util function to just read a value from a store

* Add test coverage for get-related-collection

* Add test coverage for get-theme

* Add test coverage for get-with-arrays

* Add test coverage for hide-drag-image

* Add test coverage for is-permission-empty

* Remove unused import

* Add test for jwt-payload

* Add snapshot rendering test for v-sheet

* Add whitespace

* Rename __test_utils__ -> __utils__

* Add composable test

* Update app/tsconfig.json

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2022-07-25 16:23:45 -04:00
Rijk van Zanten
d6846d74eb Refactor unnecessary nested app folders (#14580)
* Remove unused nested folders from components

* Remove nested folders

* Standardize composables output

* Fix import inconsistencies

* Same trick for directives

* Same for routes

* Replace reliance root grouped export in favor of explicit imports

* Replace reliance on implicit imports

* Remove nested folder structure

* Consistent use of non-default exports in utils

* Remove nested folder structure from private components

* Fix test mock

* Remove extraneous component registration for valuenull

* Fix stores provider

* Fix logo sprite
2022-07-22 15:10:28 -04:00
Rijk van Zanten
600f55e4a2 Resolve lintw arnings (#14555) 2022-07-21 12:44:16 -04:00
Boris
572952b605 Fix the preview not being updated after editing the image (#14511)
* Fetch latest changes and make the refresh function async

* Make the image-editor refresh call cleaner

* add missing await
2022-07-21 11:58:49 -04:00
Rijk van Zanten
5719d1dceb Select multiple dropdown preview threshold (#14541)
* Allow specify custom preview threshold for select-multiple-dropdown

* Move to advanced options

Co-authored-by: Tien Tran <tien@transfamily.info>
2022-07-20 16:54:03 -04:00
Rijk van Zanten
bccb4db791 Don't render explicit null values in md custom blocks (#14539)
Fixes #14383
2022-07-20 16:37:45 -04:00
Jay Cammarano
820457690f Optimize media loading across app (#10592)
* v-image and "lazy load" working

* fixed vars

* all the other img uses

* No longer require access token in url for files

* Add lazy loading and size limits

* Rename map-component source prop

* Fix lint warning

* Update app/src/views/public/public-view.vue

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

* Fix lint

* Fix missing file type icon

* Fix null imageInfo error

* Use video.js for media playback

* Fix .js file display

* Update package-lock.json

* Update package-lock.json

* update package.json

* Update pnpm-lock.yaml

* Remove unrelated addition on VDatePicker

* Remove folder abstraction

* Use image data based aspect ratio on preview

* Base app rate throttle on API rate limit config

* Configure app rate limit throttle based on api config

* Convert v-image to script[setup]

* Convert v-media to script[setup]

* Cleanup v-media

* Remove unneeded addTokenToUrl usages

* Remove video.js

It doesn't do authorization headers for mp4/mp3, so it's pointless

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: ian <licitdev@gmail.com>
2022-07-20 15:52:38 -04:00
Rijk van Zanten
e63747daf8 Fix M2A filter scope on select existing (#14530)
* Fix list animation in m2a

* Add missing collection scope to m2a selection filter

Fixes #13598
2022-07-20 11:27:01 -04:00
Azri Kahar
9015667d02 Add raw editor toggle for using variables in flows operations (#14021)
* add raw editor for flows operation options

* add comment to explain reasoning for watcher

* add simple raw editor with syntax highlighting

* Add multiline to text fields & hide in json fields

* update input icon for toggle

* do not unset value for text fields

* fix mustache tag value checking

* enable raw editor for Insights

* remove lint warning

* Reduce size + inline icons

* add background-highlight when active toggle

* change multiline prop to type prop

* show toggle for all field types (including json)

* remove watcher to toggle rawEditor on load

* fix raw editor emit

* fix request operation headers field type json

* fix raw editor value passed to codemirror

* prevent tags from crashing

* do not unset values anymore when toggling raw

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-07-15 11:38:23 -04:00
Juan Carlos Blanco Delgado
69b231c547 Adding editor to image component (#10488)
* Adding editor to image component

* lint cleanup

* Fix missing import, modelvalue usage

* Use different translation key for edit image operation

Co-authored-by: Azri Kahar <azrikahar@outlook.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-07-14 20:51:06 +00:00
ian
71e01e2ac2 Enable spellcheck on wysiwyg and markdown interfaces (#14412)
* Enable spellcheck for rich text md interface

* Enable spellcheck for rich text html interface

* Fix typings

* Disable fenced code block highlighting in markdown

* Revert syntax highlighting disabling

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-07-14 16:08:43 +00:00
ian
7b32fbbd46 Fix/wysiwyg context menu (#14404) 2022-07-12 18:32:35 +02:00
Brainslug
de28475e06 Fixes nested groups in accordions not rendering fields (#14369)
* initial fix for nested groups in accordions

* removed debug code
2022-07-12 15:24:11 +02:00