Resolve "Documetation website" #69

Merged
leon.hoppe merged 4 commits from feature/docs into dev 2025-02-13 19:24:31 +01:00
31 changed files with 251 additions and 30 deletions
Showing only changes of commit 47f30bf33f - Show all commits

View File

@@ -12,11 +12,19 @@
</component>
<component name="ChangeListManager">
<list default="true" id="0648788e-7696-4e60-bf12-5d5601f33d8c" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/testing/HopFrame.Testing/TestPlugin.cs" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/.idea/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/.idea/docs.iml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/.idea/modules.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/.idea/vcs.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/c.list" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/cfg/buildprofiles.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/cfg/glossary.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/h.tree" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/topics/Installation.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/topics/starter.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/v.list" afterDir="false" />
<change afterPath="$PROJECT_DIR$/docs/Writerside/writerside.cfg" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.HopFrame/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.HopFrame/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/HopFrame.Web/Components/Pages/HopFrameTablePage.razor" beforeDir="false" afterPath="$PROJECT_DIR$/src/HopFrame.Web/Components/Pages/HopFrameTablePage.razor" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/HopFrame.Web/Plugins/Events/SearchEvent.cs" beforeDir="false" afterPath="$PROJECT_DIR$/src/HopFrame.Web/Plugins/Events/SearchEvent.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/testing/HopFrame.Testing/Program.cs" beforeDir="false" afterPath="$PROJECT_DIR$/testing/HopFrame.Testing/Program.cs" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -99,7 +107,7 @@
<setting file="file://$APPLICATION_CONFIG_DIR$/resharper-host/SourcesCache/ff37d54b3bf4d2756237fb789635831532603376e940f63d634b869d26d74c/Regular16.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="file://$PROJECT_DIR$/src/HopFrame.Core/Config/DbContextConfig.cs" root0="FORCE_HIGHLIGHTING" />
<setting file="mock://C:/Users/leon/Documents/Projekte/HopFrame/src/HopFrame.Web/Components/Pages/HopFrameTablePage.razor" root0="SKIP_HIGHLIGHTING" root1="FORCE_HIGHLIGHTING" root2="FORCE_HIGHLIGHTING" />
<setting file="mock://C:/Users/leon/Documents/Projekte/HopFrame/src/HopFrame.Web/Plugins/Internal/PluginOrchestrator.cs" root0="SKIP_HIGHLIGHTING" />
<setting file="mock://C:/Users/leon/Documents/Projekte/HopFrame/src/HopFrame.Web/Plugins/Events/SearchEvent.cs" root0="SKIP_HIGHLIGHTING" />
</component>
<component name="KubernetesApiPersistence">{}</component>
<component name="KubernetesApiProvider">{
@@ -118,28 +126,28 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;.NET Launch Settings Profile.HopFrame.Testing.Api: https.executor&quot;: &quot;Run&quot;,
&quot;.NET Launch Settings Profile.HopFrame.Testing.executor&quot;: &quot;Run&quot;,
&quot;.NET Launch Settings Profile.HopFrame.Testing: https.executor&quot;: &quot;Run&quot;,
&quot;.NET Project.HopFrame.Testing.executor&quot;: &quot;Run&quot;,
&quot;72b118b0-a6fc-4561-acdf-74f0b454dbb8.executor&quot;: &quot;Debug&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
&quot;b5f11219-dfc4-47a1-b02c-90ab603034fb.executor&quot;: &quot;Debug&quot;,
&quot;dcdf1689-dc07-47e4-8824-2e60a4fbf301.executor&quot;: &quot;Debug&quot;,
&quot;git-widget-placeholder&quot;: &quot;dev&quot;,
&quot;list.type.of.created.stylesheet&quot;: &quot;CSS&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.environmentSetup&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
".NET Launch Settings Profile.HopFrame.Testing.Api: https.executor": "Run",
".NET Launch Settings Profile.HopFrame.Testing.executor": "Run",
".NET Launch Settings Profile.HopFrame.Testing: https.executor": "Run",
".NET Project.HopFrame.Testing.executor": "Run",
"72b118b0-a6fc-4561-acdf-74f0b454dbb8.executor": "Debug",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.git.unshallow": "true",
"b5f11219-dfc4-47a1-b02c-90ab603034fb.executor": "Debug",
"dcdf1689-dc07-47e4-8824-2e60a4fbf301.executor": "Debug",
"git-widget-placeholder": "!31 on feature/docs",
"list.type.of.created.stylesheet": "CSS",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"settings.editor.selected.configurable": "preferences.pluginManager",
"vue.rearranger.settings.migration": "true"
}
}</component>
}]]></component>
<component name="RunManager" selected=".NET Launch Settings Profile.HopFrame.Testing: https">
<configuration name="HopFrame.Testing: http" type="LaunchSettings" factoryName=".NET Launch Settings Profile">
<option name="LAUNCH_PROFILE_PROJECT_FILE_PATH" value="$PROJECT_DIR$/testing/HopFrame.Testing/HopFrame.Testing.csproj" />
@@ -244,7 +252,8 @@
<workItem from="1738422949337" duration="141000" />
<workItem from="1738512801911" duration="6776000" />
<workItem from="1738769458367" duration="5256000" />
<workItem from="1738774834563" duration="361000" />
<workItem from="1738774834563" duration="728000" />
<workItem from="1739301922710" duration="33000" />
</task>
<task id="LOCAL-00001" summary="Added basic configuration">
<option name="closed" value="true" />
@@ -566,7 +575,15 @@
<option name="project" value="LOCAL" />
<updated>1738774569657</updated>
</task>
<option name="localTasksCounter" value="41" />
<task id="LOCAL-00041" summary="Added custom search functionality">
<option name="closed" value="true" />
<created>1738775556256</created>
<option name="number" value="00041" />
<option name="presentableId" value="LOCAL-00041" />
<option name="project" value="LOCAL" />
<updated>1738775556256</updated>
</task>
<option name="localTasksCounter" value="42" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@@ -617,7 +634,6 @@
<component name="UnityProjectConfiguration" hasMinimizedUI="false" />
<component name="VcsManagerConfiguration">
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
<MESSAGE value="Added documentation for the configurators and service extensions methods" />
<MESSAGE value="Created tests for the core module" />
<MESSAGE value="Added more tests" />
<MESSAGE value="Added web module tests" />
@@ -642,6 +658,7 @@
<MESSAGE value="Passed cancellation tokens to event handlers if needed" />
<MESSAGE value="Added plugin buttons" />
<MESSAGE value="Added default button removal feature" />
<option name="LAST_COMMIT_MESSAGE" value="Added default button removal feature" />
<MESSAGE value="Added custom search functionality" />
<option name="LAST_COMMIT_MESSAGE" value="Added custom search functionality" />
</component>
</project>

