From 77b1a5b340e6a333728820ceadba89ec5d4a6e41 Mon Sep 17 00:00:00 2001 From: Ivan Borshchov Date: Wed, 25 Sep 2024 11:46:10 +0300 Subject: [PATCH] Deploy website - based on 0e1a31fd1deb47ea878dae4e3bde057d7727a221 --- 404.html | 4 +- ...ge-15-19ce1a9e1478269fe76fde38089752fe.png | Bin 0 -> 106920 bytes ...4833f.a5614c3b.js => 0864833f.ccd010f7.js} | 2 +- assets/js/0d4508b8.957e1b73.js | 1 - assets/js/0d4508b8.e1298829.js | 1 + assets/js/0f6f7c87.6906ba9f.js | 1 + assets/js/0f6f7c87.eb1aa04b.js | 1 - assets/js/11b43341.5131f383.js | 1 + assets/js/11b43341.f00a61cc.js | 1 - ...edb45.ab1ae8f1.js => 186edb45.e6cf729b.js} | 2 +- assets/js/220b53a9.5418b293.js | 1 - assets/js/220b53a9.6b2bc250.js | 1 + assets/js/25d56651.516ed640.js | 1 + ...05669.0f21464f.js => 35105669.3d8137cd.js} | 2 +- ...ec31e.d7e6b76e.js => 485ec31e.e850a778.js} | 2 +- ...08e7a.249f6028.js => 5da08e7a.48368f73.js} | 2 +- assets/js/5e8c322a.5944f645.js | 1 - assets/js/5e8c322a.e3d868c7.js | 1 + ...a32f6.1f20dba6.js => 60ba32f6.0bdcc5c4.js} | 2 +- ...0425b.70efc2fb.js => 6480425b.08710c8a.js} | 2 +- ...8d000.ce492a53.js => 65d8d000.acf1cee8.js} | 2 +- ...5c6da.c3cbd86d.js => 6745c6da.35598673.js} | 2 +- ...4d60b.ec2cb39d.js => 6da4d60b.28ad3e6c.js} | 2 +- assets/js/74fc279e.1dba9040.js | 1 + assets/js/83b2cdbe.c594c1fc.js | 1 + assets/js/83b2cdbe.edb96e84.js | 1 - assets/js/862582d6.5dc2ede1.js | 1 + assets/js/862582d6.b1322512.js | 1 - assets/js/a497309c.080bd8aa.js | 1 + assets/js/a497309c.c3144f6e.js | 1 - assets/js/a74188c8.4d42a8d4.js | 1 - assets/js/a74188c8.98dac480.js | 1 + ...78e0a.08107eb7.js => aaa78e0a.793dd3b8.js} | 2 +- assets/js/b44397f2.374fd6ff.js | 1 + assets/js/b44397f2.8bf03fcb.js | 1 - assets/js/d2d7ef79.619d751a.js | 1 - assets/js/d2d7ef79.c1d2c7a3.js | 1 + ...d766e.9f27b106.js => d40d766e.cd1e7959.js} | 2 +- assets/js/dd30c1b8.32b8d496.js | 1 + ...1bd4d.f81835f2.js => e401bd4d.3ee9bf88.js} | 2 +- ...ecdbd.016302f7.js => e6fecdbd.fef0e87c.js} | 2 +- ...9535a.8fc45886.js => ecd9535a.962056e0.js} | 2 +- ...5d61e.74a0ceb5.js => f995d61e.999ab15c.js} | 2 +- assets/js/main.9c8632ac.js | 2 + ...CENSE.txt => main.9c8632ac.js.LICENSE.txt} | 0 assets/js/main.e1750ade.js | 2 - assets/js/runtime~main.804b0190.js | 1 + assets/js/runtime~main.f737386e.js | 1 - blog/archive/index.html | 4 +- blog/chatgpt-plugin/index.html | 4 +- blog/index.html | 4 +- blog/tags/chatgpt/index.html | 4 +- blog/tags/index.html | 4 +- blog/tags/plugin/index.html | 4 +- docs/api/index.html | 8 +- docs/api/plugins/audit-log/types/index.html | 6 +- .../type-aliases/PluginOptions/index.html | 6 +- docs/api/plugins/chat-gpt/types/index.html | 6 +- .../types/interfaces/PluginOptions/index.html | 8 +- .../email-password-reset/types/index.html | 27 +++++++ .../types/interfaces/PluginOptions/index.html | 74 ++++++++++++++++++ .../foreign-inline-list/types/index.html | 8 +- .../type-aliases/PluginOptions/index.html | 6 +- docs/api/plugins/rich-editor/types/index.html | 6 +- .../types/interfaces/PluginOptions/index.html | 8 +- .../plugins/two-factors-auth/types/index.html | 6 +- .../type-aliases/PluginOptions/index.html | 8 +- docs/api/plugins/upload/types/index.html | 6 +- .../type-aliases/PluginOptions/index.html | 8 +- .../classes/Filters/index.html | 8 +- .../AdminForthConfig/classes/Sorts/index.html | 6 +- .../enumerations/ActionCheckSource/index.html | 6 +- .../AdminForthDataTypes/index.html | 6 +- .../AdminForthFilterOperators/index.html | 6 +- .../AdminForthMenuTypes/index.html | 6 +- .../AdminForthResourcePages/index.html | 6 +- .../AdminForthSortDirections/index.html | 6 +- .../AllowedActionsEnum/index.html | 6 +- docs/api/types/AdminForthConfig/index.html | 6 +- .../interfaces/IAdminForth/index.html | 22 ++++-- .../interfaces/IAdminForthAuth/index.html | 10 +-- .../IAdminForthDataSourceConnector/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../interfaces/IAdminForthFilter/index.html | 6 +- .../IAdminForthHttpResponse/index.html | 6 +- .../interfaces/IAdminForthPlugin/index.html | 6 +- .../interfaces/IAdminForthSort/index.html | 6 +- .../interfaces/ICodeInjector/index.html | 6 +- .../interfaces/IConfigValidator/index.html | 6 +- .../interfaces/IExpressHttpServer/index.html | 6 +- .../interfaces/IHttpServer/index.html | 6 +- .../IOperationalResource/index.html | 6 +- .../AdminForthBulkAction/index.html | 6 +- .../AdminForthColumnEnumItem/index.html | 6 +- .../AdminForthComponentDeclaration/index.html | 6 +- .../index.html | 6 +- .../type-aliases/AdminForthConfig/index.html | 21 +++-- .../AdminForthConfigMenuItem/index.html | 6 +- .../AdminForthDataSource/index.html | 6 +- .../AdminForthFieldComponents/index.html | 6 +- .../AdminForthForeignResource/index.html | 6 +- .../AdminForthResource/index.html | 6 +- .../AdminForthResourceColumn/index.html | 8 +- .../type-aliases/AdminUser/index.html | 6 +- .../index.html | 6 +- .../type-aliases/AfterSaveFunction/index.html | 6 +- .../AllowedActionValue/index.html | 6 +- .../type-aliases/AllowedActions/index.html | 6 +- .../AllowedActionsResolved/index.html | 6 +- .../index.html | 6 +- .../index.html | 6 +- .../BeforeSaveFunction/index.html | 6 +- .../type-aliases/FDataFilter/index.html | 6 +- .../type-aliases/FDataSort/index.html | 6 +- .../type-aliases/ValidationObject/index.html | 6 +- .../enumerations/AlertVariant/index.html | 6 +- docs/api/types/FrontendAPI/index.html | 6 +- .../FrontendAPIInterface/index.html | 6 +- .../type-aliases/AlertParams/index.html | 6 +- .../type-aliases/ConfirmParams/index.html | 6 +- .../Advanced/plugin-development/index.html | 8 +- docs/tutorial/Customization/alert/index.html | 6 +- .../Customization/branding/index.html | 6 +- .../Customization/bulkActions/index.html | 6 +- .../customFieldRendering/index.html | 6 +- .../Customization/customPages/index.html | 6 +- .../tutorial/Customization/dataApi/index.html | 6 +- docs/tutorial/Customization/hooks/index.html | 6 +- .../Customization/limitingAccess/index.html | 6 +- .../menuConfiguration/index.html | 6 +- .../Customization/pageInjections/index.html | 16 +++- .../Customization/virtualColumns/index.html | 6 +- docs/tutorial/Plugins/AuditLog/index.html | 6 +- .../Plugins/ForeignInlineList/index.html | 6 +- docs/tutorial/Plugins/RichEditor/index.html | 6 +- .../Plugins/TwoFactorsAuth/index.html | 6 +- docs/tutorial/Plugins/chat-gpt/index.html | 8 +- .../Plugins/email-password-reset/index.html | 55 +++++++++++++ docs/tutorial/Plugins/upload/index.html | 6 +- docs/tutorial/deploy/index.html | 6 +- docs/tutorial/gettingStarted/index.html | 8 +- docs/tutorial/glossary/index.html | 6 +- docs/tutorial/helloWorld/index.html | 6 +- index.html | 4 +- search/index.html | 4 +- sitemap.xml | 2 +- 147 files changed, 517 insertions(+), 329 deletions(-) create mode 100644 assets/images/image-15-19ce1a9e1478269fe76fde38089752fe.png rename assets/js/{0864833f.a5614c3b.js => 0864833f.ccd010f7.js} (97%) delete mode 100644 assets/js/0d4508b8.957e1b73.js create mode 100644 assets/js/0d4508b8.e1298829.js create mode 100644 assets/js/0f6f7c87.6906ba9f.js delete mode 100644 assets/js/0f6f7c87.eb1aa04b.js create mode 100644 assets/js/11b43341.5131f383.js delete mode 100644 assets/js/11b43341.f00a61cc.js rename assets/js/{186edb45.ab1ae8f1.js => 186edb45.e6cf729b.js} (98%) delete mode 100644 assets/js/220b53a9.5418b293.js create mode 100644 assets/js/220b53a9.6b2bc250.js create mode 100644 assets/js/25d56651.516ed640.js rename assets/js/{35105669.0f21464f.js => 35105669.3d8137cd.js} (98%) rename assets/js/{485ec31e.d7e6b76e.js => 485ec31e.e850a778.js} (98%) rename assets/js/{5da08e7a.249f6028.js => 5da08e7a.48368f73.js} (99%) delete mode 100644 assets/js/5e8c322a.5944f645.js create mode 100644 assets/js/5e8c322a.e3d868c7.js rename assets/js/{60ba32f6.1f20dba6.js => 60ba32f6.0bdcc5c4.js} (97%) rename assets/js/{6480425b.70efc2fb.js => 6480425b.08710c8a.js} (97%) rename assets/js/{65d8d000.ce492a53.js => 65d8d000.acf1cee8.js} (98%) rename assets/js/{6745c6da.c3cbd86d.js => 6745c6da.35598673.js} (98%) rename assets/js/{6da4d60b.ec2cb39d.js => 6da4d60b.28ad3e6c.js} (97%) create mode 100644 assets/js/74fc279e.1dba9040.js create mode 100644 assets/js/83b2cdbe.c594c1fc.js delete mode 100644 assets/js/83b2cdbe.edb96e84.js create mode 100644 assets/js/862582d6.5dc2ede1.js delete mode 100644 assets/js/862582d6.b1322512.js create mode 100644 assets/js/a497309c.080bd8aa.js delete mode 100644 assets/js/a497309c.c3144f6e.js delete mode 100644 assets/js/a74188c8.4d42a8d4.js create mode 100644 assets/js/a74188c8.98dac480.js rename assets/js/{aaa78e0a.08107eb7.js => aaa78e0a.793dd3b8.js} (98%) create mode 100644 assets/js/b44397f2.374fd6ff.js delete mode 100644 assets/js/b44397f2.8bf03fcb.js delete mode 100644 assets/js/d2d7ef79.619d751a.js create mode 100644 assets/js/d2d7ef79.c1d2c7a3.js rename assets/js/{d40d766e.9f27b106.js => d40d766e.cd1e7959.js} (98%) create mode 100644 assets/js/dd30c1b8.32b8d496.js rename assets/js/{e401bd4d.f81835f2.js => e401bd4d.3ee9bf88.js} (65%) rename assets/js/{e6fecdbd.016302f7.js => e6fecdbd.fef0e87c.js} (97%) rename assets/js/{ecd9535a.8fc45886.js => ecd9535a.962056e0.js} (97%) rename assets/js/{f995d61e.74a0ceb5.js => f995d61e.999ab15c.js} (98%) create mode 100644 assets/js/main.9c8632ac.js rename assets/js/{main.e1750ade.js.LICENSE.txt => main.9c8632ac.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.e1750ade.js create mode 100644 assets/js/runtime~main.804b0190.js delete mode 100644 assets/js/runtime~main.f737386e.js create mode 100644 docs/api/plugins/email-password-reset/types/index.html create mode 100644 docs/api/plugins/email-password-reset/types/interfaces/PluginOptions/index.html create mode 100644 docs/tutorial/Plugins/email-password-reset/index.html diff --git a/404.html b/404.html index bcc5a6c7d..440f88ed1 100644 --- a/404.html +++ b/404.html @@ -15,8 +15,8 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/images/image-15-19ce1a9e1478269fe76fde38089752fe.png b/assets/images/image-15-19ce1a9e1478269fe76fde38089752fe.png new file mode 100644 index 0000000000000000000000000000000000000000..16cdd2605d44e424a4aefee2a95a8b4c0f5c74a1 GIT binary patch literal 106920 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�DH)tv5FYAa^H~ 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 literal 0 HcmV?d00001 diff --git a/assets/js/0864833f.a5614c3b.js b/assets/js/0864833f.ccd010f7.js similarity index 97% rename from assets/js/0864833f.a5614c3b.js rename to assets/js/0864833f.ccd010f7.js index 50f3de08c..24fc6e429 100644 --- a/assets/js/0864833f.a5614c3b.js +++ b/assets/js/0864833f.ccd010f7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[2389],{7995:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>d,toc:()=>a});var t=i(4848),o=i(8453);const s={},r="Rich editor",d={id:"tutorial/Plugins/RichEditor",title:"Rich editor",description:"Under the hood this plugin uses Quill. Quill is a free, open source WYSIWYG editor built for the modern web.",source:"@site/docs/tutorial/05-Plugins/04-RichEditor.md",sourceDirName:"tutorial/05-Plugins",slug:"/tutorial/Plugins/RichEditor",permalink:"/docs/tutorial/Plugins/RichEditor",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ForeignInlineList",permalink:"/docs/tutorial/Plugins/ForeignInlineList"},next:{title:"Upload",permalink:"/docs/tutorial/Plugins/upload"}},l={},a=[{value:"Usage",id:"usage",level:2},{value:"Completion",id:"completion",level:2}];function c(n){const e={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{id:"rich-editor",children:"Rich editor"}),"\n",(0,t.jsxs)(e.p,{children:["Under the hood this plugin uses ",(0,t.jsx)(e.a,{href:"https://quilljs.com/",children:"Quill"}),". Quill is a free, open source WYSIWYG editor built for the modern web."]}),"\n",(0,t.jsx)(e.p,{children:"This plugin allows you to use Quill editor in your AdminForth application."}),"\n",(0,t.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(e.p,{children:"First, install the plugin:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-bash",children:"npm i @adminforth/rich-editor --save\n"})}),"\n",(0,t.jsx)(e.p,{children:"Import plugin:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",metastring:'title="./index.ts"',children:"import RichEditorPlugin from '@adminforth/rich-editor';\n"})}),"\n",(0,t.jsx)(e.p,{children:"Now instantiate the plugin and add it to the configuration:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",metastring:'title="./resources/apartments.ts"',children:"\n{\n ...\n resourceId: 'aparts',\n columns: [\n ...\n {\n name: 'description',\n//diff-add\n type: AdminForthDataTypes.RICHTEXT, // like plain AdminForthDataTypes.TEXT but renders HTML in show/list views\n ...\n }\n ...\n ],\n ...\n plugins: [\n ...\n//diff-add\n new RichEditorPlugin({\n//diff-add\n htmlFieldName: 'description',\n//diff-add\n }),\n ...\n ],\n}\n"})}),"\n",(0,t.jsxs)(e.p,{children:["Now you can see Quill editor in the ",(0,t.jsx)(e.code,{children:"description"})," field in the edit view:"]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.img,{alt:"alt text",src:i(4659).A+"",width:"3670",height:"2064"})}),"\n",(0,t.jsx)(e.h1,{id:"multiple-editors-in-one-resource",children:"Multiple editors in one resource"}),"\n",(0,t.jsx)(e.p,{children:"If you need multiple fields in one resource which happens rarely, just add multiple instances of the plugin:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",children:"{\n ...\n resourceId: 'promotion',\n columns: [\n ...\n {\n name: 'short_description',\n type: AdminForthDataTypes.RICHTEXT,\n ...\n },\n {\n name: 'full_description',\n type: AdminForthDataTypes.RICHTEXT,\n ...\n }\n ...\n ],\n ...\n plugins: [\n ...\n new QuillEditorPlugin({\n htmlField: 'short_description',\n }),\n new QuillEditorPlugin({\n htmlField: 'full_description',\n }),\n ...\n ],\n}\n"})}),"\n",(0,t.jsx)(e.h2,{id:"completion",children:"Completion"}),"\n",(0,t.jsxs)(e.p,{children:["To get completion suggestions for the text in the editor, you can use the ",(0,t.jsx)(e.code,{children:"completion"})," option. This option is an object with the following properties:"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",metastring:'title="./index.ts"',children:" new RichEditorPlugin({\n htmlFieldName: 'description',\n//diff-add\n completion: {\n//diff-add\n provider: 'openai-chat-gpt',\n//diff-add\n params: {\n//diff-add\n apiKey: process.env.OPENAI_API_KEY as string,\n//diff-add\n // model: 'gpt-4o', gpt-4o-model is a default (cheapest one)\n//diff-add\n },\n//diff-add\n expert: {\n//diff-add\n debounceTime: 250,\n//diff-add\n }\n//diff-add\n }\n }),\n"})})]})}function u(n={}){const{wrapper:e}={...(0,o.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(c,{...n})}):c(n)}},4659:(n,e,i)=>{i.d(e,{A:()=>t});const t=i.p+"assets/images/image-2-f1e856fbaa6202d9e8fde0165763c5eb.png"},8453:(n,e,i)=>{i.d(e,{R:()=>r,x:()=>d});var t=i(6540);const o={},s=t.createContext(o);function r(n){const e=t.useContext(s);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function d(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:r(n.components),t.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[2389],{7995:(n,e,i)=>{i.r(e),i.d(e,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>d,toc:()=>a});var t=i(4848),o=i(8453);const s={},r="Rich editor",d={id:"tutorial/Plugins/RichEditor",title:"Rich editor",description:"Under the hood this plugin uses Quill. Quill is a free, open source WYSIWYG editor built for the modern web.",source:"@site/docs/tutorial/05-Plugins/04-RichEditor.md",sourceDirName:"tutorial/05-Plugins",slug:"/tutorial/Plugins/RichEditor",permalink:"/docs/tutorial/Plugins/RichEditor",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"ForeignInlineList",permalink:"/docs/tutorial/Plugins/ForeignInlineList"},next:{title:"Upload",permalink:"/docs/tutorial/Plugins/upload"}},l={},a=[{value:"Usage",id:"usage",level:2},{value:"Completion",id:"completion",level:2}];function c(n){const e={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.R)(),...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.h1,{id:"rich-editor",children:"Rich editor"}),"\n",(0,t.jsxs)(e.p,{children:["Under the hood this plugin uses ",(0,t.jsx)(e.a,{href:"https://quilljs.com/",children:"Quill"}),". Quill is a free, open source WYSIWYG editor built for the modern web."]}),"\n",(0,t.jsx)(e.p,{children:"This plugin allows you to use Quill editor in your AdminForth application."}),"\n",(0,t.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(e.p,{children:"First, install the plugin:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-bash",children:"npm i @adminforth/rich-editor --save\n"})}),"\n",(0,t.jsx)(e.p,{children:"Import plugin:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",metastring:'title="./index.ts"',children:"import RichEditorPlugin from '@adminforth/rich-editor';\n"})}),"\n",(0,t.jsx)(e.p,{children:"Now instantiate the plugin and add it to the configuration:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",metastring:'title="./resources/apartments.ts"',children:"\n{\n ...\n resourceId: 'aparts',\n columns: [\n ...\n {\n name: 'description',\n//diff-add\n type: AdminForthDataTypes.RICHTEXT, // like plain AdminForthDataTypes.TEXT but renders HTML in show/list views\n ...\n }\n ...\n ],\n ...\n plugins: [\n ...\n//diff-add\n new RichEditorPlugin({\n//diff-add\n htmlFieldName: 'description',\n//diff-add\n }),\n ...\n ],\n}\n"})}),"\n",(0,t.jsxs)(e.p,{children:["Now you can see Quill editor in the ",(0,t.jsx)(e.code,{children:"description"})," field in the edit view:"]}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.img,{alt:"alt text",src:i(6805).A+"",width:"3670",height:"2064"})}),"\n",(0,t.jsx)(e.h1,{id:"multiple-editors-in-one-resource",children:"Multiple editors in one resource"}),"\n",(0,t.jsx)(e.p,{children:"If you need multiple fields in one resource which happens rarely, just add multiple instances of the plugin:"}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",children:"{\n ...\n resourceId: 'promotion',\n columns: [\n ...\n {\n name: 'short_description',\n type: AdminForthDataTypes.RICHTEXT,\n ...\n },\n {\n name: 'full_description',\n type: AdminForthDataTypes.RICHTEXT,\n ...\n }\n ...\n ],\n ...\n plugins: [\n ...\n new QuillEditorPlugin({\n htmlField: 'short_description',\n }),\n new QuillEditorPlugin({\n htmlField: 'full_description',\n }),\n ...\n ],\n}\n"})}),"\n",(0,t.jsx)(e.h2,{id:"completion",children:"Completion"}),"\n",(0,t.jsxs)(e.p,{children:["To get completion suggestions for the text in the editor, you can use the ",(0,t.jsx)(e.code,{children:"completion"})," option. This option is an object with the following properties:"]}),"\n",(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ts",metastring:'title="./index.ts"',children:" new RichEditorPlugin({\n htmlFieldName: 'description',\n//diff-add\n completion: {\n//diff-add\n provider: 'openai-chat-gpt',\n//diff-add\n params: {\n//diff-add\n apiKey: process.env.OPENAI_API_KEY as string,\n//diff-add\n // model: 'gpt-4o', gpt-4o-model is a default (cheapest one)\n//diff-add\n },\n//diff-add\n expert: {\n//diff-add\n debounceTime: 250,\n//diff-add\n }\n//diff-add\n }\n }),\n"})})]})}function u(n={}){const{wrapper:e}={...(0,o.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(c,{...n})}):c(n)}},6805:(n,e,i)=>{i.d(e,{A:()=>t});const t=i.p+"assets/images/image-2-f1e856fbaa6202d9e8fde0165763c5eb.png"},8453:(n,e,i)=>{i.d(e,{R:()=>r,x:()=>d});var t=i(6540);const o={},s=t.createContext(o);function r(n){const e=t.useContext(s);return t.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function d(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(o):n.components||o:r(n.components),t.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/0d4508b8.957e1b73.js b/assets/js/0d4508b8.957e1b73.js deleted file mode 100644 index 62317a834..000000000 --- a/assets/js/0d4508b8.957e1b73.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[2324],{1101:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var t=i(4848),s=i(8453);const l={},r="plugins/foreign-inline-list/types",o={id:"api/plugins/foreign-inline-list/types/index",title:"plugins/foreign-inline-list/types",description:"Index",source:"@site/docs/api/plugins/foreign-inline-list/types/index.md",sourceDirName:"api/plugins/foreign-inline-list/types",slug:"/api/plugins/foreign-inline-list/types/",permalink:"/docs/api/plugins/foreign-inline-list/types/",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"apiSidebar",previous:{title:"PluginOptions",permalink:"/docs/api/plugins/chat-gpt/types/interfaces/PluginOptions"},next:{title:"PluginOptions",permalink:"/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions"}},p={},a=[{value:"Index",id:"index",level:2},{value:"Type Aliases",id:"type-aliases",level:3}];function d(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"pluginsforeign-inline-listtypes",children:"plugins/foreign-inline-list/types"}),"\n",(0,t.jsx)(n.h2,{id:"index",children:"Index"}),"\n",(0,t.jsx)(n.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type alias"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions",children:"PluginOptions"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"-"})]})})]})]})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>o});var t=i(6540);const s={},l=t.createContext(s);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0d4508b8.e1298829.js b/assets/js/0d4508b8.e1298829.js new file mode 100644 index 000000000..f5d4f2c25 --- /dev/null +++ b/assets/js/0d4508b8.e1298829.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[2324],{1101:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>p,contentTitle:()=>r,default:()=>c,frontMatter:()=>l,metadata:()=>o,toc:()=>a});var t=i(4848),s=i(8453);const l={},r="plugins/foreign-inline-list/types",o={id:"api/plugins/foreign-inline-list/types/index",title:"plugins/foreign-inline-list/types",description:"Index",source:"@site/docs/api/plugins/foreign-inline-list/types/index.md",sourceDirName:"api/plugins/foreign-inline-list/types",slug:"/api/plugins/foreign-inline-list/types/",permalink:"/docs/api/plugins/foreign-inline-list/types/",draft:!1,unlisted:!1,tags:[],version:"current",frontMatter:{},sidebar:"apiSidebar",previous:{title:"PluginOptions",permalink:"/docs/api/plugins/email-password-reset/types/interfaces/PluginOptions"},next:{title:"PluginOptions",permalink:"/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions"}},p={},a=[{value:"Index",id:"index",level:2},{value:"Type Aliases",id:"type-aliases",level:3}];function d(e){const n={a:"a",h1:"h1",h2:"h2",h3:"h3",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"pluginsforeign-inline-listtypes",children:"plugins/foreign-inline-list/types"}),"\n",(0,t.jsx)(n.h2,{id:"index",children:"Index"}),"\n",(0,t.jsx)(n.h3,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Type alias"}),(0,t.jsx)(n.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,t.jsx)(n.tbody,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{style:{textAlign:"left"},children:(0,t.jsx)(n.a,{href:"/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions",children:"PluginOptions"})}),(0,t.jsx)(n.td,{style:{textAlign:"left"},children:"-"})]})})]})]})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>o});var t=i(6540);const s={},l=t.createContext(s);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f6f7c87.6906ba9f.js b/assets/js/0f6f7c87.6906ba9f.js new file mode 100644 index 000000000..e7ef41076 --- /dev/null +++ b/assets/js/0f6f7c87.6906ba9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[1768],{9706:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=t(4848),a=t(8453);const s={},i="Page Injections",r={id:"tutorial/Customization/pageInjections",title:"Page Injections",description:"In addition to ability to create custom pages and overwrite how fields are rendered, you can also inject custom components in standard AdminForth page.",source:"@site/docs/tutorial/03-Customization/08-pageInjections.md",sourceDirName:"tutorial/03-Customization",slug:"/tutorial/Customization/pageInjections",permalink:"/docs/tutorial/Customization/pageInjections",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:8,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Alerts and confirmations",permalink:"/docs/tutorial/Customization/alert"},next:{title:"Custom bulk actions",permalink:"/docs/tutorial/Customization/bulkActions"}},c={},l=[{value:"Login page customization",id:"login-page-customization",level:2}];function d(e){const n={blockquote:"blockquote",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"page-injections",children:"Page Injections"}),"\n",(0,o.jsx)(n.p,{children:"In addition to ability to create custom pages and overwrite how fields are rendered, you can also inject custom components in standard AdminForth page."}),"\n",(0,o.jsxs)(n.p,{children:["For example let's add a custom pie chart to the ",(0,o.jsx)(n.code,{children:"list"})," page of the ",(0,o.jsx)(n.code,{children:"aparts"})," resource. Pie chart will show the distribution of the rooms count and more over will allow to filter the list by the rooms count."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-ts",metastring:'title="./resources/apartments.ts"',children:"{\n resourceId: 'aparts',\n ...\n//diff-add\n options: {\n//diff-add\n pageInjections: {\n//diff-add\n list: {\n//diff-add\n afterBreadcrumbs: '@@/ApartsPie.vue',\n//diff-add\n }\n//diff-add\n } \n//diff-add\n }\n}\n"})}),"\n",(0,o.jsxs)(n.p,{children:["Now create file ",(0,o.jsx)(n.code,{children:"ApartsPie.vue"})," in the ",(0,o.jsx)(n.code,{children:"custom"})," folder of your project:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-html",metastring:'title="./custom/ApartsPie.vue"',children:'\n\n - - + + diff --git a/blog/chatgpt-plugin/index.html b/blog/chatgpt-plugin/index.html index 8d596f3de..a43859a52 100644 --- a/blog/chatgpt-plugin/index.html +++ b/blog/chatgpt-plugin/index.html @@ -15,8 +15,8 @@ - - + +

Chat-GPT plugin to co-write texts and strings

· 4 min read
Ivan Borshcho
Maintainer of AdminForth

Couple of days ago we released a plugin which allows you to co-write texts and strings with the AI.

diff --git a/blog/index.html b/blog/index.html index 5510f5236..141b26fb1 100644 --- a/blog/index.html +++ b/blog/index.html @@ -15,8 +15,8 @@ - - + +

Chat-GPT plugin to co-write texts and strings

· 4 min read
Ivan Borshcho
Maintainer of AdminForth

Couple of days ago we released a plugin which allows you to co-write texts and strings with the AI.

diff --git a/blog/tags/chatgpt/index.html b/blog/tags/chatgpt/index.html index 30a7281f5..919c79599 100644 --- a/blog/tags/chatgpt/index.html +++ b/blog/tags/chatgpt/index.html @@ -15,8 +15,8 @@ - - + +

One post tagged with "ChatGPT"

ChatGPT is a conversational AI model that can generate human-like responses to text inputs.

View All Tags

Chat-GPT plugin to co-write texts and strings

· 4 min read
Ivan Borshcho
Maintainer of AdminForth

Couple of days ago we released a plugin which allows you to co-write texts and strings with the AI.

diff --git a/blog/tags/index.html b/blog/tags/index.html index 304758701..10e0635ea 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -15,8 +15,8 @@ - - + + diff --git a/blog/tags/plugin/index.html b/blog/tags/plugin/index.html index f665dcc2e..3d85063f4 100644 --- a/blog/tags/plugin/index.html +++ b/blog/tags/plugin/index.html @@ -15,8 +15,8 @@ - - + +

One post tagged with "Plugin"

Plugins are extensions that add new features or functionality to a AdminForth.

View All Tags

Chat-GPT plugin to co-write texts and strings

· 4 min read
Ivan Borshcho
Maintainer of AdminForth

Couple of days ago we released a plugin which allows you to co-write texts and strings with the AI.

diff --git a/docs/api/index.html b/docs/api/index.html index 9a1bf3ba9..14047ff3c 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -15,12 +15,12 @@ - - + + -

TypeDoc API

+
+
ModuleDescription
plugins/audit-log/types-
plugins/chat-gpt/types-
plugins/email-password-reset/types-
plugins/foreign-inline-list/types-
plugins/rich-editor/types-
plugins/two-factors-auth/types-
plugins/upload/types-
types/AdminForthConfig-
types/FrontendAPI-
\ No newline at end of file diff --git a/docs/api/plugins/audit-log/types/index.html b/docs/api/plugins/audit-log/types/index.html index c74a71e19..502761a97 100644 --- a/docs/api/plugins/audit-log/types/index.html +++ b/docs/api/plugins/audit-log/types/index.html @@ -15,11 +15,11 @@ - - + + -

plugins/audit-log/types

+

plugins/audit-log/types

Index

Type Aliases

Type aliasDescription
PluginOptions-
diff --git a/docs/api/plugins/audit-log/types/type-aliases/PluginOptions/index.html b/docs/api/plugins/audit-log/types/type-aliases/PluginOptions/index.html index ce2c843bf..d5331fe30 100644 --- a/docs/api/plugins/audit-log/types/type-aliases/PluginOptions/index.html +++ b/docs/api/plugins/audit-log/types/type-aliases/PluginOptions/index.html @@ -15,11 +15,11 @@ - - + + -

PluginOptions

+

PluginOptions

PluginOptions: object

diff --git a/docs/api/plugins/chat-gpt/types/index.html b/docs/api/plugins/chat-gpt/types/index.html index 6bcdff20e..79bbd54b4 100644 --- a/docs/api/plugins/chat-gpt/types/index.html +++ b/docs/api/plugins/chat-gpt/types/index.html @@ -15,11 +15,11 @@ - - + + -

plugins/chat-gpt/types

+

plugins/chat-gpt/types

Index

Interfaces

InterfaceDescription
PluginOptions-
diff --git a/docs/api/plugins/chat-gpt/types/interfaces/PluginOptions/index.html b/docs/api/plugins/chat-gpt/types/interfaces/PluginOptions/index.html index 14f7c2d19..d4fd510d8 100644 --- a/docs/api/plugins/chat-gpt/types/interfaces/PluginOptions/index.html +++ b/docs/api/plugins/chat-gpt/types/interfaces/PluginOptions/index.html @@ -15,11 +15,11 @@ - - + + -

PluginOptions

+

PluginOptions

Properties

expert?

@@ -98,6 +98,6 @@

openAiApiKey

OpenAI API key. Go to https://platform.openai.com/, go to Dashboard -> API keys -> Create new secret key Paste value in your .env file OPENAI_API_KEY=your_key -Set openAiApiKey: process.env.OPENAI_API_KEY to access it

+Set openAiApiKey: process.env.OPENAI_API_KEY to access it

\ No newline at end of file diff --git a/docs/api/plugins/email-password-reset/types/index.html b/docs/api/plugins/email-password-reset/types/index.html new file mode 100644 index 000000000..9d36e6c24 --- /dev/null +++ b/docs/api/plugins/email-password-reset/types/index.html @@ -0,0 +1,27 @@ + + + + + +plugins/email-password-reset/types | Vue & Node admin panel framework + + + + + + + + + + + + + + + +

plugins/email-password-reset/types

+

Index

+

Interfaces

+
InterfaceDescription
PluginOptions-
+ + \ No newline at end of file diff --git a/docs/api/plugins/email-password-reset/types/interfaces/PluginOptions/index.html b/docs/api/plugins/email-password-reset/types/interfaces/PluginOptions/index.html new file mode 100644 index 000000000..ce698c829 --- /dev/null +++ b/docs/api/plugins/email-password-reset/types/interfaces/PluginOptions/index.html @@ -0,0 +1,74 @@ + + + + + +PluginOptions | Vue & Node admin panel framework + + + + + + + + + + + + + + + +

PluginOptions

+

Properties

+

emailField

+
+

emailField: string

+
+

Field name in auth resource which contains email

+
+

emailProvider

+
+

emailProvider: "AWS_SES"

+
+
+

passwordConstraints?

+
+

optional passwordConstraints: object

+
+

minLength?

+
+

optional minLength: number

+
+

by default, password must be at least 8 characters long

+
+

providerOptions

+
+

providerOptions: object

+
+

AWS_SES

+
+

AWS_SES: object

+
+

AWS_SES.accessKeyId

+
+

accessKeyId: string

+
+

AWS_SES.region

+
+

region: string

+
+

AWS_SES.secretAccessKey

+
+

secretAccessKey: string

+
+
+

sendFrom

+
+

sendFrom: string

+
+

From which email to send password reset emails +e.g. no-reply@example.com +Example.com must be allowed in provider to send emails

+ + \ No newline at end of file diff --git a/docs/api/plugins/foreign-inline-list/types/index.html b/docs/api/plugins/foreign-inline-list/types/index.html index f09851df5..c01fdfad7 100644 --- a/docs/api/plugins/foreign-inline-list/types/index.html +++ b/docs/api/plugins/foreign-inline-list/types/index.html @@ -15,13 +15,13 @@ - - + + -

plugins/foreign-inline-list/types

+

plugins/foreign-inline-list/types

Index

Type Aliases

-
Type aliasDescription
PluginOptions-
+
Type aliasDescription
PluginOptions-
\ No newline at end of file diff --git a/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions/index.html b/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions/index.html index 966557a6c..e53b0a8b7 100644 --- a/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions/index.html +++ b/docs/api/plugins/foreign-inline-list/types/type-aliases/PluginOptions/index.html @@ -15,11 +15,11 @@ - - + + -

PluginOptions

+

PluginOptions

PluginOptions: object

diff --git a/docs/api/plugins/rich-editor/types/index.html b/docs/api/plugins/rich-editor/types/index.html index 5c52582e8..31c81cff9 100644 --- a/docs/api/plugins/rich-editor/types/index.html +++ b/docs/api/plugins/rich-editor/types/index.html @@ -15,11 +15,11 @@ - - + + -

plugins/rich-editor/types

+

plugins/rich-editor/types

Index

Interfaces

InterfaceDescription
PluginOptions-
diff --git a/docs/api/plugins/rich-editor/types/interfaces/PluginOptions/index.html b/docs/api/plugins/rich-editor/types/interfaces/PluginOptions/index.html index 787f22e30..778aca77b 100644 --- a/docs/api/plugins/rich-editor/types/interfaces/PluginOptions/index.html +++ b/docs/api/plugins/rich-editor/types/interfaces/PluginOptions/index.html @@ -15,11 +15,11 @@ - - + + -

PluginOptions

+

PluginOptions

Properties

attachments?

@@ -107,7 +107,7 @@

expert.stop?

+

expert.stop?

optional stop: string[]

diff --git a/docs/api/plugins/two-factors-auth/types/index.html b/docs/api/plugins/two-factors-auth/types/index.html index 702cb84a6..930655a1a 100644 --- a/docs/api/plugins/two-factors-auth/types/index.html +++ b/docs/api/plugins/two-factors-auth/types/index.html @@ -15,11 +15,11 @@ - - + + -

plugins/two-factors-auth/types

+

plugins/two-factors-auth/types

Index

Type Aliases

Type aliasDescription
PluginOptions-
diff --git a/docs/api/plugins/two-factors-auth/types/type-aliases/PluginOptions/index.html b/docs/api/plugins/two-factors-auth/types/type-aliases/PluginOptions/index.html index 077ab97ea..5e412a774 100644 --- a/docs/api/plugins/two-factors-auth/types/type-aliases/PluginOptions/index.html +++ b/docs/api/plugins/two-factors-auth/types/type-aliases/PluginOptions/index.html @@ -15,11 +15,11 @@ - - + + -

PluginOptions

+

PluginOptions

PluginOptions: object

@@ -38,7 +38,7 @@

usersFilt

Optional function to filter users to apply 2FA. Should return true if 2FA should be applied to the user and false if AdminForth should not challenge the user with 2FA.

Parameters

-
ParameterTypeDescription
adminUserAdminUser
+
ParameterTypeDescription
adminUserAdminUser

Returns

boolean

diff --git a/docs/api/plugins/upload/types/index.html b/docs/api/plugins/upload/types/index.html index 58be4e76b..97709e259 100644 --- a/docs/api/plugins/upload/types/index.html +++ b/docs/api/plugins/upload/types/index.html @@ -15,11 +15,11 @@ - - + + -

plugins/upload/types

+

plugins/upload/types

Index

Type Aliases

Type aliasDescription
PluginOptions-
diff --git a/docs/api/plugins/upload/types/type-aliases/PluginOptions/index.html b/docs/api/plugins/upload/types/type-aliases/PluginOptions/index.html index 6a458da55..8dc0ff242 100644 --- a/docs/api/plugins/upload/types/type-aliases/PluginOptions/index.html +++ b/docs/api/plugins/upload/types/type-aliases/PluginOptions/index.html @@ -15,11 +15,11 @@ - - + + -

PluginOptions

+

PluginOptions

PluginOptions: object

@@ -88,7 +88,7 @@

s3Path()
s3Path: ({record, originalFilename}) => `/aparts/${record.id}/${originalFilename}`

Parameters

ParameterType
{originalFilename, originalExtension, contentType}any
-

Returns

+

Returns

string

s3Region

diff --git a/docs/api/types/AdminForthConfig/classes/Filters/index.html b/docs/api/types/AdminForthConfig/classes/Filters/index.html index f2c24072b..90e460837 100644 --- a/docs/api/types/AdminForthConfig/classes/Filters/index.html +++ b/docs/api/types/AdminForthConfig/classes/Filters/index.html @@ -15,11 +15,11 @@ - - + + -

Filters

+

Filters

Constructors

new Filters()

@@ -32,7 +32,7 @@

EQ()

static EQ(field, value): IAdminForthFilter

-

Parameters

+

Parameters

ParameterType
fieldstring
valueany

Returns

IAdminForthFilter

diff --git a/docs/api/types/AdminForthConfig/classes/Sorts/index.html b/docs/api/types/AdminForthConfig/classes/Sorts/index.html index ded2113d2..2767396f0 100644 --- a/docs/api/types/AdminForthConfig/classes/Sorts/index.html +++ b/docs/api/types/AdminForthConfig/classes/Sorts/index.html @@ -15,11 +15,11 @@ - - + + -

Sorts

+

Sorts

Constructors

new Sorts()

diff --git a/docs/api/types/AdminForthConfig/enumerations/ActionCheckSource/index.html b/docs/api/types/AdminForthConfig/enumerations/ActionCheckSource/index.html index faecdec3d..671f1c393 100644 --- a/docs/api/types/AdminForthConfig/enumerations/ActionCheckSource/index.html +++ b/docs/api/types/AdminForthConfig/enumerations/ActionCheckSource/index.html @@ -15,11 +15,11 @@ - - + + -

ActionCheckSource

+

ActionCheckSource

Enumeration Members

Enumeration MemberValue
BulkActionRequest"bulkActionRequest"
CreateRequest"createRequest"
DeleteRequest"deleteRequest"
DisplayButtons"displayButtons"
EditRequest"editRequest"
ListRequest"listRequest"
ShowRequest"showRequest"
diff --git a/docs/api/types/AdminForthConfig/enumerations/AdminForthDataTypes/index.html b/docs/api/types/AdminForthConfig/enumerations/AdminForthDataTypes/index.html index a23d799e3..8fea3d750 100644 --- a/docs/api/types/AdminForthConfig/enumerations/AdminForthDataTypes/index.html +++ b/docs/api/types/AdminForthConfig/enumerations/AdminForthDataTypes/index.html @@ -15,11 +15,11 @@ - - + + -

AdminForthDataTypes

+

AdminForthDataTypes

Enumeration Members

Enumeration MemberValue
BOOLEAN"boolean"
DATE"date"
DATETIME"datetime"
DECIMAL"decimal"
FLOAT"float"
INTEGER"integer"
JSON"json"
RICHTEXT"richtext"
STRING"string"
TEXT"text"
TIME"time"
diff --git a/docs/api/types/AdminForthConfig/enumerations/AdminForthFilterOperators/index.html b/docs/api/types/AdminForthConfig/enumerations/AdminForthFilterOperators/index.html index 01e652f3a..32bdb77fd 100644 --- a/docs/api/types/AdminForthConfig/enumerations/AdminForthFilterOperators/index.html +++ b/docs/api/types/AdminForthConfig/enumerations/AdminForthFilterOperators/index.html @@ -15,11 +15,11 @@ - - + + -

AdminForthFilterOperators

+

AdminForthFilterOperators

Enumeration Members

Enumeration MemberValue
EQ"eq"
GT"gt"
GTE"gte"
ILIKE"ilike"
IN"in"
LIKE"like"
LT"lt"
LTE"lte"
NE"ne"
NIN"nin"
diff --git a/docs/api/types/AdminForthConfig/enumerations/AdminForthMenuTypes/index.html b/docs/api/types/AdminForthConfig/enumerations/AdminForthMenuTypes/index.html index b64cb2fa9..897e1ec6b 100644 --- a/docs/api/types/AdminForthConfig/enumerations/AdminForthMenuTypes/index.html +++ b/docs/api/types/AdminForthConfig/enumerations/AdminForthMenuTypes/index.html @@ -15,11 +15,11 @@ - - + + -

AdminForthMenuTypes

+

AdminForthMenuTypes

Enumeration Members

Enumeration MemberValueDescription
divider"divider"DIVIDER is a divider between menu items.
gap"gap"GAP ads some space between menu items.
group"group"GROUP is a group of menu items. Respects label, icon and children properties in AdminForthConfigMenuItem use @AdminForthMenuTypes.open to set if group is open by default
heading"heading"HEADING is just a label in the menu. Respect label and icon property in AdminForthConfigMenuItem
page"page"

PAGE is a link to a custom page. Respects label, icon, path, component, homepage, isStaticRoute, properties in AdminForthConfigMenuItem

Example:

{

type: AdminForthMenuTypes.PAGE,

label: 'Custom Page',

icon: 'home',

path: '/dash',

component: '@@/Dashboard.vue',

homepage: true,

}

resource"resource"RESOURCE is a link to a resource. Respects label, icon, resourceId, homepage, isStaticRoute properties in AdminForthConfigMenuItem
diff --git a/docs/api/types/AdminForthConfig/enumerations/AdminForthResourcePages/index.html b/docs/api/types/AdminForthConfig/enumerations/AdminForthResourcePages/index.html index 19531c903..4a3e6ed55 100644 --- a/docs/api/types/AdminForthConfig/enumerations/AdminForthResourcePages/index.html +++ b/docs/api/types/AdminForthConfig/enumerations/AdminForthResourcePages/index.html @@ -15,11 +15,11 @@ - - + + -

AdminForthResourcePages

+

AdminForthResourcePages

Enumeration Members

Enumeration MemberValue
create"create"
edit"edit"
filter"filter"
list"list"
show"show"
diff --git a/docs/api/types/AdminForthConfig/enumerations/AdminForthSortDirections/index.html b/docs/api/types/AdminForthConfig/enumerations/AdminForthSortDirections/index.html index b29569ceb..2ee2bd110 100644 --- a/docs/api/types/AdminForthConfig/enumerations/AdminForthSortDirections/index.html +++ b/docs/api/types/AdminForthConfig/enumerations/AdminForthSortDirections/index.html @@ -15,11 +15,11 @@ - - + + -

AdminForthSortDirections

+

AdminForthSortDirections

Enumeration Members

Enumeration MemberValue
asc"asc"
desc"desc"
diff --git a/docs/api/types/AdminForthConfig/enumerations/AllowedActionsEnum/index.html b/docs/api/types/AdminForthConfig/enumerations/AllowedActionsEnum/index.html index 905fb1ac1..9e1f0df95 100644 --- a/docs/api/types/AdminForthConfig/enumerations/AllowedActionsEnum/index.html +++ b/docs/api/types/AdminForthConfig/enumerations/AllowedActionsEnum/index.html @@ -15,11 +15,11 @@ - - + + -

AllowedActionsEnum

+

AllowedActionsEnum

Enumeration Members

Enumeration MemberValue
create"create"
delete"delete"
edit"edit"
filter"filter"
list"list"
show"show"
diff --git a/docs/api/types/AdminForthConfig/index.html b/docs/api/types/AdminForthConfig/index.html index 81aa2c3f8..b372aca2d 100644 --- a/docs/api/types/AdminForthConfig/index.html +++ b/docs/api/types/AdminForthConfig/index.html @@ -15,11 +15,11 @@ - - + + -

types/AdminForthConfig

+

types/AdminForthConfig

Index

Enumerations

EnumerationDescription
ActionCheckSource-
AdminForthDataTypes-
AdminForthFilterOperators-
AdminForthMenuTypes-
AdminForthResourcePages-
AdminForthSortDirections-
AllowedActionsEnum-
diff --git a/docs/api/types/AdminForthConfig/interfaces/IAdminForth/index.html b/docs/api/types/AdminForthConfig/interfaces/IAdminForth/index.html index fe81bc2e7..84d647098 100644 --- a/docs/api/types/AdminForthConfig/interfaces/IAdminForth/index.html +++ b/docs/api/types/AdminForthConfig/interfaces/IAdminForth/index.html @@ -15,11 +15,11 @@ - - + + -

IAdminForth

+

IAdminForth

Properties

activatedPlugins

@@ -117,14 +117,24 @@

discoverDa

Returns

Promise<void>


+

resource()

+
+

resource(resourceId): IOperationalResource

+
+

Resource to get access to operational resources for data api fetching and manipulation.

+

Parameters

+
ParameterType
resourceIdstring
+

Returns

+

IOperationalResource

+

setupEndpoints()

setupEndpoints(server): void

This method will be automatically called from AdminForth HTTP adapter to serve AdminForth SPA.

-

Parameters

+

Parameters

ParameterType
serverIHttpServer
-

Returns

-

void

+

Returns

+

void

\ No newline at end of file diff --git a/docs/api/types/AdminForthConfig/interfaces/IAdminForthAuth/index.html b/docs/api/types/AdminForthConfig/interfaces/IAdminForthAuth/index.html index 19d39179c..48b43f6fe 100644 --- a/docs/api/types/AdminForthConfig/interfaces/IAdminForthAuth/index.html +++ b/docs/api/types/AdminForthConfig/interfaces/IAdminForthAuth/index.html @@ -15,11 +15,11 @@ - - + + -

IAdminForthAuth

+

IAdminForthAuth

Methods

issueJWT()

@@ -59,10 +59,10 @@

Returnsverify()

-

verify(jwt, mustHaveType): Promise<any>

+

verify(jwt, mustHaveType, decodeUser?): Promise<any>

Parameters

-
ParameterType
jwtstring
mustHaveTypestring
+
ParameterType
jwtstring
mustHaveTypestring
decodeUser?boolean

Returns

Promise<any>

diff --git a/docs/api/types/AdminForthConfig/interfaces/IAdminForthDataSourceConnector/index.html b/docs/api/types/AdminForthConfig/interfaces/IAdminForthDataSourceConnector/index.html index 901a38b39..ee0391986 100644 --- a/docs/api/types/AdminForthConfig/interfaces/IAdminForthDataSourceConnector/index.html +++ b/docs/api/types/AdminForthConfig/interfaces/IAdminForthDataSourceConnector/index.html @@ -15,11 +15,11 @@ - - + + -

IAdminForthDataSourceConnector

+

IAdminForthDataSourceConnector

Extended by