Commit Graph

40 Commits

Author SHA1 Message Date
Nicola Krumschmidt
d64ca14348 Explicitly set catch parameters to any type (#7654)
This fixes not being able to build the repo due to type issues
introduced by the Typescript 4.4 option "useUnknownInCatchVariables",
which is enabled by default in strict mode.
2021-08-27 10:33:30 -04:00
Rijk van Zanten
673818b04e Surface dropdown choices in advanced sidebar filter (#7101)
* Mark scope as system field

* Surface choices in advanced sidebar detail
2021-07-30 18:16:34 +02:00
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
Pascal Jufer
b0eeacffe3 Remove unused 'ref' (eslint warning) (#6921) 2021-07-22 13:25:13 +02:00
Adrian Dimitrov
efe7b076a3 Add default-folder option (#3209)
* Allow set folder for imported files

* Allow passing folder in file/files component; Allow pick folder for file/files/image interfaces.

* Added folder system component for picking folders; Move folder picker the field from data to interface (file, files, image).

* Add custom folder interface; use props for interfaces file/files/image in upload component

* Allow set folder for imported files

* Allow passing folder in file/files component; Allow pick folder for file/files/image interfaces.

* Added folder system component for picking folders; Move folder picker the field from data to interface (file, files, image).

* Add custom folder interface; use props for interfaces file/files/image in upload component

* Update after rebase

* Add storage_default_folder setting, use folder when deploy file

* Fix files options; Add default label option for folder interface.

* Fix set folder for file

* UX

* Add migration for column, undo seed change

* Update nomanclature

* Make sure file library always submits folder, cleanup setting retrieval

* Use indexName on down migrate

* Fix import default folder, rename customPresets->folderPreset

* Rename interface import

* Use undefined as default folder

* Remove deprecated lang file

* Fix display of folder interface, treat null as value

* Move shared composable

* Remove unused ref

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-07-21 17:29:21 -04:00
Rijk van Zanten
5f7dce54e2 Use stricter Vue eslint setting (#6833) 2021-07-15 13:49:59 -04:00
Rijk van Zanten
5e5d0a0e41 Fix display template on collection detail page (#6442)
* Tweak spacing of checkboxes tree

* Fix scoping of attrs on v-field-template

Fixes #6422
2021-06-22 17:26:11 -04:00
Rijk van Zanten
0d899f097d Add ability to specify what fields to clone on "Save as Copy" (#6379)
* Start on tree-select component

* Stop propagation on label click as well

* Setup temp debug route

* Add value-combining=all

* Add branch mode

* Add leaf mode

* Add indeterminate state

* Add search

* Keep group state alive during search

* Fetch existing item based on clone fields data

* Add interface for setup

* Tweak field structure of m2a items

* Use collection name in checkbox

* Remove temp test
2021-06-18 16:37:27 -04:00
Nicola Krumschmidt
0ca7f8c6eb Fix collection selection in system-collections interface (#6258) 2021-06-14 10:41:19 -04:00
Rijk van Zanten
4cb8d1f814 Add additional check to Two-Factor Authentication (by @masterwendu) (#6187)
* 6113 add tfa generate endpoint

* 6113 implement tfa otp check in user settings

* 6113 add autfocus for otp field on login form

* update package-lock

* improve TFA uri with user email

* fix vue 3 compatibility

* reduce code duplication for enableTFA

* Remove unnecessary parameters

* Use project name in otp url when available

* Update docs/reference/api/system/users.md

Co-authored-by: Wendelin Peleska <wendu@pm.me>
2021-06-10 15:36:34 -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
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
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
Nitwel
c2bc3ea330 Add custom interface for presets (#4870)
* add custom interface for presets

* add defaults and change naming

* Fix type issue, put current selection on top

* Fetch email as name fallback

* Opinionated code changes

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-04-13 18:33:36 -04:00
Rijk van Zanten
bcac4b80c2 Fix perf regression in translations (#5041)
* Only translate extensions on language load

* Make table-row functional
2021-04-13 17:00:22 -04:00
Nitwel
93f8b7720c Fix translations not working on displays, modules... (#4734)
* generalyze extensions

* replace vue-i18n tranlslations

* replace vue-i18n tranlslations

* add missing commas

* replace translations recursive

* restructure translate

* remove unused i18n

* remove unused i18n

* remove unused i18n

* Remove i18n context in define

* Rename translate util file

* Fix type errors

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-04-08 16:36:55 -04:00
Nitwel
db77727cd3 Only allow to en/disable own tfa (#4854)
* remove non existing fields

* only edit own tfa
2021-04-07 11:53:56 -04:00
Nitwel
c2e7c85bbd Update documentation of app (#4222)
* move component docs to documentation

* update app docs tables for components

* update docs

* Add components to docs sidebar

* fix generated tables

* fix tables

* rename transitions

* update tables

* update nested components

* update tables

* update tables

* update tables

* update v-table table

* add basic documentation to each component

* remove all stories of storybook

* add missing documentation

* undate tables

* update tables

* update docs sidebar

* update app docs

* remove unused references

* add general readme

* update docs

* make reference titiles smaller

* add reference tag

* improve docs

* update order of tabs in sidebar

* remove all readmes and stories from interfaces/displays

* Cleanup menu

* Remove storybook

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-02-24 17:48:19 -05:00
rijkvanzanten
5b12e1c85c Show errors on 2fa disable
Fixes #4156
2021-02-24 16:18:39 -05:00
Nitwel
84c52feb71 Reset value of interface interface when type gets changed (#4125) 2021-02-17 11:03:38 -05:00
Nicola Krumschmidt
8f8b33de09 Fix v-input usages requiring nullable to be false 2021-01-26 13:08:29 +01:00
rijkvanzanten
6f7cc4fcce Move en-US translations to YAML file 2020-12-08 10:14:10 -05:00
Igor Savin
7cddb458cb Run prettier across app and api 2020-12-08 02:22:00 +02:00
rijkvanzanten
23f8153992 Add missing sort option in m2a builder interface
Ref #3231
2020-12-03 13:00:59 -05:00
rijkvanzanten
c258ba6b9e Fix interfaces/displays sometimes showing up in the wrong category
Squashed commit of the following:

commit 2e07fdc946c985a32db2c78a54f61527bb7671ea
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Fri Nov 27 17:59:20 2020 -0500

    Properly scope interfaces to local app group

commit 3d593a4b1c8493db29f934f3a336654ac11e0ea4
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Fri Nov 27 17:47:30 2020 -0500

    Rename localTypes to groups

commit 5b2e882c8f3e700925d54f18bb54cdac98320f55
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Fri Nov 27 17:46:55 2020 -0500

    Check tighter for local group
2020-11-27 17:59:37 -05:00
rijkvanzanten
3c1a9a1cbe Give collection field higher priority than collection prop
Fixes #867
2020-11-03 14:15:54 -05:00
Nitwel
e49a433ed3 add support for relational sorting 2020-10-16 17:33:03 +02:00
rijkvanzanten
120ef2f05a Rename close to esc 2020-10-15 18:47:06 -04:00
Nitwel
c19ac51ffa add 'close' event to v-dialog and v-modal 2020-10-09 14:55:58 +02:00
rijkvanzanten
4d1e21d95e Move inject outside of computed 2020-10-07 10:10:49 -04:00
Nitwel
4138ac3bdb add type field to repeater 2020-10-07 11:10:04 +02:00
rijkvanzanten
f57b542c4d Require user password to setup tfa
Fixes #183
2020-10-02 17:12:25 -04:00
Nitwel
70b128160a tweaked label display and a few translations 2020-09-22 10:23:18 +02:00
rijkvanzanten
3e72d09f45 Add correct form layout to webhooks 2020-09-10 15:14:04 -04:00
rijkvanzanten
76dea282ad Make collection/collections system interfaces 2020-09-10 14:58:47 -04:00
rijkvanzanten
d14ea96973 Fix define import 2020-09-10 14:50:23 -04:00
rijkvanzanten
11eb066f62 Move system interfaces into _system folder 2020-09-10 14:48:12 -04:00