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

Feature: Support partial rendering #9

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Commits on Mar 6, 2023

  1. FEATURE: Support partial rendering

    With this patch, in addition to document nodes, you can also have
    content nodes (partials) re-rendered via AJAX requests. The identifier
    of the node is now stored in the cache entry along with the Fusion
    path and is thus available on request to render the partial.
    alexander-nitsche committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    5e0b997 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2023

  1. FEATURE: Support nested and standalone Psmb.Ajaxify:RenderPath

    A key feature of this package is to associate a partial with a unique
    partial key for later dedicated rendering in AJAX requests. The
    implementation strictly relied on a defined position of the responsible
    Psmb.Ajaxify:RenderPath within the Psmb.Ajaxify:Ajaxify Fusion
    object. With this patch, that relationship has been relaxed: the
    Psmb.Ajaxify:RenderPath Fusion object can now be used both standalone
    and nested within any depth of Psmb.Ajaxify:Ajaxify. However, when
    used standalone, it must be called at the first level of the partial -
    in the same way as Psmb.Ajaxify:Ajaxify.
    alexander-nitsche committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    49289dc View commit details
    Browse the repository at this point in the history
  2. FEATURE: Support setting the partial unique key via pathKey property

    Psmb.Ajaxify:Ajaxify and Psmb.Ajaxify:RenderPath can be assigned to
    the same generic property name in all occurrences for better code
    readability.
    alexander-nitsche committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    0aa9a53 View commit details
    Browse the repository at this point in the history
  3. [!!!]FEATURE: Auto-generate unique key of partial

    The partial key must be unique per Fusion path and content node.
    Therefore, the current state of one key per Fusion path is not
    sufficient. With this patch, the key will be a hash based on both
    attributes.
    
    The hash is generated automatically, thereby removing the requirement
    for the developer to manually specify a unique key.
    
    Because this patch changes the value of the publicly used URL parameter
    `&ajaxPathKey=<value>` this patch is marked as breaking.
    alexander-nitsche committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    03a1ab6 View commit details
    Browse the repository at this point in the history
  4. [!!!]TASK: Refactor

    Previously, partial rendering considered only the Fusion path. With the
    recent changes, both the Fusion path and the content node, called the
    partial context, are now considered. Consider this change in the naming
    conventions. In detail these are:
    
    - Public: Rename URL parameter "ajaxPathKey" to "ajaxPartialKey".
    - Public: Rename `Psmb.Ajaxify:RenderPath` to `Psmb.Ajaxify:PartialSerializer`.
    - Public: Rename `Psmb.Ajaxify:RenderPathResolver` to `Psmb.Ajaxify:PartialResolver`.
    - Public: Rename "[P]athsCache" to "[Pp]artialCache" cache identifier.
    - Private: Use FQDN for \Exception to satisfy the editor :).
    - Private: Use verbose common "fusionPath" over "path" and "renderPath".
    - Private: Rename "pathKey" to "partialKey".
    - Private: Even smaller adjustments ..
    
    Since this patch changes the naming of some public elements, it is marked
    as breaking. And breaking changes are included because there were other
    breaking changes in this patch already.
    alexander-nitsche committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    39b86ba View commit details
    Browse the repository at this point in the history
  5. TASK: Reformat code

    Apply PSR-2 and general Neos .editorconfig styles to the codebase to
    eliminate mixing of styles and facilitate future patching.
    alexander-nitsche committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    78a1854 View commit details
    Browse the repository at this point in the history