From 895f45a809995c56ce7dba2a864d35c23263dcca Mon Sep 17 00:00:00 2001 From: Ivan Borshchov Date: Fri, 6 Dec 2024 17:28:43 +0200 Subject: [PATCH] Deploy website - based on 36c72d982ca19f70c1d43d01d88e79e6c865a7e3 --- 404.html | 4 +- assets/js/0864833f.c781a47f.js | 1 + assets/js/0864833f.f6946682.js | 1 - assets/js/0f184050.7858a391.js | 1 + assets/js/11b43341.87ae83be.js | 1 - assets/js/11b43341.976c6311.js | 1 + assets/js/1df93b7f.10c10db0.js | 1 - assets/js/1df93b7f.1deda594.js | 1 + assets/js/29a082d0.475341d8.js | 1 + assets/js/29a082d0.f81153c4.js | 1 - assets/js/31091af1.1f983c65.js | 1 - assets/js/31091af1.4fa45f29.js | 1 + assets/js/65d8d000.1b08268f.js | 1 - assets/js/65d8d000.9ef9f9d5.js | 1 + assets/js/6745c6da.b1a892dc.js | 1 + assets/js/6745c6da.f1c37fc0.js | 1 - assets/js/6da4d60b.39f7697f.js | 1 - assets/js/6da4d60b.a67655a1.js | 1 + assets/js/7ddc5fd3.8b516593.js | 1 + assets/js/7ddc5fd3.db2b7091.js | 1 - assets/js/7fc3ff8b.a2c1c578.js | 1 - assets/js/7fc3ff8b.a77cf8a8.js | 1 + assets/js/862582d6.d2e033e7.js | 1 - assets/js/a3b62a48.4433fb4d.js | 1 + assets/js/a3b62a48.b7d8c755.js | 1 - assets/js/b0e83d53.a9cb516c.js | 1 - assets/js/b0e83d53.aecfb48e.js | 1 + assets/js/bee98664.3e6a1790.js | 1 - assets/js/bee98664.43a66d73.js | 1 + assets/js/d40d766e.321721cd.js | 1 + assets/js/d40d766e.6f47555e.js | 1 - ...c4782.08851a37.js => dbfc4782.fc2d22f1.js} | 2 +- assets/js/dd30c1b8.c649453a.js | 1 - assets/js/dd30c1b8.e78bb10a.js | 1 + assets/js/main.0d5f0c2c.js | 2 + ...CENSE.txt => main.0d5f0c2c.js.LICENSE.txt} | 0 assets/js/main.b09fb1b0.js | 2 - ...n.1bb4d74d.js => runtime~main.a6442cdf.js} | 2 +- blog/ai-blog/index.html | 4 +- blog/archive/index.html | 4 +- blog/atom.xml | 2 +- blog/chatgpt-plugin/index.html | 6 +-- .../index.html | 4 +- blog/compose-ec2-deployment/index.html | 4 +- blog/index.html | 6 +-- blog/rss.xml | 2 +- blog/tags/aws/index.html | 4 +- blog/tags/chatgpt/index.html | 6 +-- blog/tags/github-actions/index.html | 4 +- blog/tags/index.html | 4 +- blog/tags/nuxt/index.html | 4 +- blog/tags/plugin/index.html | 6 +-- blog/tags/terraform/index.html | 4 +- docs/api/index.html | 4 +- .../api/types/Back/classes/Filters/index.html | 4 +- docs/api/types/Back/classes/Sorts/index.html | 4 +- docs/api/types/Back/index.html | 4 +- .../AdminForthBulkAction/index.html | 4 +- .../interfaces/AdminForthConfig/index.html | 4 +- .../AdminForthConfigCustomization/index.html | 4 +- .../AdminForthForeignResource/index.html | 4 +- .../AdminForthInputConfig/index.html | 4 +- .../interfaces/AdminForthResource/index.html | 4 +- .../AdminForthResourceColumn/index.html | 4 +- .../AdminForthResourceInput/index.html | 4 +- .../Back/interfaces/HttpExtra/index.html | 4 +- .../Back/interfaces/IAdminForth/index.html | 4 +- .../interfaces/IAdminForthAuth/index.html | 4 +- .../IAdminForthDataSourceConnector/index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../interfaces/IAdminForthFilter/index.html | 4 +- .../IAdminForthHttpResponse/index.html | 4 +- .../interfaces/IAdminForthPlugin/index.html | 4 +- .../interfaces/IAdminForthRestAPI/index.html | 8 ++-- .../interfaces/IAdminForthSort/index.html | 4 +- .../Back/interfaces/ICodeInjector/index.html | 4 +- .../interfaces/IConfigValidator/index.html | 4 +- .../interfaces/IExpressHttpServer/index.html | 4 +- .../Back/interfaces/IHttpServer/index.html | 4 +- .../IOperationalResource/index.html | 4 +- .../interfaces/IWebSocketBroker/index.html | 4 +- .../interfaces/IWebSocketClient/index.html | 4 +- .../interfaces/ResourceOptions/index.html | 43 +++++++++++++----- .../ResourceOptionsInput/index.html | 45 ++++++++++++++----- .../AdminForthDataSource/index.html | 4 +- .../index.html | 4 +- .../type-aliases/AfterSaveFunction/index.html | 4 +- .../AllowedActionValue/index.html | 4 +- .../type-aliases/AllowedActions/index.html | 4 +- .../AllowedActionsInput/index.html | 4 +- .../index.html | 4 +- .../index.html | 4 +- .../BeforeSaveFunction/index.html | 4 +- .../Back/type-aliases/FDataFilter/index.html | 4 +- .../Back/type-aliases/FDataSort/index.html | 4 +- .../enumerations/ActionCheckSource/index.html | 4 +- .../AdminForthDataTypes/index.html | 4 +- .../AdminForthFilterOperators/index.html | 4 +- .../AdminForthMenuTypes/index.html | 4 +- .../AdminForthResourcePages/index.html | 4 +- .../AdminForthSortDirections/index.html | 4 +- .../AllowedActionsEnum/index.html | 4 +- docs/api/types/Common/index.html | 4 +- .../AdminForthBulkActionCommon/index.html | 4 +- .../AdminForthColumnEnumItem/index.html | 4 +- .../index.html | 4 +- .../AdminForthConfigForFrontend/index.html | 4 +- .../AdminForthConfigMenuItem/index.html | 4 +- .../AdminForthFieldComponents/index.html | 4 +- .../index.html | 4 +- .../AdminForthResourceColumnCommon/index.html | 4 +- .../index.html | 4 +- .../AdminForthResourceCommon/index.html | 22 ++++++--- .../AdminForthResourceInputCommon/index.html | 22 ++++++--- .../Common/interfaces/AdminUser/index.html | 4 +- .../GetBaseConfigResponse/index.html | 4 +- .../interfaces/ResourceVeryShort/index.html | 4 +- .../Common/interfaces/UserData/index.html | 4 +- .../AdminForthComponentDeclaration/index.html | 4 +- .../AllowedActionsResolved/index.html | 4 +- .../AnnouncementBadgeResponse/index.html | 4 +- .../type-aliases/ValidationObject/index.html | 4 +- .../enumerations/AlertVariant/index.html | 4 +- docs/api/types/FrontendAPI/index.html | 4 +- .../FrontendAPIInterface/index.html | 4 +- .../type-aliases/AlertParams/index.html | 4 +- .../type-aliases/ConfirmParams/index.html | 4 +- .../Advanced/plugin-development/index.html | 6 +-- docs/tutorial/Customization/afcl/index.html | 6 +-- 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 | 6 +-- .../Customization/security/index.html | 6 +-- .../standardPagesTuning/index.html | 12 ++--- .../Customization/virtualColumns/index.html | 6 +-- .../Customization/websocket/index.html | 6 +-- docs/tutorial/Plugins/AuditLog/index.html | 6 +-- .../Plugins/ForeignInlineList/index.html | 6 +-- docs/tutorial/Plugins/RichEditor/index.html | 12 ++--- .../Plugins/TwoFactorsAuth/index.html | 14 +++--- docs/tutorial/Plugins/chat-gpt/index.html | 34 -------------- .../Plugins/email-password-reset/index.html | 8 ++-- .../tutorial/Plugins/import-export/index.html | 6 +-- docs/tutorial/Plugins/open-signup/index.html | 13 ++++-- .../tutorial/Plugins/text-complete/index.html | 34 ++++++++++++++ docs/tutorial/Plugins/upload/index.html | 8 ++-- docs/tutorial/deploy/index.html | 6 +-- docs/tutorial/gettingStarted/index.html | 6 +-- docs/tutorial/glossary/index.html | 6 +-- docs/tutorial/helloWorld/index.html | 6 +-- index.html | 6 +-- search/index.html | 4 +- sitemap.xml | 2 +- 161 files changed, 442 insertions(+), 365 deletions(-) create mode 100644 assets/js/0864833f.c781a47f.js delete mode 100644 assets/js/0864833f.f6946682.js create mode 100644 assets/js/0f184050.7858a391.js delete mode 100644 assets/js/11b43341.87ae83be.js create mode 100644 assets/js/11b43341.976c6311.js delete mode 100644 assets/js/1df93b7f.10c10db0.js create mode 100644 assets/js/1df93b7f.1deda594.js create mode 100644 assets/js/29a082d0.475341d8.js delete mode 100644 assets/js/29a082d0.f81153c4.js delete mode 100644 assets/js/31091af1.1f983c65.js create mode 100644 assets/js/31091af1.4fa45f29.js delete mode 100644 assets/js/65d8d000.1b08268f.js create mode 100644 assets/js/65d8d000.9ef9f9d5.js create mode 100644 assets/js/6745c6da.b1a892dc.js delete mode 100644 assets/js/6745c6da.f1c37fc0.js delete mode 100644 assets/js/6da4d60b.39f7697f.js create mode 100644 assets/js/6da4d60b.a67655a1.js create mode 100644 assets/js/7ddc5fd3.8b516593.js delete mode 100644 assets/js/7ddc5fd3.db2b7091.js delete mode 100644 assets/js/7fc3ff8b.a2c1c578.js create mode 100644 assets/js/7fc3ff8b.a77cf8a8.js delete mode 100644 assets/js/862582d6.d2e033e7.js create mode 100644 assets/js/a3b62a48.4433fb4d.js delete mode 100644 assets/js/a3b62a48.b7d8c755.js delete mode 100644 assets/js/b0e83d53.a9cb516c.js create mode 100644 assets/js/b0e83d53.aecfb48e.js delete mode 100644 assets/js/bee98664.3e6a1790.js create mode 100644 assets/js/bee98664.43a66d73.js create mode 100644 assets/js/d40d766e.321721cd.js delete mode 100644 assets/js/d40d766e.6f47555e.js rename assets/js/{dbfc4782.08851a37.js => dbfc4782.fc2d22f1.js} (94%) delete mode 100644 assets/js/dd30c1b8.c649453a.js create mode 100644 assets/js/dd30c1b8.e78bb10a.js create mode 100644 assets/js/main.0d5f0c2c.js rename assets/js/{main.b09fb1b0.js.LICENSE.txt => main.0d5f0c2c.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.b09fb1b0.js rename assets/js/{runtime~main.1bb4d74d.js => runtime~main.a6442cdf.js} (74%) delete mode 100644 docs/tutorial/Plugins/chat-gpt/index.html create mode 100644 docs/tutorial/Plugins/text-complete/index.html diff --git a/404.html b/404.html index f71007ea9..8450bbf85 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/js/0864833f.c781a47f.js b/assets/js/0864833f.c781a47f.js new file mode 100644 index 000000000..388c67e28 --- /dev/null +++ b/assets/js/0864833f.c781a47f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[2389],{7995:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>p,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(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"rich-editor",children:"Rich editor"}),"\n",(0,t.jsxs)(n.p,{children:["Under the hood this plugin uses ",(0,t.jsx)(n.a,{href:"https://quilljs.com/",children:"Quill"}),". Quill is a free, open source WYSIWYG editor built for the modern web."]}),"\n",(0,t.jsx)(n.p,{children:"This plugin allows you to use Quill editor in your AdminForth application."}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsx)(n.p,{children:"First, install the plugin:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm i @adminforth/rich-editor --save\n"})}),"\n",(0,t.jsx)(n.p,{children:"Import plugin:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="./resources/apartments.ts"',children:'import RichEditorPlugin from "@adminforth/rich-editor";\n'})}),"\n",(0,t.jsx)(n.p,{children:"Now instantiate the plugin and add it to the configuration:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.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)(n.p,{children:["Now you can see Quill editor in the ",(0,t.jsx)(n.code,{children:"description"})," field in the edit view:"]}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"alt text",src:i(6805).A+"",width:"3670",height:"2064"})}),"\n",(0,t.jsx)(n.h1,{id:"multiple-editors-in-one-resource",children:"Multiple editors in one resource"}),"\n",(0,t.jsx)(n.p,{children:"If you need multiple fields in one resource which happens rarely, just add multiple instances of the plugin:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="./resources/apartments.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)(n.h2,{id:"completion",children:"Completion"}),"\n",(0,t.jsxs)(n.p,{children:["To get completion suggestions for the text in the editor, you can use the ",(0,t.jsx)(n.code,{children:"completion"})," option. This option is an object with the following properties:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-ts",metastring:'title="./resources/apartments.ts"',children:"//diff-add\n import CompletionAdapterOpenAIChatGPT from \"@adminforth/completion-adapter-open-ai-chat-gpt\";\n\n new RichEditorPlugin({\n htmlFieldName: 'description',\n//diff-add\n completion: {\n//diff-add\n adapter: new CompletionAdapterOpenAIChatGPT({\n//diff-add\n openAiApiKey: process.env.OPENAI_API_KEY as string,\n//diff-add\n model: 'gpt-4o', //gpt-4o-mini is a default (cheapest one)\n expert: {\n//diff-add\n temperature: 0.7; //Model temperature, default 0.7\n//diff-add\n };\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"})}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.img,{alt:"alt text",src:i(7998).A+"",width:"1400",height:"1050"})})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},7998:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/gptDemo-7f2508ca0024430341592a6d40cf76c8.gif"},6805:(e,n,i)=>{i.d(n,{A:()=>t});const t=i.p+"assets/images/image-2-f1e856fbaa6202d9e8fde0165763c5eb.png"},8453:(e,n,i)=>{i.d(n,{R:()=>r,x:()=>d});var t=i(6540);const o={},s=t.createContext(o);function r(e){const n=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),t.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0864833f.f6946682.js b/assets/js/0864833f.f6946682.js deleted file mode 100644 index 3d16b26ad..000000000 --- a/assets/js/0864833f.f6946682.js +++ /dev/null @@ -1 +0,0 @@ -"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:()=>o,metadata:()=>d,toc:()=>a});var t=i(4848),s=i(8453);const o={},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,s.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="./resources/apartments.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"})}),"\n",(0,t.jsx)(e.p,{children:(0,t.jsx)(e.img,{alt:"alt text",src:i(7998).A+"",width:"1400",height:"1050"})})]})}function u(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(c,{...n})}):c(n)}},7998:(n,e,i)=>{i.d(e,{A:()=>t});const t=i.p+"assets/images/gptDemo-7f2508ca0024430341592a6d40cf76c8.gif"},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 s={},o=t.createContext(s);function r(n){const e=t.useContext(o);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(s):n.components||s:r(n.components),t.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/0f184050.7858a391.js b/assets/js/0f184050.7858a391.js new file mode 100644 index 000000000..9ab6b9902 --- /dev/null +++ b/assets/js/0f184050.7858a391.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[5857],{4989:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var i=t(4848),d=t(8453);const o={},a="Text Complete",s={id:"tutorial/Plugins/text-complete",title:"Text Complete",description:"This plugin allows you to auto-complete text and string fields using OpenAI Chat GPT models.",source:"@site/docs/tutorial/05-Plugins/06-text-complete.md",sourceDirName:"tutorial/05-Plugins",slug:"/tutorial/Plugins/text-complete",permalink:"/docs/tutorial/Plugins/text-complete",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:6,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Upload",permalink:"/docs/tutorial/Plugins/upload"},next:{title:"Email password reset",permalink:"/docs/tutorial/Plugins/email-password-reset"}},r={},l=[{value:"Installation",id:"installation",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",img:"img",p:"p",pre:"pre",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"text-complete",children:"Text Complete"}),"\n",(0,i.jsx)(n.p,{children:"This plugin allows you to auto-complete text and string fields using OpenAI Chat GPT models."}),"\n",(0,i.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"npm i @adminforth/text-complete --save\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Go to ",(0,i.jsx)(n.a,{href:"https://platform.openai.com/",children:"https://platform.openai.com/"}),", open ",(0,i.jsx)(n.code,{children:"Dashboard"})," -> ",(0,i.jsx)(n.code,{children:"API keys"})," -> ",(0,i.jsx)(n.code,{children:"Create new secret key"}),". Paste value in your ",(0,i.jsx)(n.code,{children:".env"})," file:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-env",metastring:"title=.env",children:"...\nOPENAI_API_KEY=your_key\n"})}),"\n",(0,i.jsx)(n.p,{children:"Add plugin installation to any text or string column."}),"\n",(0,i.jsxs)(n.p,{children:["For example let's add it for title and description in ",(0,i.jsx)(n.code,{children:"aparts"})," resource configuration which we created in ",(0,i.jsx)(n.a,{href:"/docs/tutorial/gettingStarted",children:"Getting Started"})," tutorial."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-ts",metastring:'title="./resources/apartments.ts"',children:"//diff-add\nimport TextCompletePlugin from '@adminforth/text-complete';\n//diff-add\nimport CompletionAdapterOpenAIChatGPT from \"@adminforth/completion-adapter-open-ai-chat-gpt\";\n\n\nexport const admin = new AdminForth({\n ...\n resourceId: 'aparts',\n columns: [\n ...\n ],\n plugins: [\n ...\n//diff-add\n new TextCompletePlugin({\n//diff-add\n openAiApiKey: process.env.OPENAI_API_KEY as string,\n//diff-add\n fieldName: 'title',\n//diff-add\n adapter: new CompletionAdapterOpenAIChatGPT({\n//diff-add\n openAiApiKey: process.env.OPENAI_API_KEY as string,\n//diff-add\n model: 'gpt-4o', // default \"gpt-4o-mini\"\n//diff-add\n expert: {\n//diff-add\n temperature: 0.7; //Model temperature, default 0.7\n//diff-add\n };\n//diff-add\n }),\n//diff-add\n }),\n//diff-add\n new TextCompletePlugin({\n//diff-add\n fieldName: 'description',\n//diff-add\n adapter: new CompletionAdapterOpenAIChatGPT({\n//diff-add\n openAiApiKey: process.env.OPENAI_API_KEY as string,\n//diff-add\n }),\n//diff-add\n // expert: {\n//diff-add\n // maxTokens: 50, // token limit to generate for each completion. 50 is default\n//diff-add\n // promptInputLimit: 500, // Limit in characters of edited field to be passed to Model. 500 is default value\n//diff-add\n // debounceTime: 300, // Debounce time in milliseconds. 300 is default value\n//diff-add\n // }\n//diff-add\n }),\n\n ]\n\n ...\n\n});\n"})}),"\n",(0,i.jsx)(n.p,{children:"Here is how it looks:"}),"\n",(0,i.jsxs)(n.p,{children:["!",(0,i.jsx)(n.img,{alt:"alt text",src:t(35).A+"",width:"988",height:"841"})]})]})}function p(e={}){const{wrapper:n}={...(0,d.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},35:(e,n,t)=>{t.d(n,{A:()=>i});const i=t.p+"assets/images/dashboard_test2-9c2d002eadefb26b01fca6e06faa72fa.gif"},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>s});var i=t(6540);const d={},o=i.createContext(d);function a(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(d):e.components||d:a(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/11b43341.87ae83be.js b/assets/js/11b43341.87ae83be.js deleted file mode 100644 index 91dbfb551..000000000 --- a/assets/js/11b43341.87ae83be.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[2256],{7674:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/tutorial/gettingStarted","docId":"tutorial/gettingStarted","unlisted":false},{"type":"link","label":"Hello world app","href":"/docs/tutorial/helloWorld","docId":"tutorial/helloWorld","unlisted":false},{"type":"link","label":"Glossary","href":"/docs/tutorial/glossary","docId":"tutorial/glossary","unlisted":false},{"type":"category","label":"Customization","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Branding and Theming","href":"/docs/tutorial/Customization/branding","docId":"tutorial/Customization/branding","unlisted":false},{"type":"link","label":"Custom record field rendering","href":"/docs/tutorial/Customization/customFieldRendering","docId":"tutorial/Customization/customFieldRendering","unlisted":false},{"type":"link","label":"Virtual columns","href":"/docs/tutorial/Customization/virtualColumns","docId":"tutorial/Customization/virtualColumns","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/tutorial/Customization/hooks","docId":"tutorial/Customization/hooks","unlisted":false},{"type":"link","label":"Limiting actions access","href":"/docs/tutorial/Customization/limitingAccess","docId":"tutorial/Customization/limitingAccess","unlisted":false},{"type":"link","label":"Custom pages","href":"/docs/tutorial/Customization/customPages","docId":"tutorial/Customization/customPages","unlisted":false},{"type":"link","label":"Alerts and confirmations","href":"/docs/tutorial/Customization/alert","docId":"tutorial/Customization/alert","unlisted":false},{"type":"link","label":"Page Injections","href":"/docs/tutorial/Customization/pageInjections","docId":"tutorial/Customization/pageInjections","unlisted":false},{"type":"link","label":"Custom bulk actions","href":"/docs/tutorial/Customization/bulkActions","docId":"tutorial/Customization/bulkActions","unlisted":false},{"type":"link","label":"Menu Configuration","href":"/docs/tutorial/Customization/menuConfiguration","docId":"tutorial/Customization/menuConfiguration","unlisted":false},{"type":"link","label":"Data API","href":"/docs/tutorial/Customization/dataApi","docId":"tutorial/Customization/dataApi","unlisted":false},{"type":"link","label":"Security","href":"/docs/tutorial/Customization/security","docId":"tutorial/Customization/security","unlisted":false},{"type":"link","label":"Standard pages tuning","href":"/docs/tutorial/Customization/standardPagesTuning","docId":"tutorial/Customization/standardPagesTuning","unlisted":false},{"type":"link","label":"AdminForth Components Library","href":"/docs/tutorial/Customization/afcl","docId":"tutorial/Customization/afcl","unlisted":false},{"type":"link","label":"Websocket","href":"/docs/tutorial/Customization/websocket","docId":"tutorial/Customization/websocket","unlisted":false}]},{"type":"link","label":"Deploy in Docker","href":"/docs/tutorial/deploy","docId":"tutorial/deploy","unlisted":false},{"type":"category","label":"Plugins","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"AuditLog","href":"/docs/tutorial/Plugins/AuditLog","docId":"tutorial/Plugins/AuditLog","unlisted":false},{"type":"link","label":"Two-Factor Authentication Plugin","href":"/docs/tutorial/Plugins/TwoFactorsAuth","docId":"tutorial/Plugins/TwoFactorsAuth","unlisted":false},{"type":"link","label":"ForeignInlineList","href":"/docs/tutorial/Plugins/ForeignInlineList","docId":"tutorial/Plugins/ForeignInlineList","unlisted":false},{"type":"link","label":"Rich editor","href":"/docs/tutorial/Plugins/RichEditor","docId":"tutorial/Plugins/RichEditor","unlisted":false},{"type":"link","label":"Upload","href":"/docs/tutorial/Plugins/upload","docId":"tutorial/Plugins/upload","unlisted":false},{"type":"link","label":"Chat-GPT","href":"/docs/tutorial/Plugins/chat-gpt","docId":"tutorial/Plugins/chat-gpt","unlisted":false},{"type":"link","label":"Email password reset","href":"/docs/tutorial/Plugins/email-password-reset","docId":"tutorial/Plugins/email-password-reset","unlisted":false},{"type":"link","label":"Import-Export","href":"/docs/tutorial/Plugins/import-export","docId":"tutorial/Plugins/import-export","unlisted":false},{"type":"link","label":"Open Signup","href":"/docs/tutorial/Plugins/open-signup","docId":"tutorial/Plugins/open-signup","unlisted":false}]},{"type":"category","label":"Advanced","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Plugin development guide","href":"/docs/tutorial/Advanced/plugin-development","docId":"tutorial/Advanced/plugin-development","unlisted":false}]}],"apiSidebar":[{"type":"category","label":"API","items":[{"type":"category","label":"types","items":[{"type":"category","label":"Back","items":[{"type":"category","label":"Classes","items":[{"type":"link","label":"Filters","href":"/docs/api/types/Back/classes/Filters","docId":"api/types/Back/classes/Filters","unlisted":false},{"type":"link","label":"Sorts","href":"/docs/api/types/Back/classes/Sorts","docId":"api/types/Back/classes/Sorts","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Interfaces","items":[{"type":"link","label":"AdminForthBulkAction","href":"/docs/api/types/Back/interfaces/AdminForthBulkAction","docId":"api/types/Back/interfaces/AdminForthBulkAction","unlisted":false},{"type":"link","label":"AdminForthConfig","href":"/docs/api/types/Back/interfaces/AdminForthConfig","docId":"api/types/Back/interfaces/AdminForthConfig","unlisted":false},{"type":"link","label":"AdminForthConfigCustomization","href":"/docs/api/types/Back/interfaces/AdminForthConfigCustomization","docId":"api/types/Back/interfaces/AdminForthConfigCustomization","unlisted":false},{"type":"link","label":"AdminForthForeignResource","href":"/docs/api/types/Back/interfaces/AdminForthForeignResource","docId":"api/types/Back/interfaces/AdminForthForeignResource","unlisted":false},{"type":"link","label":"AdminForthInputConfig","href":"/docs/api/types/Back/interfaces/AdminForthInputConfig","docId":"api/types/Back/interfaces/AdminForthInputConfig","unlisted":false},{"type":"link","label":"AdminForthResource","href":"/docs/api/types/Back/interfaces/AdminForthResource","docId":"api/types/Back/interfaces/AdminForthResource","unlisted":false},{"type":"link","label":"AdminForthResourceColumn","href":"/docs/api/types/Back/interfaces/AdminForthResourceColumn","docId":"api/types/Back/interfaces/AdminForthResourceColumn","unlisted":false},{"type":"link","label":"AdminForthResourceInput","href":"/docs/api/types/Back/interfaces/AdminForthResourceInput","docId":"api/types/Back/interfaces/AdminForthResourceInput","unlisted":false},{"type":"link","label":"HttpExtra","href":"/docs/api/types/Back/interfaces/HttpExtra","docId":"api/types/Back/interfaces/HttpExtra","unlisted":false},{"type":"link","label":"IAdminForth","href":"/docs/api/types/Back/interfaces/IAdminForth","docId":"api/types/Back/interfaces/IAdminForth","unlisted":false},{"type":"link","label":"IAdminForthAuth","href":"/docs/api/types/Back/interfaces/IAdminForthAuth","docId":"api/types/Back/interfaces/IAdminForthAuth","unlisted":false},{"type":"link","label":"IAdminForthDataSourceConnector","href":"/docs/api/types/Back/interfaces/IAdminForthDataSourceConnector","docId":"api/types/Back/interfaces/IAdminForthDataSourceConnector","unlisted":false},{"type":"link","label":"IAdminForthDataSourceConnectorBase","href":"/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorBase","docId":"api/types/Back/interfaces/IAdminForthDataSourceConnectorBase","unlisted":false},{"type":"link","label":"IAdminForthDataSourceConnectorConstructor","href":"/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor","docId":"api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor","unlisted":false},{"type":"link","label":"IAdminForthFilter","href":"/docs/api/types/Back/interfaces/IAdminForthFilter","docId":"api/types/Back/interfaces/IAdminForthFilter","unlisted":false},{"type":"link","label":"IAdminForthHttpResponse","href":"/docs/api/types/Back/interfaces/IAdminForthHttpResponse","docId":"api/types/Back/interfaces/IAdminForthHttpResponse","unlisted":false},{"type":"link","label":"IAdminForthPlugin","href":"/docs/api/types/Back/interfaces/IAdminForthPlugin","docId":"api/types/Back/interfaces/IAdminForthPlugin","unlisted":false},{"type":"link","label":"IAdminForthRestAPI","href":"/docs/api/types/Back/interfaces/IAdminForthRestAPI","docId":"api/types/Back/interfaces/IAdminForthRestAPI","unlisted":false},{"type":"link","label":"IAdminForthSort","href":"/docs/api/types/Back/interfaces/IAdminForthSort","docId":"api/types/Back/interfaces/IAdminForthSort","unlisted":false},{"type":"link","label":"ICodeInjector","href":"/docs/api/types/Back/interfaces/ICodeInjector","docId":"api/types/Back/interfaces/ICodeInjector","unlisted":false},{"type":"link","label":"IConfigValidator","href":"/docs/api/types/Back/interfaces/IConfigValidator","docId":"api/types/Back/interfaces/IConfigValidator","unlisted":false},{"type":"link","label":"IExpressHttpServer","href":"/docs/api/types/Back/interfaces/IExpressHttpServer","docId":"api/types/Back/interfaces/IExpressHttpServer","unlisted":false},{"type":"link","label":"IHttpServer","href":"/docs/api/types/Back/interfaces/IHttpServer","docId":"api/types/Back/interfaces/IHttpServer","unlisted":false},{"type":"link","label":"IOperationalResource","href":"/docs/api/types/Back/interfaces/IOperationalResource","docId":"api/types/Back/interfaces/IOperationalResource","unlisted":false},{"type":"link","label":"IWebSocketBroker","href":"/docs/api/types/Back/interfaces/IWebSocketBroker","docId":"api/types/Back/interfaces/IWebSocketBroker","unlisted":false},{"type":"link","label":"IWebSocketClient","href":"/docs/api/types/Back/interfaces/IWebSocketClient","docId":"api/types/Back/interfaces/IWebSocketClient","unlisted":false},{"type":"link","label":"ResourceOptions","href":"/docs/api/types/Back/interfaces/ResourceOptions","docId":"api/types/Back/interfaces/ResourceOptions","unlisted":false},{"type":"link","label":"ResourceOptionsInput","href":"/docs/api/types/Back/interfaces/ResourceOptionsInput","docId":"api/types/Back/interfaces/ResourceOptionsInput","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Type Aliases","items":[{"type":"link","label":"AdminForthDataSource","href":"/docs/api/types/Back/type-aliases/AdminForthDataSource","docId":"api/types/Back/type-aliases/AdminForthDataSource","unlisted":false},{"type":"link","label":"AfterDataSourceResponseFunction","href":"/docs/api/types/Back/type-aliases/AfterDataSourceResponseFunction","docId":"api/types/Back/type-aliases/AfterDataSourceResponseFunction","unlisted":false},{"type":"link","label":"AfterSaveFunction","href":"/docs/api/types/Back/type-aliases/AfterSaveFunction","docId":"api/types/Back/type-aliases/AfterSaveFunction","unlisted":false},{"type":"link","label":"AllowedActionValue","href":"/docs/api/types/Back/type-aliases/AllowedActionValue","docId":"api/types/Back/type-aliases/AllowedActionValue","unlisted":false},{"type":"link","label":"AllowedActions","href":"/docs/api/types/Back/type-aliases/AllowedActions","docId":"api/types/Back/type-aliases/AllowedActions","unlisted":false},{"type":"link","label":"AllowedActionsInput","href":"/docs/api/types/Back/type-aliases/AllowedActionsInput","docId":"api/types/Back/type-aliases/AllowedActionsInput","unlisted":false},{"type":"link","label":"BeforeDataSourceRequestFunction","href":"/docs/api/types/Back/type-aliases/BeforeDataSourceRequestFunction","docId":"api/types/Back/type-aliases/BeforeDataSourceRequestFunction","unlisted":false},{"type":"link","label":"BeforeLoginConfirmationFunction","href":"/docs/api/types/Back/type-aliases/BeforeLoginConfirmationFunction","docId":"api/types/Back/type-aliases/BeforeLoginConfirmationFunction","unlisted":false},{"type":"link","label":"BeforeSaveFunction","href":"/docs/api/types/Back/type-aliases/BeforeSaveFunction","docId":"api/types/Back/type-aliases/BeforeSaveFunction","unlisted":false},{"type":"link","label":"FDataFilter","href":"/docs/api/types/Back/type-aliases/FDataFilter","docId":"api/types/Back/type-aliases/FDataFilter","unlisted":false},{"type":"link","label":"FDataSort","href":"/docs/api/types/Back/type-aliases/FDataSort","docId":"api/types/Back/type-aliases/FDataSort","unlisted":false}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/types/Back/"},{"type":"category","label":"Common","items":[{"type":"category","label":"Enumerations","items":[{"type":"link","label":"ActionCheckSource","href":"/docs/api/types/Common/enumerations/ActionCheckSource","docId":"api/types/Common/enumerations/ActionCheckSource","unlisted":false},{"type":"link","label":"AdminForthDataTypes","href":"/docs/api/types/Common/enumerations/AdminForthDataTypes","docId":"api/types/Common/enumerations/AdminForthDataTypes","unlisted":false},{"type":"link","label":"AdminForthFilterOperators","href":"/docs/api/types/Common/enumerations/AdminForthFilterOperators","docId":"api/types/Common/enumerations/AdminForthFilterOperators","unlisted":false},{"type":"link","label":"AdminForthMenuTypes","href":"/docs/api/types/Common/enumerations/AdminForthMenuTypes","docId":"api/types/Common/enumerations/AdminForthMenuTypes","unlisted":false},{"type":"link","label":"AdminForthResourcePages","href":"/docs/api/types/Common/enumerations/AdminForthResourcePages","docId":"api/types/Common/enumerations/AdminForthResourcePages","unlisted":false},{"type":"link","label":"AdminForthSortDirections","href":"/docs/api/types/Common/enumerations/AdminForthSortDirections","docId":"api/types/Common/enumerations/AdminForthSortDirections","unlisted":false},{"type":"link","label":"AllowedActionsEnum","href":"/docs/api/types/Common/enumerations/AllowedActionsEnum","docId":"api/types/Common/enumerations/AllowedActionsEnum","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Interfaces","items":[{"type":"link","label":"AdminForthBulkActionCommon","href":"/docs/api/types/Common/interfaces/AdminForthBulkActionCommon","docId":"api/types/Common/interfaces/AdminForthBulkActionCommon","unlisted":false},{"type":"link","label":"AdminForthColumnEnumItem","href":"/docs/api/types/Common/interfaces/AdminForthColumnEnumItem","docId":"api/types/Common/interfaces/AdminForthColumnEnumItem","unlisted":false},{"type":"link","label":"AdminForthComponentDeclarationFull","href":"/docs/api/types/Common/interfaces/AdminForthComponentDeclarationFull","docId":"api/types/Common/interfaces/AdminForthComponentDeclarationFull","unlisted":false},{"type":"link","label":"AdminForthConfigForFrontend","href":"/docs/api/types/Common/interfaces/AdminForthConfigForFrontend","docId":"api/types/Common/interfaces/AdminForthConfigForFrontend","unlisted":false},{"type":"link","label":"AdminForthConfigMenuItem","href":"/docs/api/types/Common/interfaces/AdminForthConfigMenuItem","docId":"api/types/Common/interfaces/AdminForthConfigMenuItem","unlisted":false},{"type":"link","label":"AdminForthFieldComponents","href":"/docs/api/types/Common/interfaces/AdminForthFieldComponents","docId":"api/types/Common/interfaces/AdminForthFieldComponents","unlisted":false},{"type":"link","label":"AdminForthForeignResourceCommon","href":"/docs/api/types/Common/interfaces/AdminForthForeignResourceCommon","docId":"api/types/Common/interfaces/AdminForthForeignResourceCommon","unlisted":false},{"type":"link","label":"AdminForthResourceColumnCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceColumnCommon","docId":"api/types/Common/interfaces/AdminForthResourceColumnCommon","unlisted":false},{"type":"link","label":"AdminForthResourceColumnInputCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceColumnInputCommon","docId":"api/types/Common/interfaces/AdminForthResourceColumnInputCommon","unlisted":false},{"type":"link","label":"AdminForthResourceCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceCommon","docId":"api/types/Common/interfaces/AdminForthResourceCommon","unlisted":false},{"type":"link","label":"AdminForthResourceInputCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceInputCommon","docId":"api/types/Common/interfaces/AdminForthResourceInputCommon","unlisted":false},{"type":"link","label":"AdminUser","href":"/docs/api/types/Common/interfaces/AdminUser","docId":"api/types/Common/interfaces/AdminUser","unlisted":false},{"type":"link","label":"GetBaseConfigResponse","href":"/docs/api/types/Common/interfaces/GetBaseConfigResponse","docId":"api/types/Common/interfaces/GetBaseConfigResponse","unlisted":false},{"type":"link","label":"ResourceVeryShort","href":"/docs/api/types/Common/interfaces/ResourceVeryShort","docId":"api/types/Common/interfaces/ResourceVeryShort","unlisted":false},{"type":"link","label":"UserData","href":"/docs/api/types/Common/interfaces/UserData","docId":"api/types/Common/interfaces/UserData","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Type Aliases","items":[{"type":"link","label":"AdminForthComponentDeclaration","href":"/docs/api/types/Common/type-aliases/AdminForthComponentDeclaration","docId":"api/types/Common/type-aliases/AdminForthComponentDeclaration","unlisted":false},{"type":"link","label":"AllowedActionsResolved","href":"/docs/api/types/Common/type-aliases/AllowedActionsResolved","docId":"api/types/Common/type-aliases/AllowedActionsResolved","unlisted":false},{"type":"link","label":"AnnouncementBadgeResponse","href":"/docs/api/types/Common/type-aliases/AnnouncementBadgeResponse","docId":"api/types/Common/type-aliases/AnnouncementBadgeResponse","unlisted":false},{"type":"link","label":"ValidationObject","href":"/docs/api/types/Common/type-aliases/ValidationObject","docId":"api/types/Common/type-aliases/ValidationObject","unlisted":false}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/types/Common/"},{"type":"category","label":"FrontendAPI","items":[{"type":"category","label":"Enumerations","items":[{"type":"link","label":"AlertVariant","href":"/docs/api/types/FrontendAPI/enumerations/AlertVariant","docId":"api/types/FrontendAPI/enumerations/AlertVariant","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Interfaces","items":[{"type":"link","label":"FrontendAPIInterface","href":"/docs/api/types/FrontendAPI/interfaces/FrontendAPIInterface","docId":"api/types/FrontendAPI/interfaces/FrontendAPIInterface","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Type Aliases","items":[{"type":"link","label":"AlertParams","href":"/docs/api/types/FrontendAPI/type-aliases/AlertParams","docId":"api/types/FrontendAPI/type-aliases/AlertParams","unlisted":false},{"type":"link","label":"ConfirmParams","href":"/docs/api/types/FrontendAPI/type-aliases/ConfirmParams","docId":"api/types/FrontendAPI/type-aliases/ConfirmParams","unlisted":false}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/types/FrontendAPI/"}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/"}]},"docs":{"api/index":{"id":"api/index","title":"TypeDoc API","description":"Modules","sidebar":"apiSidebar"},"api/types/Back/classes/Filters":{"id":"api/types/Back/classes/Filters","title":"Filters","description":"Constructors","sidebar":"apiSidebar"},"api/types/Back/classes/Sorts":{"id":"api/types/Back/classes/Sorts","title":"Sorts","description":"Constructors","sidebar":"apiSidebar"},"api/types/Back/index":{"id":"api/types/Back/index","title":"types/Back","description":"Index","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthBulkAction":{"id":"api/types/Back/interfaces/AdminForthBulkAction","title":"AdminForthBulkAction","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthConfig":{"id":"api/types/Back/interfaces/AdminForthConfig","title":"AdminForthConfig","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthConfigCustomization":{"id":"api/types/Back/interfaces/AdminForthConfigCustomization","title":"AdminForthConfigCustomization","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthForeignResource":{"id":"api/types/Back/interfaces/AdminForthForeignResource","title":"AdminForthForeignResource","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthInputConfig":{"id":"api/types/Back/interfaces/AdminForthInputConfig","title":"AdminForthInputConfig","description":"Main configuration object for AdminForth","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthResource":{"id":"api/types/Back/interfaces/AdminForthResource","title":"AdminForthResource","description":"Resource describes one table or collection in database.","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthResourceColumn":{"id":"api/types/Back/interfaces/AdminForthResourceColumn","title":"AdminForthResourceColumn","description":"Column describes one field in the table or collection in database.","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthResourceInput":{"id":"api/types/Back/interfaces/AdminForthResourceInput","title":"AdminForthResourceInput","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/HttpExtra":{"id":"api/types/Back/interfaces/HttpExtra","title":"HttpExtra","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForth":{"id":"api/types/Back/interfaces/IAdminForth","title":"IAdminForth","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthAuth":{"id":"api/types/Back/interfaces/IAdminForthAuth","title":"IAdminForthAuth","description":"Methods","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthDataSourceConnector":{"id":"api/types/Back/interfaces/IAdminForthDataSourceConnector","title":"IAdminForthDataSourceConnector","description":"Extended by","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthDataSourceConnectorBase":{"id":"api/types/Back/interfaces/IAdminForthDataSourceConnectorBase","title":"IAdminForthDataSourceConnectorBase","description":"Interface that exposes methods to interact with AdminForth in standard way","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor":{"id":"api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor","title":"IAdminForthDataSourceConnectorConstructor","description":"Constructors","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthFilter":{"id":"api/types/Back/interfaces/IAdminForthFilter","title":"IAdminForthFilter","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthHttpResponse":{"id":"api/types/Back/interfaces/IAdminForthHttpResponse","title":"IAdminForthHttpResponse","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthPlugin":{"id":"api/types/Back/interfaces/IAdminForthPlugin","title":"IAdminForthPlugin","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthRestAPI":{"id":"api/types/Back/interfaces/IAdminForthRestAPI","title":"IAdminForthRestAPI","description":"Methods","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthSort":{"id":"api/types/Back/interfaces/IAdminForthSort","title":"IAdminForthSort","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/ICodeInjector":{"id":"api/types/Back/interfaces/ICodeInjector","title":"ICodeInjector","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IConfigValidator":{"id":"api/types/Back/interfaces/IConfigValidator","title":"IConfigValidator","description":"Methods","sidebar":"apiSidebar"},"api/types/Back/interfaces/IExpressHttpServer":{"id":"api/types/Back/interfaces/IExpressHttpServer","title":"IExpressHttpServer","description":"Implement this interface to create custom HTTP server adapter for AdminForth.","sidebar":"apiSidebar"},"api/types/Back/interfaces/IHttpServer":{"id":"api/types/Back/interfaces/IHttpServer","title":"IHttpServer","description":"Implement this interface to create custom HTTP server adapter for AdminForth.","sidebar":"apiSidebar"},"api/types/Back/interfaces/IOperationalResource":{"id":"api/types/Back/interfaces/IOperationalResource","title":"IOperationalResource","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IWebSocketBroker":{"id":"api/types/Back/interfaces/IWebSocketBroker","title":"IWebSocketBroker","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IWebSocketClient":{"id":"api/types/Back/interfaces/IWebSocketClient","title":"IWebSocketClient","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/ResourceOptions":{"id":"api/types/Back/interfaces/ResourceOptions","title":"ResourceOptions","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/ResourceOptionsInput":{"id":"api/types/Back/interfaces/ResourceOptionsInput","title":"ResourceOptionsInput","description":"General options for resource.","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AdminForthDataSource":{"id":"api/types/Back/type-aliases/AdminForthDataSource","title":"AdminForthDataSource","description":"AdminForthDataSource: object","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AfterDataSourceResponseFunction":{"id":"api/types/Back/type-aliases/AfterDataSourceResponseFunction","title":"AfterDataSourceResponseFunction()","description":"AfterDataSourceResponseFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AfterSaveFunction":{"id":"api/types/Back/type-aliases/AfterSaveFunction","title":"AfterSaveFunction()","description":"AfterSaveFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AllowedActions":{"id":"api/types/Back/type-aliases/AllowedActions","title":"AllowedActions","description":"AllowedActions AllowedActionValue }","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AllowedActionsInput":{"id":"api/types/Back/type-aliases/AllowedActionsInput","title":"AllowedActionsInput","description":"AllowedActionsInput AllowedActionValue } & object","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AllowedActionValue":{"id":"api/types/Back/type-aliases/AllowedActionValue","title":"AllowedActionValue","description":"AllowedActionValue: boolean \\\\| ({adminUser, resource, meta, source, adminforth}) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/BeforeDataSourceRequestFunction":{"id":"api/types/Back/type-aliases/BeforeDataSourceRequestFunction","title":"BeforeDataSourceRequestFunction()","description":"BeforeDataSourceRequestFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/BeforeLoginConfirmationFunction":{"id":"api/types/Back/type-aliases/BeforeLoginConfirmationFunction","title":"BeforeLoginConfirmationFunction()","description":"BeforeLoginConfirmationFunction: (params?) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/BeforeSaveFunction":{"id":"api/types/Back/type-aliases/BeforeSaveFunction","title":"BeforeSaveFunction()","description":"BeforeSaveFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/FDataFilter":{"id":"api/types/Back/type-aliases/FDataFilter","title":"FDataFilter()","description":"FDataFilter: (field, value) => IAdminForthFilter","sidebar":"apiSidebar"},"api/types/Back/type-aliases/FDataSort":{"id":"api/types/Back/type-aliases/FDataSort","title":"FDataSort()","description":"FDataSort: (field, direction) => IAdminForthSort","sidebar":"apiSidebar"},"api/types/Common/enumerations/ActionCheckSource":{"id":"api/types/Common/enumerations/ActionCheckSource","title":"ActionCheckSource","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthDataTypes":{"id":"api/types/Common/enumerations/AdminForthDataTypes","title":"AdminForthDataTypes","description":"Types that are common for both frontend side (SPA) and backend side (server).","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthFilterOperators":{"id":"api/types/Common/enumerations/AdminForthFilterOperators","title":"AdminForthFilterOperators","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthMenuTypes":{"id":"api/types/Common/enumerations/AdminForthMenuTypes","title":"AdminForthMenuTypes","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthResourcePages":{"id":"api/types/Common/enumerations/AdminForthResourcePages","title":"AdminForthResourcePages","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthSortDirections":{"id":"api/types/Common/enumerations/AdminForthSortDirections","title":"AdminForthSortDirections","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AllowedActionsEnum":{"id":"api/types/Common/enumerations/AllowedActionsEnum","title":"AllowedActionsEnum","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/index":{"id":"api/types/Common/index","title":"types/Common","description":"Index","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthBulkActionCommon":{"id":"api/types/Common/interfaces/AdminForthBulkActionCommon","title":"AdminForthBulkActionCommon","description":"Extended by","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthColumnEnumItem":{"id":"api/types/Common/interfaces/AdminForthColumnEnumItem","title":"AdminForthColumnEnumItem","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthComponentDeclarationFull":{"id":"api/types/Common/interfaces/AdminForthComponentDeclarationFull","title":"AdminForthComponentDeclarationFull","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthConfigForFrontend":{"id":"api/types/Common/interfaces/AdminForthConfigForFrontend","title":"AdminForthConfigForFrontend","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthConfigMenuItem":{"id":"api/types/Common/interfaces/AdminForthConfigMenuItem","title":"AdminForthConfigMenuItem","description":"Menu item which displayed in the left sidebar of the admin panel.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthFieldComponents":{"id":"api/types/Common/interfaces/AdminForthFieldComponents","title":"AdminForthFieldComponents","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthForeignResourceCommon":{"id":"api/types/Common/interfaces/AdminForthForeignResourceCommon","title":"AdminForthForeignResourceCommon","description":"Extended by","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceColumnCommon":{"id":"api/types/Common/interfaces/AdminForthResourceColumnCommon","title":"AdminForthResourceColumnCommon","description":"Column describes one field in the table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceColumnInputCommon":{"id":"api/types/Common/interfaces/AdminForthResourceColumnInputCommon","title":"AdminForthResourceColumnInputCommon","description":"Column describes one field in the table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceCommon":{"id":"api/types/Common/interfaces/AdminForthResourceCommon","title":"AdminForthResourceCommon","description":"Resource describes one table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceInputCommon":{"id":"api/types/Common/interfaces/AdminForthResourceInputCommon","title":"AdminForthResourceInputCommon","description":"Resource describes one table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminUser":{"id":"api/types/Common/interfaces/AdminUser","title":"AdminUser","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/GetBaseConfigResponse":{"id":"api/types/Common/interfaces/GetBaseConfigResponse","title":"GetBaseConfigResponse","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/ResourceVeryShort":{"id":"api/types/Common/interfaces/ResourceVeryShort","title":"ResourceVeryShort","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/UserData":{"id":"api/types/Common/interfaces/UserData","title":"UserData","description":"Indexable","sidebar":"apiSidebar"},"api/types/Common/type-aliases/AdminForthComponentDeclaration":{"id":"api/types/Common/type-aliases/AdminForthComponentDeclaration","title":"AdminForthComponentDeclaration","description":"AdminForthComponentDeclaration: AdminForthComponentDeclarationFull \\\\| string","sidebar":"apiSidebar"},"api/types/Common/type-aliases/AllowedActionsResolved":{"id":"api/types/Common/type-aliases/AllowedActionsResolved","title":"AllowedActionsResolved","description":"AllowedActionsResolved boolean }","sidebar":"apiSidebar"},"api/types/Common/type-aliases/AnnouncementBadgeResponse":{"id":"api/types/Common/type-aliases/AnnouncementBadgeResponse","title":"AnnouncementBadgeResponse","description":"AnnouncementBadgeResponse: object","sidebar":"apiSidebar"},"api/types/Common/type-aliases/ValidationObject":{"id":"api/types/Common/type-aliases/ValidationObject","title":"ValidationObject","description":"ValidationObject: object","sidebar":"apiSidebar"},"api/types/FrontendAPI/enumerations/AlertVariant":{"id":"api/types/FrontendAPI/enumerations/AlertVariant","title":"AlertVariant","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/FrontendAPI/index":{"id":"api/types/FrontendAPI/index","title":"types/FrontendAPI","description":"Index","sidebar":"apiSidebar"},"api/types/FrontendAPI/interfaces/FrontendAPIInterface":{"id":"api/types/FrontendAPI/interfaces/FrontendAPIInterface","title":"FrontendAPIInterface","description":"Properties","sidebar":"apiSidebar"},"api/types/FrontendAPI/type-aliases/AlertParams":{"id":"api/types/FrontendAPI/type-aliases/AlertParams","title":"AlertParams","description":"AlertParams: object","sidebar":"apiSidebar"},"api/types/FrontendAPI/type-aliases/ConfirmParams":{"id":"api/types/FrontendAPI/type-aliases/ConfirmParams","title":"ConfirmParams","description":"ConfirmParams: object","sidebar":"apiSidebar"},"tutorial/Advanced/plugin-development":{"id":"tutorial/Advanced/plugin-development","title":"Plugin development guide","description":"Creating a plugin is a powerful way to extend AdminForth functionality.","sidebar":"tutorialSidebar"},"tutorial/Customization/afcl":{"id":"tutorial/Customization/afcl","title":"AdminForth Components Library","description":"ACL is a new set of components which you can use as build blocks.","sidebar":"tutorialSidebar"},"tutorial/Customization/alert":{"id":"tutorial/Customization/alert","title":"Alerts and confirmations","description":"When you are writing custom components or pages you might need to show alerts or confirmations to the user.","sidebar":"tutorialSidebar"},"tutorial/Customization/branding":{"id":"tutorial/Customization/branding","title":"Branding and Theming","description":"The first things you would probably like to change are the logo, favicon and the name of the application.","sidebar":"tutorialSidebar"},"tutorial/Customization/bulkActions":{"id":"tutorial/Customization/bulkActions","title":"Custom bulk actions","description":"You might need to give admin users a feature to perform same action on multiple records at once.","sidebar":"tutorialSidebar"},"tutorial/Customization/customFieldRendering":{"id":"tutorial/Customization/customFieldRendering","title":"Custom record field rendering","description":"Customizing how AdminForth renders the cells with record values","sidebar":"tutorialSidebar"},"tutorial/Customization/customPages":{"id":"tutorial/Customization/customPages","title":"Custom pages","description":"Most Admin Panels should have some Dashboards or custom pages.","sidebar":"tutorialSidebar"},"tutorial/Customization/dataApi":{"id":"tutorial/Customization/dataApi","title":"Data API","description":"AdminForth Data API is a minimal set of methods to manipulate the data in the database.","sidebar":"tutorialSidebar"},"tutorial/Customization/hooks":{"id":"tutorial/Customization/hooks","title":"Hooks","description":"Hooks are used to:","sidebar":"tutorialSidebar"},"tutorial/Customization/limitingAccess":{"id":"tutorial/Customization/limitingAccess","title":"Limiting actions access","description":"Statically disable some action","sidebar":"tutorialSidebar"},"tutorial/Customization/menuConfiguration":{"id":"tutorial/Customization/menuConfiguration","title":"Menu Configuration","description":"Icons","sidebar":"tutorialSidebar"},"tutorial/Customization/pageInjections":{"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.","sidebar":"tutorialSidebar"},"tutorial/Customization/security":{"id":"tutorial/Customization/security","title":"Security","description":"Security and privacy if adminforth users is one of the most important aspects of AdminForth.","sidebar":"tutorialSidebar"},"tutorial/Customization/standardPagesTuning":{"id":"tutorial/Customization/standardPagesTuning","title":"Standard pages tuning","description":"Fields Grouping","sidebar":"tutorialSidebar"},"tutorial/Customization/virtualColumns":{"id":"tutorial/Customization/virtualColumns","title":"Virtual columns","description":"Virtual column for show and list","sidebar":"tutorialSidebar"},"tutorial/Customization/websocket":{"id":"tutorial/Customization/websocket","title":"Websocket","description":"AdminForth provide own build-in websocket interface which allows to stream some data to frontend from backend.","sidebar":"tutorialSidebar"},"tutorial/deploy":{"id":"tutorial/deploy","title":"Deploy in Docker","description":"In general you can already run your index.ts file which we created in Getting Started","sidebar":"tutorialSidebar"},"tutorial/gettingStarted":{"id":"tutorial/gettingStarted","title":"Getting Started","description":"This Getting Started Page has some explanations and tables with various field types.","sidebar":"tutorialSidebar"},"tutorial/glossary":{"id":"tutorial/glossary","title":"Glossary","description":"dataSource","sidebar":"tutorialSidebar"},"tutorial/helloWorld":{"id":"tutorial/helloWorld","title":"Hello world app","description":"No water. Pure code to get started ASAP.","sidebar":"tutorialSidebar"},"tutorial/Plugins/AuditLog":{"id":"tutorial/Plugins/AuditLog","title":"AuditLog","description":"AuditLog plugin allows to log all changes in the resources done from the admin panel.","sidebar":"tutorialSidebar"},"tutorial/Plugins/chat-gpt":{"id":"tutorial/Plugins/chat-gpt","title":"Chat-GPT","description":"This plugin allows you to auto-complete text and string fields using OpenAI Chat GPT models.","sidebar":"tutorialSidebar"},"tutorial/Plugins/email-password-reset":{"id":"tutorial/Plugins/email-password-reset","title":"Email password reset","description":"Plugin allows to reset password for admin users who forgot their password by sending email with reset link signed with secured JWT token.","sidebar":"tutorialSidebar"},"tutorial/Plugins/ForeignInlineList":{"id":"tutorial/Plugins/ForeignInlineList","title":"ForeignInlineList","description":"Foreign inline list plugin allows to display a list (table) of items from a foreign table in the show view.","sidebar":"tutorialSidebar"},"tutorial/Plugins/import-export":{"id":"tutorial/Plugins/import-export","title":"Import-Export","description":"Import-Export is a plugin that allows you to import and export data from and to a CSV file.","sidebar":"tutorialSidebar"},"tutorial/Plugins/open-signup":{"id":"tutorial/Plugins/open-signup","title":"Open Signup","description":"Open Signup plugin allows users to register in adminforth by them-selfs without admin.","sidebar":"tutorialSidebar"},"tutorial/Plugins/RichEditor":{"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.","sidebar":"tutorialSidebar"},"tutorial/Plugins/TwoFactorsAuth":{"id":"tutorial/Plugins/TwoFactorsAuth","title":"Two-Factor Authentication Plugin","description":"The Two-Factor Authentication Plugin provides an additional layer of security to the application by requiring users to provide a second form of authentication in addition to their password. This plugin supports authenticator apps.","sidebar":"tutorialSidebar"},"tutorial/Plugins/upload":{"id":"tutorial/Plugins/upload","title":"Upload","description":"This plugin allows you to upload files to Amazon S3 bucket.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/11b43341.976c6311.js b/assets/js/11b43341.976c6311.js new file mode 100644 index 000000000..d8039f4d9 --- /dev/null +++ b/assets/js/11b43341.976c6311.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[2256],{7674:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/tutorial/gettingStarted","docId":"tutorial/gettingStarted","unlisted":false},{"type":"link","label":"Hello world app","href":"/docs/tutorial/helloWorld","docId":"tutorial/helloWorld","unlisted":false},{"type":"link","label":"Glossary","href":"/docs/tutorial/glossary","docId":"tutorial/glossary","unlisted":false},{"type":"category","label":"Customization","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Branding and Theming","href":"/docs/tutorial/Customization/branding","docId":"tutorial/Customization/branding","unlisted":false},{"type":"link","label":"Custom record field rendering","href":"/docs/tutorial/Customization/customFieldRendering","docId":"tutorial/Customization/customFieldRendering","unlisted":false},{"type":"link","label":"Virtual columns","href":"/docs/tutorial/Customization/virtualColumns","docId":"tutorial/Customization/virtualColumns","unlisted":false},{"type":"link","label":"Hooks","href":"/docs/tutorial/Customization/hooks","docId":"tutorial/Customization/hooks","unlisted":false},{"type":"link","label":"Limiting actions access","href":"/docs/tutorial/Customization/limitingAccess","docId":"tutorial/Customization/limitingAccess","unlisted":false},{"type":"link","label":"Custom pages","href":"/docs/tutorial/Customization/customPages","docId":"tutorial/Customization/customPages","unlisted":false},{"type":"link","label":"Alerts and confirmations","href":"/docs/tutorial/Customization/alert","docId":"tutorial/Customization/alert","unlisted":false},{"type":"link","label":"Page Injections","href":"/docs/tutorial/Customization/pageInjections","docId":"tutorial/Customization/pageInjections","unlisted":false},{"type":"link","label":"Custom bulk actions","href":"/docs/tutorial/Customization/bulkActions","docId":"tutorial/Customization/bulkActions","unlisted":false},{"type":"link","label":"Menu Configuration","href":"/docs/tutorial/Customization/menuConfiguration","docId":"tutorial/Customization/menuConfiguration","unlisted":false},{"type":"link","label":"Data API","href":"/docs/tutorial/Customization/dataApi","docId":"tutorial/Customization/dataApi","unlisted":false},{"type":"link","label":"Security","href":"/docs/tutorial/Customization/security","docId":"tutorial/Customization/security","unlisted":false},{"type":"link","label":"Standard pages tuning","href":"/docs/tutorial/Customization/standardPagesTuning","docId":"tutorial/Customization/standardPagesTuning","unlisted":false},{"type":"link","label":"AdminForth Components Library","href":"/docs/tutorial/Customization/afcl","docId":"tutorial/Customization/afcl","unlisted":false},{"type":"link","label":"Websocket","href":"/docs/tutorial/Customization/websocket","docId":"tutorial/Customization/websocket","unlisted":false}]},{"type":"link","label":"Deploy in Docker","href":"/docs/tutorial/deploy","docId":"tutorial/deploy","unlisted":false},{"type":"category","label":"Plugins","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"AuditLog","href":"/docs/tutorial/Plugins/AuditLog","docId":"tutorial/Plugins/AuditLog","unlisted":false},{"type":"link","label":"Two-Factor Authentication Plugin","href":"/docs/tutorial/Plugins/TwoFactorsAuth","docId":"tutorial/Plugins/TwoFactorsAuth","unlisted":false},{"type":"link","label":"ForeignInlineList","href":"/docs/tutorial/Plugins/ForeignInlineList","docId":"tutorial/Plugins/ForeignInlineList","unlisted":false},{"type":"link","label":"Rich editor","href":"/docs/tutorial/Plugins/RichEditor","docId":"tutorial/Plugins/RichEditor","unlisted":false},{"type":"link","label":"Upload","href":"/docs/tutorial/Plugins/upload","docId":"tutorial/Plugins/upload","unlisted":false},{"type":"link","label":"Text Complete","href":"/docs/tutorial/Plugins/text-complete","docId":"tutorial/Plugins/text-complete","unlisted":false},{"type":"link","label":"Email password reset","href":"/docs/tutorial/Plugins/email-password-reset","docId":"tutorial/Plugins/email-password-reset","unlisted":false},{"type":"link","label":"Import-Export","href":"/docs/tutorial/Plugins/import-export","docId":"tutorial/Plugins/import-export","unlisted":false},{"type":"link","label":"Open Signup","href":"/docs/tutorial/Plugins/open-signup","docId":"tutorial/Plugins/open-signup","unlisted":false}]},{"type":"category","label":"Advanced","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Plugin development guide","href":"/docs/tutorial/Advanced/plugin-development","docId":"tutorial/Advanced/plugin-development","unlisted":false}]}],"apiSidebar":[{"type":"category","label":"API","items":[{"type":"category","label":"types","items":[{"type":"category","label":"Back","items":[{"type":"category","label":"Classes","items":[{"type":"link","label":"Filters","href":"/docs/api/types/Back/classes/Filters","docId":"api/types/Back/classes/Filters","unlisted":false},{"type":"link","label":"Sorts","href":"/docs/api/types/Back/classes/Sorts","docId":"api/types/Back/classes/Sorts","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Interfaces","items":[{"type":"link","label":"AdminForthBulkAction","href":"/docs/api/types/Back/interfaces/AdminForthBulkAction","docId":"api/types/Back/interfaces/AdminForthBulkAction","unlisted":false},{"type":"link","label":"AdminForthConfig","href":"/docs/api/types/Back/interfaces/AdminForthConfig","docId":"api/types/Back/interfaces/AdminForthConfig","unlisted":false},{"type":"link","label":"AdminForthConfigCustomization","href":"/docs/api/types/Back/interfaces/AdminForthConfigCustomization","docId":"api/types/Back/interfaces/AdminForthConfigCustomization","unlisted":false},{"type":"link","label":"AdminForthForeignResource","href":"/docs/api/types/Back/interfaces/AdminForthForeignResource","docId":"api/types/Back/interfaces/AdminForthForeignResource","unlisted":false},{"type":"link","label":"AdminForthInputConfig","href":"/docs/api/types/Back/interfaces/AdminForthInputConfig","docId":"api/types/Back/interfaces/AdminForthInputConfig","unlisted":false},{"type":"link","label":"AdminForthResource","href":"/docs/api/types/Back/interfaces/AdminForthResource","docId":"api/types/Back/interfaces/AdminForthResource","unlisted":false},{"type":"link","label":"AdminForthResourceColumn","href":"/docs/api/types/Back/interfaces/AdminForthResourceColumn","docId":"api/types/Back/interfaces/AdminForthResourceColumn","unlisted":false},{"type":"link","label":"AdminForthResourceInput","href":"/docs/api/types/Back/interfaces/AdminForthResourceInput","docId":"api/types/Back/interfaces/AdminForthResourceInput","unlisted":false},{"type":"link","label":"HttpExtra","href":"/docs/api/types/Back/interfaces/HttpExtra","docId":"api/types/Back/interfaces/HttpExtra","unlisted":false},{"type":"link","label":"IAdminForth","href":"/docs/api/types/Back/interfaces/IAdminForth","docId":"api/types/Back/interfaces/IAdminForth","unlisted":false},{"type":"link","label":"IAdminForthAuth","href":"/docs/api/types/Back/interfaces/IAdminForthAuth","docId":"api/types/Back/interfaces/IAdminForthAuth","unlisted":false},{"type":"link","label":"IAdminForthDataSourceConnector","href":"/docs/api/types/Back/interfaces/IAdminForthDataSourceConnector","docId":"api/types/Back/interfaces/IAdminForthDataSourceConnector","unlisted":false},{"type":"link","label":"IAdminForthDataSourceConnectorBase","href":"/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorBase","docId":"api/types/Back/interfaces/IAdminForthDataSourceConnectorBase","unlisted":false},{"type":"link","label":"IAdminForthDataSourceConnectorConstructor","href":"/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor","docId":"api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor","unlisted":false},{"type":"link","label":"IAdminForthFilter","href":"/docs/api/types/Back/interfaces/IAdminForthFilter","docId":"api/types/Back/interfaces/IAdminForthFilter","unlisted":false},{"type":"link","label":"IAdminForthHttpResponse","href":"/docs/api/types/Back/interfaces/IAdminForthHttpResponse","docId":"api/types/Back/interfaces/IAdminForthHttpResponse","unlisted":false},{"type":"link","label":"IAdminForthPlugin","href":"/docs/api/types/Back/interfaces/IAdminForthPlugin","docId":"api/types/Back/interfaces/IAdminForthPlugin","unlisted":false},{"type":"link","label":"IAdminForthRestAPI","href":"/docs/api/types/Back/interfaces/IAdminForthRestAPI","docId":"api/types/Back/interfaces/IAdminForthRestAPI","unlisted":false},{"type":"link","label":"IAdminForthSort","href":"/docs/api/types/Back/interfaces/IAdminForthSort","docId":"api/types/Back/interfaces/IAdminForthSort","unlisted":false},{"type":"link","label":"ICodeInjector","href":"/docs/api/types/Back/interfaces/ICodeInjector","docId":"api/types/Back/interfaces/ICodeInjector","unlisted":false},{"type":"link","label":"IConfigValidator","href":"/docs/api/types/Back/interfaces/IConfigValidator","docId":"api/types/Back/interfaces/IConfigValidator","unlisted":false},{"type":"link","label":"IExpressHttpServer","href":"/docs/api/types/Back/interfaces/IExpressHttpServer","docId":"api/types/Back/interfaces/IExpressHttpServer","unlisted":false},{"type":"link","label":"IHttpServer","href":"/docs/api/types/Back/interfaces/IHttpServer","docId":"api/types/Back/interfaces/IHttpServer","unlisted":false},{"type":"link","label":"IOperationalResource","href":"/docs/api/types/Back/interfaces/IOperationalResource","docId":"api/types/Back/interfaces/IOperationalResource","unlisted":false},{"type":"link","label":"IWebSocketBroker","href":"/docs/api/types/Back/interfaces/IWebSocketBroker","docId":"api/types/Back/interfaces/IWebSocketBroker","unlisted":false},{"type":"link","label":"IWebSocketClient","href":"/docs/api/types/Back/interfaces/IWebSocketClient","docId":"api/types/Back/interfaces/IWebSocketClient","unlisted":false},{"type":"link","label":"ResourceOptions","href":"/docs/api/types/Back/interfaces/ResourceOptions","docId":"api/types/Back/interfaces/ResourceOptions","unlisted":false},{"type":"link","label":"ResourceOptionsInput","href":"/docs/api/types/Back/interfaces/ResourceOptionsInput","docId":"api/types/Back/interfaces/ResourceOptionsInput","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Type Aliases","items":[{"type":"link","label":"AdminForthDataSource","href":"/docs/api/types/Back/type-aliases/AdminForthDataSource","docId":"api/types/Back/type-aliases/AdminForthDataSource","unlisted":false},{"type":"link","label":"AfterDataSourceResponseFunction","href":"/docs/api/types/Back/type-aliases/AfterDataSourceResponseFunction","docId":"api/types/Back/type-aliases/AfterDataSourceResponseFunction","unlisted":false},{"type":"link","label":"AfterSaveFunction","href":"/docs/api/types/Back/type-aliases/AfterSaveFunction","docId":"api/types/Back/type-aliases/AfterSaveFunction","unlisted":false},{"type":"link","label":"AllowedActionValue","href":"/docs/api/types/Back/type-aliases/AllowedActionValue","docId":"api/types/Back/type-aliases/AllowedActionValue","unlisted":false},{"type":"link","label":"AllowedActions","href":"/docs/api/types/Back/type-aliases/AllowedActions","docId":"api/types/Back/type-aliases/AllowedActions","unlisted":false},{"type":"link","label":"AllowedActionsInput","href":"/docs/api/types/Back/type-aliases/AllowedActionsInput","docId":"api/types/Back/type-aliases/AllowedActionsInput","unlisted":false},{"type":"link","label":"BeforeDataSourceRequestFunction","href":"/docs/api/types/Back/type-aliases/BeforeDataSourceRequestFunction","docId":"api/types/Back/type-aliases/BeforeDataSourceRequestFunction","unlisted":false},{"type":"link","label":"BeforeLoginConfirmationFunction","href":"/docs/api/types/Back/type-aliases/BeforeLoginConfirmationFunction","docId":"api/types/Back/type-aliases/BeforeLoginConfirmationFunction","unlisted":false},{"type":"link","label":"BeforeSaveFunction","href":"/docs/api/types/Back/type-aliases/BeforeSaveFunction","docId":"api/types/Back/type-aliases/BeforeSaveFunction","unlisted":false},{"type":"link","label":"FDataFilter","href":"/docs/api/types/Back/type-aliases/FDataFilter","docId":"api/types/Back/type-aliases/FDataFilter","unlisted":false},{"type":"link","label":"FDataSort","href":"/docs/api/types/Back/type-aliases/FDataSort","docId":"api/types/Back/type-aliases/FDataSort","unlisted":false}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/types/Back/"},{"type":"category","label":"Common","items":[{"type":"category","label":"Enumerations","items":[{"type":"link","label":"ActionCheckSource","href":"/docs/api/types/Common/enumerations/ActionCheckSource","docId":"api/types/Common/enumerations/ActionCheckSource","unlisted":false},{"type":"link","label":"AdminForthDataTypes","href":"/docs/api/types/Common/enumerations/AdminForthDataTypes","docId":"api/types/Common/enumerations/AdminForthDataTypes","unlisted":false},{"type":"link","label":"AdminForthFilterOperators","href":"/docs/api/types/Common/enumerations/AdminForthFilterOperators","docId":"api/types/Common/enumerations/AdminForthFilterOperators","unlisted":false},{"type":"link","label":"AdminForthMenuTypes","href":"/docs/api/types/Common/enumerations/AdminForthMenuTypes","docId":"api/types/Common/enumerations/AdminForthMenuTypes","unlisted":false},{"type":"link","label":"AdminForthResourcePages","href":"/docs/api/types/Common/enumerations/AdminForthResourcePages","docId":"api/types/Common/enumerations/AdminForthResourcePages","unlisted":false},{"type":"link","label":"AdminForthSortDirections","href":"/docs/api/types/Common/enumerations/AdminForthSortDirections","docId":"api/types/Common/enumerations/AdminForthSortDirections","unlisted":false},{"type":"link","label":"AllowedActionsEnum","href":"/docs/api/types/Common/enumerations/AllowedActionsEnum","docId":"api/types/Common/enumerations/AllowedActionsEnum","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Interfaces","items":[{"type":"link","label":"AdminForthBulkActionCommon","href":"/docs/api/types/Common/interfaces/AdminForthBulkActionCommon","docId":"api/types/Common/interfaces/AdminForthBulkActionCommon","unlisted":false},{"type":"link","label":"AdminForthColumnEnumItem","href":"/docs/api/types/Common/interfaces/AdminForthColumnEnumItem","docId":"api/types/Common/interfaces/AdminForthColumnEnumItem","unlisted":false},{"type":"link","label":"AdminForthComponentDeclarationFull","href":"/docs/api/types/Common/interfaces/AdminForthComponentDeclarationFull","docId":"api/types/Common/interfaces/AdminForthComponentDeclarationFull","unlisted":false},{"type":"link","label":"AdminForthConfigForFrontend","href":"/docs/api/types/Common/interfaces/AdminForthConfigForFrontend","docId":"api/types/Common/interfaces/AdminForthConfigForFrontend","unlisted":false},{"type":"link","label":"AdminForthConfigMenuItem","href":"/docs/api/types/Common/interfaces/AdminForthConfigMenuItem","docId":"api/types/Common/interfaces/AdminForthConfigMenuItem","unlisted":false},{"type":"link","label":"AdminForthFieldComponents","href":"/docs/api/types/Common/interfaces/AdminForthFieldComponents","docId":"api/types/Common/interfaces/AdminForthFieldComponents","unlisted":false},{"type":"link","label":"AdminForthForeignResourceCommon","href":"/docs/api/types/Common/interfaces/AdminForthForeignResourceCommon","docId":"api/types/Common/interfaces/AdminForthForeignResourceCommon","unlisted":false},{"type":"link","label":"AdminForthResourceColumnCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceColumnCommon","docId":"api/types/Common/interfaces/AdminForthResourceColumnCommon","unlisted":false},{"type":"link","label":"AdminForthResourceColumnInputCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceColumnInputCommon","docId":"api/types/Common/interfaces/AdminForthResourceColumnInputCommon","unlisted":false},{"type":"link","label":"AdminForthResourceCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceCommon","docId":"api/types/Common/interfaces/AdminForthResourceCommon","unlisted":false},{"type":"link","label":"AdminForthResourceInputCommon","href":"/docs/api/types/Common/interfaces/AdminForthResourceInputCommon","docId":"api/types/Common/interfaces/AdminForthResourceInputCommon","unlisted":false},{"type":"link","label":"AdminUser","href":"/docs/api/types/Common/interfaces/AdminUser","docId":"api/types/Common/interfaces/AdminUser","unlisted":false},{"type":"link","label":"GetBaseConfigResponse","href":"/docs/api/types/Common/interfaces/GetBaseConfigResponse","docId":"api/types/Common/interfaces/GetBaseConfigResponse","unlisted":false},{"type":"link","label":"ResourceVeryShort","href":"/docs/api/types/Common/interfaces/ResourceVeryShort","docId":"api/types/Common/interfaces/ResourceVeryShort","unlisted":false},{"type":"link","label":"UserData","href":"/docs/api/types/Common/interfaces/UserData","docId":"api/types/Common/interfaces/UserData","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Type Aliases","items":[{"type":"link","label":"AdminForthComponentDeclaration","href":"/docs/api/types/Common/type-aliases/AdminForthComponentDeclaration","docId":"api/types/Common/type-aliases/AdminForthComponentDeclaration","unlisted":false},{"type":"link","label":"AllowedActionsResolved","href":"/docs/api/types/Common/type-aliases/AllowedActionsResolved","docId":"api/types/Common/type-aliases/AllowedActionsResolved","unlisted":false},{"type":"link","label":"AnnouncementBadgeResponse","href":"/docs/api/types/Common/type-aliases/AnnouncementBadgeResponse","docId":"api/types/Common/type-aliases/AnnouncementBadgeResponse","unlisted":false},{"type":"link","label":"ValidationObject","href":"/docs/api/types/Common/type-aliases/ValidationObject","docId":"api/types/Common/type-aliases/ValidationObject","unlisted":false}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/types/Common/"},{"type":"category","label":"FrontendAPI","items":[{"type":"category","label":"Enumerations","items":[{"type":"link","label":"AlertVariant","href":"/docs/api/types/FrontendAPI/enumerations/AlertVariant","docId":"api/types/FrontendAPI/enumerations/AlertVariant","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Interfaces","items":[{"type":"link","label":"FrontendAPIInterface","href":"/docs/api/types/FrontendAPI/interfaces/FrontendAPIInterface","docId":"api/types/FrontendAPI/interfaces/FrontendAPIInterface","unlisted":false}],"collapsed":false,"collapsible":false},{"type":"category","label":"Type Aliases","items":[{"type":"link","label":"AlertParams","href":"/docs/api/types/FrontendAPI/type-aliases/AlertParams","docId":"api/types/FrontendAPI/type-aliases/AlertParams","unlisted":false},{"type":"link","label":"ConfirmParams","href":"/docs/api/types/FrontendAPI/type-aliases/ConfirmParams","docId":"api/types/FrontendAPI/type-aliases/ConfirmParams","unlisted":false}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/types/FrontendAPI/"}],"collapsed":false,"collapsible":false}],"collapsed":false,"collapsible":false,"href":"/docs/api/"}]},"docs":{"api/index":{"id":"api/index","title":"TypeDoc API","description":"Modules","sidebar":"apiSidebar"},"api/types/Back/classes/Filters":{"id":"api/types/Back/classes/Filters","title":"Filters","description":"Constructors","sidebar":"apiSidebar"},"api/types/Back/classes/Sorts":{"id":"api/types/Back/classes/Sorts","title":"Sorts","description":"Constructors","sidebar":"apiSidebar"},"api/types/Back/index":{"id":"api/types/Back/index","title":"types/Back","description":"Index","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthBulkAction":{"id":"api/types/Back/interfaces/AdminForthBulkAction","title":"AdminForthBulkAction","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthConfig":{"id":"api/types/Back/interfaces/AdminForthConfig","title":"AdminForthConfig","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthConfigCustomization":{"id":"api/types/Back/interfaces/AdminForthConfigCustomization","title":"AdminForthConfigCustomization","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthForeignResource":{"id":"api/types/Back/interfaces/AdminForthForeignResource","title":"AdminForthForeignResource","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthInputConfig":{"id":"api/types/Back/interfaces/AdminForthInputConfig","title":"AdminForthInputConfig","description":"Main configuration object for AdminForth","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthResource":{"id":"api/types/Back/interfaces/AdminForthResource","title":"AdminForthResource","description":"Resource describes one table or collection in database.","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthResourceColumn":{"id":"api/types/Back/interfaces/AdminForthResourceColumn","title":"AdminForthResourceColumn","description":"Column describes one field in the table or collection in database.","sidebar":"apiSidebar"},"api/types/Back/interfaces/AdminForthResourceInput":{"id":"api/types/Back/interfaces/AdminForthResourceInput","title":"AdminForthResourceInput","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/HttpExtra":{"id":"api/types/Back/interfaces/HttpExtra","title":"HttpExtra","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForth":{"id":"api/types/Back/interfaces/IAdminForth","title":"IAdminForth","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthAuth":{"id":"api/types/Back/interfaces/IAdminForthAuth","title":"IAdminForthAuth","description":"Methods","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthDataSourceConnector":{"id":"api/types/Back/interfaces/IAdminForthDataSourceConnector","title":"IAdminForthDataSourceConnector","description":"Extended by","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthDataSourceConnectorBase":{"id":"api/types/Back/interfaces/IAdminForthDataSourceConnectorBase","title":"IAdminForthDataSourceConnectorBase","description":"Interface that exposes methods to interact with AdminForth in standard way","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor":{"id":"api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor","title":"IAdminForthDataSourceConnectorConstructor","description":"Constructors","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthFilter":{"id":"api/types/Back/interfaces/IAdminForthFilter","title":"IAdminForthFilter","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthHttpResponse":{"id":"api/types/Back/interfaces/IAdminForthHttpResponse","title":"IAdminForthHttpResponse","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthPlugin":{"id":"api/types/Back/interfaces/IAdminForthPlugin","title":"IAdminForthPlugin","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthRestAPI":{"id":"api/types/Back/interfaces/IAdminForthRestAPI","title":"IAdminForthRestAPI","description":"Methods","sidebar":"apiSidebar"},"api/types/Back/interfaces/IAdminForthSort":{"id":"api/types/Back/interfaces/IAdminForthSort","title":"IAdminForthSort","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/ICodeInjector":{"id":"api/types/Back/interfaces/ICodeInjector","title":"ICodeInjector","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IConfigValidator":{"id":"api/types/Back/interfaces/IConfigValidator","title":"IConfigValidator","description":"Methods","sidebar":"apiSidebar"},"api/types/Back/interfaces/IExpressHttpServer":{"id":"api/types/Back/interfaces/IExpressHttpServer","title":"IExpressHttpServer","description":"Implement this interface to create custom HTTP server adapter for AdminForth.","sidebar":"apiSidebar"},"api/types/Back/interfaces/IHttpServer":{"id":"api/types/Back/interfaces/IHttpServer","title":"IHttpServer","description":"Implement this interface to create custom HTTP server adapter for AdminForth.","sidebar":"apiSidebar"},"api/types/Back/interfaces/IOperationalResource":{"id":"api/types/Back/interfaces/IOperationalResource","title":"IOperationalResource","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IWebSocketBroker":{"id":"api/types/Back/interfaces/IWebSocketBroker","title":"IWebSocketBroker","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/IWebSocketClient":{"id":"api/types/Back/interfaces/IWebSocketClient","title":"IWebSocketClient","description":"Properties","sidebar":"apiSidebar"},"api/types/Back/interfaces/ResourceOptions":{"id":"api/types/Back/interfaces/ResourceOptions","title":"ResourceOptions","description":"Extends","sidebar":"apiSidebar"},"api/types/Back/interfaces/ResourceOptionsInput":{"id":"api/types/Back/interfaces/ResourceOptionsInput","title":"ResourceOptionsInput","description":"General options for resource.","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AdminForthDataSource":{"id":"api/types/Back/type-aliases/AdminForthDataSource","title":"AdminForthDataSource","description":"AdminForthDataSource: object","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AfterDataSourceResponseFunction":{"id":"api/types/Back/type-aliases/AfterDataSourceResponseFunction","title":"AfterDataSourceResponseFunction()","description":"AfterDataSourceResponseFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AfterSaveFunction":{"id":"api/types/Back/type-aliases/AfterSaveFunction","title":"AfterSaveFunction()","description":"AfterSaveFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AllowedActions":{"id":"api/types/Back/type-aliases/AllowedActions","title":"AllowedActions","description":"AllowedActions AllowedActionValue }","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AllowedActionsInput":{"id":"api/types/Back/type-aliases/AllowedActionsInput","title":"AllowedActionsInput","description":"AllowedActionsInput AllowedActionValue } & object","sidebar":"apiSidebar"},"api/types/Back/type-aliases/AllowedActionValue":{"id":"api/types/Back/type-aliases/AllowedActionValue","title":"AllowedActionValue","description":"AllowedActionValue: boolean \\\\| ({adminUser, resource, meta, source, adminforth}) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/BeforeDataSourceRequestFunction":{"id":"api/types/Back/type-aliases/BeforeDataSourceRequestFunction","title":"BeforeDataSourceRequestFunction()","description":"BeforeDataSourceRequestFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/BeforeLoginConfirmationFunction":{"id":"api/types/Back/type-aliases/BeforeLoginConfirmationFunction","title":"BeforeLoginConfirmationFunction()","description":"BeforeLoginConfirmationFunction: (params?) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/BeforeSaveFunction":{"id":"api/types/Back/type-aliases/BeforeSaveFunction","title":"BeforeSaveFunction()","description":"BeforeSaveFunction: (params) => Promise\\\\","sidebar":"apiSidebar"},"api/types/Back/type-aliases/FDataFilter":{"id":"api/types/Back/type-aliases/FDataFilter","title":"FDataFilter()","description":"FDataFilter: (field, value) => IAdminForthFilter","sidebar":"apiSidebar"},"api/types/Back/type-aliases/FDataSort":{"id":"api/types/Back/type-aliases/FDataSort","title":"FDataSort()","description":"FDataSort: (field, direction) => IAdminForthSort","sidebar":"apiSidebar"},"api/types/Common/enumerations/ActionCheckSource":{"id":"api/types/Common/enumerations/ActionCheckSource","title":"ActionCheckSource","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthDataTypes":{"id":"api/types/Common/enumerations/AdminForthDataTypes","title":"AdminForthDataTypes","description":"Types that are common for both frontend side (SPA) and backend side (server).","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthFilterOperators":{"id":"api/types/Common/enumerations/AdminForthFilterOperators","title":"AdminForthFilterOperators","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthMenuTypes":{"id":"api/types/Common/enumerations/AdminForthMenuTypes","title":"AdminForthMenuTypes","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthResourcePages":{"id":"api/types/Common/enumerations/AdminForthResourcePages","title":"AdminForthResourcePages","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AdminForthSortDirections":{"id":"api/types/Common/enumerations/AdminForthSortDirections","title":"AdminForthSortDirections","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/enumerations/AllowedActionsEnum":{"id":"api/types/Common/enumerations/AllowedActionsEnum","title":"AllowedActionsEnum","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/Common/index":{"id":"api/types/Common/index","title":"types/Common","description":"Index","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthBulkActionCommon":{"id":"api/types/Common/interfaces/AdminForthBulkActionCommon","title":"AdminForthBulkActionCommon","description":"Extended by","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthColumnEnumItem":{"id":"api/types/Common/interfaces/AdminForthColumnEnumItem","title":"AdminForthColumnEnumItem","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthComponentDeclarationFull":{"id":"api/types/Common/interfaces/AdminForthComponentDeclarationFull","title":"AdminForthComponentDeclarationFull","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthConfigForFrontend":{"id":"api/types/Common/interfaces/AdminForthConfigForFrontend","title":"AdminForthConfigForFrontend","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthConfigMenuItem":{"id":"api/types/Common/interfaces/AdminForthConfigMenuItem","title":"AdminForthConfigMenuItem","description":"Menu item which displayed in the left sidebar of the admin panel.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthFieldComponents":{"id":"api/types/Common/interfaces/AdminForthFieldComponents","title":"AdminForthFieldComponents","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthForeignResourceCommon":{"id":"api/types/Common/interfaces/AdminForthForeignResourceCommon","title":"AdminForthForeignResourceCommon","description":"Extended by","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceColumnCommon":{"id":"api/types/Common/interfaces/AdminForthResourceColumnCommon","title":"AdminForthResourceColumnCommon","description":"Column describes one field in the table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceColumnInputCommon":{"id":"api/types/Common/interfaces/AdminForthResourceColumnInputCommon","title":"AdminForthResourceColumnInputCommon","description":"Column describes one field in the table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceCommon":{"id":"api/types/Common/interfaces/AdminForthResourceCommon","title":"AdminForthResourceCommon","description":"Resource describes one table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminForthResourceInputCommon":{"id":"api/types/Common/interfaces/AdminForthResourceInputCommon","title":"AdminForthResourceInputCommon","description":"Resource describes one table or collection in database.","sidebar":"apiSidebar"},"api/types/Common/interfaces/AdminUser":{"id":"api/types/Common/interfaces/AdminUser","title":"AdminUser","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/GetBaseConfigResponse":{"id":"api/types/Common/interfaces/GetBaseConfigResponse","title":"GetBaseConfigResponse","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/ResourceVeryShort":{"id":"api/types/Common/interfaces/ResourceVeryShort","title":"ResourceVeryShort","description":"Properties","sidebar":"apiSidebar"},"api/types/Common/interfaces/UserData":{"id":"api/types/Common/interfaces/UserData","title":"UserData","description":"Indexable","sidebar":"apiSidebar"},"api/types/Common/type-aliases/AdminForthComponentDeclaration":{"id":"api/types/Common/type-aliases/AdminForthComponentDeclaration","title":"AdminForthComponentDeclaration","description":"AdminForthComponentDeclaration: AdminForthComponentDeclarationFull \\\\| string","sidebar":"apiSidebar"},"api/types/Common/type-aliases/AllowedActionsResolved":{"id":"api/types/Common/type-aliases/AllowedActionsResolved","title":"AllowedActionsResolved","description":"AllowedActionsResolved boolean }","sidebar":"apiSidebar"},"api/types/Common/type-aliases/AnnouncementBadgeResponse":{"id":"api/types/Common/type-aliases/AnnouncementBadgeResponse","title":"AnnouncementBadgeResponse","description":"AnnouncementBadgeResponse: object","sidebar":"apiSidebar"},"api/types/Common/type-aliases/ValidationObject":{"id":"api/types/Common/type-aliases/ValidationObject","title":"ValidationObject","description":"ValidationObject: object","sidebar":"apiSidebar"},"api/types/FrontendAPI/enumerations/AlertVariant":{"id":"api/types/FrontendAPI/enumerations/AlertVariant","title":"AlertVariant","description":"Enumeration Members","sidebar":"apiSidebar"},"api/types/FrontendAPI/index":{"id":"api/types/FrontendAPI/index","title":"types/FrontendAPI","description":"Index","sidebar":"apiSidebar"},"api/types/FrontendAPI/interfaces/FrontendAPIInterface":{"id":"api/types/FrontendAPI/interfaces/FrontendAPIInterface","title":"FrontendAPIInterface","description":"Properties","sidebar":"apiSidebar"},"api/types/FrontendAPI/type-aliases/AlertParams":{"id":"api/types/FrontendAPI/type-aliases/AlertParams","title":"AlertParams","description":"AlertParams: object","sidebar":"apiSidebar"},"api/types/FrontendAPI/type-aliases/ConfirmParams":{"id":"api/types/FrontendAPI/type-aliases/ConfirmParams","title":"ConfirmParams","description":"ConfirmParams: object","sidebar":"apiSidebar"},"tutorial/Advanced/plugin-development":{"id":"tutorial/Advanced/plugin-development","title":"Plugin development guide","description":"Creating a plugin is a powerful way to extend AdminForth functionality.","sidebar":"tutorialSidebar"},"tutorial/Customization/afcl":{"id":"tutorial/Customization/afcl","title":"AdminForth Components Library","description":"ACL is a new set of components which you can use as build blocks.","sidebar":"tutorialSidebar"},"tutorial/Customization/alert":{"id":"tutorial/Customization/alert","title":"Alerts and confirmations","description":"When you are writing custom components or pages you might need to show alerts or confirmations to the user.","sidebar":"tutorialSidebar"},"tutorial/Customization/branding":{"id":"tutorial/Customization/branding","title":"Branding and Theming","description":"The first things you would probably like to change are the logo, favicon and the name of the application.","sidebar":"tutorialSidebar"},"tutorial/Customization/bulkActions":{"id":"tutorial/Customization/bulkActions","title":"Custom bulk actions","description":"You might need to give admin users a feature to perform same action on multiple records at once.","sidebar":"tutorialSidebar"},"tutorial/Customization/customFieldRendering":{"id":"tutorial/Customization/customFieldRendering","title":"Custom record field rendering","description":"Customizing how AdminForth renders the cells with record values","sidebar":"tutorialSidebar"},"tutorial/Customization/customPages":{"id":"tutorial/Customization/customPages","title":"Custom pages","description":"Most Admin Panels should have some Dashboards or custom pages.","sidebar":"tutorialSidebar"},"tutorial/Customization/dataApi":{"id":"tutorial/Customization/dataApi","title":"Data API","description":"AdminForth Data API is a minimal set of methods to manipulate the data in the database.","sidebar":"tutorialSidebar"},"tutorial/Customization/hooks":{"id":"tutorial/Customization/hooks","title":"Hooks","description":"Hooks are used to:","sidebar":"tutorialSidebar"},"tutorial/Customization/limitingAccess":{"id":"tutorial/Customization/limitingAccess","title":"Limiting actions access","description":"Statically disable some action","sidebar":"tutorialSidebar"},"tutorial/Customization/menuConfiguration":{"id":"tutorial/Customization/menuConfiguration","title":"Menu Configuration","description":"Icons","sidebar":"tutorialSidebar"},"tutorial/Customization/pageInjections":{"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.","sidebar":"tutorialSidebar"},"tutorial/Customization/security":{"id":"tutorial/Customization/security","title":"Security","description":"Security and privacy if adminforth users is one of the most important aspects of AdminForth.","sidebar":"tutorialSidebar"},"tutorial/Customization/standardPagesTuning":{"id":"tutorial/Customization/standardPagesTuning","title":"Standard pages tuning","description":"Fields Grouping","sidebar":"tutorialSidebar"},"tutorial/Customization/virtualColumns":{"id":"tutorial/Customization/virtualColumns","title":"Virtual columns","description":"Virtual column for show and list","sidebar":"tutorialSidebar"},"tutorial/Customization/websocket":{"id":"tutorial/Customization/websocket","title":"Websocket","description":"AdminForth provide own build-in websocket interface which allows to stream some data to frontend from backend.","sidebar":"tutorialSidebar"},"tutorial/deploy":{"id":"tutorial/deploy","title":"Deploy in Docker","description":"In general you can already run your index.ts file which we created in Getting Started","sidebar":"tutorialSidebar"},"tutorial/gettingStarted":{"id":"tutorial/gettingStarted","title":"Getting Started","description":"This Getting Started Page has some explanations and tables with various field types.","sidebar":"tutorialSidebar"},"tutorial/glossary":{"id":"tutorial/glossary","title":"Glossary","description":"dataSource","sidebar":"tutorialSidebar"},"tutorial/helloWorld":{"id":"tutorial/helloWorld","title":"Hello world app","description":"No water. Pure code to get started ASAP.","sidebar":"tutorialSidebar"},"tutorial/Plugins/AuditLog":{"id":"tutorial/Plugins/AuditLog","title":"AuditLog","description":"AuditLog plugin allows to log all changes in the resources done from the admin panel.","sidebar":"tutorialSidebar"},"tutorial/Plugins/email-password-reset":{"id":"tutorial/Plugins/email-password-reset","title":"Email password reset","description":"Plugin allows to reset password for admin users who forgot their password by sending email with reset link signed with secured JWT token.","sidebar":"tutorialSidebar"},"tutorial/Plugins/ForeignInlineList":{"id":"tutorial/Plugins/ForeignInlineList","title":"ForeignInlineList","description":"Foreign inline list plugin allows to display a list (table) of items from a foreign table in the show view.","sidebar":"tutorialSidebar"},"tutorial/Plugins/import-export":{"id":"tutorial/Plugins/import-export","title":"Import-Export","description":"Import-Export is a plugin that allows you to import and export data from and to a CSV file.","sidebar":"tutorialSidebar"},"tutorial/Plugins/open-signup":{"id":"tutorial/Plugins/open-signup","title":"Open Signup","description":"Open Signup plugin allows users to register in adminforth by them-selfs without admin.","sidebar":"tutorialSidebar"},"tutorial/Plugins/RichEditor":{"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.","sidebar":"tutorialSidebar"},"tutorial/Plugins/text-complete":{"id":"tutorial/Plugins/text-complete","title":"Text Complete","description":"This plugin allows you to auto-complete text and string fields using OpenAI Chat GPT models.","sidebar":"tutorialSidebar"},"tutorial/Plugins/TwoFactorsAuth":{"id":"tutorial/Plugins/TwoFactorsAuth","title":"Two-Factor Authentication Plugin","description":"The Two-Factor Authentication Plugin provides an additional layer of security to the application by requiring users to provide a second form of authentication in addition to their password. This plugin supports authenticator apps.","sidebar":"tutorialSidebar"},"tutorial/Plugins/upload":{"id":"tutorial/Plugins/upload","title":"Upload","description":"This plugin allows you to upload files to Amazon S3 bucket.","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.10c10db0.js b/assets/js/1df93b7f.10c10db0.js deleted file mode 100644 index 059fe9655..000000000 --- a/assets/js/1df93b7f.10c10db0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[4583],{5579:(e,t,i)=>{i.r(t),i.d(t,{default:()=>x});var a=i(4164),s=i(8774),n=i(4586),o=i(9201),d=i(1107);const l={features:"features_t9lD",featureSvg:"featureSvg_GfXr"};var r=i(4848);const c=[{title:"CRUD Out of the Box",img:i(8074).A,description:(0,r.jsx)(r.Fragment,{children:"Initialize AdminForth with your database URL and get a full-fledged admin panel."})},{title:"Vue3 Driven",img:i(3642).A,description:(0,r.jsx)(r.Fragment,{children:"Extend easily by creating own Vue3 components and pages"})},{title:"Tailwind Look",img:i(74).A,description:(0,r.jsx)(r.Fragment,{children:"Look is based on TailwindCSS, with a themes customization and dark mode available"})}];function g(e){let{title:t,img:i,description:s}=e;return(0,r.jsxs)("div",{className:(0,a.A)("col col--4"),children:[(0,r.jsx)("div",{className:"text--center",children:(0,r.jsx)("img",{src:i,alt:t,style:{borderRadius:"50px",width:250}})}),(0,r.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,r.jsx)(d.A,{as:"h3",children:t}),(0,r.jsx)("p",{children:s})]})]})}function p(){return(0,r.jsx)("section",{className:l.features,children:(0,r.jsx)("div",{className:"container",children:(0,r.jsx)("div",{className:"row",children:c.map(((e,t)=>(0,r.jsx)(g,{...e},t)))})})})}var u=i(6540),m=i(8193);const h={heroBanner:"heroBanner_qdFl",heroBannerTitle:"heroBannerTitle_x9Ns",buttons:"buttons_AeoN"},f=[{original:i(7488).A,title:"Sign in form",link:"/docs/tutorial/gettingStarted",description:"OWASP-Compliant Sign-In and JWT-SSO already there"},{original:i(58).A,title:"Users management",link:"/docs/tutorial/gettingStarted",description:"Manage users and roles with ease, extend as you like"},{original:i(8306).A,title:"AI autocomplete Plugin - write with ChatGPT",link:"/docs/tutorial/Plugins/chat-gpt/",description:"Provide your OpenAI API key to autocomplete plugin and AI will help you to write your content using record context"},{original:i(5353).A,title:"Audit log Plugin - know who did what",link:"/docs/tutorial/Plugins/AuditLog/",description:"Attach Audit log plugin with couple of lines, create table for logs and track your users actions"},{original:i(6345).A,title:"2FA Plugin - secure your admin panel",link:"/docs/tutorial/Plugins/TwoFactorsAuth/",description:"RFC 6238-Compliant TOTP-Based 2FA will add additional security layer to your admin panel"},{original:i(5896).A,title:"Dark mode out of the box",link:"/docs/tutorial/gettingStarted",description:"Dark mode is enabled by default, create your own components in Tailwind-way and it will work with no additional friction"},{original:i(1811).A,title:"Upload Plugin - upload files",link:"/docs/tutorial/Plugins/Upload/",description:"Upload files to Amazon S3 with instantiating plugin and providing your S3 credentials"},{original:i(6086).A,title:"Custom Pages and Dashboards",link:"/docs/tutorial/Customization/customPages/",description:"Create your own pages and dashboards with Vue3 components. Add any additional npm packages and extend your admin panel as you like"},{original:i(6329).A,title:"Branding and theming",link:"/docs/tutorial/Customization/branding/",description:"Upload your logo, change colors, update titles, make the look to match your brand"},{original:i(2745).A,title:"Rich Editor Plugin - WYSIWYG",link:"/docs/tutorial/Plugins/RichEditor/",description:"Attach Rich Editor plugin to your text fields and get WYSIWYG editor for your content"}];function b(){const{siteConfig:e}=(0,n.A)(),[t,o]=(0,u.useState)("light");return m.A.canUseDOM,(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("header",{className:(0,a.A)("hero",h.heroBanner),children:(0,r.jsxs)("div",{className:"container",children:[(0,r.jsx)(d.A,{as:"h1",className:(0,a.A)("hero__title",h.heroBannerTitle),children:"Create Admin Panels faster on Node and Vue with AdminForth Framework"}),(0,r.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,r.jsxs)("div",{className:h.buttons,children:[(0,r.jsx)(s.A,{className:"button button--secondary button--outline button--lg",to:"/docs/tutorial/gettingStarted",children:"Get started - 5min \u23f1\ufe0f"}),(0,r.jsx)(s.A,{className:"button button--primary button--lg",to:"https://demo.adminforth.dev/",children:"Live Demo"})]})]})}),(0,r.jsx)("div",{className:"laptop_container",children:(0,r.jsxs)("div",{className:"laptop",children:[(0,r.jsxs)("div",{className:"laptop__screen",children:[(0,r.jsx)("img",{src:{light:i(1959).A,dark:i(3431).A}[t],alt:"Screen"}),(0,r.jsx)("div",{className:"theme_switcher",onClick:()=>o("light"===t?"dark":"light")})]}),(0,r.jsx)("div",{className:"laptop__bottom",children:(0,r.jsx)("div",{className:"laptop__under"})}),(0,r.jsx)("div",{className:"laptop__shadow"})]})})]})}function x(){const{siteConfig:e}=(0,n.A)();return(0,r.jsxs)(o.A,{title:`${e.title}`,description:"OpenSource Tailwind Admin Panel extendable with Vue3 and typescript!",children:[(0,r.jsx)(b,{}),(0,r.jsxs)("main",{children:[(0,r.jsx)(d.A,{as:"h2",className:"hero__title text--center",children:"What it can do for you"}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"4rem",justifyContent:"center",padding:"1rem"},children:f.map(((e,t)=>(0,r.jsx)("div",{className:"card-demo",children:(0,r.jsxs)("div",{className:"card shadow--md",style:{maxWidth:"500px"},children:[(0,r.jsx)("div",{className:"card__image",children:(0,r.jsx)("img",{src:e.original,alt:e.title,title:e.title})}),(0,r.jsxs)("div",{className:"card__body",children:[(0,r.jsx)("h3",{children:e.title}),e.description?(0,r.jsx)("small",{children:e.description}):(0,r.jsx)("small",{})]}),(0,r.jsx)("div",{className:"card__footer",children:(0,r.jsx)("a",{className:"button button--primary button--block",href:e.link,children:"Learn how"})})]})})))}),(0,r.jsx)(p,{})]})]})}},8074:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/db2-92b2a57f518e99578c66c8ecbb88bb02.png"},3431:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/preview_dark-d8df956a19f350cf463d30c78e02d185.png"},1959:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/preview_light-915157571809e4c190176ef218d002ee.png"},6345:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/2fa_plugin-b99b1bc08f2fe162b135ffe8f5f46dba.png"},8306:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/ai_complete-a896f586381f2cf86ae54958ba2a3c3e.png"},5353:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/auditlog-a45132e0520cb6d573e31795863ad513.png"},6329:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/branding-0aad53349f471dbc80d6b27dc61dcd91.png"},5896:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/dark-ac2c92d6131e5f51f3961d3c0c1e552f.png"},6086:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/dashboard-831b4024390d5a23264144fef4469348.png"},7488:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/login_form-e39e8b344176092f67e67a90816672db.png"},2745:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/richeditor-b8d189773049b4e70b2d7b01868199b3.png"},1811:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/upload-737425889e5f73534566facca45f107a.png"},58:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/users_management-ae1326386515d8759821ff97638ac049.png"},74:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/tail-0390a94aad96c0ce57406944abef6b95.png"},3642:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/vue-aa2fe012dc252cfa64c7bdb9d47161d8.png"}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.1deda594.js b/assets/js/1df93b7f.1deda594.js new file mode 100644 index 000000000..d0af5eac0 --- /dev/null +++ b/assets/js/1df93b7f.1deda594.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[4583],{5579:(e,t,i)=>{i.r(t),i.d(t,{default:()=>b});var a=i(4164),s=i(8774),n=i(4586),o=i(9201),d=i(1107);const l={features:"features_t9lD",featureSvg:"featureSvg_GfXr"};var r=i(4848);const c=[{title:"CRUD Out of the Box",img:i(8074).A,description:(0,r.jsx)(r.Fragment,{children:"Initialize AdminForth with your database URL and get a full-fledged admin panel."})},{title:"Vue3 Driven",img:i(3642).A,description:(0,r.jsx)(r.Fragment,{children:"Extend easily by creating own Vue3 components and pages"})},{title:"Tailwind Look",img:i(74).A,description:(0,r.jsx)(r.Fragment,{children:"Look is based on TailwindCSS, with a themes customization and dark mode available"})}];function g(e){let{title:t,img:i,description:s}=e;return(0,r.jsxs)("div",{className:(0,a.A)("col col--4"),children:[(0,r.jsx)("div",{className:"text--center",children:(0,r.jsx)("img",{src:i,alt:t,style:{borderRadius:"50px",width:250}})}),(0,r.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,r.jsx)(d.A,{as:"h3",children:t}),(0,r.jsx)("p",{children:s})]})]})}function p(){return(0,r.jsx)("section",{className:l.features,children:(0,r.jsx)("div",{className:"container",children:(0,r.jsx)("div",{className:"row",children:c.map(((e,t)=>(0,r.jsx)(g,{...e},t)))})})})}var u=i(6540),m=i(8193);const h={heroBanner:"heroBanner_qdFl",heroBannerTitle:"heroBannerTitle_x9Ns",buttons:"buttons_AeoN"},f=[{original:i(7488).A,title:"Sign in form",link:"/docs/tutorial/gettingStarted",description:"OWASP-Compliant Sign-In and JWT-SSO already there"},{original:i(58).A,title:"Users management",link:"/docs/tutorial/gettingStarted",description:"Manage users and roles with ease, extend as you like"},{original:i(8306).A,title:"AI autocomplete Plugin - write with ChatGPT",link:"/docs/tutorial/Plugins/text-complete/",description:"Provide your OpenAI API key to autocomplete plugin and AI will help you to write your content using record context"},{original:i(5353).A,title:"Audit log Plugin - know who did what",link:"/docs/tutorial/Plugins/AuditLog/",description:"Attach Audit log plugin with couple of lines, create table for logs and track your users actions"},{original:i(6345).A,title:"2FA Plugin - secure your admin panel",link:"/docs/tutorial/Plugins/TwoFactorsAuth/",description:"RFC 6238-Compliant TOTP-Based 2FA will add additional security layer to your admin panel"},{original:i(5896).A,title:"Dark mode out of the box",link:"/docs/tutorial/gettingStarted",description:"Dark mode is enabled by default, create your own components in Tailwind-way and it will work with no additional friction"},{original:i(1811).A,title:"Upload Plugin - upload files",link:"/docs/tutorial/Plugins/Upload/",description:"Upload files to Amazon S3 with instantiating plugin and providing your S3 credentials"},{original:i(6086).A,title:"Custom Pages and Dashboards",link:"/docs/tutorial/Customization/customPages/",description:"Create your own pages and dashboards with Vue3 components. Add any additional npm packages and extend your admin panel as you like"},{original:i(6329).A,title:"Branding and theming",link:"/docs/tutorial/Customization/branding/",description:"Upload your logo, change colors, update titles, make the look to match your brand"},{original:i(2745).A,title:"Rich Editor Plugin - WYSIWYG",link:"/docs/tutorial/Plugins/RichEditor/",description:"Attach Rich Editor plugin to your text fields and get WYSIWYG editor for your content"}];function x(){const{siteConfig:e}=(0,n.A)(),[t,o]=(0,u.useState)("light");return m.A.canUseDOM,(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("header",{className:(0,a.A)("hero",h.heroBanner),children:(0,r.jsxs)("div",{className:"container",children:[(0,r.jsx)(d.A,{as:"h1",className:(0,a.A)("hero__title",h.heroBannerTitle),children:"Create Admin Panels faster on Node and Vue with AdminForth Framework"}),(0,r.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,r.jsxs)("div",{className:h.buttons,children:[(0,r.jsx)(s.A,{className:"button button--secondary button--outline button--lg",to:"/docs/tutorial/gettingStarted",children:"Get started - 5min \u23f1\ufe0f"}),(0,r.jsx)(s.A,{className:"button button--primary button--lg",to:"https://demo.adminforth.dev/",children:"Live Demo"})]})]})}),(0,r.jsx)("div",{className:"laptop_container",children:(0,r.jsxs)("div",{className:"laptop",children:[(0,r.jsxs)("div",{className:"laptop__screen",children:[(0,r.jsx)("img",{src:{light:i(1959).A,dark:i(3431).A}[t],alt:"Screen"}),(0,r.jsx)("div",{className:"theme_switcher",onClick:()=>o("light"===t?"dark":"light")})]}),(0,r.jsx)("div",{className:"laptop__bottom",children:(0,r.jsx)("div",{className:"laptop__under"})}),(0,r.jsx)("div",{className:"laptop__shadow"})]})})]})}function b(){const{siteConfig:e}=(0,n.A)();return(0,r.jsxs)(o.A,{title:`${e.title}`,description:"OpenSource Tailwind Admin Panel extendable with Vue3 and typescript!",children:[(0,r.jsx)(x,{}),(0,r.jsxs)("main",{children:[(0,r.jsx)(d.A,{as:"h2",className:"hero__title text--center",children:"What it can do for you"}),(0,r.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"4rem",justifyContent:"center",padding:"1rem"},children:f.map(((e,t)=>(0,r.jsx)("div",{className:"card-demo",children:(0,r.jsxs)("div",{className:"card shadow--md",style:{maxWidth:"500px"},children:[(0,r.jsx)("div",{className:"card__image",children:(0,r.jsx)("img",{src:e.original,alt:e.title,title:e.title})}),(0,r.jsxs)("div",{className:"card__body",children:[(0,r.jsx)("h3",{children:e.title}),e.description?(0,r.jsx)("small",{children:e.description}):(0,r.jsx)("small",{})]}),(0,r.jsx)("div",{className:"card__footer",children:(0,r.jsx)("a",{className:"button button--primary button--block",href:e.link,children:"Learn how"})})]})})))}),(0,r.jsx)(p,{})]})]})}},8074:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/db2-92b2a57f518e99578c66c8ecbb88bb02.png"},3431:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/preview_dark-d8df956a19f350cf463d30c78e02d185.png"},1959:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/preview_light-915157571809e4c190176ef218d002ee.png"},6345:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/2fa_plugin-b99b1bc08f2fe162b135ffe8f5f46dba.png"},8306:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/ai_complete-a896f586381f2cf86ae54958ba2a3c3e.png"},5353:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/auditlog-a45132e0520cb6d573e31795863ad513.png"},6329:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/branding-0aad53349f471dbc80d6b27dc61dcd91.png"},5896:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/dark-ac2c92d6131e5f51f3961d3c0c1e552f.png"},6086:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/dashboard-831b4024390d5a23264144fef4469348.png"},7488:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/login_form-e39e8b344176092f67e67a90816672db.png"},2745:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/richeditor-b8d189773049b4e70b2d7b01868199b3.png"},1811:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/upload-737425889e5f73534566facca45f107a.png"},58:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/users_management-ae1326386515d8759821ff97638ac049.png"},74:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/tail-0390a94aad96c0ce57406944abef6b95.png"},3642:(e,t,i)=>{i.d(t,{A:()=>a});const a=i.p+"assets/images/vue-aa2fe012dc252cfa64c7bdb9d47161d8.png"}}]); \ No newline at end of file diff --git a/assets/js/29a082d0.475341d8.js b/assets/js/29a082d0.475341d8.js new file mode 100644 index 000000000..4cb7be40d --- /dev/null +++ b/assets/js/29a082d0.475341d8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkadminforth=self.webpackChunkadminforth||[]).push([[4753],{8249:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>o,contentTitle:()=>s,default:()=>u,frontMatter:()=>a,metadata:()=>d,toc:()=>l});var r=t(4848),i=t(8453);const a={},s="Standard pages tuning",d={id:"tutorial/Customization/standardPagesTuning",title:"Standard pages tuning",description:"Fields Grouping",source:"@site/docs/tutorial/03-Customization/13-standardPagesTuning.md",sourceDirName:"tutorial/03-Customization",slug:"/tutorial/Customization/standardPagesTuning",permalink:"/docs/tutorial/Customization/standardPagesTuning",draft:!1,unlisted:!1,tags:[],version:"current",sidebarPosition:13,frontMatter:{},sidebar:"tutorialSidebar",previous:{title:"Security",permalink:"/docs/tutorial/Customization/security"},next:{title:"AdminForth Components Library",permalink:"/docs/tutorial/Customization/afcl"}},o={},l=[{value:"Fields Grouping",id:"fields-grouping",level:2},{value:"List",id:"list",level:2},{value:"Default Sorting",id:"default-sorting",level:3},{value:"Page size",id:"page-size",level:3},{value:"Custom row click action",id:"custom-row-click-action",level:3},{value:"Auto-refresh records",id:"auto-refresh-records",level:3},{value:"Creating",id:"creating",level:2},{value:"Fill with default values",id:"fill-with-default-values",level:3},{value:"Link to create form with preset values",id:"link-to-create-form-with-preset-values",level:3},{value:"Editing",id:"editing",level:2}];function c(e){const n={a:"a",blockquote:"blockquote",br:"br",code:"code",h1:"h1",h2:"h2",h3:"h3",img:"img",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"standard-pages-tuning",children:"Standard pages tuning"}),"\n",(0,r.jsx)(n.h2,{id:"fields-grouping",children:"Fields Grouping"}),"\n",(0,r.jsx)(n.p,{children:'In some cases, you may want to organize data fields into specific groups for better structure and clarity. For example, you could create a "Main Info" group to include columns like title, description, country, and apartment_image. Another group, "Characteristics," could hold attributes such as price, square_meter, number_of_rooms, property_type, and listed. Any values without a specified group will be categorized under "Other.'}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:"export default {\n ...\n options: {\n ...\n //diff-add\n fieldGroups: [\n //diff-add\n {\n //diff-add\n groupName: 'Main info',\n //diff-add\n columns: ['id','title', 'description', 'country', 'apartment_image']\n //diff-add\n },\n //diff-add\n {\n //diff-add\n groupName: 'Characteristics',\n //diff-add\n columns: ['price', 'square_meter', 'number_of_rooms', \"property_type\", \"listed\"]\n //diff-add\n }\n //diff-add\n ],\n }\n }\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Here is how it looks:\n",(0,r.jsx)(n.img,{alt:"alt text",src:t(5276).A+"",width:"2281",height:"1129"})]}),"\n",(0,r.jsx)(n.p,{children:"You can also specify on which page you want to create or delete groups. If you assign null, the groups will disappear from this page."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:"export default {\n ...\n options: {\n //diff-add\n createFieldGroups: [\n //diff-add\n {\n //diff-add\n groupName: 'Main info',\n //diff-add\n columns: ['id','title']\n //diff-add\n },\n //diff-add\n {\n //diff-add\n groupName: 'Characteristics',\n //diff-add\n columns: ['description', 'country', 'price', 'square_meter', 'number_of_rooms', \"property_type\", \"listed\"]\n //diff-add\n }\n //diff-add\n ],\n //diff-add\n editFieldGroups: null,\n //diff-add\n showFieldGroups: null,\n }\n }\n"})}),"\n",(0,r.jsx)(n.h2,{id:"list",children:"List"}),"\n",(0,r.jsx)(n.h3,{id:"default-sorting",children:"Default Sorting"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:"import { AdminForthSortDirections } from 'adminforth';\n\n...\nexport default {\n resourceId: 'aparts',\n options: {\n//diff-add\n defaultSort: {\n//diff-add\n columnName: 'created_at',\n//diff-add\n direction: AdminForthSortDirections.asc, \n//diff-add\n }\n }\n}\n"})}),"\n",(0,r.jsx)(n.h3,{id:"page-size",children:"Page size"}),"\n",(0,r.jsxs)(n.p,{children:["use ",(0,r.jsx)(n.code,{children:"options.listPageSize"})," to define how many records will be shown on the page"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:"export default {\n resourceId: 'aparts',\n options: {\n ...\n//diff-add\n listPageSize: 10,\n }\n }\n ]\n"})}),"\n",(0,r.jsx)(n.h3,{id:"custom-row-click-action",children:"Custom row click action"}),"\n",(0,r.jsx)(n.p,{children:"By default, when you click on a record in the list view, the show view will be opened."}),"\n",(0,r.jsxs)(n.p,{children:["You can change this behavior by using ",(0,r.jsx)(n.code,{children:"options.listTableClickUrl"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"To disable any action (don't open show) return null:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:"export default {\n resourceId: 'aparts',\n options: {\n ...\n//diff-add\n listTableClickUrl: async (record, adminUser) => null,\n }\n }\n ]\n"})}),"\n",(0,r.jsx)(n.p,{children:"To open a custom page, return URL to the custom page (can start with https://, or relative adminforth path):"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:" options: {\n ...\n//diff-add\n listTableClickUrl: async (record, adminUser) => {\n return `https://google.com/search?q=${record.name}`;\n }\n }\n"})}),"\n",(0,r.jsxs)(n.p,{children:["If you wish to open the page in a new tab, add ",(0,r.jsx)(n.code,{children:"target=_blank"})," get param to the returned URL:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:" options: {\n ...\n//diff-add\n listTableClickUrl: async (record, adminUser) => {\n return `https://google.com/search?q=${record.name}&target=_blank`;\n }\n }\n"})}),"\n",(0,r.jsx)(n.h3,{id:"auto-refresh-records",children:"Auto-refresh records"}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"options.listRowsAutoRefreshSeconds"})," might be used to silently refresh records that are loaded (no new records will be fetched if\nthey appear)"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:"export default {\n resourceId: 'aparts',\n hooks: {\n//diff-add\n list: {\n//diff-add\n afterDatasourceResponse: async ({ response }: { response: any }) => { \n//diff-add\n response.forEach((r: any) => {\n//diff-add\n // substitute random country on any load\n//diff-add\n const countries = [ 'US', 'DE', 'FR', 'GB', 'NL', 'IT', 'ES', 'DK', 'PL', 'UA', \n//diff-add\n 'CA', 'AU', 'BR', 'JP', 'CN', 'IN', 'KR', 'TR', 'MX', 'ID']\n//diff-add\n r.country = countries[Math.floor(Math.random() * countries.length)];\n//diff-add\n })\n//diff-add\n return { ok: true, error: \"\" }\n//diff-add\n }\n//diff-add\n }\n },\n options: {\n ...\n//diff-add\n listRowsAutoRefreshSeconds: 1,\n }\n }\n ]\n"})}),"\n",(0,r.jsx)(n.p,{children:(0,r.jsx)(n.img,{alt:"alt text",src:t(8481).A+"",width:"1999",height:"1499"})}),"\n",(0,r.jsx)(n.h2,{id:"creating",children:"Creating"}),"\n",(0,r.jsx)(n.h3,{id:"fill-with-default-values",children:"Fill with default values"}),"\n",(0,r.jsx)(n.p,{children:"Sometimes you want to generate some field value without asking user to fill it. For example createdAt oftenly store time of creation of the record. You can do this by using fillOnCreate:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts" ',children:"\nexport default {\n name: 'apartments',\n fields: [\n ...\n {\n name: 'created_at',\n type: AdminForthDataTypes.DATETIME,\n//diff-add\n fillOnCreate: ({ initialRecord, adminUser }) => (new Date()).toISOString(),\n },\n ],\n },\n ...\n ],\n"})}),"\n",(0,r.jsx)(n.p,{children:"Also you can assign adminUser ID by adminUser.dbUser.id in same hook:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",metastring:'title="./resources/apartments.ts"',children:"export default {\n name: 'apartments',\n fields: [\n ...\n {\n name: 'created_by',\n type: AdminForthDataTypes.STRING,\n//diff-add\n fillOnCreate: ({ initialRecord, adminUser }) => adminUser.dbUser.id,\n },\n ],\n },\n ...\n ],\n"})}),"\n",(0,r.jsxs)(n.blockquote,{children:["\n",(0,r.jsxs)(n.p,{children:["Same effect can be achieved by using ",(0,r.jsx)(n.a,{href:"/docs/tutorial/Customization/hooks/#modify-the-data-before-it-is-saved-to-the-database",children:"hooks"}),". But ",(0,r.jsx)(n.code,{children:"fillOnCreate"})," might be shorter and more readable."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"link-to-create-form-with-preset-values",children:"Link to create form with preset values"}),"\n",(0,r.jsx)(n.p,{children:"Sometimes you might need to create a link that will open the create form with some fields pre-filled. For example, you might want to create a link that will open the create form with the realtor_id field pre-filled with the current user's ID."}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-html",metastring:'title="./resources/Dashboard.vue',children:"\n\n - - + +
Skip to main content

Build AI-Assisted blog with AdminForth and Nuxt in 20 minutes

· 19 min read
Ivan Borshcho
Maintainer of AdminForth

Many developers today are using copilots to write code faster and relax their minds from a routine tasks.

diff --git a/blog/archive/index.html b/blog/archive/index.html index 86b48edf3..66cdfdeaf 100644 --- a/blog/archive/index.html +++ b/blog/archive/index.html @@ -15,8 +15,8 @@ - - + + diff --git a/blog/atom.xml b/blog/atom.xml index 62180cf93..5d88cd7c8 100644 --- a/blog/atom.xml +++ b/blog/atom.xml @@ -270,7 +270,7 @@ It allows to:

Want to try it out?

Go to a Live Demo and start creating a new apartment record. Type in the title and description field and see how the plugin works.

-

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

+

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

Context matters, but with sane limit!

When the prompts are called, the plugin passes to LLM not only previous text in current field to complete, but also passes values of other fields in record edited. This allows to generate more relevant completions. For example if you have a record with fields title and description, and you are editing description, the plugin will pass title value to LLM as well.

diff --git a/blog/chatgpt-plugin/index.html b/blog/chatgpt-plugin/index.html index 9c8e0318d..ab94d680e 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.

@@ -34,7 +34,7 @@

Simple contr

Want to try it out?

Go to a Live Demo and start creating a new apartment record. Type in the title and description field and see how the plugin works.

-

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

+

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

Context matters, but with sane limit!

When the prompts are called, the plugin passes to LLM not only previous text in current field to complete, but also passes values of other fields in record edited. This allows to generate more relevant completions. For example if you have a record with fields title and description, and you are editing description, the plugin will pass title value to LLM as well.

diff --git a/blog/compose-ec2-deployment-github-actions/index.html b/blog/compose-ec2-deployment-github-actions/index.html index c94da664d..723a387b9 100644 --- a/blog/compose-ec2-deployment-github-actions/index.html +++ b/blog/compose-ec2-deployment-github-actions/index.html @@ -15,8 +15,8 @@ - - + +

Deploy AdminForth to EC2 with terraform on CI

· 8 min read
Ivan Borshcho
Maintainer of AdminForth

Here is more advanced snippet to deploy AdminForth to Terraform.

diff --git a/blog/compose-ec2-deployment/index.html b/blog/compose-ec2-deployment/index.html index d7e1f8243..dcd1181cf 100644 --- a/blog/compose-ec2-deployment/index.html +++ b/blog/compose-ec2-deployment/index.html @@ -15,8 +15,8 @@ - - + +

Deploy AdminForth to EC2 with terraform (without CI)

· 4 min read
Ivan Borshcho
Maintainer of AdminForth

Here is a row snippet to deploy AdminForth to Terraform.

diff --git a/blog/index.html b/blog/index.html index 88dc5b4c5..80d4e095a 100644 --- a/blog/index.html +++ b/blog/index.html @@ -15,8 +15,8 @@ - - + +

Deploy AdminForth to EC2 with terraform on CI

· 8 min read
Ivan Borshcho
Maintainer of AdminForth

Here is more advanced snippet to deploy AdminForth to Terraform.

@@ -233,7 +233,7 @@

Simple contr

Want to try it out?

Go to a Live Demo and start creating a new apartment record. Type in the title and description field and see how the plugin works.

-

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

+

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

Context matters, but with sane limit!

When the prompts are called, the plugin passes to LLM not only previous text in current field to complete, but also passes values of other fields in record edited. This allows to generate more relevant completions. For example if you have a record with fields title and description, and you are editing description, the plugin will pass title value to LLM as well.

diff --git a/blog/rss.xml b/blog/rss.xml index 6c3561b98..eaf95eda0 100644 --- a/blog/rss.xml +++ b/blog/rss.xml @@ -259,7 +259,7 @@ It allows to:

Want to try it out?

Go to a Live Demo and start creating a new apartment record. Type in the title and description field and see how the plugin works.

-

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

+

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

Context matters, but with sane limit!

When the prompts are called, the plugin passes to LLM not only previous text in current field to complete, but also passes values of other fields in record edited. This allows to generate more relevant completions. For example if you have a record with fields title and description, and you are editing description, the plugin will pass title value to LLM as well.

diff --git a/blog/tags/aws/index.html b/blog/tags/aws/index.html index 4bb1248f7..4b78a4d3b 100644 --- a/blog/tags/aws/index.html +++ b/blog/tags/aws/index.html @@ -15,8 +15,8 @@ - - + +

2 posts tagged with "AWS"

Amazon Web Services (AWS) is a cloud computing platform that provides a wide range of services for building and deploying applications.

View All Tags

Deploy AdminForth to EC2 with terraform on CI

· 8 min read
Ivan Borshcho
Maintainer of AdminForth

Here is more advanced snippet to deploy AdminForth to Terraform.

diff --git a/blog/tags/chatgpt/index.html b/blog/tags/chatgpt/index.html index 7306573e2..278f7a6b9 100644 --- a/blog/tags/chatgpt/index.html +++ b/blog/tags/chatgpt/index.html @@ -15,8 +15,8 @@ - - + +

2 posts tagged with "ChatGPT"

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

View All Tags

Build AI-Assisted blog with AdminForth and Nuxt in 20 minutes

· 19 min read
Ivan Borshcho
Maintainer of AdminForth

Many developers today are using copilots to write code faster and relax their minds from a routine tasks.

@@ -165,7 +165,7 @@

Simple contr

Want to try it out?

Go to a Live Demo and start creating a new apartment record. Type in the title and description field and see how the plugin works.

-

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

+

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

Context matters, but with sane limit!

When the prompts are called, the plugin passes to LLM not only previous text in current field to complete, but also passes values of other fields in record edited. This allows to generate more relevant completions. For example if you have a record with fields title and description, and you are editing description, the plugin will pass title value to LLM as well.

diff --git a/blog/tags/github-actions/index.html b/blog/tags/github-actions/index.html index c997d6f64..a968ed5b2 100644 --- a/blog/tags/github-actions/index.html +++ b/blog/tags/github-actions/index.html @@ -15,8 +15,8 @@ - - + +

One post tagged with "GitHub Actions"

GitHub Actions is a continuous integration and continuous deployment (CI/CD) service provided by GitHub that allows you to automate your software development workflows.

View All Tags

Deploy AdminForth to EC2 with terraform on CI

· 8 min read
Ivan Borshcho
Maintainer of AdminForth

Here is more advanced snippet to deploy AdminForth to Terraform.

diff --git a/blog/tags/index.html b/blog/tags/index.html index 70961652b..2dbf5b74b 100644 --- a/blog/tags/index.html +++ b/blog/tags/index.html @@ -15,8 +15,8 @@ - - + + diff --git a/blog/tags/nuxt/index.html b/blog/tags/nuxt/index.html index c604927d0..6e015f1c9 100644 --- a/blog/tags/nuxt/index.html +++ b/blog/tags/nuxt/index.html @@ -15,8 +15,8 @@ - - + +

One post tagged with "Nuxt.js"

Nuxt.js is a free and open-source web application framework based on Vue.js, Node.js, Webpack, and Babel.js.

View All Tags

Build AI-Assisted blog with AdminForth and Nuxt in 20 minutes

· 19 min read
Ivan Borshcho
Maintainer of AdminForth

Many developers today are using copilots to write code faster and relax their minds from a routine tasks.

diff --git a/blog/tags/plugin/index.html b/blog/tags/plugin/index.html index 8d96b7ed0..d0592189e 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.

@@ -34,7 +34,7 @@

Simple contr

Want to try it out?

Go to a Live Demo and start creating a new apartment record. Type in the title and description field and see how the plugin works.

-

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

+

If you want to try it out on your hello-wrold admin panel, then, first follow the instructions in the Getting Started tutorial to create a new project. To install the plugin, then, follow the instructions in the Chat-GPT plugin page.

Context matters, but with sane limit!

When the prompts are called, the plugin passes to LLM not only previous text in current field to complete, but also passes values of other fields in record edited. This allows to generate more relevant completions. For example if you have a record with fields title and description, and you are editing description, the plugin will pass title value to LLM as well.

diff --git a/blog/tags/terraform/index.html b/blog/tags/terraform/index.html index 2058ea5b8..86f38c283 100644 --- a/blog/tags/terraform/index.html +++ b/blog/tags/terraform/index.html @@ -15,8 +15,8 @@ - - + +

2 posts tagged with "Terraform"

Terraform is an open-source infrastructure as code software tool created by HashiCorp that enables users to define and provision data center infrastructure using a declarative configuration language.

View All Tags

Deploy AdminForth to EC2 with terraform on CI

· 8 min read
Ivan Borshcho
Maintainer of AdminForth

Here is more advanced snippet to deploy AdminForth to Terraform.

diff --git a/docs/api/index.html b/docs/api/index.html index f5325c98b..337ff0b82 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -15,8 +15,8 @@ - - + +

TypeDoc API

diff --git a/docs/api/types/Back/classes/Filters/index.html b/docs/api/types/Back/classes/Filters/index.html index e92d22bd2..d98d54512 100644 --- a/docs/api/types/Back/classes/Filters/index.html +++ b/docs/api/types/Back/classes/Filters/index.html @@ -15,8 +15,8 @@ - - + +

Filters

diff --git a/docs/api/types/Back/classes/Sorts/index.html b/docs/api/types/Back/classes/Sorts/index.html index 94be48282..b6f5ac782 100644 --- a/docs/api/types/Back/classes/Sorts/index.html +++ b/docs/api/types/Back/classes/Sorts/index.html @@ -15,8 +15,8 @@ - - + +

Sorts

diff --git a/docs/api/types/Back/index.html b/docs/api/types/Back/index.html index e72f4c930..7178ce696 100644 --- a/docs/api/types/Back/index.html +++ b/docs/api/types/Back/index.html @@ -15,8 +15,8 @@ - - + +

types/Back

diff --git a/docs/api/types/Back/interfaces/AdminForthBulkAction/index.html b/docs/api/types/Back/interfaces/AdminForthBulkAction/index.html index 1f170a918..9d846b545 100644 --- a/docs/api/types/Back/interfaces/AdminForthBulkAction/index.html +++ b/docs/api/types/Back/interfaces/AdminForthBulkAction/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthBulkAction

diff --git a/docs/api/types/Back/interfaces/AdminForthConfig/index.html b/docs/api/types/Back/interfaces/AdminForthConfig/index.html index 644f34243..d37edd17e 100644 --- a/docs/api/types/Back/interfaces/AdminForthConfig/index.html +++ b/docs/api/types/Back/interfaces/AdminForthConfig/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthConfig

diff --git a/docs/api/types/Back/interfaces/AdminForthConfigCustomization/index.html b/docs/api/types/Back/interfaces/AdminForthConfigCustomization/index.html index e393af7ea..c157446f0 100644 --- a/docs/api/types/Back/interfaces/AdminForthConfigCustomization/index.html +++ b/docs/api/types/Back/interfaces/AdminForthConfigCustomization/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthConfigCustomization

diff --git a/docs/api/types/Back/interfaces/AdminForthForeignResource/index.html b/docs/api/types/Back/interfaces/AdminForthForeignResource/index.html index 9a822637c..ca1c9f70f 100644 --- a/docs/api/types/Back/interfaces/AdminForthForeignResource/index.html +++ b/docs/api/types/Back/interfaces/AdminForthForeignResource/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthForeignResource

diff --git a/docs/api/types/Back/interfaces/AdminForthInputConfig/index.html b/docs/api/types/Back/interfaces/AdminForthInputConfig/index.html index a544484ce..5020abbb4 100644 --- a/docs/api/types/Back/interfaces/AdminForthInputConfig/index.html +++ b/docs/api/types/Back/interfaces/AdminForthInputConfig/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthInputConfig

diff --git a/docs/api/types/Back/interfaces/AdminForthResource/index.html b/docs/api/types/Back/interfaces/AdminForthResource/index.html index f3ab73708..391d2b6d2 100644 --- a/docs/api/types/Back/interfaces/AdminForthResource/index.html +++ b/docs/api/types/Back/interfaces/AdminForthResource/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResource

diff --git a/docs/api/types/Back/interfaces/AdminForthResourceColumn/index.html b/docs/api/types/Back/interfaces/AdminForthResourceColumn/index.html index f06eb579e..4b2d9173b 100644 --- a/docs/api/types/Back/interfaces/AdminForthResourceColumn/index.html +++ b/docs/api/types/Back/interfaces/AdminForthResourceColumn/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResourceColumn

diff --git a/docs/api/types/Back/interfaces/AdminForthResourceInput/index.html b/docs/api/types/Back/interfaces/AdminForthResourceInput/index.html index ea6db79db..1f8c09ba6 100644 --- a/docs/api/types/Back/interfaces/AdminForthResourceInput/index.html +++ b/docs/api/types/Back/interfaces/AdminForthResourceInput/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResourceInput

diff --git a/docs/api/types/Back/interfaces/HttpExtra/index.html b/docs/api/types/Back/interfaces/HttpExtra/index.html index 8d4e50802..0cc4c582d 100644 --- a/docs/api/types/Back/interfaces/HttpExtra/index.html +++ b/docs/api/types/Back/interfaces/HttpExtra/index.html @@ -15,8 +15,8 @@ - - + +

HttpExtra

diff --git a/docs/api/types/Back/interfaces/IAdminForth/index.html b/docs/api/types/Back/interfaces/IAdminForth/index.html index b69a4183a..c39e407b7 100644 --- a/docs/api/types/Back/interfaces/IAdminForth/index.html +++ b/docs/api/types/Back/interfaces/IAdminForth/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForth

diff --git a/docs/api/types/Back/interfaces/IAdminForthAuth/index.html b/docs/api/types/Back/interfaces/IAdminForthAuth/index.html index 06fccff88..611462c66 100644 --- a/docs/api/types/Back/interfaces/IAdminForthAuth/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthAuth/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthAuth

diff --git a/docs/api/types/Back/interfaces/IAdminForthDataSourceConnector/index.html b/docs/api/types/Back/interfaces/IAdminForthDataSourceConnector/index.html index 91e454f5f..6703a7a66 100644 --- a/docs/api/types/Back/interfaces/IAdminForthDataSourceConnector/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthDataSourceConnector/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthDataSourceConnector

diff --git a/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorBase/index.html b/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorBase/index.html index cced41ba4..ae4841f6e 100644 --- a/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorBase/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorBase/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthDataSourceConnectorBase

diff --git a/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor/index.html b/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor/index.html index c43359bdc..364a3ecdf 100644 --- a/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthDataSourceConnectorConstructor/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthDataSourceConnectorConstructor

diff --git a/docs/api/types/Back/interfaces/IAdminForthFilter/index.html b/docs/api/types/Back/interfaces/IAdminForthFilter/index.html index 1907e6609..569193177 100644 --- a/docs/api/types/Back/interfaces/IAdminForthFilter/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthFilter/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthFilter

diff --git a/docs/api/types/Back/interfaces/IAdminForthHttpResponse/index.html b/docs/api/types/Back/interfaces/IAdminForthHttpResponse/index.html index b8bd9e99e..91d8347d8 100644 --- a/docs/api/types/Back/interfaces/IAdminForthHttpResponse/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthHttpResponse/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthHttpResponse

diff --git a/docs/api/types/Back/interfaces/IAdminForthPlugin/index.html b/docs/api/types/Back/interfaces/IAdminForthPlugin/index.html index 32eed9ad9..745004c77 100644 --- a/docs/api/types/Back/interfaces/IAdminForthPlugin/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthPlugin/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthPlugin

diff --git a/docs/api/types/Back/interfaces/IAdminForthRestAPI/index.html b/docs/api/types/Back/interfaces/IAdminForthRestAPI/index.html index 89c877ac0..0b63be146 100644 --- a/docs/api/types/Back/interfaces/IAdminForthRestAPI/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthRestAPI/index.html @@ -15,20 +15,20 @@ - - + +

IAdminForthRestAPI

Methods

processLoginCallbacks()

-

processLoginCallbacks(adminUser, toReturn, response): Promise<void>

+

processLoginCallbacks(adminUser, toReturn, response, extra): Promise<void>

Called by login endpoint to process login callbacks. Also might be called by plugins, to prevent action if user is not allowed to login. For example signup or login via google might want to check if user is allowed to login by calling this method.

Parameters

-
ParameterTypeDescription
adminUserAdminUserplugin/af pases current adminUser
toReturnobjectthis is an object which will get status of login process. If at least one callback returns error or redirectTo, login process will be stopped (future callbacks will not be called).
toReturn.allowedLoginboolean-
toReturn.error?string-
toReturn.redirectTo?string-
responseanyhttp response object
+
ParameterTypeDescription
adminUserAdminUserplugin/af pases current adminUser
toReturnobjectthis is an object which will get status of login process. If at least one callback returns error or redirectTo, login process will be stopped (future callbacks will not be called).
toReturn.allowedLoginboolean-
toReturn.error?string-
toReturn.redirectTo?string-
responseanyhttp response object
extraHttpExtra-

Returns

Promise<void>


diff --git a/docs/api/types/Back/interfaces/IAdminForthSort/index.html b/docs/api/types/Back/interfaces/IAdminForthSort/index.html index 5d1e5948d..cfd5e5647 100644 --- a/docs/api/types/Back/interfaces/IAdminForthSort/index.html +++ b/docs/api/types/Back/interfaces/IAdminForthSort/index.html @@ -15,8 +15,8 @@ - - + +

IAdminForthSort

diff --git a/docs/api/types/Back/interfaces/ICodeInjector/index.html b/docs/api/types/Back/interfaces/ICodeInjector/index.html index e7f96659c..2a3471b86 100644 --- a/docs/api/types/Back/interfaces/ICodeInjector/index.html +++ b/docs/api/types/Back/interfaces/ICodeInjector/index.html @@ -15,8 +15,8 @@ - - + +

ICodeInjector

diff --git a/docs/api/types/Back/interfaces/IConfigValidator/index.html b/docs/api/types/Back/interfaces/IConfigValidator/index.html index 700f7f5e4..01cc00ae2 100644 --- a/docs/api/types/Back/interfaces/IConfigValidator/index.html +++ b/docs/api/types/Back/interfaces/IConfigValidator/index.html @@ -15,8 +15,8 @@ - - + +

IConfigValidator

diff --git a/docs/api/types/Back/interfaces/IExpressHttpServer/index.html b/docs/api/types/Back/interfaces/IExpressHttpServer/index.html index aee0bbdc7..4b53166bd 100644 --- a/docs/api/types/Back/interfaces/IExpressHttpServer/index.html +++ b/docs/api/types/Back/interfaces/IExpressHttpServer/index.html @@ -15,8 +15,8 @@ - - + +

IExpressHttpServer

diff --git a/docs/api/types/Back/interfaces/IHttpServer/index.html b/docs/api/types/Back/interfaces/IHttpServer/index.html index a123402d2..3d9d22fbb 100644 --- a/docs/api/types/Back/interfaces/IHttpServer/index.html +++ b/docs/api/types/Back/interfaces/IHttpServer/index.html @@ -15,8 +15,8 @@ - - + +

IHttpServer

diff --git a/docs/api/types/Back/interfaces/IOperationalResource/index.html b/docs/api/types/Back/interfaces/IOperationalResource/index.html index b582d0917..80947cb8d 100644 --- a/docs/api/types/Back/interfaces/IOperationalResource/index.html +++ b/docs/api/types/Back/interfaces/IOperationalResource/index.html @@ -15,8 +15,8 @@ - - + +

IOperationalResource

diff --git a/docs/api/types/Back/interfaces/IWebSocketBroker/index.html b/docs/api/types/Back/interfaces/IWebSocketBroker/index.html index b0ea9cc81..4018530ba 100644 --- a/docs/api/types/Back/interfaces/IWebSocketBroker/index.html +++ b/docs/api/types/Back/interfaces/IWebSocketBroker/index.html @@ -15,8 +15,8 @@ - - + +

IWebSocketBroker

diff --git a/docs/api/types/Back/interfaces/IWebSocketClient/index.html b/docs/api/types/Back/interfaces/IWebSocketClient/index.html index ad6e7e193..41280dca7 100644 --- a/docs/api/types/Back/interfaces/IWebSocketClient/index.html +++ b/docs/api/types/Back/interfaces/IWebSocketClient/index.html @@ -15,8 +15,8 @@ - - + +

IWebSocketClient

diff --git a/docs/api/types/Back/interfaces/ResourceOptions/index.html b/docs/api/types/Back/interfaces/ResourceOptions/index.html index 39335660d..1e86d3093 100644 --- a/docs/api/types/Back/interfaces/ResourceOptions/index.html +++ b/docs/api/types/Back/interfaces/ResourceOptions/index.html @@ -15,8 +15,8 @@ - - + +

ResourceOptions

@@ -39,13 +39,12 @@

bulkActions?Inherited from

Omit.bulkActions


-

createEditGroups?

+

createFieldGroups?

-

optional createEditGroups: object[]

+

optional createFieldGroups: object[]

-

Allows to make groups of columns in create/edit resource pages.

Inherited from

-

Omit.createEditGroups

+

Omit.createFieldGroups


defaultSort?

@@ -67,12 +66,27 @@

directionInherited from

Omit.defaultSort


+

editFieldGroups?

+
+

optional editFieldGroups: object[]

+
+

Inherited from

+

Omit.editFieldGroups

+
+

fieldGroups?

+
+

optional fieldGroups: object[]

+
+

Allows to make groups of columns in show, create and edit resource pages.

+

Inherited from

+

Omit.fieldGroups

+

listPageSize?

optional listPageSize: number

Page size for list view

-

Inherited from

+

Inherited from

Omit.listPageSize


listRowsAutoRefreshSeconds?

@@ -80,7 +94,7 @@

l

optional listRowsAutoRefreshSeconds: number

Whether to refresh existing list rows automatically every N seconds.

-

Inherited from

+

Inherited from

Omit.listRowsAutoRefreshSeconds


listTableClickUrl()?

@@ -99,7 +113,7 @@

ParametersParameterTypeDescriptionrecordanyrecord which was clickedadminUserAdminUseruser who clicked

Returns

Promise<string>

-

Inherited from

+

Inherited from

Omit.listTableClickUrl


pageInjections?

@@ -203,7 +217,14 @@

s

optional threeDotsDropdownItems: AdminForthComponentDeclaration | AdminForthComponentDeclaration[]

-

Inherited from

-

Omit.pageInjections

+

Inherited from

+

Omit.pageInjections

+
+

showFieldGroups?

+
+

optional showFieldGroups: object[]

+
+

Inherited from

+

Omit.showFieldGroups

\ No newline at end of file diff --git a/docs/api/types/Back/interfaces/ResourceOptionsInput/index.html b/docs/api/types/Back/interfaces/ResourceOptionsInput/index.html index 064c16a75..4f5c3c6e7 100644 --- a/docs/api/types/Back/interfaces/ResourceOptionsInput/index.html +++ b/docs/api/types/Back/interfaces/ResourceOptionsInput/index.html @@ -15,8 +15,8 @@ - - + +

ResourceOptionsInput

@@ -41,13 +41,12 @@

bulkActions?Custom bulk actions list. Bulk actions available in list view when user selects multiple records by using checkboxes.


-

createEditGroups?

+

createFieldGroups?

-

optional createEditGroups: object[]

+

optional createFieldGroups: object[]

-

Allows to make groups of columns in create/edit resource pages.

Inherited from

-

Omit.createEditGroups

+

Omit.createFieldGroups


defaultSort?

@@ -69,12 +68,27 @@

directionInherited from

Omit.defaultSort


+

editFieldGroups?

+
+

optional editFieldGroups: object[]

+
+

Inherited from

+

Omit.editFieldGroups

+
+

fieldGroups?

+
+

optional fieldGroups: object[]

+
+

Allows to make groups of columns in show, create and edit resource pages.

+

Inherited from

+

Omit.fieldGroups

+

listPageSize?

optional listPageSize: number

Page size for list view

-

Inherited from

+

Inherited from

Omit.listPageSize


listRowsAutoRefreshSeconds?

@@ -82,7 +96,7 @@

l

optional listRowsAutoRefreshSeconds: number

Whether to refresh existing list rows automatically every N seconds.

-

Inherited from

+

Inherited from

Omit.listRowsAutoRefreshSeconds


listTableClickUrl()?

@@ -101,7 +115,7 @@

ParametersParameterTypeDescriptionrecordanyrecord which was clickedadminUserAdminUseruser who clicked

Returns

Promise<string>

-

Inherited from

+

Inherited from

Omit.listTableClickUrl


pageInjections?

@@ -119,7 +133,7 @@

create?

+

create.afterBreadcrumbs?

optional afterBreadcrumbs: AdminForthComponentDeclaration | AdminForthComponentDeclaration[]

@@ -205,7 +219,14 @@

s

optional threeDotsDropdownItems: AdminForthComponentDeclaration | AdminForthComponentDeclaration[]

-

Inherited from

-

Omit.pageInjections

+

Inherited from

+

Omit.pageInjections

+
+

showFieldGroups?

+
+

optional showFieldGroups: object[]

+
+

Inherited from

+

Omit.showFieldGroups

\ No newline at end of file diff --git a/docs/api/types/Back/type-aliases/AdminForthDataSource/index.html b/docs/api/types/Back/type-aliases/AdminForthDataSource/index.html index 1dfa122ad..24236dadd 100644 --- a/docs/api/types/Back/type-aliases/AdminForthDataSource/index.html +++ b/docs/api/types/Back/type-aliases/AdminForthDataSource/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthDataSource

diff --git a/docs/api/types/Back/type-aliases/AfterDataSourceResponseFunction/index.html b/docs/api/types/Back/type-aliases/AfterDataSourceResponseFunction/index.html index 5b5f61644..09e8956f9 100644 --- a/docs/api/types/Back/type-aliases/AfterDataSourceResponseFunction/index.html +++ b/docs/api/types/Back/type-aliases/AfterDataSourceResponseFunction/index.html @@ -15,8 +15,8 @@ - - + +

AfterDataSourceResponseFunction()

diff --git a/docs/api/types/Back/type-aliases/AfterSaveFunction/index.html b/docs/api/types/Back/type-aliases/AfterSaveFunction/index.html index 50e5848d7..297c9a3fc 100644 --- a/docs/api/types/Back/type-aliases/AfterSaveFunction/index.html +++ b/docs/api/types/Back/type-aliases/AfterSaveFunction/index.html @@ -15,8 +15,8 @@ - - + +

AfterSaveFunction()

diff --git a/docs/api/types/Back/type-aliases/AllowedActionValue/index.html b/docs/api/types/Back/type-aliases/AllowedActionValue/index.html index a80cf6973..4e2cbfeb1 100644 --- a/docs/api/types/Back/type-aliases/AllowedActionValue/index.html +++ b/docs/api/types/Back/type-aliases/AllowedActionValue/index.html @@ -15,8 +15,8 @@ - - + +

AllowedActionValue

diff --git a/docs/api/types/Back/type-aliases/AllowedActions/index.html b/docs/api/types/Back/type-aliases/AllowedActions/index.html index 11dbfb2ff..45a7891ef 100644 --- a/docs/api/types/Back/type-aliases/AllowedActions/index.html +++ b/docs/api/types/Back/type-aliases/AllowedActions/index.html @@ -15,8 +15,8 @@ - - + +

AllowedActions

diff --git a/docs/api/types/Back/type-aliases/AllowedActionsInput/index.html b/docs/api/types/Back/type-aliases/AllowedActionsInput/index.html index efd384830..1d4272d40 100644 --- a/docs/api/types/Back/type-aliases/AllowedActionsInput/index.html +++ b/docs/api/types/Back/type-aliases/AllowedActionsInput/index.html @@ -15,8 +15,8 @@ - - + +

AllowedActionsInput

diff --git a/docs/api/types/Back/type-aliases/BeforeDataSourceRequestFunction/index.html b/docs/api/types/Back/type-aliases/BeforeDataSourceRequestFunction/index.html index bda12327e..49e8093fe 100644 --- a/docs/api/types/Back/type-aliases/BeforeDataSourceRequestFunction/index.html +++ b/docs/api/types/Back/type-aliases/BeforeDataSourceRequestFunction/index.html @@ -15,8 +15,8 @@ - - + +

BeforeDataSourceRequestFunction()

diff --git a/docs/api/types/Back/type-aliases/BeforeLoginConfirmationFunction/index.html b/docs/api/types/Back/type-aliases/BeforeLoginConfirmationFunction/index.html index 034798e2f..9a88bc5b1 100644 --- a/docs/api/types/Back/type-aliases/BeforeLoginConfirmationFunction/index.html +++ b/docs/api/types/Back/type-aliases/BeforeLoginConfirmationFunction/index.html @@ -15,8 +15,8 @@ - - + +

BeforeLoginConfirmationFunction()

diff --git a/docs/api/types/Back/type-aliases/BeforeSaveFunction/index.html b/docs/api/types/Back/type-aliases/BeforeSaveFunction/index.html index 9beaf4c61..5269d29ef 100644 --- a/docs/api/types/Back/type-aliases/BeforeSaveFunction/index.html +++ b/docs/api/types/Back/type-aliases/BeforeSaveFunction/index.html @@ -15,8 +15,8 @@ - - + +

BeforeSaveFunction()

diff --git a/docs/api/types/Back/type-aliases/FDataFilter/index.html b/docs/api/types/Back/type-aliases/FDataFilter/index.html index c94742a92..98db41030 100644 --- a/docs/api/types/Back/type-aliases/FDataFilter/index.html +++ b/docs/api/types/Back/type-aliases/FDataFilter/index.html @@ -15,8 +15,8 @@ - - + +

FDataFilter()

diff --git a/docs/api/types/Back/type-aliases/FDataSort/index.html b/docs/api/types/Back/type-aliases/FDataSort/index.html index f8babe5aa..11eeb80b4 100644 --- a/docs/api/types/Back/type-aliases/FDataSort/index.html +++ b/docs/api/types/Back/type-aliases/FDataSort/index.html @@ -15,8 +15,8 @@ - - + +

FDataSort()

diff --git a/docs/api/types/Common/enumerations/ActionCheckSource/index.html b/docs/api/types/Common/enumerations/ActionCheckSource/index.html index 64e9fa04b..3545cc5d2 100644 --- a/docs/api/types/Common/enumerations/ActionCheckSource/index.html +++ b/docs/api/types/Common/enumerations/ActionCheckSource/index.html @@ -15,8 +15,8 @@ - - + +

ActionCheckSource

diff --git a/docs/api/types/Common/enumerations/AdminForthDataTypes/index.html b/docs/api/types/Common/enumerations/AdminForthDataTypes/index.html index ab1e6cbd5..e731e8686 100644 --- a/docs/api/types/Common/enumerations/AdminForthDataTypes/index.html +++ b/docs/api/types/Common/enumerations/AdminForthDataTypes/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthDataTypes

diff --git a/docs/api/types/Common/enumerations/AdminForthFilterOperators/index.html b/docs/api/types/Common/enumerations/AdminForthFilterOperators/index.html index b17790587..1a289dd99 100644 --- a/docs/api/types/Common/enumerations/AdminForthFilterOperators/index.html +++ b/docs/api/types/Common/enumerations/AdminForthFilterOperators/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthFilterOperators

diff --git a/docs/api/types/Common/enumerations/AdminForthMenuTypes/index.html b/docs/api/types/Common/enumerations/AdminForthMenuTypes/index.html index 8a1b8bde8..3e5ad3b5f 100644 --- a/docs/api/types/Common/enumerations/AdminForthMenuTypes/index.html +++ b/docs/api/types/Common/enumerations/AdminForthMenuTypes/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthMenuTypes

diff --git a/docs/api/types/Common/enumerations/AdminForthResourcePages/index.html b/docs/api/types/Common/enumerations/AdminForthResourcePages/index.html index 1f62b0fef..f84279099 100644 --- a/docs/api/types/Common/enumerations/AdminForthResourcePages/index.html +++ b/docs/api/types/Common/enumerations/AdminForthResourcePages/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResourcePages

diff --git a/docs/api/types/Common/enumerations/AdminForthSortDirections/index.html b/docs/api/types/Common/enumerations/AdminForthSortDirections/index.html index ac02cb7e4..8a7a7e436 100644 --- a/docs/api/types/Common/enumerations/AdminForthSortDirections/index.html +++ b/docs/api/types/Common/enumerations/AdminForthSortDirections/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthSortDirections

diff --git a/docs/api/types/Common/enumerations/AllowedActionsEnum/index.html b/docs/api/types/Common/enumerations/AllowedActionsEnum/index.html index babb803de..6baac1d85 100644 --- a/docs/api/types/Common/enumerations/AllowedActionsEnum/index.html +++ b/docs/api/types/Common/enumerations/AllowedActionsEnum/index.html @@ -15,8 +15,8 @@ - - + +

AllowedActionsEnum

diff --git a/docs/api/types/Common/index.html b/docs/api/types/Common/index.html index 33c096cbc..e926de83f 100644 --- a/docs/api/types/Common/index.html +++ b/docs/api/types/Common/index.html @@ -15,8 +15,8 @@ - - + +

types/Common

diff --git a/docs/api/types/Common/interfaces/AdminForthBulkActionCommon/index.html b/docs/api/types/Common/interfaces/AdminForthBulkActionCommon/index.html index 8c0862da2..fde696a1f 100644 --- a/docs/api/types/Common/interfaces/AdminForthBulkActionCommon/index.html +++ b/docs/api/types/Common/interfaces/AdminForthBulkActionCommon/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthBulkActionCommon

diff --git a/docs/api/types/Common/interfaces/AdminForthColumnEnumItem/index.html b/docs/api/types/Common/interfaces/AdminForthColumnEnumItem/index.html index 8bdc71183..0202ce7dc 100644 --- a/docs/api/types/Common/interfaces/AdminForthColumnEnumItem/index.html +++ b/docs/api/types/Common/interfaces/AdminForthColumnEnumItem/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthColumnEnumItem

diff --git a/docs/api/types/Common/interfaces/AdminForthComponentDeclarationFull/index.html b/docs/api/types/Common/interfaces/AdminForthComponentDeclarationFull/index.html index ae84656dd..d0ee83160 100644 --- a/docs/api/types/Common/interfaces/AdminForthComponentDeclarationFull/index.html +++ b/docs/api/types/Common/interfaces/AdminForthComponentDeclarationFull/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthComponentDeclarationFull

diff --git a/docs/api/types/Common/interfaces/AdminForthConfigForFrontend/index.html b/docs/api/types/Common/interfaces/AdminForthConfigForFrontend/index.html index 7c9e792a9..a830044b1 100644 --- a/docs/api/types/Common/interfaces/AdminForthConfigForFrontend/index.html +++ b/docs/api/types/Common/interfaces/AdminForthConfigForFrontend/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthConfigForFrontend

diff --git a/docs/api/types/Common/interfaces/AdminForthConfigMenuItem/index.html b/docs/api/types/Common/interfaces/AdminForthConfigMenuItem/index.html index b86433d06..0c6d9a0b5 100644 --- a/docs/api/types/Common/interfaces/AdminForthConfigMenuItem/index.html +++ b/docs/api/types/Common/interfaces/AdminForthConfigMenuItem/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthConfigMenuItem

diff --git a/docs/api/types/Common/interfaces/AdminForthFieldComponents/index.html b/docs/api/types/Common/interfaces/AdminForthFieldComponents/index.html index aa49f4d20..628ffc3d6 100644 --- a/docs/api/types/Common/interfaces/AdminForthFieldComponents/index.html +++ b/docs/api/types/Common/interfaces/AdminForthFieldComponents/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthFieldComponents

diff --git a/docs/api/types/Common/interfaces/AdminForthForeignResourceCommon/index.html b/docs/api/types/Common/interfaces/AdminForthForeignResourceCommon/index.html index 1d2c43096..0ce8571e4 100644 --- a/docs/api/types/Common/interfaces/AdminForthForeignResourceCommon/index.html +++ b/docs/api/types/Common/interfaces/AdminForthForeignResourceCommon/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthForeignResourceCommon

diff --git a/docs/api/types/Common/interfaces/AdminForthResourceColumnCommon/index.html b/docs/api/types/Common/interfaces/AdminForthResourceColumnCommon/index.html index 363a705ef..d49414ea8 100644 --- a/docs/api/types/Common/interfaces/AdminForthResourceColumnCommon/index.html +++ b/docs/api/types/Common/interfaces/AdminForthResourceColumnCommon/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResourceColumnCommon

diff --git a/docs/api/types/Common/interfaces/AdminForthResourceColumnInputCommon/index.html b/docs/api/types/Common/interfaces/AdminForthResourceColumnInputCommon/index.html index bdca529bb..29867341f 100644 --- a/docs/api/types/Common/interfaces/AdminForthResourceColumnInputCommon/index.html +++ b/docs/api/types/Common/interfaces/AdminForthResourceColumnInputCommon/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResourceColumnInputCommon

diff --git a/docs/api/types/Common/interfaces/AdminForthResourceCommon/index.html b/docs/api/types/Common/interfaces/AdminForthResourceCommon/index.html index 36747168e..155fd78ae 100644 --- a/docs/api/types/Common/interfaces/AdminForthResourceCommon/index.html +++ b/docs/api/types/Common/interfaces/AdminForthResourceCommon/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResourceCommon

@@ -71,11 +71,10 @@

bulkActions?

Custom bulk actions list. Bulk actions available in list view when user selects multiple records by using checkboxes.

-

createEditGroups?

+

createFieldGroups?

-

optional createEditGroups: object[]

+

optional createFieldGroups: object[]

-

Allows to make groups of columns in create/edit resource pages.

defaultSort?

optional defaultSort: object

@@ -93,6 +92,15 @@

default

direction: string

Direction of sorting. Can be 'asc' or 'desc'.

+

editFieldGroups?

+
+

optional editFieldGroups: object[]

+
+

fieldGroups?

+
+

optional fieldGroups: object[]

+
+

Allows to make groups of columns in show, create and edit resource pages.

listPageSize?

optional listPageSize: number

@@ -220,6 +228,10 @@

AdminForthComponentDeclaration | AdminForthComponentDeclaration[]

+

showFieldGroups?

+
+

optional showFieldGroups: object[]

+

Inherited from

AdminForthResourceInputCommon . options


diff --git a/docs/api/types/Common/interfaces/AdminForthResourceInputCommon/index.html b/docs/api/types/Common/interfaces/AdminForthResourceInputCommon/index.html index 66ed59c5c..850adcc6a 100644 --- a/docs/api/types/Common/interfaces/AdminForthResourceInputCommon/index.html +++ b/docs/api/types/Common/interfaces/AdminForthResourceInputCommon/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthResourceInputCommon

@@ -65,11 +65,10 @@

bulkActions?

Custom bulk actions list. Bulk actions available in list view when user selects multiple records by using checkboxes.

-

createEditGroups?

+

createFieldGroups?

-

optional createEditGroups: object[]

+

optional createFieldGroups: object[]

-

Allows to make groups of columns in create/edit resource pages.

defaultSort?

optional defaultSort: object

@@ -87,6 +86,15 @@

default

direction: string

Direction of sorting. Can be 'asc' or 'desc'.

+

editFieldGroups?

+
+

optional editFieldGroups: object[]

+
+

fieldGroups?

+
+

optional fieldGroups: object[]

+
+

Allows to make groups of columns in show, create and edit resource pages.

listPageSize?

optional listPageSize: number

@@ -214,6 +222,10 @@

AdminForthComponentDeclaration | AdminForthComponentDeclaration[]

+

showFieldGroups?

+
+

optional showFieldGroups: object[]

+

recordLabel()?

diff --git a/docs/api/types/Common/interfaces/AdminUser/index.html b/docs/api/types/Common/interfaces/AdminUser/index.html index 2ae17e2a2..fcc31d37c 100644 --- a/docs/api/types/Common/interfaces/AdminUser/index.html +++ b/docs/api/types/Common/interfaces/AdminUser/index.html @@ -15,8 +15,8 @@ - - + +

AdminUser

diff --git a/docs/api/types/Common/interfaces/GetBaseConfigResponse/index.html b/docs/api/types/Common/interfaces/GetBaseConfigResponse/index.html index b483dbe76..e92f5dd07 100644 --- a/docs/api/types/Common/interfaces/GetBaseConfigResponse/index.html +++ b/docs/api/types/Common/interfaces/GetBaseConfigResponse/index.html @@ -15,8 +15,8 @@ - - + +

GetBaseConfigResponse

diff --git a/docs/api/types/Common/interfaces/ResourceVeryShort/index.html b/docs/api/types/Common/interfaces/ResourceVeryShort/index.html index b9ef09e72..feb9c81fe 100644 --- a/docs/api/types/Common/interfaces/ResourceVeryShort/index.html +++ b/docs/api/types/Common/interfaces/ResourceVeryShort/index.html @@ -15,8 +15,8 @@ - - + +

ResourceVeryShort

diff --git a/docs/api/types/Common/interfaces/UserData/index.html b/docs/api/types/Common/interfaces/UserData/index.html index 3253f1fbe..faaa99341 100644 --- a/docs/api/types/Common/interfaces/UserData/index.html +++ b/docs/api/types/Common/interfaces/UserData/index.html @@ -15,8 +15,8 @@ - - + +

UserData

diff --git a/docs/api/types/Common/type-aliases/AdminForthComponentDeclaration/index.html b/docs/api/types/Common/type-aliases/AdminForthComponentDeclaration/index.html index c37f2d301..86ac8cb66 100644 --- a/docs/api/types/Common/type-aliases/AdminForthComponentDeclaration/index.html +++ b/docs/api/types/Common/type-aliases/AdminForthComponentDeclaration/index.html @@ -15,8 +15,8 @@ - - + +

AdminForthComponentDeclaration

diff --git a/docs/api/types/Common/type-aliases/AllowedActionsResolved/index.html b/docs/api/types/Common/type-aliases/AllowedActionsResolved/index.html index e7f8d83fd..9789cd65d 100644 --- a/docs/api/types/Common/type-aliases/AllowedActionsResolved/index.html +++ b/docs/api/types/Common/type-aliases/AllowedActionsResolved/index.html @@ -15,8 +15,8 @@ - - + +

AllowedActionsResolved

diff --git a/docs/api/types/Common/type-aliases/AnnouncementBadgeResponse/index.html b/docs/api/types/Common/type-aliases/AnnouncementBadgeResponse/index.html index ac7a4e83b..36a790bb9 100644 --- a/docs/api/types/Common/type-aliases/AnnouncementBadgeResponse/index.html +++ b/docs/api/types/Common/type-aliases/AnnouncementBadgeResponse/index.html @@ -15,8 +15,8 @@ - - + +

AnnouncementBadgeResponse

diff --git a/docs/api/types/Common/type-aliases/ValidationObject/index.html b/docs/api/types/Common/type-aliases/ValidationObject/index.html index 33c929f23..91ee8005e 100644 --- a/docs/api/types/Common/type-aliases/ValidationObject/index.html +++ b/docs/api/types/Common/type-aliases/ValidationObject/index.html @@ -15,8 +15,8 @@ - - + +

ValidationObject

diff --git a/docs/api/types/FrontendAPI/enumerations/AlertVariant/index.html b/docs/api/types/FrontendAPI/enumerations/AlertVariant/index.html index 73aea9624..61344d6d1 100644 --- a/docs/api/types/FrontendAPI/enumerations/AlertVariant/index.html +++ b/docs/api/types/FrontendAPI/enumerations/AlertVariant/index.html @@ -15,8 +15,8 @@ - - + +

AlertVariant

diff --git a/docs/api/types/FrontendAPI/index.html b/docs/api/types/FrontendAPI/index.html index d6169829e..631db14ee 100644 --- a/docs/api/types/FrontendAPI/index.html +++ b/docs/api/types/FrontendAPI/index.html @@ -15,8 +15,8 @@ - - + +

types/FrontendAPI

diff --git a/docs/api/types/FrontendAPI/interfaces/FrontendAPIInterface/index.html b/docs/api/types/FrontendAPI/interfaces/FrontendAPIInterface/index.html index 2e3a5f88d..00daeca3a 100644 --- a/docs/api/types/FrontendAPI/interfaces/FrontendAPIInterface/index.html +++ b/docs/api/types/FrontendAPI/interfaces/FrontendAPIInterface/index.html @@ -15,8 +15,8 @@ - - + +

FrontendAPIInterface

diff --git a/docs/api/types/FrontendAPI/type-aliases/AlertParams/index.html b/docs/api/types/FrontendAPI/type-aliases/AlertParams/index.html index 37b406e79..6bace6db7 100644 --- a/docs/api/types/FrontendAPI/type-aliases/AlertParams/index.html +++ b/docs/api/types/FrontendAPI/type-aliases/AlertParams/index.html @@ -15,8 +15,8 @@ - - + +

AlertParams

diff --git a/docs/api/types/FrontendAPI/type-aliases/ConfirmParams/index.html b/docs/api/types/FrontendAPI/type-aliases/ConfirmParams/index.html index 1a37a5052..e67f1f20c 100644 --- a/docs/api/types/FrontendAPI/type-aliases/ConfirmParams/index.html +++ b/docs/api/types/FrontendAPI/type-aliases/ConfirmParams/index.html @@ -15,8 +15,8 @@ - - + +

ConfirmParams

diff --git a/docs/tutorial/Advanced/plugin-development/index.html b/docs/tutorial/Advanced/plugin-development/index.html index f0908503d..ae802489f 100644 --- a/docs/tutorial/Advanced/plugin-development/index.html +++ b/docs/tutorial/Advanced/plugin-development/index.html @@ -15,11 +15,11 @@ - - + + -

Plugin development guide

+

Plugin development guide

Creating a plugin is a powerful way to extend AdminForth functionality.

Concepts

Every plugin is installed to resource.

diff --git a/docs/tutorial/Customization/afcl/index.html b/docs/tutorial/Customization/afcl/index.html index 8ad33e997..474486ca9 100644 --- a/docs/tutorial/Customization/afcl/index.html +++ b/docs/tutorial/Customization/afcl/index.html @@ -15,11 +15,11 @@ - - + + -

AdminForth Components Library

+

AdminForth Components Library

ACL is a new set of components which you can use as build blocks. This allows to keep the design consistent with minimal efforts. ACL components will follow styling standard and respect theme colors.

Button

diff --git a/docs/tutorial/Customization/alert/index.html b/docs/tutorial/Customization/alert/index.html index bb661a3a5..564ecb2a5 100644 --- a/docs/tutorial/Customization/alert/index.html +++ b/docs/tutorial/Customization/alert/index.html @@ -15,11 +15,11 @@ - - + + -

Alerts and confirmations

+

Alerts and confirmations

When you are writing custom components or pages you might need to show alerts or confirmations to the user.

For example if fetch to the API fails you might want to show an error message to the user.

AdminForth has very simple frontend API for this.

diff --git a/docs/tutorial/Customization/branding/index.html b/docs/tutorial/Customization/branding/index.html index 8dc4c5545..a2857ac5b 100644 --- a/docs/tutorial/Customization/branding/index.html +++ b/docs/tutorial/Customization/branding/index.html @@ -15,11 +15,11 @@ - - + + -

Branding and Theming

+

Branding and Theming

The first things you would probably like to change are the logo, favicon and the name of the application.

First of all create directory named custom at the same level with your TypeScript/JavaScript index file.

We will use this directory for all custom components. If you want to call your dir with other name then custom, just set customComponentsDir option

diff --git a/docs/tutorial/Customization/bulkActions/index.html b/docs/tutorial/Customization/bulkActions/index.html index 06531291f..2b7a4dc67 100644 --- a/docs/tutorial/Customization/bulkActions/index.html +++ b/docs/tutorial/Customization/bulkActions/index.html @@ -15,11 +15,11 @@ - - + + -

Custom bulk actions

+

Custom bulk actions

You might need to give admin users a feature to perform same action on multiple records at once.

For example you might want allow setting listed field to false for multiple apartment records at once.

AdminForth by default provides a checkbox in first column of the list view for this purposes.

diff --git a/docs/tutorial/Customization/customFieldRendering/index.html b/docs/tutorial/Customization/customFieldRendering/index.html index 0fe2adf3f..5f9a0d6c9 100644 --- a/docs/tutorial/Customization/customFieldRendering/index.html +++ b/docs/tutorial/Customization/customFieldRendering/index.html @@ -15,11 +15,11 @@ - - + + -

Custom record field rendering

+

Custom record field rendering

Customizing how AdminForth renders the cells with record values

Let's change how AdminForth renders the number of rooms in the 'list' and 'show' views. We will render '🟨' for each room and then we will print square_meter at the same cells.

diff --git a/docs/tutorial/Customization/customPages/index.html b/docs/tutorial/Customization/customPages/index.html index 34d4a7f3a..0c5c1452e 100644 --- a/docs/tutorial/Customization/customPages/index.html +++ b/docs/tutorial/Customization/customPages/index.html @@ -15,11 +15,11 @@ - - + + -

Custom pages

+

Custom pages

Most Admin Panels should have some Dashboards or custom pages.

In AdminForth creation of custom page is very simple.

To add custom package to SPA bundle you have to initialize npm in custom directory and install required packages:

diff --git a/docs/tutorial/Customization/dataApi/index.html b/docs/tutorial/Customization/dataApi/index.html index 5824ac922..70d069a92 100644 --- a/docs/tutorial/Customization/dataApi/index.html +++ b/docs/tutorial/Customization/dataApi/index.html @@ -15,11 +15,11 @@ - - + + -

Data API

+

Data API

AdminForth Data API is a minimal set of methods to manipulate the data in the database. With Data API you can make very basic operations like get, list, create, update, delete, count on the resources.

Motivation

diff --git a/docs/tutorial/Customization/hooks/index.html b/docs/tutorial/Customization/hooks/index.html index f6939aa56..50bbed8d5 100644 --- a/docs/tutorial/Customization/hooks/index.html +++ b/docs/tutorial/Customization/hooks/index.html @@ -15,11 +15,11 @@ - - + + -

Hooks

+

Hooks

Hooks are used to: