Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 49 additions & 1 deletion doc/appdev-forms.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@
Designing Forms is an essential part when designing modern web-applications.
*x0-system* provides multiple mechanisms for building complex forms easily.

For complete form examples with microservice integration, see the `x0-skeleton repository examples <https://github.com/WEBcodeX1/x0-skeleton>`_, particularly:

* `Forms with MicroESB <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb>`_ - Complete form implementation with microservice abstraction layer
* Enhanced form functionality - See :ref:`Example 5 (Enhanced Form) <enhanced-form-example>` in the local examples

17.1. FormfieldList
-------------------

Expand All @@ -21,6 +26,13 @@ functionality.
* Multilanguage Error / Info Display
* CSS styled / Bootstrap conform Subsections

For detailed formfield object documentation, see :ref:`appdevformobjects`.

**Local Examples:**

* :ref:`Example 5 (Enhanced Form) <enhanced-form-example>` - Advanced form functionality with validation
* See also the complete list of :ref:`form-related examples <form-examples-list>` in the local repository

17.2. Form Validation
---------------------

Expand All @@ -33,7 +45,13 @@ The FormfieldList *x0-object-type* provides *x0-form-validation*.
* User Based Validation Functions (Single and Group Validation)
* Regex Validation

Example see: http://x0-app.x0.localnet/python/Index.py?appid=example5.
.. _enhanced-form-example:

**Examples:**

* **Local Example:** `Enhanced Form (Example 5) <http://x0-app.x0.localnet/python/Index.py?appid=example5>`_ - Demonstrates comprehensive form validation features
* **External Example:** `Forms with MicroESB <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb>`_ - Complete implementation with microservice integration
* See :ref:`form validation types <form-validation-types>` below for system-provided validation options

17.3. FormfieldOnchange Handler
-------------------------------
Expand Down Expand Up @@ -182,6 +200,8 @@ Multiple OnChange config can be specified if provided as **Array** type.
}
]

.. _form-validation-types:

17.4. System Validation Types
-----------------------------

Expand Down Expand Up @@ -246,3 +266,31 @@ To integrate your own user based *x0-validation-functions*, define them in
INSERT INTO system.config (app_id, config_group, "value") VALUES ('appid', 'user_function', '[1] = "FunctionNr2"');
INSERT INTO system.config (app_id, config_group, "value") VALUES ('appid', 'user_function', '[2] = "FunctionNr3"');
INSERT INTO system.config (app_id, config_group, "value") VALUES ('appid', 'user_function', '[3] = "FunctionNr4"');

.. _form-examples-list:

17.6. Form Examples Reference
-----------------------------

**Local Repository Examples:**

* **Example 5 - Enhanced Form:** `http://x0-app.x0.localnet/python/Index.py?appid=example5 <http://x0-app.x0.localnet/python/Index.py?appid=example5>`_

- Advanced form validation features
- Multiple form field types
- Error handling and user feedback
- Integration with backend services

**External x0-skeleton Examples:**

* **Forms with MicroESB:** `https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb>`_

- Complete form implementation with microservice abstraction layer
- Production-ready form handling
- Service integration patterns

**Related Documentation:**

* :ref:`appdevformobjects` - Detailed formfield object documentation
* :ref:`appdevoverlay` - Overlay mode forms
* :ref:`devexamples` - Guidelines for creating new examples
55 changes: 55 additions & 0 deletions doc/appdev-objects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ Currently the following *x0-system-objects* are usable inside ``object.json``.
* :ref:`objecttype-openclosecontainer`
* :ref:`objecttype-treesimple`

For form-specific objects, see :ref:`appdevformobjects`. For practical examples and implementations, see the :ref:`examples section <object-examples-reference>` at the end of this document.

.. _objecttype-div:

10.1. Div
Expand Down Expand Up @@ -764,3 +766,56 @@ collapsibility:

* Example #15 - Tree Simple:
``http://x0-app.x0.localnet/python/Index.py?appid=example15``

.. _object-examples-reference:

10.13. Object Examples Reference
=================================

This section provides a comprehensive overview of examples demonstrating various *x0-system-objects* in action.

**Local Repository Examples:**

* **Example 1** - `Basic Objects <http://x0-app.x0.localnet/python/Index.py?appid=example1>`_: List, FileUpload
* **Example 3** - `Tabcontainer <http://x0-app.x0.localnet/python/Index.py?appid=example3>`_: Basic tabbed interface
* **Example 4** - `List with Data <http://x0-app.x0.localnet/python/Index.py?appid=example4>`_: Advanced list functionality
* **Example 8** - `Advanced Tabcontainer <http://x0-app.x0.localnet/python/Index.py?appid=example8>`_: Multi-level tabs
* **Example 9** - `Div Containers <http://x0-app.x0.localnet/python/Index.py?appid=example9>`_: Layout and styling
* **Example 11** - `Object Instancing <http://x0-app.x0.localnet/python/Index.py?appid=example11>`_: Dynamic object creation ⚠️ *Experimental*
* **Example 14** - `Open Close Container <http://x0-app.x0.localnet/python/Index.py?appid=example14>`_: Collapsible sections
* **Example 15** - `Tree Simple <http://x0-app.x0.localnet/python/Index.py?appid=example15>`_: Hierarchical navigation

**Object Type Categories:**

**Container Objects:**
- :ref:`objecttype-div` - Examples 9
- :ref:`objecttype-tabcontainer` - Examples 3, 8
- :ref:`objecttype-openclosecontainer` - Example 14

**Navigation Objects:**
- :ref:`objecttype-link` - Various examples
- :ref:`objecttype-linkexternal` - See documentation
- :ref:`objecttype-treesimple` - Example 15

**Data Objects:**
- :ref:`objecttype-list` - Examples 1, 4
- :ref:`objecttype-sqltext` - Various examples

**Interactive Objects:**
- :ref:`objecttype-button` - Various examples
- :ref:`objecttype-buttoninternal` - Various examples
- :ref:`objecttype-fileupload` - Example 1

**External x0-skeleton Examples:**

* **List with Calculations:** `https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/02-list-calculateable <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/02-list-calculateable>`_

- Advanced list object with calculation capabilities
- Demonstrates dynamic data processing

**Related Documentation:**

* :ref:`appdevforms` - Form-specific objects
* :ref:`appdevformobjects` - Detailed form object documentation
* :ref:`appdevoverlay` - Overlay mode and object instancing
* :ref:`devexamples` - Guidelines for creating new examples
9 changes: 7 additions & 2 deletions doc/appdev-overlay.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ a screen instance will be set up coexisting with the original source version.
-------------

See very limited example (screen only contains one single *x0-object*) at
http://x0-app.x0.localnet/python/Index.py?appid=example6.
`Example 6 - Screen Overlay <http://x0-app.x0.localnet/python/Index.py?appid=example6>`_.

For more comprehensive overlay examples, see:

* Local repository `/example/screen_overlay` - Complete overlay implementation
* Advanced overlay patterns in the :ref:`object-examples-reference`

19. Object Instancing
=====================
Expand All @@ -24,7 +29,7 @@ with existing *x0-object* properties (enhanced templating functionality).
.. image:: images/x0-object-instancing.png
:alt: image - object instancing

See example at http://x0-app.x0.localnet/python/Index.py?appid=example11.
**Example:** `Object Instances (Example 11) <http://x0-app.x0.localnet/python/Index.py?appid=example11>`_ - Demonstrates dynamic object creation and instancing.

.. warning::

Expand Down
47 changes: 47 additions & 0 deletions doc/dev-examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ within the *x0-framework*. These examples are critical for showcasing the
framework's capabilities and providing developers with a reference for
implementing features.

For production-ready examples and advanced implementations, see the `x0-skeleton repository <https://github.com/WEBcodeX1/x0-skeleton>`_ which contains comprehensive examples including:

* `Forms with MicroESB <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb>`_ - Complete form implementation with microservice integration
* `List with Calculations <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/02-list-calculateable>`_ - Advanced list processing with dynamic calculations

28.1. Example Structure
------------------------

Expand Down Expand Up @@ -107,3 +112,45 @@ After building, restart the *x0-system*:

By following these guidelines, you can create robust and reusable examples that demonstrate
the capabilities of the *x0-framework*.

28.4. Example Repository Reference
----------------------------------

**Current Local Examples:**

The `/example` directory contains numerous demonstrations of x0-framework features:

**Form Examples:**
- :ref:`Enhanced Form (Example 5) <enhanced-form-example>` - `http://x0-app.x0.localnet/python/Index.py?appid=example5 <http://x0-app.x0.localnet/python/Index.py?appid=example5>`_

**Object Examples:**
- See :ref:`object-examples-reference` for comprehensive object demonstrations

