Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap to V1 #3

Open
24 of 33 tasks
donseba opened this issue Nov 13, 2024 · 0 comments
Open
24 of 33 tasks

Roadmap to V1 #3

donseba opened this issue Nov 13, 2024 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@donseba
Copy link
Owner

donseba commented Nov 13, 2024

  • Create a Partial Service to which we can define the config which should make the globals obsolete #5

    • Include configuration options like default headers, template caching preferences, and default template functions.
    • Provide methods to register partials, retrieve them, and manage their lifecycles.
    • Ensure that the PartialService can be safely used across multiple goroutines.
  • Define a Connector Interface #7

    • Design an interface with methods that abstract the communication between the server and client-side frameworks.
    • Include methods for handling requests, parsing headers, and formatting responses according to the framework's expectations.
  • Implement Connectors for Specific Frameworks #8

    • HTMX
      • Implement a connector that handles HTMX-specific headers (like HX-Request, HX-Target, etc.).
      • Ensure that the server responses are formatted correctly for HTMX to process partial updates.
    • Alpine Ajax
      • Develop a connector that works with Alpine.js's AJAX capabilities.
      • Handle custom headers or payloads that Alpine.js might use for partial rendering.
    • Datastar
      • create a connector to integrate with its mechanisms.
      • Address any specific requirements Datastar has for partial rendering.
    • Standalone Framework (X-Request / X-Select / X-Action )
      • Implement a generic connector that uses custom headers like X-Request and X-Select.
  • Build a Use Case for X-Request and X-Select in a Single Call #9

    • In the backend we should add the possibility to assign a map to a specific partial WithMap(map[string]*Partial)
    • X-Select should identify which partial should be loaded into the request target
    • define the default Map value to render when not provided.
  • Add Logging Interface (slog) #6

    • Support different logging levels (debug, info, warning, error).
    • Include contextual information like request IDs, partial IDs, or timestamps.
    • Review error messages and logs to prevent outputting sensitive information.
  • Examples #12

    • Add basic example
    • Add example for SelectMap (X-Select)
    • Add Example for Action (X-Action)
    • Add Example for TemplateAction (X-Action)
  • Demo website

@donseba donseba added enhancement New feature or request help wanted Extra attention is needed labels Nov 13, 2024
@donseba donseba pinned this issue Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant