Commit Graph

476 Commits

Author SHA1 Message Date
rijkvanzanten
9349f2e9b8 Fix options for input interface 2021-06-08 17:57:49 -04:00
Nicola Krumschmidt
1961dc188b Port the app to Vue 3 (#5339)
* Fix linting errors

* Fix remaining catch all routes

* Fix directive registration regression

* Replace $router global with composition function

* Fix v-bind overwrite order in nested-draggable

* Migrate vuedraggable

* Fix building with empty translation files

* Add comment regarding array equality check

* Fix markdown-it plugins import

* Fix newly introduced wrong store usage

* Fix v-button-group model

* Fix v-fancy-select model

* Fix v-field-template model

* Fix v-input model

* Fix v-item-group model

* Fix v-menu model

* Fix v-select model

* Fix v-tabs model

* Fix v-tabs-items model

* Fix v-textarea model

* Fix v-checkbox model

* Fix v-dialog model

* Fix v-drawer model

* Fix v-form model

* Fix v-list model

* Fix v-table model

* Fix v-detail model

* Fix v-radio model

* Fix v-switch model

* Fix files-navigation model

* Fix replace-file model

* Fix bookmark-add model

* Fix bookmark-edit model

* Fix drawer-batch model

* Fix drawer-item model

* Fix file-lightbox model

* Fix image-editor model

* Fix notifications-preview model

* Fix users-invite model

* Lowercase editor component name

* Fix collections-filter model

* Fix filter-input model

* Fix filter-sidebar-detail model

* Fix folder-picker model

* Fix interface-checkboxes model

* Fix interface-code model

* Fix interface-icon model

* Fix interface-repeater model

* Fix refresh-sidebar-detail model

* Fix search-input model

* Fix interface/display component option v-model usage

* Replace calling listener through $attrs with $emit and add emits option

* Add comment regarding useCustomSelection emits

* Fix context menu activation

* Fix collectionsStore access

* Fix popperjs

* Hotfix useGroupable

* Fix notifications-preview old prop name

* Fix module bar tooltip translation

* Fix useSync type signature

* Fix update:layoutOptions emit name

* Fix usePermissions missing imports regression

* Revert changes to docs vuepress instance

* Fix module-relative-resolve vite plugin when serving

* Fix docs

* Fix refresh on first load

* Fix creating new collection

* Fix loading of collection route

* Fix v-dialog/v-menu appear transition

* Access props directly

* Fix v-table clickable

* Fix v-drawer cancelable

* Fix v-icon clickable

* Fix v-input clickable

* Fix v-list-group clickable

* Fix v-list-item clickable

* Fix v-overlay clickable

* Fix header-bar primary button

* Fix v-table item.* slot

* Fix vue warning regarding exposed variables starting with _ or $

* Fix usePermissions

* Add package-lock.json

* Fix v-form unset regression

* Fix vue shims

* Fix useCustomSelection emit

* Make extensions arrays shallow

* Move teleport targets out of the vue app

* Fix v-field-select model

* Fix v-slider model

* Fix v-pagination model

* Fix card model

* Fix v-select item-value prop usage

* Fix layout-sidebar-detail model

* Fix form-field model

* Fix form-field-menu model

* Fix form-field-interface model

* Fix v-form model

* Use kebab-case for modelValue

* Update package-lock.json

* Add missing dependency

* Replace $t with i18n composable

* Replace remaining usages of $t

* Replace $te with i18n composable

* Replace $n with i18n composable

* Disable global injection in vue-i18n

* Replace i18n.global.t usage where composable is already imported

* Replace remaining i18n.global.t usage with composable

* Replace remaining i18n.global usages with composable

* Fix uploadFile emitter regression

* Remove inheritAttrs: false from file-info-sidebar-detail

* Hotfix v-input

* Update .eslintrc.js

* Fix use-preview

* Fix eslint issues

* Remove unused imports

* Fix extension getter type

* Refactor layout structure and fix tabular layout

* Fix build

* Fix cards layout

* Hotfix vuedraggable

* Dev is true again

* Register export-sidebar-detail globally

* Deconstruct layout state

* Fix calendar layout

* Fix cards/calendar layouts

* Fix layout options when switching layout

* Replace marked usage with md util

* Use useLayout everywhere

* Fix type issue

* Fix codemirror dynamic imports

* Fix data-fns dynamic import

* Fix useLayout selection

* Fix v-avatar scoped styling

* Remove unused v-button-group component

* Remove v-deep from v-card-actions

* Replace v-deep in v-dialog

* Use correct pseudoclasses for vue3

* Fix v-deep in v-field-template

* Replace v-deep in v-list-item-content

* Replace v-deep in v-list-item

* v-deep in v-list

* v-deep in v-notice

* Replace breakpoint mixin

* Replace v-deep in v-button

* Enforce empty line before block

* v-deep in v-pagination

* No white lines on the inner brackets of a block please

* Replace v-deep in v-select

* Fix stylelint rule

* Replace v-deep in v-table

* Replace v-deep in v-tabs

* Replace v-deep in rich text input

* Replace v-deep

* Replace v-deep elsewhere

* Needs more stylelint tweaks, but v-deep is done

* Fix translations interface

* Fix date layout

* Fix npm install

* Fix router catch all routes

* Fix layout options

* Remove call to next in router guards

* Remove vue router in-component guards

* Refactor module route registration

* Fix collections module navigation

* Fix settings module navigation

* Fix router-passthrough in devtools

* Refactor docs export and docs route registration

* Import docs routes using exported function

* Remove moduleRelativeResolve vite hack

* Re-add dev scripts

* Fix deprecated hljs usage

* Use activateContextMenu without parens

* Re-add readme/license/editorconfig

* Fix groupable

* Fix initial docs navigation

* Move global app css to app component

* Fix collection navigation icon color

* Fix field setup style

* Fix divider icon style

* Fix optional v-input slots

* Use $slots direct property access

* Fix docs font style

* Fix docs v-deep

* Fix docs add missing styles

* Remove docs style margin

* Fix save options color

* Fix nested v-slotted usage

* Fix v-button exact prop

* Fix v-list-item exact prop

* Fix package-lock.json

* Improve useSync type

* Fix route type error

* Fix bookmark router links

* Add redirect to route with bookmark

* Fix files module folder route

* Fix users module role route

* Add redirect routes to files and roles sub-routes

* Fix users module role active state

* Replace routerPassthrough function with object

* Nest file routes

* Improve module bar hidden check

* Remove slash from module router link

* Fix files and folder navigation

* Revert users route nesting

* Fix buttons in list

* Don't make nav item mandatory in left sidebar

* Fix infinite loop in box open

* Fix interactivity in v-list items

* Fix docs menu jumps

* Fix right click positioning

* Fix missing translations

* Fix close/open alignment of color interface

* Fix code editor interfaces

* Fix relation access in cards layout

* Remove template ref from collection-or-item

* Revert jest-environment-jsdom package update

* Fix package-lock.json

* Resolve vue3 TODO comments

* Fix layout presets

* Remove reactivity fix

* Remove Todo3 comment

* Fix icon color override

* Add error message to useLayoutState

* Add composable to properly transition dialog routes

* Fix new collection transition

* Fix add new role transition

* Fix add new file transition

* Fix activity item transition

* Fix error type in useItems

* Fix collection error dialog transition

* Fix field detail transition

* Fix permissions detail transition

* Fix store getters types

* Update package-lock

* Fix preview icon color

* Fix reference to selections

* Fix linter warnings

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-06-08 15:59:55 -04:00
Rijk van Zanten
4b35f97cfa Make mfa output code selectable (#6112)
h/t @masterwendu for the suggestion
2021-06-07 15:38:25 +00:00
Rijk van Zanten
f2180b1650 Fixed issue that would cause the whole row to be draggable in the list-type interfaces (#6056)
Fixes #5940
2021-06-03 22:43:28 -04:00
rijkvanzanten
c000c8a613 Revert dependency upgrades
Vue apparently had a small breaking change included in the patch release.

Squashed commit of the following:

commit f1e2635c20d4acef1752b8c2a357bbcfbb30a097
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Jun 3 19:07:54 2021 -0400

    Revert dep upgrades
2021-06-03 19:12:01 -04:00
Oreille
22f2e4662f Add support for adding a collection accent color (#5818)
* Added icon_color to directus_collections
Added migrations
Added color property to select-icon
Fixed select-icon placeholder

* Use icon color in collection header bar.

* Set `collection` and `note` fields to hald witdh

* Rename icon_color->color

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-06-03 13:04:19 -04:00
nickluger
979bf87921 Improve disabled state on the file interface (#6025)
* See discussion: https://github.com/directus/directus/discussions/5105

* Still allow downloading the file if the file interface is disabled.

* Allow editing the underlying file (as this is possible anyway via the
  files collection), but do not allow disassociating the current file
  or setting another file, which is the actual semantic meaning of
  `disabled` in this context.
2021-06-03 12:42:52 -04:00
Rijk van Zanten
32b714208b Upgrade dependencies (#6032)
* Apply minors/patches

* Apply (safe) major upgrades
2021-06-03 12:10:04 -04:00
rijkvanzanten
dfab7b3911 Remove unused import 2021-05-25 08:23:49 -04:00
rijkvanzanten
9f015312ce Fix type error 2021-05-25 08:17:24 -04:00
Rijk van Zanten
5c66c53478 Enhance translations interface previews (#5860)
* Delete what was previously added

The reasons of which are beyond me

* Don't default to having the first nested field opened

* Add options for translations / language templates

* Pull previews and render based on secondary display template

* Add changeset
2021-05-24 20:56:29 -04:00
Rijk van Zanten
9335372400 Foreign Key Constraints (#5615)
* Bump knex-schema-inspector

* Fix cli role name attr

* Update relation type

* Restructure relations

* Restructure relations table

* Update api type for relation record

* Fetch relations in new structure

* Update schema-inspector

* Use new relations schema structure in api

* Update relations GETters

* Add default value to one deselect

* Add create relationship on existing field

* Add updating existing relationship

* Add delete relations

* Add relations query resolver

* Add graphql mutations for relations

* Fix reading from wrong name

* Fix wrong method name

* No idea why this flip flops every install

* Update relation type

* Accept null in use-collection composable

* Use new relations structure in translations

* Use new relations structure in new-collection

* Start updating field detail store

* Renames for new relations structure

* Silently ignore passed collection/field in relation update

* Fix setting pk field in m2o relational setup

* Small tweaks in o2m setup

* Fix m2m setup

* Tweak m2o setup

* Fix m2a setup

* Allow null for related collection (m2a)

* Fix languages code name

* Fix migration default value

* Fix relational cleanup in collections/fields

* Fix transaction problem in field delete

* Fix inserting relational o2m items

* Don't execute updateByQuery on empty item set

Fixes #5710, fixes #5070

* Show referential action input on m2o

* Finish language for m2o

* Show triggers config on o2m

* Delete items on one_deselect_item delete

* Fix naming, show relational trigger config on m2m

* Tweak language, add setup to m2a

* Fix linter warnings

* Add trigger setup for translations

* fix Edit non-schema relationship issue

* Sync existing on_delete triggers in o2m setup

* Add migration to setup foreign key constraints

* Update illegal FK values before setting constraint

* Fix MySQL unsigned vs not-unsigned in FK creation

* Use pretty names for labels in relational triggers

* Prefix auto-junction when system table

Fixes #5493

* Add system foreign key triggers

Fixes #5749

* Update docs
2021-05-19 12:29:16 -04:00
rijkvanzanten
a0512f8b5e Sanitize all user inputted md 2021-05-14 16:04:36 -04:00
José Varela
1a60d0036f app: fix sort creating items (#5484)
* app: fix sort creating items
Problem: When sorting, the relations were assigned to
another fresh created items on the related collection

Why: It was missing the primary key on nested relation.
When the primary key is missing, new item is created.

How to fix: Iterate over all fields to request and when nested field
is found, append the nested primary key.

* Make function name more descriptive, add comment, fix linter warning

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-14 12:51:09 -04:00
rijkvanzanten
58030ed0ef Add create/select toggles to m2a options
Fixes #5475
2021-05-12 16:46:23 -04:00
dependabot[bot]
bc30ee2bde Bump prettier from 2.2.1 to 2.3.0 (#5593)
* Bump prettier from 2.2.1 to 2.3.0

Bumps [prettier](https://github.com/prettier/prettier) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.2.1...2.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Fix lint issues for updated prettier

* Lets remove dev: true again so we can auto-add it later why don't we

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-11 10:38:42 -04:00
Rijk van Zanten
65daa69c30 Update input.vue 2021-05-07 13:19:54 -04:00
Sebastian Flick
90a48cce96 fix datetime (#5534) 2021-05-07 08:54:12 -04:00
Rijk van Zanten
f0042a7a3d Create input-autocomplete-api interface (#5524) 2021-05-06 18:37:42 -04:00
Rijk van Zanten
c4ae4b66cc Finalize interface names (#5521)
* Rename button-links->presentation-links

* Rename checkboxes->select-multiple-checkbox

* Rename code->input-code

* Rename checkboxes files

* Rename color->select-color

* Rename divider->presentation-divider

* Rename dropdown-multiselect->select-multiple-dropdown

* Rename hash->input-hash

* Rename icon->select-icon

* Rename image->file-image

* Rename m2a-builder->list-m2a

* Rename many-to-many->list-m2m

* Rename many-to-one->select-dropdown-m2o

* Rename markdown->input-rich-text-md

* Rename notice->presentation-notice

* Rename one-to-many->list-o2m

* Rename radio-buttons->select-radio

* Rename repeater->list

* Rename text-input->input

* Rename textarea->input-multiline

* Rename toggle->boolean

* Rename tree-view->list-o2m-tree-view

* Rename wysiwyg->input-rich-text-html

* Use correct interfaces in system defaults

* Rename collection->system-collection

* Rename collections->system-collections

* Rename display-template->system-display-template

* Rename field->system-field

* Rename interface->system-interface

* Rename interface-options->system-interface-options

* Rename scope->interface-scope

* Rename tfa-setup->system-mfa-setup

* Fix oversights

* Remove old todo

* Some more tweaks

* Add migration, fix dropdown name in system use

* Merge numeric + input

* Replace dropdown->select-dropdown in app use

* Merge slug->input, user->select-dropdown-m2o

* Fix type issue

* Fix seeder field name
2021-05-06 16:49:32 -04:00
rijkvanzanten
010eabad27 Format remaining md files 2021-05-04 18:52:08 -04:00
Rijk van Zanten
5ee5737ec2 Add file upload on m2m (#5402)
* Show upload modal when using m2m to files

Fixes #5246

* Cleanup file check on drawer item
2021-04-30 16:42:59 -04:00
Jian Liao
c438917096 Issue 5344 (#5346)
* add more ignore pattern for git

* revert the change for api/.gitignore

* fix issue-5344 support autofocus on first non-readonly form field on open drawer

* fix use a more accurate variable name

* Rename autofocusonfirstitem to autofocus

Co-authored-by: Jian Liao <jianliao@adobe.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-04-30 01:13:55 +00:00
rijkvanzanten
99fcf12e73 Fix linter workflow 2021-04-29 16:24:31 -04:00
rijkvanzanten
fb31653ade Fix remaining stylelint problems 2021-04-29 16:08:14 -04:00
rijkvanzanten
801e868554 Fix remaining eslint errors
h/t @paescuj
2021-04-29 15:55:12 -04:00
Pascal Jufer
acd41eb0be Syntax fixes (#5367)
* Declare return types on functions

And a very few other type related minor fixes

* Minor syntax fixes

* Remove unnecessary escape chars in regexes
* Remove unnecessary awaits
* Replace deprecated req.connection with req.socket
* Replace deprecated upload with uploadOne
* Remove unnecessary eslint-disable-next-line comments
* Comment empty functions / catch or finally clauses
* Fix irregular whitespaces
* Add missing returns (null)
* Remove unreachable code
* A few logical fixes
* Remove / Handle non-null assertions which are certainly unnecessary (e.g. in
tests)
2021-04-29 12:11:43 -04:00
Sebastian Flick
a48b0fbd28 Setting the default date to today is a bad idea (#5332)
If a user selects a year, the day and month are set to today's day and month. This is a very bad idea since people want to sort entries by date. Most of the time only the year is of interest. The entries will be sorted then by the time and day when the were created...
This commit should set the values to the same by default.
2021-04-28 14:49:32 -04:00
Ben Haynes
57208d7ebc Fixes #5311 2021-04-28 10:42:31 -04:00
Ben Haynes
40719cbbed Fixes #5295 2021-04-27 16:59:57 -04:00
Rijk van Zanten
451cdac8ef Add options for create/select (#5301)
* Hide add/select based on permissions

Fixes #4874

* Add enable create/select options to interfaces
2021-04-27 15:13:22 -04:00
rijkvanzanten
7eebb08eec Remove clear icon for disabled interfaces
Fixes #5279
2021-04-27 11:32:17 -04:00
rijkvanzanten
b769d67e51 Don't include user token by default, fix button names
Fixes #5216, fixes #5155
2021-04-23 16:06:16 -04:00
rijkvanzanten
3354066983 Add union type example to docs
Closes #5161

Squashed commit of the following:

commit 8ef6770185cf4d3bcdcda0c41e98a6f3ef0c4e1f
Merge: 775ceaccc 2ca5fdb86
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Fri Apr 23 10:42:54 2021 -0400

    Merge branch 'main' into patch-1

commit 775ceaccc4
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Fri Apr 23 10:41:59 2021 -0400

    Cleanup union type docs

commit 1000988c32
Author: neo7-studio-web <18073828+neo7-studio-web@users.noreply.github.com>
Date:   Tue Apr 20 15:01:02 2021 +0200

    Add a M2M GraphQL query example
2021-04-23 10:47:17 -04:00
rijkvanzanten
769591656b Remove wrong ref type 2021-04-22 17:51:42 -04:00
Ben Haynes
639be843e5 Repeater color fix 2021-04-22 17:31:27 -04:00
rijkvanzanten
7929ae312b Add skeleton loaders to o2m/m2m 2021-04-22 17:12:20 -04:00
rijkvanzanten
d421cc79ae Fallback to related collection DT in m2m 2021-04-22 17:12:20 -04:00
Ben Haynes
76b513a426 Consistent repeater button 2021-04-22 16:54:38 -04:00
rijkvanzanten
15dbc31f07 Add primary highlight on drag 2021-04-22 16:50:30 -04:00
rijkvanzanten
dedbfad3a0 Drop name option in repeater 2021-04-22 16:26:35 -04:00
rijkvanzanten
173121fa3a Fix render-template line-height 2021-04-22 16:26:35 -04:00
Ben Haynes
63a6397625 Fix page jumping on repeater entry 2021-04-22 16:26:15 -04:00
Ben Haynes
de94e5d898 repeater styling 2021-04-22 16:07:00 -04:00
rijkvanzanten
2c557b2c9e Fix alignment of repeater row previews 2021-04-22 13:34:36 -04:00
rijkvanzanten
cb4bf88e66 Tweak relational interfaces
Squashed commit of the following:

commit ade7ce72e7dac9908504eacf420875baaae1cc47
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 13:16:03 2021 -0400

    Add no-items notice

commit e47dd5ac1f28300a33478a2be3c50496859b09fc
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 13:13:58 2021 -0400

    Remove files interface

commit 2925fb9c86719c48006f7b2619df7fd26bf7b523
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 13:10:44 2021 -0400

    Fix sort field in m2m

commit 009e2b1fd99f7a31f20fba04cd9980eaa3566ac8
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 13:06:45 2021 -0400

    Add dense at item count

commit 83b088f4da3ea4a1d7e030f34a07aa1cb2235b43
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 12:05:40 2021 -0400

    Tweak rendering of thumbnails inside relational interfaces

commit 06770a0f16e344ab62c0228b87824a6c00ad39bc
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 11:36:07 2021 -0400

    Rename $file->$thumbnail, render properly in render-template

commit 954fd725629ce055459a7925be4aaddf3fb723c2
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 11:35:53 2021 -0400

    Fix injection on v-field-select

commit 83073dea2fc26af61a5155adddd5d4e3afa5cb14
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 11:35:39 2021 -0400

    Adjust for virtual $thumbnail field on files

commit ee57b8316479204c0a5c931c86807afde55423a1
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 10:49:35 2021 -0400

    Don't hardcode file/user relations

commit 31ed92c5a785f20b7dc58bb62f35f6e31c95cfc6
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 10:49:22 2021 -0400

    Allow injecting temporary fields in field template

commit 9d98d4fe4def7bdba12d1613bd08bdb9bd9e1431
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 10:36:53 2021 -0400

    Render collection level template in placeholder

commit 0e0dda1e9f5a930ce3c73c2f8003d98853d58bc0
Merge: 65fa8084f 1e3b64bf9
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 10:35:21 2021 -0400

    Merge branch 'main' into relational-tweaks

commit 65fa8084f84aa1a90686fe6407a6d54ca47d1371
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 10:29:03 2021 -0400

    Make input container relative

commit 0674a0a00faa5df2208b466114721ba5d5116bf7
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Apr 22 10:28:44 2021 -0400

    Add placeholder option to v-field-template
2021-04-22 13:16:20 -04:00
rijkvanzanten
ce6e36cdc9 Fix init order of o2m 2021-04-22 09:34:01 -04:00
Nitwel
7d64c8ab47 Relational consistency (#4093)
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-04-21 23:31:12 +00:00
rijkvanzanten
32c8c302a7 Fix wysiwyg modals not being reactive
Fixes #5142
2021-04-20 17:46:05 -04:00
José Varela
acc145006c App: encode primary key (#5143)
* app: encode primary key
Since primary keys could be manually entered strings,
we should encode those in order to prevent accessing
inexistent routes.
E.g.
Document with primary key: 'clients/John Doe'

* fixup! app: encode primary key Since primary keys could be manually entered strings, we should encode those in order to prevent accessing inexistent routes. E.g. Document with primary key: 'clients/John Doe'

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-04-19 11:35:01 -04:00