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

[EAK-504] Limited Parsys: add functionality to limit parsys-like components child component count #505

Merged
merged 13 commits into from
Jan 30, 2024

Conversation

ala-n
Copy link
Contributor

@ala-n ala-n commented Jan 22, 2024

Feature Final Scope:

A clientlib is provided to address the maximum children limit for containers (e.g., parsys) using a custom cq:listener or the design/policy property. The client library decorates the INSERT action and monitors editable placeholders (e.g., newpar). When the limit is reached, the INSERT action is hidden and inactive, placeholders are disabled, and an additional data-max-children-marker attribute is applied to placeholders for visual appearance customization (such as a custom red message and hover state, provided out-of-the-box).

In addition to the JS API, the EAK annotation set has been expanded with the @MaxChildren annotation to declare the maximum children resolver cq:listener using component Java metadata.

Notes for the Current PR:

  • The support for complex rules in the Java API is beyond the scope of the current issue.
  • Documentation, except for JS/Java docs, is not included and will be provided via a sub-PR or separately.
  • The policy-management and the new max-children functionality have been consolidated into a single eak.policy client library/module, as they will reuse the same logic for rule filtering.

Closes: #504

@ala-n ala-n self-assigned this Jan 22, 2024
@ala-n ala-n changed the base branch from master to develop January 23, 2024 16:08
@ala-n ala-n changed the base branch from develop to master January 23, 2024 16:08
@ala-n ala-n added javascript JavaScript code contribution AEM AEM-specific competencies are involved labels Jan 23, 2024
@ala-n ala-n linked an issue Jan 23, 2024 that may be closed by this pull request
@ala-n ala-n marked this pull request as ready for review January 24, 2024 02:03
@ala-n ala-n force-pushed the feature/limited-parsys branch from 8a84456 to 1aefa8c Compare January 24, 2024 12:36
@smiakchilo smiakchilo changed the base branch from master to develop January 29, 2024 13:48
@smiakchilo smiakchilo changed the base branch from develop to master January 29, 2024 13:53
@smiakchilo smiakchilo changed the base branch from master to develop January 29, 2024 13:53
Copy link
Collaborator

@smiakchilo smiakchilo left a comment

Choose a reason for hiding this comment

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

🔥

@ala-n ala-n force-pushed the feature/limited-parsys branch from 646f961 to a321900 Compare January 29, 2024 19:25
@smiakchilo smiakchilo merged commit f1ebe58 into develop Jan 30, 2024
6 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 30, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
AEM AEM-specific competencies are involved javascript JavaScript code contribution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[EAK-504] Add ability to limit parsys children count
6 participants