@directus/app 9.0.0-rc.98 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@directus_extensions-sdk.ec871470.js +1 -0
- package/dist/assets/active-line.1fb45430.js +1 -0
- package/dist/assets/activity-log.149b4235.js +1 -0
- package/dist/assets/{activity.7e6818a1.js → activity.2e626708.js} +2 -2
- package/dist/assets/af.0ae12dd5.js +1 -1
- package/dist/assets/{api-endpoints.25b9a2cc.js → api-endpoints.edac31b3.js} +1 -1
- package/dist/assets/apl.a63313b0.js +1 -0
- package/dist/assets/ar-SA.3368322c.js +1 -0
- package/dist/assets/ar-dz.4def840c.js +1 -1
- package/dist/assets/ar-kw.8e19bfac.js +1 -1
- package/dist/assets/ar-ly.1c517370.js +1 -1
- package/dist/assets/ar-ma.f01598f3.js +1 -1
- package/dist/assets/ar-sa.c5fe14e9.js +1 -1
- package/dist/assets/ar-tn.121f69b2.js +1 -1
- package/dist/assets/ar.bed29460.js +1 -1
- package/dist/assets/asciiarmor.3b1d0f31.js +1 -0
- package/dist/assets/asn.1.87a170ea.js +1 -0
- package/dist/assets/asterisk.2a94cb4c.js +1 -0
- package/dist/assets/authentication.979423af.js +72 -0
- package/dist/assets/autorefresh.6db972ff.js +1 -0
- package/dist/assets/{aws.216201f6.js → aws.f5840be0.js} +1 -1
- package/dist/assets/az.706ff558.js +1 -1
- package/dist/assets/backing-directus.6c539fa4.js +1 -0
- package/dist/assets/bg-BG.15567df7.js +2 -0
- package/dist/assets/bg.1c68ab52.js +1 -1
- package/dist/assets/{bn-IN.4b03e908.js → bn-IN.1385676c.js} +1 -1
- package/dist/assets/bn.52d26e23.js +1 -1
- package/dist/assets/br-FR.7a926846.js +1 -0
- package/dist/assets/brainfuck.26d25aaf.js +1 -0
- package/dist/assets/bs.4d20add5.js +1 -1
- package/dist/assets/ca-ES.2e706764.js +1 -0
- package/dist/assets/ca.a79eb6d2.js +1 -1
- package/dist/assets/{command-line-interface.e1beee60.js → cli.1923b2eb.js} +2 -2
- package/dist/assets/{cli.5fd3486c.js → cli.709f9e2a.js} +4 -4
- package/dist/assets/clike.edc5829c.js +1 -0
- package/dist/assets/clojure.7a100302.js +1 -0
- package/dist/assets/cmake.380cdff4.js +1 -0
- package/dist/assets/cobol.f6d0d732.js +1 -0
- package/dist/assets/{codebase-overview.769ab809.js → codebase-overview.4ba1c217.js} +1 -1
- package/dist/assets/coffeescript.fa9a0562.js +1 -0
- package/dist/assets/{collections.3ab1c08a.js → collections.8d4ed63f.js} +3 -3
- package/dist/assets/commonlisp.02385e3e.js +1 -0
- package/dist/assets/config-options.0020f748.js +129 -0
- package/dist/assets/content-collections.359b5daf.js +1 -0
- package/dist/assets/content-items.f10c4240.js +1 -0
- package/dist/assets/content.6c00b4f7.js +1 -0
- package/dist/assets/crystal.b76a4aec.js +1 -0
- package/dist/assets/cs-CZ.0db773a3.js +1 -0
- package/dist/assets/cs.b1e8bc14.js +1 -1
- package/dist/assets/css.c89f439b.js +1 -0
- package/dist/assets/cy.ac181a59.js +1 -1
- package/dist/assets/cypher.56b17de3.js +4 -0
- package/dist/assets/d.6d07e4dd.js +1 -0
- package/dist/assets/da-DK.0bec4b59.js +1 -0
- package/dist/assets/da.4016bc22.js +1 -1
- package/dist/assets/dart.c54df9d4.js +1 -0
- package/dist/assets/data-model.709f41ad.js +1 -0
- package/dist/assets/de-DE.4b4b8e70.js +1 -0
- package/dist/assets/de-at.c36ba3d5.js +1 -0
- package/dist/assets/de.31ae30a8.js +1 -0
- package/dist/assets/diff.e663c7d4.js +1 -0
- package/dist/assets/{digitalocean-app-platform.6d350032.js → digitalocean-app-platform.fd58d363.js} +2 -2
- package/dist/assets/{displays.2c15a911.js → displays.d13ea013.js} +8 -8
- package/dist/assets/django.ad94c4f3.js +1 -0
- package/dist/assets/{docker.0e180ff7.js → docker.d440849a.js} +18 -10
- package/dist/assets/dockerfile.d3c851d0.js +1 -0
- package/dist/assets/documentation.cda0921f.js +1 -0
- package/dist/assets/dtd.a923df19.js +1 -0
- package/dist/assets/dylan.9d61b0d3.js +1 -0
- package/dist/assets/ebnf.6bf95ce3.js +1 -0
- package/dist/assets/ecl.02b879c9.js +1 -0
- package/dist/assets/eiffel.b441e9e0.js +1 -0
- package/dist/assets/{el-GR.aed67eec.js → el-GR.bd4d0ff3.js} +1 -1
- package/dist/assets/el.59a913c2.js +1 -1
- package/dist/assets/elm.b21b96c7.js +1 -0
- package/dist/assets/{email-templates.cb788cb0.js → email-templates.153388ae.js} +2 -2
- package/dist/assets/en-GB.1b37c659.js +1 -0
- package/dist/assets/en-au.169355d7.js +1 -0
- package/dist/assets/en-gb.0b977da8.js +1 -0
- package/dist/assets/en-nz.6296f2b6.js +1 -0
- package/dist/assets/eo.d92d8fbf.js +1 -1
- package/dist/assets/erlang.b3352f46.js +1 -0
- package/dist/assets/es-419.4da87d2f.js +1 -0
- package/dist/assets/es-CL.b5d67084.js +1 -0
- package/dist/assets/es-ES.aeba85de.js +1 -0
- package/dist/assets/es-us.35915abe.js +1 -1
- package/dist/assets/es.c516dd05.js +1 -0
- package/dist/assets/et-EE.8aa32a45.js +3 -0
- package/dist/assets/et.420b5f6d.js +1 -1
- package/dist/assets/eu.edaff4b0.js +1 -1
- package/dist/assets/{extensions.803fb88b.js → extensions.eb270497.js} +2 -2
- package/dist/assets/fa-IR.68ac8c0a.js +1 -0
- package/dist/assets/fa.f3993a60.js +1 -1
- package/dist/assets/factor.6dde298e.js +1 -0
- package/dist/assets/faq.c6cbe773.js +1 -0
- package/dist/assets/fcl.3b6a0156.js +1 -0
- package/dist/assets/fi-FI.26f5b2cc.js +1 -0
- package/dist/assets/fi.3ee32d07.js +1 -1
- package/dist/assets/{fields.c933a3eb.js → fields.66b4a80a.js} +4 -4
- package/dist/assets/file-library.25e1c929.js +1 -0
- package/dist/assets/files.2b5db709.js +187 -0
- package/dist/assets/filter-rules.23b50c24.js +60 -0
- package/dist/assets/{folders.6224f87b.js → folders.cf080e7c.js} +2 -2
- package/dist/assets/forth.568b9e62.js +1 -0
- package/dist/assets/fortran.55e0d59b.js +1 -0
- package/dist/assets/fr-FR.8a6c9f09.js +1 -0
- package/dist/assets/fr-ca.e2e64899.js +1 -1
- package/dist/assets/fr-ch.e9042a4c.js +1 -1
- package/dist/assets/fr.9d599b24.js +1 -1
- package/dist/assets/gas.4db1f658.js +1 -0
- package/dist/assets/gfm.030ad601.js +1 -0
- package/dist/assets/gherkin.ad583410.js +1 -0
- package/dist/assets/{github-ci.00b8f37e.js → github-ci.9c11a482.js} +2 -2
- package/dist/assets/gl.b8341ed4.js +1 -1
- package/dist/assets/glossary.eb10f432.js +1 -0
- package/dist/assets/go.93e3a800.js +1 -0
- package/dist/assets/groovy.de590f33.js +1 -0
- package/dist/assets/haml.5acd6ee4.js +1 -0
- package/dist/assets/handlebars.5cf29f35.js +1 -0
- package/dist/assets/haskell-literate.15d2f533.js +1 -0
- package/dist/assets/haskell.0c3a5d85.js +1 -0
- package/dist/assets/haxe.7d71b799.js +1 -0
- package/dist/assets/he-IL.64ff8581.js +1 -0
- package/dist/assets/he.18403882.js +1 -1
- package/dist/assets/hi-IN.f686e98f.js +1 -0
- package/dist/assets/hi.e2a17765.js +1 -1
- package/dist/assets/hooks.bff79daf.js +94 -0
- package/dist/assets/hr.57f77dc3.js +1 -1
- package/dist/assets/htmlembedded.24ede8c5.js +1 -0
- package/dist/assets/htmlmixed.0714fe9c.js +1 -0
- package/dist/assets/http.d94924e1.js +1 -0
- package/dist/assets/hu-HU.1043806e.js +1 -0
- package/dist/assets/hu.adb9ccdc.js +1 -1
- package/dist/assets/hy-am.59b7a75e.js +1 -1
- package/dist/assets/id-ID.42c8e6ba.js +1 -0
- package/dist/assets/id.bc299c4a.js +1 -1
- package/dist/assets/idl.6d5cfb21.js +1 -0
- package/dist/assets/{iis.8d5a89ca.js → iis.8f48b46a.js} +4 -3
- package/dist/assets/index.01b31560.js +1 -0
- package/dist/assets/index.032be8b7.js +1 -0
- package/dist/assets/index.071b0921.js +1 -0
- package/dist/assets/index.077bdc14.css +1 -0
- package/dist/assets/index.0a964dae.css +1 -0
- package/dist/assets/index.0f58cc2f.js +1 -0
- package/dist/assets/index.0f959880.js +1 -0
- package/dist/assets/index.106dfb9d.js +1 -0
- package/dist/assets/index.1802aa67.js +1 -0
- package/dist/assets/index.1f969a94.js +1 -0
- package/dist/assets/index.20ac57d1.js +1 -0
- package/dist/assets/index.21616bb4.js +1 -0
- package/dist/assets/index.25aff973.js +1 -0
- package/dist/assets/index.2699c99b.js +1 -0
- package/dist/assets/index.2aad0cee.js +1 -0
- package/dist/assets/index.319b4222.js +1 -0
- package/dist/assets/index.35a34e2b.js +1 -0
- package/dist/assets/index.36c4f284.js +1 -0
- package/dist/assets/index.37e8e5c7.js +1 -0
- package/dist/assets/index.380a8d1f.js +1 -0
- package/dist/assets/index.386e7bb1.js +1 -0
- package/dist/assets/index.3aa19795.js +1 -0
- package/dist/assets/index.3adc3d2e.js +1 -0
- package/dist/assets/index.41e7cd63.js +1 -0
- package/dist/assets/index.4de13843.js +1 -0
- package/dist/assets/index.52f56cb8.js +1 -0
- package/dist/assets/index.52fb1436.js +1 -0
- package/dist/assets/index.53c97358.js +1 -0
- package/dist/assets/index.5665651d.js +1 -0
- package/dist/assets/index.57ce03df.js +1 -0
- package/dist/assets/index.5cee2017.js +1 -0
- package/dist/assets/index.5dd89f5a.js +1 -0
- package/dist/assets/index.632aa7a5.js +1 -0
- package/dist/assets/index.65d30ed8.js +1 -0
- package/dist/assets/index.65fe108b.js +1 -0
- package/dist/assets/index.6934844d.js +1 -0
- package/dist/assets/index.6bc4b03b.js +1 -0
- package/dist/assets/index.6c6cfd02.js +1 -0
- package/dist/assets/index.6edc7f7f.js +1 -0
- package/dist/assets/index.6f0fc344.js +1 -0
- package/dist/assets/index.711a5d70.js +1 -0
- package/dist/assets/index.74ffa87a.js +1 -0
- package/dist/assets/index.774b2ee3.js +1 -0
- package/dist/assets/index.777adea0.js +1 -0
- package/dist/assets/index.8053cc44.js +1 -0
- package/dist/assets/index.8081cdc6.js +1 -0
- package/dist/assets/index.8a6e3d50.js +1 -0
- package/dist/assets/index.90726b0d.js +1 -0
- package/dist/assets/index.930b04bd.js +1 -0
- package/dist/assets/index.93ea422c.js +1 -0
- package/dist/assets/index.9443e0cb.js +1 -0
- package/dist/assets/index.97d0cfe9.js +1 -0
- package/dist/assets/index.98a5f70b.js +1 -0
- package/dist/assets/index.9a540e55.js +1 -0
- package/dist/assets/index.a2312cea.js +1 -0
- package/dist/assets/index.a295ccab.js +1 -0
- package/dist/assets/index.a4ab27a2.js +1 -0
- package/dist/assets/index.a8fcc603.js +1 -0
- package/dist/assets/index.aef19a6c.js +1 -0
- package/dist/assets/index.b0ac188d.js +1 -0
- package/dist/assets/index.b2f66056.js +1 -0
- package/dist/assets/index.b30355b8.js +1 -0
- package/dist/assets/index.b7c458dd.js +26 -0
- package/dist/assets/index.b80f08e2.js +1 -0
- package/dist/assets/index.ba16542c.js +1 -0
- package/dist/assets/index.ba4fccfa.js +1 -0
- package/dist/assets/index.bd0b9050.js +1 -0
- package/dist/assets/index.be355994.js +1 -0
- package/dist/assets/index.c1abc495.js +1 -0
- package/dist/assets/index.c4217a03.js +1 -0
- package/dist/assets/index.c52d890d.js +1 -0
- package/dist/assets/index.c8d8cea3.js +1 -0
- package/dist/assets/index.ceccd7b0.js +1 -0
- package/dist/assets/index.d7c52831.js +1 -0
- package/dist/assets/index.d900df0d.js +1 -0
- package/dist/assets/index.e2516fcf.js +1 -0
- package/dist/assets/index.eceb7719.js +1 -0
- package/dist/assets/index.f55469a4.js +1 -0
- package/dist/assets/index.f6bdd3dc.js +1 -0
- package/dist/assets/index.f82f535b.js +1 -0
- package/dist/assets/index.f94e9d3c.js +1 -0
- package/dist/assets/index.f98c4963.js +1 -0
- package/dist/assets/index.f9e49c6f.js +1 -0
- package/dist/assets/input-rich-text-html.dfe08a32.js +229 -0
- package/dist/assets/insights.bdfe4fdb.js +1 -0
- package/dist/assets/{installation.ca7cfca2.js → installation.3a531e4d.js} +1 -1
- package/dist/assets/{interfaces.f0ecff97.js → interfaces.e6c8f277.js} +8 -8
- package/dist/assets/introduction.1fa26f9f.js +1 -0
- package/dist/assets/introduction.295c3b30.js +4 -0
- package/dist/assets/introduction.3da87e38.js +1 -0
- package/dist/assets/introduction.85ed1394.js +90 -0
- package/dist/assets/is.2eb43668.js +1 -1
- package/dist/assets/it-IT.5ee88a08.js +1 -0
- package/dist/assets/it.e663f69e.js +1 -1
- package/dist/assets/{items.e1d7ba61.js → items.4a58552c.js} +5 -5
- package/dist/assets/ja-JP.1e745c98.js +1 -0
- package/dist/assets/ja.21755c02.js +1 -1
- package/dist/assets/javascript-hint.d4ef8031.js +1 -0
- package/dist/assets/javascript.e1b08a7c.js +1 -0
- package/dist/assets/jinja2.f8f38ccd.js +1 -0
- package/dist/assets/jsonlint.09bf5bab.js +6 -6
- package/dist/assets/jsx.8aee4b64.js +1 -0
- package/dist/assets/julia.4ab46b62.js +1 -0
- package/dist/assets/ka.09267484.js +1 -1
- package/dist/assets/kk.c27d7d0f.js +1 -1
- package/dist/assets/{ko-KR.735832c7.js → ko-KR.f3349212.js} +1 -1
- package/dist/assets/ko.86462d08.js +1 -1
- package/dist/assets/ku-TR.3322375c.js +1 -0
- package/dist/assets/layouts.54bf3f4f.js +55 -0
- package/dist/assets/lb.b4fb4102.js +1 -1
- package/dist/assets/livescript.eb145824.js +1 -0
- package/dist/assets/localization.b87f6d61.js +1 -0
- package/dist/assets/logo-light.7a327cdd.svg +3 -0
- package/dist/assets/lt-LT.69b9046b.js +1 -0
- package/dist/assets/lt.bec1e735.js +1 -1
- package/dist/assets/lua.492ef6f8.js +1 -0
- package/dist/assets/lv.1d9eac62.js +1 -1
- package/dist/assets/{manual.18f4f30d.js → manual.ca166066.js} +2 -2
- package/dist/assets/mark-selection.2a69ad50.js +1 -0
- package/dist/assets/match-highlighter.748e90d7.js +1 -0
- package/dist/assets/mathematica.85e0e720.js +1 -0
- package/dist/assets/mbox.bd76d0e3.js +1 -0
- package/dist/assets/{migrations.fb0c9784.js → migrations.d7d0c3b8.js} +1 -1
- package/dist/assets/mirc.ef885f9d.js +1 -0
- package/dist/assets/mk.ac873732.js +1 -1
- package/dist/assets/mllike.09bad057.js +1 -0
- package/dist/assets/{mn-MN.4a40eb3e.js → mn-MN.27ed8744.js} +1 -1
- package/dist/assets/modelica.705292e7.js +1 -0
- package/dist/assets/{modules.7140afbb.js → modules.51a52010.js} +9 -9
- package/dist/assets/ms-MY.f51ba91a.js +1 -0
- package/dist/assets/ms.a8caaf33.js +1 -1
- package/dist/assets/mscgen.c905f040.js +1 -0
- package/dist/assets/{multiplex.796857c0.js → multiplex.bc708602.js} +2 -2
- package/dist/assets/mumps.232bd3cf.js +1 -0
- package/dist/assets/nb.c4e12345.js +1 -0
- package/dist/assets/ne.8c2e7d13.js +1 -1
- package/dist/assets/nginx.53b1a1cc.js +1 -0
- package/dist/assets/nl-NL.bff34791.js +1 -0
- package/dist/assets/nl.15edef36.js +1 -1
- package/dist/assets/nn.33ea37c6.js +1 -1
- package/dist/assets/no-NO.66c87fac.js +1 -0
- package/dist/assets/notifications.95ecd845.js +153 -0
- package/dist/assets/nsis.2e11a243.js +1 -0
- package/dist/assets/ntriples.28c82a78.js +1 -0
- package/dist/assets/octave.12f6af40.js +1 -0
- package/dist/assets/{overlay.8c05baaa.js → overlay.17bcab08.js} +1 -1
- package/dist/assets/overview.3735ce4e.js +1 -0
- package/dist/assets/overview.a7294570.js +1 -0
- package/dist/assets/oz.d739be50.js +1 -0
- package/dist/assets/panels.2dc33a61.js +1 -0
- package/dist/assets/pascal.5b65f314.js +1 -0
- package/dist/assets/pegjs.0e1cb55b.js +1 -0
- package/dist/assets/perl.f5ebe96e.js +1 -0
- package/dist/assets/{permissions.1d7c8608.js → permissions.35d2c816.js} +5 -5
- package/dist/assets/php.1a84936c.js +1 -0
- package/dist/assets/pig.fe68742a.js +1 -0
- package/dist/assets/pl-PL.8f26d744.js +1 -0
- package/dist/assets/pl.8a0826b3.js +1 -1
- package/dist/assets/{plesk.73a68904.js → plesk.7e5e9105.js} +3 -3
- package/dist/assets/powershell.914a1e33.js +1 -0
- package/dist/assets/presets-bookmarks.7ca67e49.js +1 -0
- package/dist/assets/{presets.c061427e.js → presets.ff69bed6.js} +5 -5
- package/dist/assets/project-settings.af73527a.js +1 -0
- package/dist/assets/properties.30175490.js +1 -0
- package/dist/assets/protobuf.3cc05f5b.js +1 -0
- package/dist/assets/pt-BR.26238be4.js +1 -0
- package/dist/assets/pt-PT.b923e241.js +1 -0
- package/dist/assets/pt-br.e87cb008.js +1 -1
- package/dist/assets/pt.de450764.js +1 -1
- package/dist/assets/pug.cc504c53.js +1 -0
- package/dist/assets/puppet.1c9976ea.js +1 -0
- package/dist/assets/python.cd7c7d5e.js +1 -0
- package/dist/assets/q.ca9aad64.js +1 -0
- package/dist/assets/{query.699b00aa.js → query.3662a09a.js} +2 -2
- package/dist/assets/{quickstart.504e6d54.js → quickstart.03ac6f6c.js} +3 -3
- package/dist/assets/r.4cd7d336.js +1 -0
- package/dist/assets/{relations.5d7fec12.js → relations.46c5aaca.js} +2 -2
- package/dist/assets/relationships.417dbb85.js +58 -0
- package/dist/assets/{revisions.edb861a6.js → revisions.2fc449af.js} +4 -4
- package/dist/assets/ro-RO.23969e56.js +1 -0
- package/dist/assets/ro.1786958f.js +1 -1
- package/dist/assets/{roles.be39bb88.js → roles.46105c9e.js} +13 -14
- package/dist/assets/rpm.ba5fad62.js +1 -0
- package/dist/assets/rst.6c6d4c2c.js +1 -0
- package/dist/assets/ru-RU.33141bc5.js +1 -0
- package/dist/assets/ru.2c0e4894.js +1 -1
- package/dist/assets/ruby.2944282c.js +1 -0
- package/dist/assets/running-locally.b9c6ac7c.js +17 -0
- package/dist/assets/rust.2c5788fa.js +1 -0
- package/dist/assets/sas.a3f5d313.js +1 -0
- package/dist/assets/sass.986c56a5.js +1 -0
- package/dist/assets/scheme.54733295.js +1 -0
- package/dist/assets/sdk.f79ec05d.js +300 -0
- package/dist/assets/security.ed62274d.js +1 -0
- package/dist/assets/{server.517326b4.js → server.9bf46def.js} +2 -2
- package/dist/assets/settings.bf65ae28.js +1 -0
- package/dist/assets/{settings.80fdd488.js → settings.cde8ffd7.js} +9 -5
- package/dist/assets/shell.043f3329.js +1 -0
- package/dist/assets/show-hint.4d9b5efb.js +1 -0
- package/dist/assets/sieve.24282682.js +1 -0
- package/dist/assets/{simple.c600ff81.js → simple.a61e3410.js} +1 -1
- package/dist/assets/sk.e174a41b.js +1 -1
- package/dist/assets/sl-SI.bfbe276b.js +2 -0
- package/dist/assets/sl.34422efd.js +1 -1
- package/dist/assets/slim.f414fbd8.js +1 -0
- package/dist/assets/smalltalk.12047a6d.js +1 -0
- package/dist/assets/smarty.e04e1453.js +1 -0
- package/dist/assets/solr.d6415c8b.js +1 -0
- package/dist/assets/soy.66293c54.js +1 -0
- package/dist/assets/sparql.9a0f5fb0.js +1 -0
- package/dist/assets/spreadsheet.a9745ff6.js +1 -0
- package/dist/assets/sq.ee367a13.js +1 -1
- package/dist/assets/sql.aed3072b.js +1 -0
- package/dist/assets/sr-CS.b4de8472.js +1 -0
- package/dist/assets/sr-SP.2cb9f65c.js +1 -0
- package/dist/assets/sr-cyrl.0abb2793.js +1 -1
- package/dist/assets/sr.efb7e3ec.js +1 -1
- package/dist/assets/stex.e1a54633.js +1 -0
- package/dist/assets/stylus.71e0fdc6.js +1 -0
- package/dist/assets/{support.fb5b37c6.js → support.d818a3ba.js} +1 -1
- package/dist/assets/sv-SE.060d5c25.js +1 -0
- package/dist/assets/sv.b9d19aa9.js +1 -0
- package/dist/assets/swift.e957a034.js +1 -0
- package/dist/assets/ta-in.8c88aa82.js +1 -1
- package/dist/assets/tcl.aee8d35f.js +1 -0
- package/dist/assets/textile.ae334d71.js +1 -0
- package/dist/assets/th-TH.81e128af.js +2 -0
- package/dist/assets/th.d0e24ade.js +1 -1
- package/dist/assets/{styles.f321c37a.js → themes.cd13042d.js} +2 -2
- package/dist/assets/tiddlywiki.0922294b.js +1 -0
- package/dist/assets/tiki.b9504243.js +1 -0
- package/dist/assets/toml.d89c1075.js +1 -0
- package/dist/assets/tornado.9070fbf9.js +1 -0
- package/dist/assets/tr-TR.0be85b79.js +1 -0
- package/dist/assets/tr.d887c301.js +1 -1
- package/dist/assets/translations.02aa44ee.js +1 -0
- package/dist/assets/troff.e70475ee.js +1 -0
- package/dist/assets/ttcn-cfg.98c35417.js +1 -0
- package/dist/assets/ttcn.73d14f89.js +1 -0
- package/dist/assets/turtle.6725c84b.js +1 -0
- package/dist/assets/twig.eeb6221b.js +1 -0
- package/dist/assets/{ubuntu.78911058.js → ubuntu.adc7719b.js} +1 -1
- package/dist/assets/ug.2ae6849b.js +1 -1
- package/dist/assets/{uk-UA.7ce8bb3e.js → uk-UA.46578a03.js} +1 -1
- package/dist/assets/uk.69d22b7d.js +1 -1
- package/dist/assets/upgrades-migrations.6b876472.js +1 -0
- package/dist/assets/{use-sync.25413196.js → use-sync.864aa3cf.js} +1 -1
- package/dist/assets/user-directory.5e0f8a9e.js +1 -0
- package/dist/assets/users-roles-permissions.aa6e645d.js +1 -0
- package/dist/assets/{users.b66610cf.js → users.c126e79c.js} +2 -2
- package/dist/assets/{utilities.4cd9b9f2.js → utilities.0bddc943.js} +2 -2
- package/dist/assets/uz.a2abf7be.js +1 -1
- package/dist/assets/vb.0680c963.js +1 -0
- package/dist/assets/vbscript.0bd9509a.js +1 -0
- package/dist/assets/velocity.0c534db9.js +1 -0
- package/dist/assets/vendor.c46e17d6.js +2039 -0
- package/dist/assets/vendor.fe7856f0.css +1 -0
- package/dist/assets/verilog.2cdac09c.js +1 -0
- package/dist/assets/vhdl.94c45860.js +1 -0
- package/dist/assets/vi-VN.14101822.js +1 -0
- package/dist/assets/vi.cc30f87c.js +1 -1
- package/dist/assets/vue.594a0de9.js +1 -0
- package/dist/assets/wast.0781628c.js +1 -0
- package/dist/assets/webhooks.5bdc49f0.js +1 -0
- package/dist/assets/{webhooks.4f7eaa96.js → webhooks.db4c9b9c.js} +2 -2
- package/dist/assets/webidl.cc5ea6f7.js +1 -0
- package/dist/assets/xquery.98800824.js +1 -0
- package/dist/assets/yacas.c9a224a6.js +1 -0
- package/dist/assets/yaml-frontmatter.4f8a599e.js +1 -0
- package/dist/assets/yaml.9997c2ba.js +1 -0
- package/dist/assets/z80.7caf642c.js +1 -0
- package/dist/assets/zh-CN.355da8e5.js +1 -0
- package/dist/assets/zh-TW.3efec3f7.js +1 -0
- package/dist/assets/zh-cn.f12689f7.js +1 -1
- package/dist/assets/zh-tw.c5aeda5a.js +1 -1
- package/dist/index.194f59e3.js +340 -0
- package/dist/index.html +6 -5
- package/dist/vue-i18n.8f9bc4a1.js +1 -0
- package/dist/vue-router.f378de8a.js +1 -0
- package/dist/vue.eb2253b3.js +1 -0
- package/package.json +35 -28
- package/dist/@directus_extensions-sdk.caa1292f.js +0 -1
- package/dist/assets/200-200-contain-75.c99b890d.jpg +0 -0
- package/dist/assets/active-line.21c7c188.js +0 -1
- package/dist/assets/activity.afea7c8e.js +0 -1
- package/dist/assets/api-config.d4a334b4.js +0 -53
- package/dist/assets/api-hooks.28fce97f.js +0 -77
- package/dist/assets/apl.e1cac8e8.js +0 -1
- package/dist/assets/app.a092834a.js +0 -1
- package/dist/assets/application.e4ceecf4.js +0 -1
- package/dist/assets/ar-SA.a371322c.js +0 -1
- package/dist/assets/asciiarmor.56914f72.js +0 -1
- package/dist/assets/asn.1.0d72d374.js +0 -1
- package/dist/assets/assets.7c1c7e13.js +0 -11
- package/dist/assets/asterisk.217d929c.js +0 -1
- package/dist/assets/authentication.0de34170.js +0 -3
- package/dist/assets/authentication.2962910f.js +0 -54
- package/dist/assets/autorefresh.db241e38.js +0 -1
- package/dist/assets/backing-directus.712e9b42.js +0 -1
- package/dist/assets/bg-BG.2207fa74.js +0 -2
- package/dist/assets/br-FR.4052e8cf.js +0 -1
- package/dist/assets/brainfuck.6d97691a.js +0 -1
- package/dist/assets/ca-ES.3d1b82be.js +0 -1
- package/dist/assets/clike.8b1d1dac.js +0 -1
- package/dist/assets/clojure.7b24d2df.js +0 -1
- package/dist/assets/cmake.2dd9d19b.js +0 -1
- package/dist/assets/cobol.aa3e3b17.js +0 -1
- package/dist/assets/coffeescript.e1f17dcd.js +0 -1
- package/dist/assets/collections.52393349.js +0 -1
- package/dist/assets/collections.ede965e3.js +0 -1
- package/dist/assets/common-issues.9900baa5.js +0 -1
- package/dist/assets/commonlisp.126ea5bc.js +0 -1
- package/dist/assets/config-files.04baaabb.js +0 -46
- package/dist/assets/crystal.2f74eaf5.js +0 -1
- package/dist/assets/cs-CZ.d7386f11.js +0 -1
- package/dist/assets/css.6f8a654e.js +0 -1
- package/dist/assets/cypher.f7b4194f.js +0 -4
- package/dist/assets/d.b2c44973.js +0 -1
- package/dist/assets/da-DK.ba7d92ab.js +0 -1
- package/dist/assets/dart.807118ef.js +0 -1
- package/dist/assets/databases.39a13c5d.js +0 -1
- package/dist/assets/de-DE.931c545a.js +0 -1
- package/dist/assets/de-at.c5829c18.js +0 -1
- package/dist/assets/de.a55d079e.js +0 -1
- package/dist/assets/diff.df7c2507.js +0 -1
- package/dist/assets/displays.101c9edb.js +0 -1
- package/dist/assets/django.31349418.js +0 -1
- package/dist/assets/dockerfile.9cf1b5e9.js +0 -1
- package/dist/assets/dtd.2eb8046c.js +0 -1
- package/dist/assets/dylan.4342284d.js +0 -1
- package/dist/assets/ebnf.ac110410.js +0 -1
- package/dist/assets/ecl.ef1a0830.js +0 -1
- package/dist/assets/eiffel.2cdba3dc.js +0 -1
- package/dist/assets/elm.1a8ac848.js +0 -1
- package/dist/assets/en-au.175fcb2b.js +0 -1
- package/dist/assets/en-gb.018f9a21.js +0 -1
- package/dist/assets/en-nz.2f0f7e5c.js +0 -1
- package/dist/assets/environment-variables.41ac3cc1.js +0 -25
- package/dist/assets/erlang.957b37e4.js +0 -1
- package/dist/assets/error-codes.606bec58.js +0 -1
- package/dist/assets/es-419.3f7515fe.js +0 -1
- package/dist/assets/es-CL.2f4a0192.js +0 -1
- package/dist/assets/es-ES.19ff6dd8.js +0 -1
- package/dist/assets/es.18d3cc7b.js +0 -1
- package/dist/assets/et-EE.3a774751.js +0 -3
- package/dist/assets/extensions.e55fc936.js +0 -1
- package/dist/assets/fa-IR.80f66fbe.js +0 -1
- package/dist/assets/factor.c01980f8.js +0 -1
- package/dist/assets/fcl.87824263.js +0 -1
- package/dist/assets/fi-FI.e39eaaab.js +0 -1
- package/dist/assets/field-transforms.aac4af27.js +0 -1
- package/dist/assets/fields.3458f9a0.js +0 -1
- package/dist/assets/fields.f80c6966.js +0 -1
- package/dist/assets/files.2458c938.js +0 -1
- package/dist/assets/files.cef9529d.js +0 -1
- package/dist/assets/files.d6673170.js +0 -176
- package/dist/assets/filter-rules.8dda275b.js +0 -60
- package/dist/assets/forth.51e0131d.js +0 -1
- package/dist/assets/fortran.ccea4744.js +0 -1
- package/dist/assets/fr-FR.13498131.js +0 -1
- package/dist/assets/gas.5613bf5b.js +0 -1
- package/dist/assets/gfm.bc3f0591.js +0 -1
- package/dist/assets/gherkin.963fa577.js +0 -1
- package/dist/assets/go.b597488d.js +0 -1
- package/dist/assets/groovy.748ae778.js +0 -1
- package/dist/assets/haml.071df27c.js +0 -1
- package/dist/assets/handlebars.d230fbb5.js +0 -1
- package/dist/assets/haskell-literate.d4663d82.js +0 -1
- package/dist/assets/haskell.69e61064.js +0 -1
- package/dist/assets/haxe.a1958409.js +0 -1
- package/dist/assets/he-IL.c8bffba0.js +0 -1
- package/dist/assets/hi-IN.efa784fd.js +0 -1
- package/dist/assets/htmlembedded.77d86e89.js +0 -1
- package/dist/assets/htmlmixed.d2d262fe.js +0 -1
- package/dist/assets/http.0389a281.js +0 -1
- package/dist/assets/hu-HU.5d357355.js +0 -1
- package/dist/assets/id-ID.1e1ce3d0.js +0 -1
- package/dist/assets/idl.4073e14b.js +0 -1
- package/dist/assets/index.020eeba9.js +0 -1
- package/dist/assets/index.03fcf041.js +0 -1
- package/dist/assets/index.07e02ffc.js +0 -1
- package/dist/assets/index.0c668002.js +0 -1
- package/dist/assets/index.0cdd93eb.js +0 -1
- package/dist/assets/index.0f421bfb.js +0 -1
- package/dist/assets/index.10f638cf.js +0 -1
- package/dist/assets/index.12160ad1.js +0 -1
- package/dist/assets/index.12a41b75.js +0 -1
- package/dist/assets/index.12bc1139.js +0 -1
- package/dist/assets/index.13caabe3.js +0 -1
- package/dist/assets/index.1441a301.js +0 -1
- package/dist/assets/index.26626da8.js +0 -1
- package/dist/assets/index.278f6673.js +0 -1
- package/dist/assets/index.2bddfec0.js +0 -1
- package/dist/assets/index.2ce5ad4e.js +0 -1
- package/dist/assets/index.2e10fa0a.js +0 -1
- package/dist/assets/index.3339c532.css +0 -1
- package/dist/assets/index.34c4ff98.js +0 -1
- package/dist/assets/index.370eb912.js +0 -1
- package/dist/assets/index.3886bcc9.js +0 -1
- package/dist/assets/index.3beb87d3.js +0 -1
- package/dist/assets/index.3cc58479.js +0 -1
- package/dist/assets/index.3dbbdda4.js +0 -1
- package/dist/assets/index.453b8dd4.js +0 -1
- package/dist/assets/index.460c28b2.js +0 -1
- package/dist/assets/index.513f493e.js +0 -1
- package/dist/assets/index.52488452.js +0 -1
- package/dist/assets/index.582262f3.js +0 -1
- package/dist/assets/index.5943c6a2.js +0 -1
- package/dist/assets/index.5d7e4388.js +0 -1
- package/dist/assets/index.5ddf1c09.js +0 -1
- package/dist/assets/index.60c6f994.js +0 -1
- package/dist/assets/index.69d51e36.js +0 -1
- package/dist/assets/index.6cf6e65c.js +0 -1
- package/dist/assets/index.6dfafdb8.js +0 -1
- package/dist/assets/index.75da7150.js +0 -1
- package/dist/assets/index.76bf6775.js +0 -1
- package/dist/assets/index.7c109413.js +0 -1
- package/dist/assets/index.7d7c94cc.js +0 -1
- package/dist/assets/index.857a444d.js +0 -1
- package/dist/assets/index.8642f0ef.js +0 -1
- package/dist/assets/index.86d76d87.js +0 -1
- package/dist/assets/index.8d25e37e.js +0 -1
- package/dist/assets/index.8d30d8ec.js +0 -1
- package/dist/assets/index.8f1b058c.js +0 -1
- package/dist/assets/index.9021855c.js +0 -1
- package/dist/assets/index.93176038.js +0 -1
- package/dist/assets/index.9427fe3a.js +0 -1
- package/dist/assets/index.967091bd.js +0 -1
- package/dist/assets/index.9b9992c2.js +0 -1
- package/dist/assets/index.9df43656.js +0 -1
- package/dist/assets/index.9e6cb9fb.js +0 -1
- package/dist/assets/index.9fa02ab0.js +0 -1
- package/dist/assets/index.a1fba609.js +0 -1
- package/dist/assets/index.a3619cd6.js +0 -1
- package/dist/assets/index.a5833a30.js +0 -1
- package/dist/assets/index.a5c459a5.js +0 -26
- package/dist/assets/index.a65c23d0.js +0 -1
- package/dist/assets/index.a8032304.js +0 -1
- package/dist/assets/index.a89c6f27.css +0 -1
- package/dist/assets/index.adcbf017.js +0 -1
- package/dist/assets/index.adde2dbc.js +0 -1
- package/dist/assets/index.afe1580d.js +0 -1
- package/dist/assets/index.b021cacb.js +0 -1
- package/dist/assets/index.b49259cd.js +0 -1
- package/dist/assets/index.b8f2f91f.js +0 -1
- package/dist/assets/index.c07a0137.js +0 -1
- package/dist/assets/index.ca14dcca.js +0 -1
- package/dist/assets/index.cbf2ab7b.js +0 -1
- package/dist/assets/index.cc6ac81f.js +0 -1
- package/dist/assets/index.cc8365dc.js +0 -1
- package/dist/assets/index.cdc078f5.js +0 -1
- package/dist/assets/index.d19dacc2.js +0 -1
- package/dist/assets/index.d21606d9.js +0 -1
- package/dist/assets/index.d5b3136c.js +0 -1
- package/dist/assets/index.dad442a6.js +0 -1
- package/dist/assets/index.dc16b5fc.js +0 -1
- package/dist/assets/index.e6c63fd8.js +0 -1
- package/dist/assets/index.f3dac8ae.js +0 -1
- package/dist/assets/index.f6faa78c.js +0 -1
- package/dist/assets/index.fbb4da88.js +0 -1
- package/dist/assets/index.fc96c02d.js +0 -1
- package/dist/assets/index.ffdce238.js +0 -1
- package/dist/assets/input-rich-text-html.ae77acab.js +0 -215
- package/dist/assets/interfaces.b4c6f273.js +0 -1
- package/dist/assets/introduction.56c0c1cd.js +0 -1
- package/dist/assets/introduction.5c4ec6b9.js +0 -4
- package/dist/assets/introduction.dd1bcb44.js +0 -90
- package/dist/assets/it-IT.8d1cfb8e.js +0 -1
- package/dist/assets/items.2ad153eb.js +0 -1
- package/dist/assets/items.9e96b56b.js +0 -1
- package/dist/assets/ja-JP.219f4ba2.js +0 -1
- package/dist/assets/javascript-hint.9186051b.js +0 -1
- package/dist/assets/javascript.2f3ede5a.js +0 -1
- package/dist/assets/jinja2.8d7f6a8b.js +0 -1
- package/dist/assets/jsx.c540510b.js +0 -1
- package/dist/assets/julia.a47aef56.js +0 -1
- package/dist/assets/layouts.37d32d4c.js +0 -55
- package/dist/assets/layouts.bc85bb07.js +0 -1
- package/dist/assets/livescript.3fc737e8.js +0 -1
- package/dist/assets/logo-light.1a93a59d.svg +0 -3
- package/dist/assets/lt-LT.aaaba724.js +0 -1
- package/dist/assets/lua.948ce6b7.js +0 -1
- package/dist/assets/mark-selection.75c4ea7c.js +0 -1
- package/dist/assets/match-highlighter.bdbe0955.js +0 -1
- package/dist/assets/mathematica.4f5f6aa2.js +0 -1
- package/dist/assets/mbox.122aff2c.js +0 -1
- package/dist/assets/migrating-from-v8.311cd0e1.js +0 -1
- package/dist/assets/mirc.a72bdc8a.js +0 -1
- package/dist/assets/mllike.eb583c07.js +0 -1
- package/dist/assets/modelica.f3e06d95.js +0 -1
- package/dist/assets/modules.8f34db3e.js +0 -1
- package/dist/assets/ms-MY.7729b3c2.js +0 -1
- package/dist/assets/mscgen.a5bf61ad.js +0 -1
- package/dist/assets/mumps.0e26badd.js +0 -1
- package/dist/assets/nb.02bf1f1e.js +0 -1
- package/dist/assets/nginx.d228fa16.js +0 -1
- package/dist/assets/nl-NL.8ff33a4a.js +0 -1
- package/dist/assets/no-NO.4b695e2a.js +0 -1
- package/dist/assets/nsis.7f6a0f90.js +0 -1
- package/dist/assets/ntriples.994511c8.js +0 -1
- package/dist/assets/octave.32e47905.js +0 -1
- package/dist/assets/oz.742a2172.js +0 -1
- package/dist/assets/pascal.1609d5f5.js +0 -1
- package/dist/assets/pegjs.5173241b.js +0 -1
- package/dist/assets/perl.229a0cce.js +0 -1
- package/dist/assets/permissions.144d3fdf.js +0 -1
- package/dist/assets/permissions.87246e2c.js +0 -1
- package/dist/assets/php.5aaf45dc.js +0 -1
- package/dist/assets/pig.59bb21b5.js +0 -1
- package/dist/assets/pl-PL.aa42a8e3.js +0 -1
- package/dist/assets/powershell.60297f1d.js +0 -1
- package/dist/assets/presets.af59754e.js +0 -1
- package/dist/assets/projects.767db627.js +0 -1
- package/dist/assets/projects.ec4144c5.js +0 -1
- package/dist/assets/properties.22ba7b4b.js +0 -1
- package/dist/assets/protobuf.85730256.js +0 -1
- package/dist/assets/pt-BR.6f6696b5.js +0 -1
- package/dist/assets/pt-PT.09821f88.js +0 -1
- package/dist/assets/pug.70f01632.js +0 -1
- package/dist/assets/puppet.a64ec0ec.js +0 -1
- package/dist/assets/python.fe50fda4.js +0 -1
- package/dist/assets/q.88cb2b8c.js +0 -1
- package/dist/assets/r.59023feb.js +0 -1
- package/dist/assets/relationships.850eb59c.js +0 -33
- package/dist/assets/revisions.c65244b7.js +0 -1
- package/dist/assets/ro-RO.381b685b.js +0 -1
- package/dist/assets/roles.31bb987f.js +0 -23
- package/dist/assets/roles.d176bda2.js +0 -1
- package/dist/assets/rpm.5b354114.js +0 -1
- package/dist/assets/rst.dab09e05.js +0 -1
- package/dist/assets/ru-RU.584918bc.js +0 -1
- package/dist/assets/ruby.fbe69f10.js +0 -1
- package/dist/assets/running-locally.f7f27b40.js +0 -15
- package/dist/assets/rust.d5f860d4.js +0 -1
- package/dist/assets/sas.5078cd09.js +0 -1
- package/dist/assets/sass.ad94908f.js +0 -1
- package/dist/assets/scheme.62ef3aac.js +0 -1
- package/dist/assets/sdk.1fa5df01.js +0 -297
- package/dist/assets/shell.21000e97.js +0 -1
- package/dist/assets/show-hint.4e2adb57.js +0 -1
- package/dist/assets/sieve.8235bc52.js +0 -1
- package/dist/assets/sl-SI.618a70c0.js +0 -2
- package/dist/assets/slim.b09565ba.js +0 -1
- package/dist/assets/smalltalk.d1bdef54.js +0 -1
- package/dist/assets/smarty.68c55065.js +0 -1
- package/dist/assets/solr.32afafb4.js +0 -1
- package/dist/assets/soy.71a94bd3.js +0 -1
- package/dist/assets/sparql.c13a6abd.js +0 -1
- package/dist/assets/spreadsheet.f06b861c.js +0 -1
- package/dist/assets/sql.1622b7a0.js +0 -1
- package/dist/assets/sr-CS.f7a42011.js +0 -1
- package/dist/assets/sr-SP.14a7c9db.js +0 -1
- package/dist/assets/stex.2997e8d4.js +0 -1
- package/dist/assets/stylus.09700176.js +0 -1
- package/dist/assets/sv-SE.9c2ab926.js +0 -1
- package/dist/assets/sv.f13855af.js +0 -1
- package/dist/assets/swift.ac31530b.js +0 -1
- package/dist/assets/tcl.3dcc845d.js +0 -1
- package/dist/assets/textile.40aa3a77.js +0 -1
- package/dist/assets/th-TH.0289b52a.js +0 -2
- package/dist/assets/tiddlywiki.bc050afc.js +0 -1
- package/dist/assets/tiki.aa5136d5.js +0 -1
- package/dist/assets/toml.7d0d7ed9.js +0 -1
- package/dist/assets/tornado.5818c716.js +0 -1
- package/dist/assets/tr-TR.6bfa1c23.js +0 -1
- package/dist/assets/transition-bounce.57b56dd5.js +0 -26
- package/dist/assets/transition-dialog.239bd9f5.js +0 -26
- package/dist/assets/transition-expand.15de075e.js +0 -26
- package/dist/assets/translations.067fabb9.js +0 -1
- package/dist/assets/translations.a62970f2.js +0 -1
- package/dist/assets/troff.444d4397.js +0 -1
- package/dist/assets/ttcn-cfg.0a78bb0d.js +0 -1
- package/dist/assets/ttcn.112b0d67.js +0 -1
- package/dist/assets/turtle.4816436c.js +0 -1
- package/dist/assets/twig.d9de9f9a.js +0 -1
- package/dist/assets/types.78caa1da.js +0 -1
- package/dist/assets/users.aded52e8.js +0 -1
- package/dist/assets/users.fdd31e5b.js +0 -1
- package/dist/assets/v-avatar.7672b4c4.js +0 -10
- package/dist/assets/v-badge.c90c82e6.js +0 -5
- package/dist/assets/v-breadcrumb.b77e4f18.js +0 -2
- package/dist/assets/v-button.6f71192d.js +0 -15
- package/dist/assets/v-card-actions.f7038c5a.js +0 -8
- package/dist/assets/v-card-subtitle.64d51a7f.js +0 -4
- package/dist/assets/v-card-text.18cb0f11.js +0 -4
- package/dist/assets/v-card-title.37498457.js +0 -4
- package/dist/assets/v-card.a3d24ca4.js +0 -23
- package/dist/assets/v-checkbox.2a883e5d.js +0 -52
- package/dist/assets/v-chip.9a1d06bd.js +0 -14
- package/dist/assets/v-detail.08081d02.js +0 -4
- package/dist/assets/v-dialog.429d7b8a.js +0 -8
- package/dist/assets/v-divider.d65da562.js +0 -2
- package/dist/assets/v-drawer.c3209884.js +0 -4
- package/dist/assets/v-error.e5cdff60.js +0 -2
- package/dist/assets/v-fancy-select.5f18b1f3.js +0 -24
- package/dist/assets/v-field-select.32fb1d44.js +0 -2
- package/dist/assets/v-field-template.929a86e7.js +0 -2
- package/dist/assets/v-form.4f15ff0f.js +0 -8
- package/dist/assets/v-hover.2765134e.js +0 -15
- package/dist/assets/v-icon.0f49dcdf.js +0 -11
- package/dist/assets/v-info.b1cb42be.js +0 -2
- package/dist/assets/v-input.8c2d8d91.js +0 -2
- package/dist/assets/v-item-group.06ee487a.js +0 -90
- package/dist/assets/v-item.db377719.js +0 -1
- package/dist/assets/v-list-group.c058dd0e.js +0 -16
- package/dist/assets/v-list-item-content.fb662398.js +0 -1
- package/dist/assets/v-list-item-hint.b3e2809b.js +0 -1
- package/dist/assets/v-list-item-icon.7c917677.js +0 -5
- package/dist/assets/v-list-item.4062ea0e.js +0 -1
- package/dist/assets/v-list.52d7c7ae.js +0 -16
- package/dist/assets/v-menu.78d16370.js +0 -1
- package/dist/assets/v-notice.3c4dcb0c.js +0 -2
- package/dist/assets/v-overlay.9ee2a4ea.js +0 -12
- package/dist/assets/v-pagination.1bcaff37.js +0 -2
- package/dist/assets/v-progress-circular.b1271d61.js +0 -2
- package/dist/assets/v-progress-linear.40057ac3.js +0 -2
- package/dist/assets/v-radio.9ce87d06.js +0 -4
- package/dist/assets/v-select.ad82a076.js +0 -14
- package/dist/assets/v-sheet.5acc0a85.js +0 -8
- package/dist/assets/v-skeleton-loader.c5b2acac.js +0 -2
- package/dist/assets/v-slider.6fe18dea.js +0 -18
- package/dist/assets/v-switch.3839f607.js +0 -26
- package/dist/assets/v-tab-item.2ab69292.js +0 -14
- package/dist/assets/v-tab.c4390cdb.js +0 -5
- package/dist/assets/v-table.fc66e91c.js +0 -66
- package/dist/assets/v-tabs-items.23a4d028.js +0 -6
- package/dist/assets/v-tabs.8cb6f20c.js +0 -23
- package/dist/assets/v-text-overflow.674dc510.js +0 -2
- package/dist/assets/v-textarea.02bee531.js +0 -2
- package/dist/assets/v-upload.685df91f.js +0 -2
- package/dist/assets/vb.4da8219a.js +0 -1
- package/dist/assets/vbscript.b340075d.js +0 -1
- package/dist/assets/velocity.64e51bc5.js +0 -1
- package/dist/assets/vendor.62143b15.js +0 -1582
- package/dist/assets/vendor.de5758fd.css +0 -1
- package/dist/assets/verilog.1bc5f3a3.js +0 -1
- package/dist/assets/vhdl.3c2ba104.js +0 -1
- package/dist/assets/vi-VN.f5523824.js +0 -1
- package/dist/assets/vue.fa209324.js +0 -1
- package/dist/assets/wast.54b48569.js +0 -1
- package/dist/assets/webhooks.e51fba7a.js +0 -1
- package/dist/assets/webidl.2374e180.js +0 -1
- package/dist/assets/xquery.750a7cd1.js +0 -1
- package/dist/assets/yacas.6eba3f7b.js +0 -1
- package/dist/assets/yaml-frontmatter.f29f4a8c.js +0 -1
- package/dist/assets/yaml.622de393.js +0 -1
- package/dist/assets/z80.f493b48f.js +0 -1
- package/dist/assets/zh-CN.c589f085.js +0 -1
- package/dist/assets/zh-TW.49a10869.js +0 -1
- package/dist/index.9cda602b.js +0 -48
- package/dist/vue-i18n.12eba70a.js +0 -1
- package/dist/vue-router.72dfb5ae.js +0 -1
- package/dist/vue.c17340c4.js +0 -1
package/dist/index.html
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
|
+
<base />
|
|
5
6
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
6
7
|
<meta
|
|
7
8
|
name="viewport"
|
|
@@ -133,11 +134,11 @@
|
|
|
133
134
|
/>
|
|
134
135
|
<title>Loading…</title>
|
|
135
136
|
<style id="custom-css"></style>
|
|
136
|
-
<script type="module" crossorigin src="index.
|
|
137
|
-
<link rel="modulepreload" href="assets/vendor.
|
|
138
|
-
<link rel="modulepreload" href="assets/use-sync.
|
|
139
|
-
<link rel="stylesheet" href="assets/vendor.
|
|
140
|
-
<link rel="stylesheet" href="assets/index.
|
|
137
|
+
<script type="module" crossorigin src="index.194f59e3.js"></script>
|
|
138
|
+
<link rel="modulepreload" href="assets/vendor.c46e17d6.js">
|
|
139
|
+
<link rel="modulepreload" href="assets/use-sync.864aa3cf.js">
|
|
140
|
+
<link rel="stylesheet" href="assets/vendor.fe7856f0.css">
|
|
141
|
+
<link rel="stylesheet" href="assets/index.0a964dae.css">
|
|
141
142
|
</head>
|
|
142
143
|
<body class="light">
|
|
143
144
|
<noscript>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d8 as e,d9 as r,da as t,db as d,c as o,u as c,dc as m}from"./assets/vendor.c46e17d6.js";export{e as DatetimeFormat,r as NumberFormat,t as Translation,d as VERSION,o as createI18n,c as useI18n,m as vTDirective};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dd as s,de as r,X as t,df as o,dg as i,at as u,dh as d,di as y,au as n,dj as R,dk as c,R as p,ak as L,dl as f,dm as h,dn as v,dp as K,dq as g,aI as k,Z as m,U as H,dr as T}from"./assets/vendor.c46e17d6.js";export{s as NavigationFailureType,r as RouterLink,t as RouterView,o as START_LOCATION,i as createMemoryHistory,u as createRouter,d as createRouterMatcher,y as createWebHashHistory,n as createWebHistory,R as isNavigationFailure,c as matchedRouteKey,p as onBeforeRouteLeave,L as onBeforeRouteUpdate,f as parseQuery,h as routeLocationKey,v as routerKey,K as routerViewLocationKey,g as stringifyQuery,k as useLink,m as useRoute,H as useRouter,T as viewDepthKey};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{bZ as s,b_ as t,cO as o,Y as c,b$ as r,cP as n,c0 as i,c1 as d,aF as l,c2 as m,aE as p,aG as f,bM as u,c3 as S,c4 as v,d5 as R,d6 as h,c5 as C,c6 as b,bL as w,o as y,bB as E,q as g,I as T,V as x,B as M,c7 as k,c8 as D,c9 as P,bN as V,D as A,aL as B,P as H,t as N,cQ as F,bm as U,n as z,bO as I,ca as K,cb as L,cc as W,bP as G,cd as O,cR as j,cS as q,ce as J,cT as Q,cf as Y,N as _,W as $,cg as X,bQ as Z,ch as ee,bR as ae,T as se,ci as te,cU as oe,cV as ce,cW as re,am as ne,cj as ie,ck as de,cX as le,cl as me,O as pe,an as fe,K as ue,M as Se,ax as ve,bE as Re,ae as he,af as Ce,cm as be,bF as we,cn as ye,Q as Ee,co as ge,cp as Te,cY as xe,cq as Me,aa as ke,cr as De,p as Pe,a2 as Ve,S as Ae,cZ as Be,a1 as He,cs as Ne,z as Fe,c_ as Ue,v as ze,ct as Ie,bS as Ke,$ as Le,E as We,r as Ge,F as Oe,L as je,cu as qe,cv as Je,cw as Qe,cx as Ye,cy as _e,c$ as $e,d0 as Xe,s as Ze,cz as ea,cA as aa,d1 as sa,C as ta,d7 as oa,aH as ca,d2 as ra,d3 as na,A as ia,cB as da,d4 as la,ag as ma,cC as pa,bT as fa,bU as ua,cD as Sa,cE as va,cF as Ra,bV as ha,bW as Ca,bX as ba,bY as wa,aJ as ya,J as Ea,cG as ga,cH as Ta,y as xa,a6 as Ma,cI as ka,cJ as Da,cK as Pa,w as Va,cL as Aa,G as Ba,_ as Ha,cM as Na,H as Fa,cN as Ua}from"./assets/vendor.c46e17d6.js";export{s as BaseTransition,t as Comment,o as EffectScope,c as Fragment,r as KeepAlive,n as ReactiveEffect,i as Static,d as Suspense,l as Teleport,m as Text,p as Transition,f as TransitionGroup,u as VueElement,S as callWithAsyncErrorHandling,v as callWithErrorHandling,R as camelize,h as capitalize,C as cloneVNode,b as compatUtils,w as compile,y as computed,E as createApp,g as createBlock,T as createCommentVNode,x as createElementBlock,M as createElementVNode,k as createHydrationRenderer,D as createPropsRestProxy,P as createRenderer,V as createSSRApp,A as createSlots,B as createStaticVNode,H as createTextVNode,N as createVNode,F as customRef,U as defineAsyncComponent,z as defineComponent,I as defineCustomElement,K as defineEmits,L as defineExpose,W as defineProps,G as defineSSRCustomElement,O as devtools,j as effect,q as effectScope,J as getCurrentInstance,Q as getCurrentScope,Y as getTransitionRawChildren,_ as guardReactiveProps,$ as h,X as handleError,Z as hydrate,ee as initCustomFormatter,ae as initDirectivesForSSR,se as inject,te as isMemoSame,oe as isProxy,ce as isReactive,re as isReadonly,ne as isRef,ie as isRuntimeOnly,de as isVNode,le as markRaw,me as mergeDefaults,pe as mergeProps,fe as nextTick,ue as normalizeClass,Se as normalizeProps,ve as normalizeStyle,Re as onActivated,he as onBeforeMount,Ce as onBeforeUnmount,be as onBeforeUpdate,we as onDeactivated,ye as onErrorCaptured,Ee as onMounted,ge as onRenderTracked,Te as onRenderTriggered,xe as onScopeDispose,Me as onServerPrefetch,ke as onUnmounted,De as onUpdated,Pe as openBlock,Ve as popScopeId,Ae as provide,Be as proxyRefs,He as pushScopeId,Ne as queuePostFlushCb,Fe as reactive,Ue as readonly,ze as ref,Ie as registerRuntimeCompiler,Ke as render,Le as renderList,We as renderSlot,Ge as resolveComponent,Oe as resolveDirective,je as resolveDynamicComponent,qe as resolveFilter,Je as resolveTransitionHooks,Qe as setBlockTracking,Ye as setDevtoolsHook,_e as setTransitionHooks,$e as shallowReactive,Xe as shallowReadonly,Ze as shallowRef,ea as ssrContextKey,aa as ssrUtils,sa as stop,ta as toDisplayString,oa as toHandlerKey,ca as toHandlers,ra as toRaw,na as toRef,ia as toRefs,da as transformVNodeArgs,la as triggerRef,ma as unref,pa as useAttrs,fa as useCssModule,ua as useCssVars,Sa as useSSRContext,va as useSlots,Ra as useTransitionState,ha as vModelCheckbox,Ca as vModelDynamic,ba as vModelRadio,wa as vModelSelect,ya as vModelText,Ea as vShow,ga as version,Ta as warn,xa as watch,Ma as watchEffect,ka as watchPostEffect,Da as watchSyncEffect,Pa as withAsyncContext,Va as withCtx,Aa as withDefaults,Ba as withDirectives,Ha as withKeys,Na as withMemo,Fa as withModifiers,Ua as withScopeId};
|
package/package.json
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@directus/app",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.1.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Directus is an Open-Source Headless CMS & API for Managing Custom Databases",
|
|
6
6
|
"author": "Rijk van Zanten <rijkvanzanten@me.com>",
|
|
7
7
|
"main": "dist/index.html",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./dist/index.html",
|
|
10
|
+
"./package.json": "./package.json"
|
|
11
|
+
},
|
|
8
12
|
"files": [
|
|
9
13
|
"dist",
|
|
10
14
|
"LICENSE",
|
|
@@ -22,24 +26,26 @@
|
|
|
22
26
|
"build": "vite build",
|
|
23
27
|
"serve": "vite preview"
|
|
24
28
|
},
|
|
25
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "7a1c534b36714a721b9f9df52d51f7f74ef1dada",
|
|
26
30
|
"devDependencies": {
|
|
27
|
-
"@directus/docs": "9.
|
|
28
|
-
"@directus/extensions-sdk": "9.
|
|
29
|
-
"@directus/format-title": "9.
|
|
30
|
-
"@directus/shared": "9.
|
|
31
|
-
"@
|
|
32
|
-
"@
|
|
33
|
-
"@fullcalendar/
|
|
34
|
-
"@fullcalendar/
|
|
35
|
-
"@fullcalendar/
|
|
31
|
+
"@directus/docs": "9.1.0",
|
|
32
|
+
"@directus/extensions-sdk": "9.1.0",
|
|
33
|
+
"@directus/format-title": "9.1.0",
|
|
34
|
+
"@directus/shared": "9.1.0",
|
|
35
|
+
"@fortawesome/fontawesome-svg-core": "1.2.36",
|
|
36
|
+
"@fortawesome/free-brands-svg-icons": "5.15.4",
|
|
37
|
+
"@fullcalendar/core": "5.10.1",
|
|
38
|
+
"@fullcalendar/daygrid": "5.10.1",
|
|
39
|
+
"@fullcalendar/interaction": "5.10.1",
|
|
40
|
+
"@fullcalendar/list": "5.10.1",
|
|
41
|
+
"@fullcalendar/timegrid": "5.10.1",
|
|
36
42
|
"@mapbox/mapbox-gl-draw": "1.3.0",
|
|
37
43
|
"@mapbox/mapbox-gl-draw-static-mode": "1.0.1",
|
|
38
44
|
"@mapbox/mapbox-gl-geocoder": "4.7.4",
|
|
39
45
|
"@popperjs/core": "2.10.2",
|
|
40
46
|
"@rollup/plugin-yaml": "3.1.0",
|
|
41
47
|
"@sindresorhus/slugify": "2.1.0",
|
|
42
|
-
"@tinymce/tinymce-vue": "4.0.
|
|
48
|
+
"@tinymce/tinymce-vue": "4.0.5",
|
|
43
49
|
"@turf/meta": "6.5.0",
|
|
44
50
|
"@types/base-64": "1.0.0",
|
|
45
51
|
"@types/bytes": "3.1.1",
|
|
@@ -49,21 +55,22 @@
|
|
|
49
55
|
"@types/diff": "5.0.1",
|
|
50
56
|
"@types/dompurify": "2.3.1",
|
|
51
57
|
"@types/geojson": "7946.0.8",
|
|
52
|
-
"@types/lodash": "4.14.
|
|
58
|
+
"@types/lodash": "4.14.177",
|
|
53
59
|
"@types/mapbox__mapbox-gl-draw": "1.2.3",
|
|
54
60
|
"@types/mapbox__mapbox-gl-geocoder": "4.7.1",
|
|
55
61
|
"@types/markdown-it": "12.2.3",
|
|
56
|
-
"@types/marked": "
|
|
62
|
+
"@types/marked": "3.0.2",
|
|
57
63
|
"@types/mime": "2.0.3",
|
|
58
64
|
"@types/ms": "0.7.31",
|
|
59
65
|
"@types/qrcode": "1.4.1",
|
|
60
66
|
"@types/wellknown": "0.5.1",
|
|
61
|
-
"@vitejs/plugin-vue": "1.
|
|
62
|
-
"@vue/compiler-sfc": "3.2.
|
|
63
|
-
"apexcharts": "3.
|
|
64
|
-
"axios": "0.
|
|
67
|
+
"@vitejs/plugin-vue": "1.10.0",
|
|
68
|
+
"@vue/compiler-sfc": "3.2.22",
|
|
69
|
+
"apexcharts": "3.30.0",
|
|
70
|
+
"axios": "0.24.0",
|
|
65
71
|
"base-64": "1.0.0",
|
|
66
|
-
"
|
|
72
|
+
"caret-pos": "^2.0.0",
|
|
73
|
+
"codemirror": "5.64.0",
|
|
67
74
|
"copyfiles": "2.4.1",
|
|
68
75
|
"cropperjs": "1.5.12",
|
|
69
76
|
"date-fns": "2.24.0",
|
|
@@ -74,23 +81,23 @@
|
|
|
74
81
|
"html-entities": "2.3.2",
|
|
75
82
|
"jsonlint-mod": "1.7.6",
|
|
76
83
|
"maplibre-gl": "1.15.2",
|
|
77
|
-
"marked": "3.0.
|
|
84
|
+
"marked": "3.0.8",
|
|
78
85
|
"micromustache": "8.0.3",
|
|
79
|
-
"mime": "
|
|
86
|
+
"mime": "3.0.0",
|
|
80
87
|
"mitt": "3.0.0",
|
|
81
88
|
"nanoid": "3.1.30",
|
|
82
89
|
"p-queue": "7.1.0",
|
|
83
|
-
"pinia": "2.0.
|
|
90
|
+
"pinia": "2.0.4",
|
|
84
91
|
"prettier": "2.4.1",
|
|
85
92
|
"pretty-ms": "7.0.1",
|
|
86
93
|
"qrcode": "1.4.4",
|
|
87
94
|
"rimraf": "3.0.2",
|
|
88
|
-
"sass": "1.43.
|
|
89
|
-
"tinymce": "5.10.
|
|
90
|
-
"typescript": "4.
|
|
91
|
-
"vite": "2.6.
|
|
92
|
-
"vite-plugin-md": "0.11.
|
|
93
|
-
"vue": "3.2.
|
|
95
|
+
"sass": "1.43.4",
|
|
96
|
+
"tinymce": "5.10.2",
|
|
97
|
+
"typescript": "4.5.2",
|
|
98
|
+
"vite": "2.6.14",
|
|
99
|
+
"vite-plugin-md": "0.11.4",
|
|
100
|
+
"vue": "3.2.22",
|
|
94
101
|
"vue-i18n": "9.1.9",
|
|
95
102
|
"vue-router": "4.0.12",
|
|
96
103
|
"vuedraggable": "4.1.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as u}from"./assets/vendor.62143b15.js";import{f as p,l,k as m,h as y,i as F,d as j,b,c as g,n as h,a as k,j as v,m as x,u as G}from"./assets/use-sync.25413196.js";function d(t,s){return{fieldGroups:u(()=>{const n={};for(const e in s)n[e]=[];return t.value.reduce((e,o)=>{for(const a in s)s[a](o)!==!1&&e[a].push(o);return e},n)})}}export{p as defineDisplay,l as defineEndpoint,m as defineHook,y as defineInterface,F as defineLayout,j as defineModule,b as getFieldsFromTemplate,g as getRelationType,h as useApi,k as useCollection,d as useFilterFields,v as useItems,x as useStores,G as useSync};
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{bA as b}from"./vendor.62143b15.js";function S(f,v){return v.forEach(function(r){Object.keys(r).forEach(function(a){if(a!=="default"&&!(a in f)){var o=Object.getOwnPropertyDescriptor(r,a);Object.defineProperty(f,a,o.get?o:{enumerable:!0,get:function(){return r[a]}})}})}),Object.freeze(f)}var h={exports:{}};(function(f,v){(function(r){r(b.exports)})(function(r){var a="CodeMirror-activeline",o="CodeMirror-activeline-background",u="CodeMirror-activeline-gutter";r.defineOption("styleActiveLine",!1,function(e,n,t){var i=t==r.Init?!1:t;n!=i&&(i&&(e.off("beforeSelectionChange",d),c(e),delete e.state.activeLines),n&&(e.state.activeLines=[],L(e,e.listSelections()),e.on("beforeSelectionChange",d)))});function c(e){for(var n=0;n<e.state.activeLines.length;n++)e.removeLineClass(e.state.activeLines[n],"wrap",a),e.removeLineClass(e.state.activeLines[n],"background",o),e.removeLineClass(e.state.activeLines[n],"gutter",u)}function C(e,n){if(e.length!=n.length)return!1;for(var t=0;t<e.length;t++)if(e[t]!=n[t])return!1;return!0}function L(e,n){for(var t=[],i=0;i<n.length;i++){var l=n[i],p=e.getOption("styleActiveLine");if(!(typeof p=="object"&&p.nonEmpty?l.anchor.line!=l.head.line:!l.empty())){var g=e.getLineHandleVisualStart(l.head.line);t[t.length-1]!=g&&t.push(g)}}C(e.state.activeLines,t)||e.operation(function(){c(e);for(var s=0;s<t.length;s++)e.addLineClass(t[s],"wrap",a),e.addLineClass(t[s],"background",o),e.addLineClass(t[s],"gutter",u);e.state.activeLines=t})}function d(e,n){L(e,n.ranges)}})})();var A=h.exports,O=Object.freeze(S({__proto__:null,[Symbol.toStringTag]:"Module",default:A},[h.exports]));export{O as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as s,p as c,q as d,w as o,B as t,t as a,P as e}from"./vendor.62143b15.js";const h={class:"markdown-body"},u=t("blockquote",null,[t("p",null,"Directus stores detailed records of all data changes made via the App and API. This gives a comprehensive accountability log of who did what, and when. This also powers the Directus versioning system, which allows storing alternate versions/revisions of items.")],-1),p=e("The Activity Log tracks all events that have occurred within the project. Activity can be accessed in two ways, via the main "),m=e("Activity Module"),_=e(", or within the sidebar of individual "),f=e("Item Detail"),v=e(" pages. The following information is stored for each event\u2019s activity item:"),g=t("h2",{id:"activity-fields"},[e("Activity Fields "),t("a",{class:"header-anchor",href:"#activity-fields"},"#")],-1),w=t("ul",null,[t("li",null,[t("strong",null,"User"),e(" \u2014 The Directus user that performed the action")]),t("li",null,[t("strong",null,"Action"),e(" \u2014 The specific action taken, eg: Create, Update, Delete, Authenticate")]),t("li",null,[t("strong",null,"TimeStamp"),e(" \u2014 The timestamp of when the action was performed")]),t("li",null,[t("strong",null,"IP Address"),e(" \u2014 The IP address of the device from which the action was performed")]),t("li",null,[t("strong",null,"User Agent"),e(" \u2014 The description of the browser that was used to perform the action")]),t("li",null,[t("strong",null,"Collection"),e(" \u2014 The Collection affected by the action")]),t("li",null,[t("strong",null,"Item"),e(" \u2014 The item (within the above Collection) affected by the action")]),t("li",null,[t("strong",null,"Comment"),e(" \u2014 When applicable; the comment left by the user")])],-1),y=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},"Readonly"),t("p",null,"For proper accountability, activity records are readonly. Administrators should avoid changing, deleting, or truncating this data.")],-1),b=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"External Events"),t("p",null,"Directus can only track events that pass through the platform\u2019s middleware. Changes made directly to the database, or by other external means, are not included.")],-1),D={setup(T,{expose:l}){const i={title:"Activity",modularExtension:!1};return l({frontmatter:i}),(A,k)=>{const n=s("router-link"),r=s("DocsWrapper");return c(),d(r,{frontmatter:i},{default:o(()=>[t("div",h,[u,t("p",null,[p,a(n,{to:"/docs/concepts/application/#activity-log"},{default:o(()=>[m]),_:1}),_,a(n,{to:"/docs/concepts/application/#item-detail"},{default:o(()=>[f]),_:1}),v]),g,w,y,b])]),_:1})}}};export{D as default};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import{r as n,p as l,q as c,w as i,B as e,t as u,P as o}from"./vendor.62143b15.js";const h={class:"markdown-body"},d=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#cache"},"Cache")]),e("li",null,[e("a",{href:"#oauth-(single-sign-on-(sso)-%2F-openid)"},"oAuth (Single Sign-On (SSO) / OpenID)")]),e("li",null,[e("a",{href:"#file-storage"},"File Storage")]),e("li",null,[e("a",{href:"#rate-limiting"},"Rate Limiting")]),e("li",null,[e("a",{href:"#file-based-configuration"},"File-Based Configuration")])])])],-1),_=e("h2",{id:"cache"},[o("Cache "),e("a",{class:"header-anchor",href:"#cache"},"#")],-1),p=e("p",null,"Directus has a built-in way to do data-caching. Enabling this will cache the output of the request (based on the current user and exact query parameters used) into to configured cache storage location. This will drastically improve API performance, as subsequent requests are served straight from this cache. Enabling cache will also make Directus return accurate cache-control headers. Depending on your setup, this will further improve performance by caching the request in middleman servers (like CDNs) and even the browser.",-1),f=e("p",null,[o("You can enable the data-cache with the "),e("code",null,"CACHE_ENABLED"),o(" environment variable.")],-1),g=e("h3",{id:"cache-store"},[o("Cache Store "),e("a",{class:"header-anchor",href:"#cache-store"},"#")],-1),m=e("p",null,[o("In bigger projects, you most likely don\u2019t want to rely on local memory to keep the caches. Instead, you can use the "),e("code",null,"CACHE_STORE"),o(" environment variable to tell Directus to use either "),e("code",null,"memcache"),o(" or "),e("code",null,"redis"),o(" to store the caches.")],-1),T=e("pre",null,[e("code",null,`CACHE_ENABLED="true"
|
|
2
|
-
|
|
3
|
-
CACHE_STORE="redis"
|
|
4
|
-
CACHE_REDIS="redis://@127.0.0.1"
|
|
5
|
-
`)],-1),E=e("h3",{id:"auto-purging"},[o("Auto-Purging "),e("a",{class:"header-anchor",href:"#auto-purging"},"#")],-1),A=e("p",null,"Directus can automatically clear the caches whenever a create/update/delete action is performed. This allows you to keep the Directus API real-time, while still getting the performance benefits on quick subsequent reads.",-1),O=e("pre",null,[e("code",null,`CACHE_AUTO_PURGE="true"
|
|
6
|
-
`)],-1),S=e("h3",{id:"ttl"},[o("TTL "),e("a",{class:"header-anchor",href:"#ttl"},"#")],-1),R=e("p",null,[o("Based on your project\u2019s needs, you might be able to aggressively cache your data, only requiring new data to be fetched every hour or so. This allows you to squeeze the most performance out of your Directus instance. This can be incredibly useful for applications where you have a lot of (public) read-access and where updates aren\u2019t real-time (for example a website). "),e("code",null,"CACHE_TTL"),o(" uses "),e("a",{href:"https://www.npmjs.com/package/ms",target:"_blank",rel:"noopener noreferrer"},[e("code",null,"ms")]),o(" to parse the value, so you configure it using human readable values (like "),e("code",null,"2 days"),o(", "),e("code",null,"7 hrs"),o(", "),e("code",null,"5m"),o(").")],-1),y=e("pre",null,[e("code",null,`CACHE_TTL="1h"
|
|
7
|
-
`)],-1),b=e("h3",{id:"assets"},[o("Assets "),e("a",{class:"header-anchor",href:"#assets"},"#")],-1),v=e("p",null,"The cache-control header for the /assets endpoint is separate from the regular data-cache. This is useful as it\u2019s often possible to cache assets for way longer than you would with the actual content.",-1),C=e("pre",null,[e("code",null,`ASSETS_CACHE_TTL="7d"
|
|
8
|
-
`)],-1),I=e("h2",{id:"oauth-(single-sign-on-(sso)-%2F-openid)"},[o("oAuth (Single Sign-On (SSO) / OpenID) "),e("a",{class:"header-anchor",href:"#oauth-(single-sign-on-(sso)-%2F-openid)"},"#")],-1),w=e("p",null,"Directus\u2019 oAuth integration provides a powerful alternative way to authenticate into your project. Directus will ask you to login on the external service, and if your user exists in Directus, you\u2019ll be logged in automatically.",-1),L=e("p",null,[o("Directus relies on "),e("a",{href:"https://www.npmjs.com/package/grant",target:"_blank",rel:"noopener noreferrer"},[e("code",null,"grant")]),o(" for the handling of the oAuth flow. This means that there\u2019s hundreds of services that are supported out of the box. For example, enabling logging in through GitHub is as easy as creating an "),e("a",{href:"https://github.com/settings/developers",target:"_blank",rel:"noopener noreferrer"},"oAuth app in GitHub"),o(" and adding the following to Directus:")],-1),D=e("pre",null,[e("code",null,`OAUTH_PROVIDERS="github"
|
|
9
|
-
OAUTH_GITHUB_KEY="99d3...c3c4"
|
|
10
|
-
OAUTH_GITHUB_SECRET="34ae...f963"
|
|
11
|
-
`)],-1),k=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"PUBLIC_URL"),e("p",null,[o("The oAuth flow relies on the "),e("code",null,"PUBLIC_URL"),o(" variable for it\u2019s redirecting. Make sure that variable is configured correctly.")])],-1),U=e("h4",{id:"multiple-providers"},[o("Multiple Providers "),e("a",{class:"header-anchor",href:"#multiple-providers"},"#")],-1),G=e("p",null,[e("code",null,"OAUTH_PROVIDERS"),o(" accepts a CSV of providers, allowing you to specify multiple at the same time:")],-1),H=e("pre",null,[e("code",null,`OAUTH_PROVIDERS ="google,microsoft"
|
|
12
|
-
|
|
13
|
-
OAUTH_GOOGLE_KEY = "<google_application_id>"
|
|
14
|
-
OAUTH_GOOGLE_SECRET= "<google_application_secret_key>"
|
|
15
|
-
OAUTH_GOOGLE_SCOPE="openid email"
|
|
16
|
-
|
|
17
|
-
OAUTH_MICROSOFT_KEY = "<microsoft_application_id>"
|
|
18
|
-
OAUTH_MICROSOFT_SECRET = "<microsoft_application_secret_key>"
|
|
19
|
-
OAUTH_MICROSOFT_SCOPE = "openid email"
|
|
20
|
-
OAUTH_MICROSOFT_AUTHORIZE_URL = "https://login.microsoftonline.com/<microsoft_application_id>/oauth2/v2.0/authorize"
|
|
21
|
-
OAUTH_MICROSOFT_ACCESS_URL = "https://login.microsoftonline.com/<microsoft_application_id>/oauth2/v2.0/token"
|
|
22
|
-
|
|
23
|
-
PUBLIC_URL = "<public_url_of_directus_instance>"
|
|
24
|
-
`)],-1),P=e("h3",{id:"provider-specific-configuration"},[o("Provider Specific Configuration "),e("a",{class:"header-anchor",href:"#provider-specific-configuration"},"#")],-1),B=e("p",null,[o("If you use one of the many supported providers, you often don\u2019t have to configure any more than just the key and secret for the service. That being said, if you use a more tailored service (like the specific Microsoft application in the example above), you might have to provide more configuration values yourself. Please see "),e("a",{href:"https://github.com/simov/grant#configuration-description",target:"_blank",rel:"noopener noreferrer"},"https://github.com/simov/grant#configuration-description"),o(" for a list of all available configuration flags.")],-1),M=e("h2",{id:"file-storage"},[o("File Storage "),e("a",{class:"header-anchor",href:"#file-storage"},"#")],-1),N=e("p",null,"By default, Directus stores every file you upload locally on disk. Instead of local file storage, you can configure Directus to use S3 or Google Cloud Storage instead:",-1),F=e("pre",null,[e("code",null,`STORAGE_LOCATIONS="aws"
|
|
25
|
-
|
|
26
|
-
STORAGE_AWS_DRIVER="s3"
|
|
27
|
-
STORAGE_AWS_KEY="tp15c...510vk"
|
|
28
|
-
STORAGE_AWS_SECRET="yk29b...b932n"
|
|
29
|
-
STORAGE_AWS_REGION="us-east-2"
|
|
30
|
-
STORAGE_AWS_BUCKET="my-files"
|
|
31
|
-
`)],-1),x=e("h3",{id:"multiple-storage-adapters"},[o("Multiple Storage Adapters "),e("a",{class:"header-anchor",href:"#multiple-storage-adapters"},"#")],-1),q=e("p",null,"You can configure multiple storage adapters at the same time. This allows you to choose where files are being uploaded on a file-by-file basis. To do this, you can provide a CSV of storage location names, and provide a config block for each of them:",-1),W=e("pre",null,[e("code",null,`STORAGE_LOCATIONS="local,aws"
|
|
32
|
-
|
|
33
|
-
STORAGE_LOCAL_DRIVER="local"
|
|
34
|
-
STORAGE_LOCAL_ROOT="local"
|
|
35
|
-
|
|
36
|
-
STORAGE_AWS_KEY="tp15c...510vk"
|
|
37
|
-
STORAGE_AWS_SECRET="yk29b...b932n"
|
|
38
|
-
STORAGE_AWS_REGION="us-east-2"
|
|
39
|
-
STORAGE_AWS_BUCKET="my-files"
|
|
40
|
-
`)],-1),V=e("p",null,[o("In the Admin App, files will automatically be uploaded to the first configured storage location (in this case "),e("code",null,"local"),o("). The used storage location is saved under "),e("code",null,"storage"),o(" in "),e("code",null,"directus_files"),o(".")],-1),Y=e("h2",{id:"rate-limiting"},[o("Rate Limiting "),e("a",{class:"header-anchor",href:"#rate-limiting"},"#")],-1),j=e("p",null,"You can use the built-in rate-limiter to prevent users from hitting the API too much. To enable the rate-limiter, simply set",-1),K=e("pre",null,[e("code",null,`RATE_LIMITER_ENABLED="true"
|
|
41
|
-
`)],-1),z=e("p",null,"This will kick-in the rate-limiter on a maximum of 50 requests a second. You can configure this using:",-1),Z=e("pre",null,[e("code",null,`// 10 requests per 5 seconds
|
|
42
|
-
|
|
43
|
-
RATE_LIMITER_POINTS="10"
|
|
44
|
-
RATE_LIMITER_DURATION="5"
|
|
45
|
-
`)],-1),J=e("p",null,[o("Once you have multiple copies of Directus running under a load-balancer, or your user base grows so much that memory is no longer a viable place to store the rate limiter information, you can use an external "),e("code",null,"memcache"),o(" or "),e("code",null,"redis"),o(" instance to store the rate limiter data:")],-1),Q=e("pre",null,[e("code",null,`RATE_LIMITER_ENABLED="true"
|
|
46
|
-
|
|
47
|
-
RATE_LIMITER_POINTS="10"
|
|
48
|
-
RATE_LIMITER_DURATION="5"
|
|
49
|
-
|
|
50
|
-
RATE_LIMITER_STORE="redis"
|
|
51
|
-
|
|
52
|
-
RATE_LIMITER_REDIS="redis://@127.0.0.1"
|
|
53
|
-
`)],-1),X=e("h2",{id:"file-based-configuration"},[o("File-Based Configuration "),e("a",{class:"header-anchor",href:"#file-based-configuration"},"#")],-1),$=o("In case you prefer using a configuration file instead of environment variables, you can use the "),ee=e("code",null,"CONFIG_PATH",-1),oe=o(" environment variable to instruct Directus to use a local configuration file instead of environment variables. See "),te=o("Config Files"),ne=o(" for more information."),le={setup(ie,{expose:s}){const t={title:"Configuring the API",modularExtension:!1};return s({frontmatter:t}),(se,ae)=>{const a=n("router-link"),r=n("DocsWrapper");return l(),c(r,{frontmatter:t},{default:i(()=>[e("div",h,[d,_,p,f,g,m,T,E,A,O,S,R,y,b,v,C,I,w,L,D,k,U,G,H,P,B,M,N,F,x,q,W,V,Y,j,K,z,Z,J,Q,X,e("p",null,[$,ee,oe,u(a,{to:"/docs/reference/config-files.md"},{default:i(()=>[te]),_:1}),ne])])]),_:1})}}};export{le as default};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import{r as o,p as a,q as c,w as r,B as l,P as e}from"./vendor.62143b15.js";const u=l("div",{class:"markdown-body"},[l("blockquote",null,[l("p",null,"Custom API Hooks allow running custom logic when a specified event occurs within your project. They can be registered as either \u201Cblocking\u201D or immediate.")]),l("h2",{id:"1.-create-a-hook-file"},[e("1. Create a Hook File "),l("a",{class:"header-anchor",href:"#1.-create-a-hook-file"},"#")]),l("p",null,[e("Custom hooks are dynamically loaded from within your extensions folder. By default this directory is located at "),l("code",null,"/extensions"),e(", but it can be configured within your project\u2019s env file to be located anywhere.")]),l("h3",{id:"default-standalone-hook-location"},[e("Default Standalone Hook Location "),l("a",{class:"header-anchor",href:"#default-standalone-hook-location"},"#")]),l("pre",null,[l("code",null,`/extensions/hooks/<hook-id>/index.js
|
|
2
|
-
`)]),l("h2",{id:"2.-define-the-event"},[e("2. Define the Event "),l("a",{class:"header-anchor",href:"#2.-define-the-event"},"#")]),l("p",null,"Next, you will want to define your event. You can trigger your custom hook with any of the platform\u2019s many API events. System events are referenced with the format:"),l("pre",null,[l("code",null,`<scope>.<action>(.<before>)
|
|
3
|
-
// eg: items.create
|
|
4
|
-
// eg: files.upload
|
|
5
|
-
// eg: collections.*
|
|
6
|
-
// eg: users.update.before
|
|
7
|
-
`)]),l("h3",{id:"scope"},[e("Scope "),l("a",{class:"header-anchor",href:"#scope"},"#")]),l("p",null,[e("The scope determines the API endpoint that is triggered. The "),l("code",null,"*"),e(" wildcard can also be used to include all scopes.")]),l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"System Scope"),l("p",null,[e("Currently all system tables are available as event scopes except for "),l("code",null,"directus_migrations"),e(" and "),l("code",null,"directus_sessions"),e(", which don\u2019t have relevant endpoints or services.")])]),l("h3",{id:"action"},[e("Action "),l("a",{class:"header-anchor",href:"#action"},"#")]),l("p",null,[e("Defines the triggering operation within the specified context (see chart below). The "),l("code",null,"*"),e(" wildcard can also be used to include all actions available to the scope.")]),l("h3",{id:"before"},[e("Before "),l("a",{class:"header-anchor",href:"#before"},"#")]),l("p",null,[e("Many scopes (see chart below) support an optional "),l("code",null,".before"),e(" suffix for running a "),l("em",null,"blocking"),e(" hook prior to the event being fired. This allows you to check and/or modify the event\u2019s payload before it is processed.")]),l("ul",null,[l("li",null,[l("code",null,"items.create.before"),e(" (Blocking)")]),l("li",null,[l("code",null,"items.create"),e(" (Non Blocking, also called \u2018after\u2019 implicitly)")])]),l("p",null,"This also allows you to cancel an event based on the logic within the hook. Below is an example of how you can cancel a create event by throwing a standard Directus exception."),l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-built_in"},"module"),e(".exports = "),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(),l("span",{class:"hljs-title"},"registerHook"),e("("),l("span",{class:"hljs-params"},"{ exceptions }"),e(") ")]),e(`{
|
|
8
|
-
`),l("span",{class:"hljs-keyword"},"const"),e(` { InvalidPayloadException } = exceptions;
|
|
9
|
-
|
|
10
|
-
`),l("span",{class:"hljs-keyword"},"return"),e(` {
|
|
11
|
-
`),l("span",{class:"hljs-string"},"'items.create.before'"),e(": "),l("span",{class:"hljs-keyword"},"async"),e(),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(" ("),l("span",{class:"hljs-params"},"input"),e(") ")]),e(`{
|
|
12
|
-
`),l("span",{class:"hljs-keyword"},"if"),e(` (LOGIC_TO_CANCEL_EVENT) {
|
|
13
|
-
`),l("span",{class:"hljs-keyword"},"throw"),e(),l("span",{class:"hljs-keyword"},"new"),e(` InvalidPayloadException(WHAT_IS_WRONG);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
`),l("span",{class:"hljs-keyword"},"return"),e(` input;
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
`)])]),l("h3",{id:"event-format-options"},[e("Event Format Options "),l("a",{class:"header-anchor",href:"#event-format-options"},"#")]),l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Scope"),l("th",null,"Actions"),l("th",null,"Before")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"cron()")]),l("td",null,[l("a",{href:"#interval-cron"},"See below for configuration")]),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"cli.init")]),l("td",null,[l("code",null,"before"),e(" and "),l("code",null,"after")]),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"server")]),l("td",null,[l("code",null,"start"),e(" and "),l("code",null,"stop")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"init")]),l("td"),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"routes.init")]),l("td",null,[l("code",null,"before"),e(" and "),l("code",null,"after")]),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"routes.custom.init")]),l("td",null,[l("code",null,"before"),e(" and "),l("code",null,"after")]),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"middlewares.init")]),l("td",null,[l("code",null,"before"),e(" and "),l("code",null,"after")]),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"request")]),l("td",null,[l("code",null,"not_found")]),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"response")]),l("td"),l("td",null,[e("No"),l("sup",null,"[1]")])]),l("tr",null,[l("td",null,[l("code",null,"database.error")]),l("td",null,"When a database error is thrown"),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"error")]),l("td"),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"auth")]),l("td",null,[l("code",null,"login"),e(", "),l("code",null,"logout"),l("sup",null,"[1]"),e(", "),l("code",null,"jwt"),e(" and "),l("code",null,"refresh"),l("sup",null,"[1]")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"oauth.:provider"),l("sup",null,"[2]")]),l("td",null,[l("code",null,"login"),e(" and "),l("code",null,"redirect")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"items")]),l("td",null,[l("code",null,"read"),l("sup",null,"[3]"),e(", "),l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"activity")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"collections")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"fields")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"files")]),l("td",null,[l("code",null,"upload"),l("sup",null,"[3]")]),l("td",null,"No")]),l("tr",null,[l("td",null,[l("code",null,"folders")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"permissions")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"presets")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"relations")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"revisions")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"roles")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"settings")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"users")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")]),l("tr",null,[l("td",null,[l("code",null,"webhooks")]),l("td",null,[l("code",null,"create"),e(", "),l("code",null,"update"),e(" and "),l("code",null,"delete")]),l("td",null,"Optional")])])]),l("p",null,[l("sup",null,"1"),e(" Feature Coming Soon"),l("br"),l("sup",null,"2"),e(" oAuth provider name can replaced with wildcard for any oauth providers "),l("code",null,"oauth.*.login"),l("br"),l("sup",null,"3"),e(" Doesn\u2019t support "),l("code",null,".before"),e(" modifier")]),l("h4",{id:"interval-(cron)"},[e("Interval (cron) "),l("a",{class:"header-anchor",href:"#interval-(cron)"},"#")]),l("p",null,[e("Hooks support running on an interval through "),l("a",{href:"https://www.npmjs.com/package/node-cron",target:"_blank",rel:"noopener noreferrer"},[l("code",null,"node-cron")]),e(". To set this up, provide a cron statement in the event scope as follows: "),l("code",null,"cron(<statement>)"),e(", for example "),l("code",null,"cron(15 14 1 * *)"),e(" (at 14:15 on day-of-month 1) or "),l("code",null,"cron(5 4 * * sun)"),e(" (at 04:05 on Sunday). See example below:")]),l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-keyword"},"const"),e(" axios = "),l("span",{class:"hljs-built_in"},"require"),e("("),l("span",{class:"hljs-string"},"'axios'"),e(`);
|
|
21
|
-
|
|
22
|
-
`),l("span",{class:"hljs-built_in"},"module"),e(".exports = "),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(),l("span",{class:"hljs-title"},"registerHook"),e("("),l("span",{class:"hljs-params"}),e(") ")]),e(`{
|
|
23
|
-
`),l("span",{class:"hljs-keyword"},"return"),e(` {
|
|
24
|
-
`),l("span",{class:"hljs-string"},"'cron(*/15 * * * *)'"),e(": "),l("span",{class:"hljs-keyword"},"async"),e(),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(" ("),l("span",{class:"hljs-params"}),e(") ")]),e(`{
|
|
25
|
-
`),l("span",{class:"hljs-keyword"},"await"),e(" axios.post("),l("span",{class:"hljs-string"},"'http://example.com/webhook'"),e(", { "),l("span",{class:"hljs-attr"},"message"),e(": "),l("span",{class:"hljs-string"},"'Another 15 minutes passed...'"),e(` });
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
`)])]),l("h2",{id:"3.-register-your-hook"},[e("3. Register your Hook "),l("a",{class:"header-anchor",href:"#3.-register-your-hook"},"#")]),l("p",null,"Each custom hook is registered to its event scope using a function with the following format:"),l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-keyword"},"const"),e(" axios = "),l("span",{class:"hljs-built_in"},"require"),e("("),l("span",{class:"hljs-string"},"'axios'"),e(`);
|
|
30
|
-
|
|
31
|
-
`),l("span",{class:"hljs-built_in"},"module"),e(".exports = "),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(),l("span",{class:"hljs-title"},"registerHook"),e("("),l("span",{class:"hljs-params"}),e(") ")]),e(`{
|
|
32
|
-
`),l("span",{class:"hljs-keyword"},"return"),e(` {
|
|
33
|
-
`),l("span",{class:"hljs-string"},"'items.create'"),e(": "),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(" ("),l("span",{class:"hljs-params"}),e(") ")]),e(`{
|
|
34
|
-
axios.post(`),l("span",{class:"hljs-string"},"'http://example.com/webhook'"),e(`);
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
`)])]),l("h2",{id:"4.-develop-your-custom-hook"},[e("4. Develop your Custom Hook "),l("a",{class:"header-anchor",href:"#4.-develop-your-custom-hook"},"#")]),l("blockquote",null,[l("p",null,[e("Hooks can impact performance when not carefully implemented. This is especially true for "),l("code",null,"before"),e(" hooks (as these are blocking) and hooks on "),l("code",null,"read"),e(" actions, as a single request can result in a large amount of database reads.")])]),l("h3",{id:"register-function"},[e("Register Function "),l("a",{class:"header-anchor",href:"#register-function"},"#")]),l("p",null,[e("The register function (eg: "),l("code",null,"module.exports = function registerHook()"),e(") must return an object where the key is the event, and the value is the handler function itself.")]),l("p",null,[e("The "),l("code",null,"registerHook"),e(" function receives a context parameter with the following properties:")]),l("ul",null,[l("li",null,[l("code",null,"services"),e(" \u2014 All API internal services")]),l("li",null,[l("code",null,"exceptions"),e(" \u2014\xA0API exception objects that can be used for throwing \u201Cproper\u201D errors")]),l("li",null,[l("code",null,"database"),e(" \u2014 Knex instance that is connected to the current database")]),l("li",null,[l("code",null,"getSchema"),e(" \u2014 Async function that reads the full available schema for use in services")]),l("li",null,[l("code",null,"env"),e(" \u2014\xA0Parsed environment variables")]),l("li",null,[l("code",null,"logger"),e(" \u2014\xA0"),l("a",{href:"https://github.com/pinojs/pino",target:"_blank",rel:"noopener noreferrer"},"Pino"),e(" instance.")])]),l("h3",{id:"event-handler-function"},[e("Event Handler Function "),l("a",{class:"header-anchor",href:"#event-handler-function"},"#")]),l("p",null,[e("The event handler function (eg: "),l("code",null,"'items.create': function()"),e(") receives a context parameter with the following properties:")]),l("ul",null,[l("li",null,[l("code",null,"event"),e(" \u2014 Full event string")]),l("li",null,[l("code",null,"accountability"),e(" \u2014 Information about the current user")]),l("li",null,[l("code",null,"collection"),e(" \u2014 Collection that is being modified")]),l("li",null,[l("code",null,"item"),e(" \u2014\xA0Primary key(s) of the item(s) being modified")]),l("li",null,[l("code",null,"action"),e("\xA0\u2014 Action that is performed")]),l("li",null,[l("code",null,"payload"),e(" \u2014\xA0Payload of the request")]),l("li",null,[l("code",null,"schema"),e(" - The current API schema in use")]),l("li",null,[l("code",null,"database"),e(" - Current database transaction")])]),l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Input"),l("p",null,[e("The "),l("code",null,"items.*.before"),e(" hooks get the raw input payload as the first parameter, with the context parameter as the second parameter.")])]),l("h4",{id:"items-read"},[e("Items read "),l("a",{class:"header-anchor",href:"#items-read"},"#")]),l("p",null,[e("In contrast to the other "),l("code",null,"items"),e(" events ("),l("code",null,"items.create"),e(", "),l("code",null,"items.update"),e(", "),l("code",null,"items.delete"),e(") the "),l("code",null,"items.read"),e(" doesn\u2019t receive the primary key(s) of the items but the query used:")]),l("ul",null,[l("li",null,[l("code",null,"event"),e(" \u2014 Full event string")]),l("li",null,[l("code",null,"accountability"),e(" \u2014 Information about the current user")]),l("li",null,[l("code",null,"collection"),e(" \u2014 Collection that is being modified")]),l("li",null,[l("code",null,"query"),e(" \u2014\xA0The query used to get the data")]),l("li",null,[l("code",null,"action"),e("\xA0\u2014 Action that is performed")]),l("li",null,[l("code",null,"payload"),e(" \u2014\xA0Payload of the request")]),l("li",null,[l("code",null,"schema"),e(" - The current API schema in use")]),l("li",null,[l("code",null,"database"),e(" - Current database transaction")])]),l("h4",{id:"auth"},[e("Auth "),l("a",{class:"header-anchor",href:"#auth"},"#")]),l("p",null,[e("The "),l("code",null,"auth"),e(" and "),l("code",null,"oauth"),e(" hooks have the following context properties:")]),l("ul",null,[l("li",null,[l("code",null,"event"),e(" \u2014 Full event string")]),l("li",null,[l("code",null,"accountability"),e(" \u2014 Information about the current user")]),l("li",null,[l("code",null,"action"),e("\xA0\u2014 Action that is performed")]),l("li",null,[l("code",null,"payload"),e(" \u2014\xA0Payload of the request")]),l("li",null,[l("code",null,"schema"),e(" - The current API schema in use")]),l("li",null,[l("code",null,"status"),e(" - One of "),l("code",null,"pending"),e(", "),l("code",null,"success"),e(", "),l("code",null,"fail")]),l("li",null,[l("code",null,"user"),e(),l("sup",null,"\u2020"),e(" - ID of the user that tried logging in/has logged in")])]),l("p",null,[l("sup",null,"\u2020"),e(" Not available in "),l("code",null,"oauth")]),l("h2",{id:"5.-restart-the-api"},[e("5. Restart the API "),l("a",{class:"header-anchor",href:"#5.-restart-the-api"},"#")]),l("p",null,"To deploy your hook, simply restart the API by running:"),l("pre",null,[l("code",{class:"language-bash"},`npx directus start
|
|
39
|
-
`)]),l("h2",{id:"full-example"},[e("Full Example "),l("a",{class:"header-anchor",href:"#full-example"},"#")]),l("p",null,[l("code",null,"extensions/hooks/sync-with-external/index.js"),e(":")]),l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-keyword"},"const"),e(" axios = "),l("span",{class:"hljs-built_in"},"require"),e("("),l("span",{class:"hljs-string"},"'axios'"),e(`);
|
|
40
|
-
|
|
41
|
-
`),l("span",{class:"hljs-built_in"},"module"),e(".exports = "),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(),l("span",{class:"hljs-title"},"registerHook"),e("("),l("span",{class:"hljs-params"},"{ services, exceptions }"),e(") ")]),e(`{
|
|
42
|
-
`),l("span",{class:"hljs-keyword"},"const"),e(` { MailService } = services;
|
|
43
|
-
`),l("span",{class:"hljs-keyword"},"const"),e(` { ServiceUnavailableException, ForbiddenException } = exceptions;
|
|
44
|
-
|
|
45
|
-
`),l("span",{class:"hljs-keyword"},"return"),e(` {
|
|
46
|
-
`),l("span",{class:"hljs-comment"},"// Force everything to be admin-only at all times"),e(`
|
|
47
|
-
`),l("span",{class:"hljs-string"},"'items.*'"),e(": "),l("span",{class:"hljs-keyword"},"async"),e(),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(" ("),l("span",{class:"hljs-params"},"{ item, accountability }"),e(") ")]),e(`{
|
|
48
|
-
`),l("span",{class:"hljs-keyword"},"if"),e(" (accountability.admin !== "),l("span",{class:"hljs-literal"},"true"),e(") "),l("span",{class:"hljs-keyword"},"throw"),e(),l("span",{class:"hljs-keyword"},"new"),e(` ForbiddenException();
|
|
49
|
-
},
|
|
50
|
-
`),l("span",{class:"hljs-comment"},"// Sync with external recipes service, cancel creation on failure"),e(`
|
|
51
|
-
`),l("span",{class:"hljs-string"},"'items.create.before'"),e(": "),l("span",{class:"hljs-keyword"},"async"),e(),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(" ("),l("span",{class:"hljs-params"},"input, { collection, schema }"),e(") ")]),e(`{
|
|
52
|
-
`),l("span",{class:"hljs-keyword"},"if"),e(" (collection !== "),l("span",{class:"hljs-string"},"'recipes'"),e(") "),l("span",{class:"hljs-keyword"},"return"),e(` input;
|
|
53
|
-
|
|
54
|
-
`),l("span",{class:"hljs-keyword"},"const"),e(" mailService = "),l("span",{class:"hljs-keyword"},"new"),e(` MailService({ schema });
|
|
55
|
-
|
|
56
|
-
`),l("span",{class:"hljs-keyword"},"try"),e(` {
|
|
57
|
-
`),l("span",{class:"hljs-keyword"},"await"),e(" axios.post("),l("span",{class:"hljs-string"},"'https://example.com/recipes'"),e(`, input);
|
|
58
|
-
`),l("span",{class:"hljs-keyword"},"await"),e(` mailService.send({
|
|
59
|
-
`),l("span",{class:"hljs-attr"},"to"),e(": "),l("span",{class:"hljs-string"},"'person@example.com'"),e(`,
|
|
60
|
-
`),l("span",{class:"hljs-attr"},"template"),e(`: {
|
|
61
|
-
`),l("span",{class:"hljs-attr"},"name"),e(": "),l("span",{class:"hljs-string"},"'item-created'"),e(`,
|
|
62
|
-
`),l("span",{class:"hljs-attr"},"data"),e(`: {
|
|
63
|
-
`),l("span",{class:"hljs-attr"},"collection"),e(`: collection,
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
} `),l("span",{class:"hljs-keyword"},"catch"),e(` (error) {
|
|
68
|
-
`),l("span",{class:"hljs-keyword"},"throw"),e(),l("span",{class:"hljs-keyword"},"new"),e(` ServiceUnavailableException(error);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
input[`),l("span",{class:"hljs-number"},"0"),e("].syncedWithExample = "),l("span",{class:"hljs-literal"},"true"),e(`;
|
|
72
|
-
|
|
73
|
-
`),l("span",{class:"hljs-keyword"},"return"),e(` input;
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
`)])])],-1),f={setup(d,{expose:t}){const n={title:"Custom API Hooks",modularExtension:!0};return t({frontmatter:n}),(i,h)=>{const s=o("DocsWrapper");return a(),c(s,{frontmatter:n},{default:r(()=>[u]),_:1})}}};export{f as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{bA as h}from"./vendor.62143b15.js";function g(i,o){return o.forEach(function(t){Object.keys(t).forEach(function(l){if(l!=="default"&&!(l in i)){var u=Object.getOwnPropertyDescriptor(t,l);Object.defineProperty(i,l,u.get?u:{enumerable:!0,get:function(){return t[l]}})}})}),Object.freeze(i)}var f={exports:{}};(function(i,o){(function(t){t(h.exports)})(function(t){t.defineMode("apl",function(){var l={".":"innerProduct","\\":"scan","/":"reduce","\u233F":"reduce1Axis","\u2340":"scan1Axis","\xA8":"each","\u2363":"power"},u={"+":["conjugate","add"],"\u2212":["negate","subtract"],"\xD7":["signOf","multiply"],"\xF7":["reciprocal","divide"],"\u2308":["ceiling","greaterOf"],"\u230A":["floor","lesserOf"],"\u2223":["absolute","residue"],"\u2373":["indexGenerate","indexOf"],"?":["roll","deal"],"\u22C6":["exponentiate","toThePowerOf"],"\u235F":["naturalLog","logToTheBase"],"\u25CB":["piTimes","circularFuncs"],"!":["factorial","binomial"],"\u2339":["matrixInverse","matrixDivide"],"<":[null,"lessThan"],"\u2264":[null,"lessThanOrEqual"],"=":[null,"equals"],">":[null,"greaterThan"],"\u2265":[null,"greaterThanOrEqual"],"\u2260":[null,"notEqual"],"\u2261":["depth","match"],"\u2262":[null,"notMatch"],"\u2208":["enlist","membership"],"\u2377":[null,"find"],"\u222A":["unique","union"],"\u2229":[null,"intersection"],"\u223C":["not","without"],"\u2228":[null,"or"],"\u2227":[null,"and"],"\u2371":[null,"nor"],"\u2372":[null,"nand"],"\u2374":["shapeOf","reshape"],",":["ravel","catenate"],"\u236A":[null,"firstAxisCatenate"],"\u233D":["reverse","rotate"],"\u2296":["axis1Reverse","axis1Rotate"],"\u2349":["transpose",null],"\u2191":["first","take"],"\u2193":[null,"drop"],"\u2282":["enclose","partitionWithAxis"],"\u2283":["diclose","pick"],"\u2337":[null,"index"],"\u234B":["gradeUp",null],"\u2352":["gradeDown",null],"\u22A4":["encode",null],"\u22A5":["decode",null],"\u2355":["format","formatByExample"],"\u234E":["execute",null],"\u22A3":["stop","left"],"\u22A2":["pass","right"]},s=/[\.\/⌿⍀¨⍣]/,c=/⍬/,p=/[\+−×÷⌈⌊∣⍳\?⋆⍟○!⌹<≤=>≥≠≡≢∈⍷∪∩∼∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⌷⍋⍒⊤⊥⍕⍎⊣⊢]/,d=/←/,v=/[⍝#].*$/,x=function(n){var r;return r=!1,function(e){return r=e,e===n?r==="\\":!0}};return{startState:function(){return{prev:!1,func:!1,op:!1,string:!1,escape:!1}},token:function(n,r){var e,a;return n.eatSpace()?null:(e=n.next(),e==='"'||e==="'"?(n.eatWhile(x(e)),n.next(),r.prev=!0,"string"):/[\[{\(]/.test(e)?(r.prev=!1,null):/[\]}\)]/.test(e)?(r.prev=!0,null):c.test(e)?(r.prev=!1,"niladic"):/[¯\d]/.test(e)?(r.func?(r.func=!1,r.prev=!1):r.prev=!0,n.eatWhile(/[\w\.]/),"number"):s.test(e)?"operator apl-"+l[e]:d.test(e)?"apl-arrow":p.test(e)?(a="apl-",u[e]!=null&&(r.prev?a+=u[e][1]:a+=u[e][0]),r.func=!0,r.prev=!1,"function "+a):v.test(e)?(n.skipToEnd(),"comment"):e==="\u2218"&&n.peek()==="."?(n.next(),"function jot-dot"):(n.eatWhile(/[\w\$_]/),r.prev=!0,"keyword"))}}}),t.defineMIME("text/apl","apl")})})();var m=f.exports,O=Object.freeze(g({__proto__:null,[Symbol.toStringTag]:"Module",default:m},[f.exports]));export{O as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as o,p as a,q as u,w as d,B as e,P as l}from"./vendor.62143b15.js";const r=e("div",{class:"markdown-body"},[e("p",null,"The purpose of the app reference is to allow more and easier access to our internal components when developing custom interfaces, displays or modules."),e("h2",{id:"app-structure"},[l("App Structure "),e("a",{class:"header-anchor",href:"#app-structure"},"#")]),e("p",null,"The Vue frontend app is structured into many departments to combine similar purpose components."),e("table",null,[e("thead",null,[e("tr",null,[e("th",null,"Folder"),e("th",null,"Content"),e("th",null,"Example")])]),e("tbody",null,[e("tr",null,[e("td",null,[e("code",null,"components")]),e("td",null,"In here are our base components that are designed to be as general and everywhere fitting as possible"),e("td",null,[l("It contains "),e("code",null,"v-button")])]),e("tr",null,[e("td",null,[e("code",null,"composables")]),e("td",null,"Composables are reusable pieces of logic that can be used inside Vue component"),e("td",null,[e("code",null,"use-shortcut"),l(" to easily react to button combinations pressed")])]),e("tr",null,[e("td",null,[e("code",null,"directives")]),e("td",null,"Directives are functions that are available on Vue components in templates"),e("td",null,[l("contains "),e("code",null,"v-focus"),l(" or "),e("code",null,"v-tooltip")])]),e("tr",null,[e("td",null,[e("code",null,"displays")]),e("td",null,"Displays are functions / components that are used in the system to display data"),e("td",null,[e("code",null,"display-image"),l(" is used to display image data inside the app")])]),e("tr",null,[e("td",null,[e("code",null,"interfaces")]),e("td",null,"Interfaces are the individual blocks that allow editing and viewing individual pieces of data"),e("td",null,[e("code",null,"interface-color"),l(" is a color picker allowing for easy selection of any color")])]),e("tr",null,[e("td",null,[e("code",null,"lang")]),e("td",null,"Containing all translations used across the directus app"),e("td",null,[l("Contains translations like "),e("code",null,"en-US")])]),e("tr",null,[e("td",null,[e("code",null,"layouts")]),e("td",null,"Layouts change the way items are represented inside the collection view"),e("td",null,"The card and tabular layout are inside here")]),e("tr",null,[e("td",null,[e("code",null,"modules")]),e("td",null,"Modules organize in which major parts the app is structured"),e("td",null,"Here are the files or settings module which are always visible from the sidebar")]),e("tr",null,[e("td",null,[e("code",null,"routes")]),e("td",null,"Basic routes the app needs that shouldn\u2019t be customized"),e("td",null,"Routes for authentication or password reset")]),e("tr",null,[e("td",null,[e("code",null,"stores")]),e("td",null,"Here lay all stores used in the app containing all relevant data that gets fetched from the api"),e("td",null,[l("The "),e("code",null,"fields"),l(" store containing all accessible fields for the user")])]),e("tr",null,[e("td",null,[e("code",null,"styles")]),e("td",null,"All general styles, css-vars, mixins and themes are stored inside here"),e("td",null,[l("The "),e("code",null,"form-grid"),l(" mixin allowing to style form like grids")])]),e("tr",null,[e("td",null,[e("code",null,"types")]),e("td",null,"Contains types used to generalize data for typescript"),e("td",null,[e("code",null,"field-schema"),l(" which is used to model the schema of fields")])]),e("tr",null,[e("td",null,[e("code",null,"utils")]),e("td",null,"Utility functions that helps minimize repetition"),e("td",null,[e("code",null,"notify"),l(" which is used to easily generate notifications inside the app")])]),e("tr",null,[e("td",null,[e("code",null,"views")]),e("td",null,"Views are the top-level parent component that are used in all modules"),e("td",null,[e("code",null,"private-view"),l(" which renders the basic structure like sidebar, headers and content sections")])])])])],-1),m={setup(i,{expose:n}){const t={title:"App Reference",modularExtension:!1};return n({frontmatter:t}),(c,p)=>{const s=o("DocsWrapper");return a(),u(s,{frontmatter:t},{default:d(()=>[r]),_:1})}}};export{m as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as l,p as c,q as r,w as i,B as e,t as s,P as t}from"./vendor.62143b15.js";var u="assets/app-overview.9d9e9cee.svg";const h={class:"markdown-body"},_=e("blockquote",null,[e("p",null,"The Directus App is the presentation layer for your data, content, and assets. It uses a left-to-right visual hierarchy for organization and navigation. Below we cover the App\u2019s global elements and individual pages.")],-1),g=e("p",null,[t("The Directus App is decoupled from, and powered by, the Directus API. It provides a way for both technical admins and non-technical users to view and manage content of the connected database. It is written in "),e("a",{href:"https://vuejs.org",target:"_blank",rel:"noopener noreferrer"},"Vue.js"),t(", is completely modular, and is highly customizable.")],-1),f=e("h2",{id:"app-section-hierarchy"},[t("App Section Hierarchy "),e("a",{class:"header-anchor",href:"#app-section-hierarchy"},"#")],-1),p=e("p",null,[e("img",{src:u,alt:"Application Overview"})],-1),m=e("h3",{id:"1.-module-bar"},[t("1. Module Bar "),e("a",{class:"header-anchor",href:"#1.-module-bar"},"#")],-1),y=e("li",null,[e("strong",null,"Project Logo"),t(" \u2014 Displays your configured project logo and project color (defaults to the Directus logo and color). If configured, clicking this component will navigate to the Project URL. During platform activity, an indeterminate progress indicator will also be shown here.")],-1),v=e("strong",null,"Module Navigation",-1),b=t(" \u2014 Allows navigating between the different modules your user has access to. Customizing the Module Navigation is done within the "),w=t("Role\u2019s configuration"),k=t(", but the default module list includes: "),D=e("li",null,[e("a",{href:"#collections"},"Collections")],-1),T=e("li",null,[e("a",{href:"#user-directory"},"User Directory")],-1),I=e("li",null,[e("a",{href:"#file-library"},"File Library")],-1),C=e("li",null,[e("a",{href:"#documentation"},"Documentation")],-1),A=e("li",null,[e("a",{href:"#settings"},"Settings"),t(" (Admin Roles Only)")],-1),j=t("Any Custom Modules"),P=t(" (Only if Configured)"),x=e("li",null,[e("strong",null,"Current User Menu"),t(" \u2014 This component displays the authenticated user\u2019s name and avatar. "),e("ul",null,[e("li",null,"Sign Out \u2014 Hovering over the User Menu exposes the button to log out of the platform.")])],-1),U=e("h3",{id:"2.-navigation-bar"},[t("2. Navigation Bar "),e("a",{class:"header-anchor",href:"#2.-navigation-bar"},"#")],-1),F=e("strong",null,"Project Name",-1),S=t(" \u2014 Shows an icon and tooltip indicating the API\u2019s connection strength, and the name of your current project, which can be configured under "),L=t("Project Settings"),B=t("."),N=e("strong",null,"Navigation",-1),M=t(" \u2014 This is a dynamic navigation based on your current module. Some modules also support "),R=t("Bookmark Presets"),O=t(", which are a customizable links to specific data-sets."),z=e("h3",{id:"3.-page"},[t("3. Page "),e("a",{class:"header-anchor",href:"#3.-page"},"#")],-1),H=e("ul",null,[e("li",null,[e("strong",null,"Header"),t(" \u2014 A fixed section at the top of each page, the header includes: "),e("ul",null,[e("li",null,"Page Icon \u2014 Clicking this navigates back to the previous page."),e("li",null,"Module Name \u2014 Clicking this navigates to the parent module/section."),e("li",null,"Page Title \u2014 Displays dynamic title of the current page."),e("li",null,"Action Buttons \u2014 Right-aligned contextual buttons for specific page actions.")])]),e("li",null,[e("strong",null,"Page Content"),t(" \u2014 This displays the content of the page you navigated to.")])],-1),V=e("h3",{id:"4.-page-sidebar"},[t("4. Page Sidebar "),e("a",{class:"header-anchor",href:"#4.-page-sidebar"},"#")],-1),q=e("ul",null,[e("li",null,[e("strong",null,"Page Components"),t(" \u2014 Lists any contextual page components available. The \u201CInfo\u201D component is available on every page, explaining the page\u2019s general purpose and relevant details. Clicking any sidebar component will accordion it open. If the App window is large enough, the sidebar will automatically open, and can be closed by clicking the \u201CX\u201D in the top-right.")]),e("li",null,[e("strong",null,"Notifications Tray"),t(" \u2014 Fixed to the bottom of the page sidebar, this button opens a tray of recent user notifications, and provides a link to the "),e("a",{href:"#activity-log"},"Activity Log"),t(" page.")])],-1),G=e("h2",{id:"collections"},[t("Collections "),e("a",{class:"header-anchor",href:"#collections"},"#")],-1),W=e("p",null,"This module is the primary way for interacting with your database content. Here you can access your collections, browse their items, and navigate to individual item forms.",-1),E=e("h3",{id:"collection-listing"},[t("Collection Listing "),e("a",{class:"header-anchor",href:"#collection-listing"},"#")],-1),X=e("p",null,"A page that lists the collections available to the current user. This is the landing page of the module, and effectively the same as its navigation listing.",-1),J=e("h3",{id:"collection-detail"},[t("Collection Detail "),e("a",{class:"header-anchor",href:"#collection-detail"},"#")],-1),K=e("p",null,"This is the main gateway to your content items, providing a highly configurable Layout for browsing and visualizing the items within a collection. The header of this page includes key action buttons for creating, deleting, and batch editing items.",-1),Q=t("Adjusting a Collection Layout"),Y=t("Creating an Item"),Z=t("Updating an Item"),$=t("Deleting an Item"),ee=t("Archiving an Item"),te=t("Ordering Items"),ie=t("Exporting Items"),oe=t("Browsing Items "),se=t("Searching"),ne=t("Filtering"),le=t("Bookmarking"),ae=e("h3",{id:"item-detail"},[t("Item Detail "),e("a",{class:"header-anchor",href:"#item-detail"},"#")],-1),de=t("Most Collection Detail Layouts support navigating to individual item detail pages where you a presented with a "),ce=t("customizable form"),re=t(" for viewing/editing the item\u2019s content. Like other detail pages, there are many available features, including:"),ue=t("Adjusting Field Arrangement"),he=t("Updating an Item"),_e=t("Archiving an Item"),ge=t("Reverting an Item"),fe=t("Deleting an Item"),pe=t("Commenting on an Item"),me=e("h2",{id:"user-directory"},[t("User Directory "),e("a",{class:"header-anchor",href:"#user-directory"},"#")],-1),ye=e("p",null,[t("This module includes a comprehensive listing of all system users within your project. This page has the same features and configuration as "),e("a",{href:"#collection-detail"},"Collection Detail"),t(".")],-1),ve=e("h3",{id:"user-detail"},[t("User Detail "),e("a",{class:"header-anchor",href:"#user-detail"},"#")],-1),be=t("Similar to other "),we=e("a",{href:"#item-detail"},"Item Detail",-1),ke=t(" pages, this page provides a custom form for viewing system users. This is also used for editing the \u201CProfile Page\u201D of the current user, which is accessible from the "),De=e("a",{href:"#_1-module-bar"},"User Menu",-1),Te=t(". There are a number of "),Ie=t("User Fields"),Ce=t(" included out-of-the-box that can then be extended by following the normal "),Ae=t("Creating a Field"),je=t(" guide."),Pe=t("Creating a User"),xe=t("Inviting a User"),Ue=t("Configuring a User"),Fe=t("Archiving a User"),Se=t("Deleting a User"),Le=e("h2",{id:"file-library"},[t("File Library "),e("a",{class:"header-anchor",href:"#file-library"},"#")],-1),Be=e("p",null,[t("This module aggregates all files within the project into one consolidated library. This page has the same features and configuration as "),e("a",{href:"#collection-detail"},"Collection Detail"),t(".")],-1),Ne=e("h3",{id:"file-detail"},[t("File Detail "),e("a",{class:"header-anchor",href:"#file-detail"},"#")],-1),Me=t("Similar to other "),Re=e("a",{href:"#item-detail"},"Item Detail",-1),Oe=t(" pages, this page provides a custom form for viewing assets and embeds. There are a number of "),ze=t("File Fields"),He=t(" included out-of-the-box that can then be extended by following the normal "),Ve=t("Creating a Field"),qe=t(" guide."),Ge=t("Uploading a File"),We=t("Accessing an Original File"),Ee=t("Creating a Thumbnail Preset"),Xe=t("Requesting a Thumbnail"),Je=e("h2",{id:"documentation"},[t("Documentation "),e("a",{class:"header-anchor",href:"#documentation"},"#")],-1),Ke=t("This module is an internal set of guides, concepts, and reference docs for your project\u2019s specific version of Directus. It also includes a dynamic "),Qe=t("API Reference"),Ye=t(" that is dynamically tailored to your custom schema. The docs are organized into these distinct sections:"),Ze=t("Getting Started"),$e=t(" \u2014 Novice oriented, for a platform intro and installation."),et=t("Concepts"),tt=t(" \u2014 Learning oriented, for understanding the platform."),it=t("Guides"),ot=t(" \u2014 Problem oriented, follow along with steps while working."),st=t("Reference"),nt=t(" \u2014 Information oriented, look up info and specs while working."),lt=t("API Reference"),at=t(" \u2014 Information oriented, look up API resources while working."),dt=t("Contributing"),ct=t(" \u2014 Contributor oriented \u2014 resources for working on Open-Source Core."),rt=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Updating the Docs"),e("p",null,[t("Our docs are written in markdown (with some additional VuePress styling like this hint box), and available for editing/fixing via "),e("a",{href:"https://github.com/directus/directus",target:"_blank",rel:"noopener noreferrer"},"GitHub"),t(".")])],-1),ut=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Public Docs"),e("p",null,[t("The latest version of the Directus Docs are also available publicly. This online version includes additional sections, such as how to install the platform. "),e("a",{href:"https://docs.directus.io",target:"_blank",rel:"noopener noreferrer"},"https://docs.directus.io")])],-1),ht=e("h2",{id:"activity-log"},[t("Activity Log "),e("a",{class:"header-anchor",href:"#activity-log"},"#")],-1),_t=e("p",null,[t("This module provides a collective timeline of all actions taken within the project. This is a great way to audit user activity or enforce accountability. This is the only system module that is not in the module bar by default \u2014 instead being located within the notifications tray of the page sidebar. This page has the same features and configuration as "),e("a",{href:"#collection-detail"},"Collection Detail"),t(".")],-1),gt=e("h3",{id:"activity-detail"},[t("Activity Detail "),e("a",{class:"header-anchor",href:"#activity-detail"},"#")],-1),ft=t("Unlike other item detail pages, activity items are "),pt=e("strong",null,"readonly",-1),mt=t(" (for proper accountability) and open in a side drawer to display the "),yt=t("Activity Fields"),vt=t("."),bt=e("h2",{id:"settings"},[t("Settings "),e("a",{class:"header-anchor",href:"#settings"},"#")],-1),wt=t("This module is only available to users within "),kt=t("Admin roles"),Dt=t(". This is where your project is configured, and the first place to go after installation. It includes the following sections:"),Tt=t("Project Settings"),It=t("Data Model"),Ct=t("Roles & Permissions"),At=t("Presets & Bookmarks"),jt=t("Webhooks"),St={setup(Pt,{expose:a}){const n={title:"The Directus Application",modularExtension:!1};return a({frontmatter:n}),(xt,Ut)=>{const o=l("router-link"),d=l("DocsWrapper");return c(),r(d,{frontmatter:n},{default:i(()=>[e("div",h,[_,g,f,p,m,e("ul",null,[y,e("li",null,[v,b,s(o,{to:"/docs/guides/roles/#configuring-a-role"},{default:i(()=>[w]),_:1}),k,e("ul",null,[D,T,I,C,A,e("li",null,[s(o,{to:"/docs/concepts/modules/"},{default:i(()=>[j]),_:1}),P])])]),x]),U,e("ul",null,[e("li",null,[F,S,s(o,{to:"/docs/guides/projects/#adjusting-project-settings"},{default:i(()=>[L]),_:1}),B]),e("li",null,[N,M,s(o,{to:"/docs/guides/presets/#creating-a-preset"},{default:i(()=>[R]),_:1}),O])]),z,H,V,q,G,W,E,X,J,K,e("ul",null,[e("li",null,[s(o,{to:"/docs/guides/collections/#adjusting-a-collection-layout"},{default:i(()=>[Q]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#creating-an-item"},{default:i(()=>[Y]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#updating-an-item"},{default:i(()=>[Z]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#deleting-an-item"},{default:i(()=>[$]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#archiving-an-item"},{default:i(()=>[ee]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#ordering-items"},{default:i(()=>[te]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#exporting-items"},{default:i(()=>[ie]),_:1})]),e("li",null,[oe,e("ul",null,[e("li",null,[s(o,{to:"/docs/guides/items/#searching-items"},{default:i(()=>[se]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#filtering-items"},{default:i(()=>[ne]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#bookmarking-item-presets"},{default:i(()=>[le]),_:1})])])])]),ae,e("p",null,[de,s(o,{to:"/docs/guides/fields#adjusting-field-arrangement"},{default:i(()=>[ce]),_:1}),re]),e("ul",null,[e("li",null,[s(o,{to:"/docs/guides/fields/#adjusting-field-arrangement"},{default:i(()=>[ue]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#updating-an-item"},{default:i(()=>[he]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#archiving-an-item"},{default:i(()=>[_e]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#reverting-an-item"},{default:i(()=>[ge]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#deleting-an-item"},{default:i(()=>[fe]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/items/#commenting-on-an-item"},{default:i(()=>[pe]),_:1})])]),me,ye,ve,e("p",null,[be,we,ke,De,Te,s(o,{to:"/docs/concepts/users/#user-fields"},{default:i(()=>[Ie]),_:1}),Ce,s(o,{to:"/docs/guides/fields/#creating-a-field"},{default:i(()=>[Ae]),_:1}),je]),e("ul",null,[e("li",null,[s(o,{to:"/docs/guides/users/#creating-a-user"},{default:i(()=>[Pe]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/users/#inviting-a-user"},{default:i(()=>[xe]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/users/#configuring-a-user"},{default:i(()=>[Ue]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/users/#archiving-a-user"},{default:i(()=>[Fe]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/users/#deleting-a-user"},{default:i(()=>[Se]),_:1})])]),Le,Be,Ne,e("p",null,[Me,Re,Oe,s(o,{to:"/docs/concepts/files/#file-fields"},{default:i(()=>[ze]),_:1}),He,s(o,{to:"/docs/guides/fields/#creating-a-field"},{default:i(()=>[Ve]),_:1}),qe]),e("ul",null,[e("li",null,[s(o,{to:"/docs/guides/files/#uploading-a-file"},{default:i(()=>[Ge]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/files/#downloading-an-original-file"},{default:i(()=>[We]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/files/#creating-a-thumbnail-preset"},{default:i(()=>[Ee]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/files/#requesting-a-thumbnail"},{default:i(()=>[Xe]),_:1})])]),Je,e("p",null,[Ke,s(o,{to:"/docs/reference/api/introduction"},{default:i(()=>[Qe]),_:1}),Ye]),e("ul",null,[e("li",null,[s(o,{to:"/docs/getting-started/introduction/"},{default:i(()=>[Ze]),_:1}),$e]),e("li",null,[s(o,{to:"/docs/concepts/activity"},{default:i(()=>[et]),_:1}),tt]),e("li",null,[s(o,{to:"/docs/guides/api-config"},{default:i(()=>[it]),_:1}),ot]),e("li",null,[s(o,{to:"/docs/reference/command-line-interface"},{default:i(()=>[st]),_:1}),nt]),e("li",null,[s(o,{to:"/docs/reference/api/introduction/"},{default:i(()=>[lt]),_:1}),at]),e("li",null,[s(o,{to:"/docs/contributing/introduction/"},{default:i(()=>[dt]),_:1}),ct])]),rt,ut,ht,_t,gt,e("p",null,[ft,pt,mt,s(o,{to:"/docs/concepts/activity/#activity-fields"},{default:i(()=>[yt]),_:1}),vt]),bt,e("p",null,[wt,s(o,{to:"/docs/concepts/roles/#administrators-role"},{default:i(()=>[kt]),_:1}),Dt]),e("ul",null,[e("li",null,[s(o,{to:"/docs/guides/projects/#adjusting-project-settings"},{default:i(()=>[Tt]),_:1})]),e("li",null,[s(o,{to:"/docs/concepts/databases/#database-mirroring"},{default:i(()=>[It]),_:1})]),e("li",null,[s(o,{to:"/docs/concepts/roles"},{default:i(()=>[Ct]),_:1})]),e("li",null,[s(o,{to:"/docs/concepts/collections/#collection-presets-bookmarks"},{default:i(()=>[At]),_:1})]),e("li",null,[s(o,{to:"/docs/guides/webhooks"},{default:i(()=>[jt]),_:1})])])])]),_:1})}}};export{St as default};
|