3
docs/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

8
docs/.idea/docs.iml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="EMPTY_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
docs/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/docs.iml" filepath="$PROJECT_DIR$/.idea/docs.iml" />
</modules>
</component>
</project>

6
docs/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

6
docs/Writerside/c.list Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE categories
SYSTEM "https://resources.jetbrains.com/writerside/1.0/categories.dtd">
<categories>
<category id="wrs" name="Writerside documentation" order="1"/>
</categories>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE buildprofiles SYSTEM "https://resources.jetbrains.com/writerside/1.0/build-profiles.dtd">
<buildprofiles xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/build-profiles.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variables></variables>
<build-profile instance="hopframe">
<variables>
<noindex-content>false</noindex-content>
</variables>
</build-profile>
</buildprofiles>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE terms SYSTEM "https://resources.jetbrains.com/writerside/1.0/glossary.dtd">
<terms>
<term name="foo">
Description of what "foo" is.
</term>
</terms>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE instance-profile
SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd">
<instance-profile id="hopframe"
name="HopFrame"
start-page="starter.md">
<toc-element topic="starter.md"/>
<toc-element topic="Installation.md"/>
<toc-element toc-title="Core Module">
<toc-element toc-title="Configurations">
<toc-element topic="HopFrameConfig.md"/>
<toc-element topic="DbContextConfig.md"/>
<toc-element topic="TableConfig.md"/>
<toc-element topic="PropertyConfig.md"/>
</toc-element>
<toc-element topic="Callbacks.md"/>
</toc-element>
<toc-element toc-title="Web Module">
<toc-element toc-title="Interface">
<toc-element topic="Table.md"/>
<toc-element topic="Dashboard.md"/>
</toc-element>
<toc-element topic="Plugins.md">
<toc-element topic="Events.md">
<toc-element topic="SelectEntityEvent.md"/>
<toc-element topic="UpdateEntityEvent.md"/>
<toc-element topic="CreateEntityEvent.md"/>
<toc-element topic="DeleteEntityEvent.md"/>
<toc-element topic="TableInitializedEvent.md"/>
<toc-element topic="PageChangeEvent.md"/>
<toc-element topic="ReloadEvent.md"/>
<toc-element topic="SearchEvent.md"/>
<toc-element topic="ValidationEvent.md"/>
</toc-element>
</toc-element>
</toc-element>
</instance-profile>