**Navigation Examples:**
- Example 15 - Tree Simple: `http://x0-app.x0.localnet/python/Index.py?appid=example15 <http://x0-app.x0.localnet/python/Index.py?appid=example15>`_
- Example 14 - Open Close Container: `http://x0-app.x0.localnet/python/Index.py?appid=example14 <http://x0-app.x0.localnet/python/Index.py?appid=example14>`_

**External Production Examples:**

**x0-skeleton Repository:** `https://github.com/WEBcodeX1/x0-skeleton <https://github.com/WEBcodeX1/x0-skeleton>`_

* **01-forms-microesb:** `https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb>`_

- Production-ready form implementation
- MicroESB microservice integration
- Advanced validation and error handling
- Service abstraction layer

* **02-list-calculateable:** `https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/02-list-calculateable <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/02-list-calculateable>`_

- Advanced list object with calculation capabilities
- Dynamic data processing and aggregation
- Real-time computation examples
- Complex data manipulation patterns

**Related Documentation:**

* :ref:`appdevforms` - Form development and validation
* :ref:`systemobjects` - System object reference
* :ref:`appdevformobjects` - Form-specific objects
* :ref:`appdevoverlay` - Overlay and object instancing
29 changes: 25 additions & 4 deletions doc/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@ Key Features:
Bootstrap Integration
Built on Bootstrap 5.3's Grid framework, the *x0-system* provides a reliable
and well-documented foundation for layout design. Developers can take advantage
of Bootstrap's familiar syntax and responsive breakpoints (e.g., "col-sm-*",
"col-md-*", "col-lg-*").
of Bootstrap's familiar syntax and responsive breakpoints (e.g., "col-sm-\*",
"col-md-\*", "col-lg-\*").
Comment on lines +108 to +109
Copy link

Copilot AI Sep 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The asterisk characters should not be escaped with backslashes in RST documentation. Use 'col-sm-' instead of 'col-sm-\'.

Suggested change
of Bootstrap's familiar syntax and responsive breakpoints (e.g., "col-sm-\*",
"col-md-\*", "col-lg-\*").
of Bootstrap's familiar syntax and responsive breakpoints (e.g., "col-sm-*",
"col-md-*", "col-lg-*").

Copilot uses AI. Check for mistakes.

Customizability
The grid system can be easily extended or overridden with custom CSS styles
Expand Down Expand Up @@ -171,7 +171,22 @@ For the current milestones, see: https://github.com/WEBcodeX1/x0/milestones.
5. References
=============

5.1. Related Documentation
5.1. Getting Started with Examples
----------------------------------

**Local Examples (when x0-system is running):**

- **Enhanced Forms:** `Example 5 <http://x0-app.x0.localnet/python/Index.py?appid=example5>`_ - Complete form validation and interaction patterns
- **Interactive Lists:** `Example 1 <http://x0-app.x0.localnet/python/Index.py?appid=example1>`_, `Example 4 <http://x0-app.x0.localnet/python/Index.py?appid=example4>`_ - Data display and management
- **Navigation:** `Example 15 <http://x0-app.x0.localnet/python/Index.py?appid=example15>`_ (TreeSimple), `Example 14 <http://x0-app.x0.localnet/python/Index.py?appid=example14>`_ (OpenCloseContainer)

**External Production Examples:**

- **x0-skeleton Repository:** `https://github.com/WEBcodeX1/x0-skeleton <https://github.com/WEBcodeX1/x0-skeleton>`_
- **Forms with MicroESB:** `01-forms-microesb <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/01-forms-microesb>`_ - Production-ready form implementation
- **Advanced Lists:** `02-list-calculateable <https://github.com/WEBcodeX1/x0-skeleton/tree/main/example/02-list-calculateable>`_ - Dynamic calculation capabilities

5.2. Related Documentation
--------------------------

- Configuration / Application Setup
Expand All @@ -180,10 +195,16 @@ For the current milestones, see: https://github.com/WEBcodeX1/x0/milestones.
:ref:`appdevglobalcss`
- Grid System
:ref:`appdevgridsystem`
- System Objects and Examples
:ref:`systemobjects`
- Forms Development
:ref:`appdevforms`
- Example Development Guidelines
:ref:`devexamples`
- Developer Documentation (Chapters 20 - 27)
:ref:`devarchitecture`

5.2. External Resources
5.3. External Resources
-----------------------

- SPA (Single-page application)
Expand Down