View File

@@ -0,0 +1,3 @@
# Callbacks
Start typing here...

View File

@@ -0,0 +1,3 @@
# CreateEntityEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# Dashboard
Start typing here...

View File

@@ -0,0 +1,3 @@
# DbContextConfig
Start typing here...

View File

@@ -0,0 +1,3 @@
# DeleteEntityEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# Events
Start typing here...

View File

@@ -0,0 +1,2 @@
# HopFrameConfig

View File

@@ -0,0 +1,31 @@
# Installation
Install the nuget package using the CLI or the UI of your IDE:
```bash
dotnet add package HopFrame.Web
```
## Minimal configuration
Configuring HopFrame is straightforward and flexible. You can easily define your contexts, tables, and their properties using the provided configurators.
Simply use your editors intelli-sense to find out what you can configure.
```c#
builder.Services.AddHopFrame(options => {
options.AddDbContext<DatabaseContext>();
});
```
Then you need to map the frontend pages in your application:
```c#
app.MapHopFrame();
```
## Usage
- Navigate to `/admin` to access the admin dashboard and start managing your tables.
- Use the side menu to switch between different tables.
- Utilize the built-in CRUD functionality to manage your data seamlessly.

View File

@@ -0,0 +1,3 @@
# PageChangeEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# Plugins
Start typing here...

View File

@@ -0,0 +1,3 @@
# PropertyConfig
Start typing here...

View File

@@ -0,0 +1,3 @@
# ReloadEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# SearchEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# SelectEntityEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# Table
Start typing here...

View File

@@ -0,0 +1,3 @@
# TableConfig
Start typing here...

View File

@@ -0,0 +1,3 @@
# TableInitializedEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# UpdateEntityEvent
Start typing here...

View File

@@ -0,0 +1,3 @@
# ValidationEvent
Start typing here...

View File

@@ -0,0 +1,14 @@
# Overview
Welcome to the HopFrame! This project aims to provide a comprehensive and modular framework for easy management of your database.
The framework is designed to be highly configurable, ensuring that developers either quickly add the framework for simple data editing or
configure it to their needs to implement it fully in their data management pipeline.
## Features
- **Dynamic Table Management**: Create, edit, and delete records dynamically with support for various data types including numeric, text, boolean, dates, and relational data.
- **Role-Based Access Control (RBAC)**: Implement fine-grained access control policies for viewing, creating, updating, and deleting records.
- **Modern Design**: A modern and user-friendly interface built with Fluent UI components, ensuring easy to use and pleasing administration pages.
- **Validation and Error Handling**: Comprehensive input validation and error handling to ensure data integrity and provide feedback to users.
- **Support for Complex Data Relationships**: Manage complex relationships between data entities with ease.

5
docs/Writerside/v.list Normal file
View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vars SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd">
<vars>
<var name="product" value="Writerside"/>
</vars>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ihp SYSTEM "https://resources.jetbrains.com/writerside/1.0/ihp.dtd">
<ihp version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/writerside-cfg.xsd">
<topics dir="topics"/>
<images dir="images" web-path="images"/>
<categories src="c.list"/>
<vars src="v.list"/>
<instance src="hopframe.tree" version="3.2.0"/>
</ihp>