Conditional formatting#2538
Draft
AndyScherzinger wants to merge 23 commits intomainfrom
Draft
Conversation
bd88f94 to
b43b008
Compare
… table AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…etion hooks AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…onse types AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
… hooks AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…ion option ID remapping AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…mutation routes for formatting API AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…onents AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…ponents AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…cement AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Adds Format rules button to table toolbar, connects FormattingManager modal, propagates viewId through CustomTable/TableHeader for column popovers, and evaluates formatting rules on row load and changes. AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…tingRuleColMapper Covers column deletion marking rules broken, column type change, selection option deletion, saveForView junction rebuild, and mapper sync/find/delete operations. AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…atting UI AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Use OCP\DB\IResult instead of Doctrine\DBAL\Result for executeQuery mock (IQueryBuilder declares that return type). Set newTable->setId(1) in TablesMigratorTest formatting tests so tableIdMap entry is non-null and the importView callback fires. AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
- Remove unused loadTable import in e2e spec - Remove unused showError import in formatting store - Fix v-if/v-for on same element in ConditionGroupBuilder (use wrapper template) - Replace self-closing <input/> with <input> on void elements (FormatStylePicker, RuleEditor, RuleSetEditor) - Remove alignment spaces before return in switch statements (no-multi-spaces) - Replace boolean ternary with plain expression (no-unneeded-ternary) - Fix multiline-ternary in toCSS textDecoration - Add parentheses around mixed && / || in hasRulesForColumn (no-mixed-operators) - Move props above setup in TableRow and Options (vue/order-in-components) AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…faults Move TablesFormatting* psalm-types before TablesView in ResponseDefinitions so the forward reference to TablesFormattingRuleSet is resolved in order. Use ['groups' => []] as default for \$condition params to match declared array shape. Widen FormattingConditionGroupInput constructor docblock to include optional value/values fields. AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…Request::getFormat() conflict 'format' is a reserved request parameter consumed by Nextcloud's AppFramework to determine response content type. Sending an array as the top-level 'format' POST parameter in createRule/updateRule caused Request::getFormat() to return array instead of ?string, producing an HTTP 500. Renamed controller params $format → $style (mapping back to the internal 'format' key for FormattingRuleInput). Store actions destructure 'format' from caller data and re-key it as 'style' before POST/PUT so all callers remain unchanged. AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Placeholder conditions created by ConditionGroupBuilder have null columnId and operator until the user fills them in. These caused a HTTP 400 because PHP's isset() returns false for null, triggering the 'Condition requires columnId, columnType and operator' validation. Filter out any condition missing columnId, operator, or columnType before posting, and drop groups that become empty after filtering. AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
…rect mutations FilterEntry mutates its filterEntry prop in-place rather than emitting update:filter-entry events, so onConditionUpdate was never called and localCondition in RuleEditor always held the initial empty state. Add a deep watcher on mutableGroups with a _syncingFromProp guard so any in-place mutation made by FilterEntry is still emitted upward, while re-assignment from the conditionSet prop watcher does not trigger a redundant re-emit loop. AI-assistant: Claude Code v2.1.119 (Claude Sonnet 4.6) Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
b43b008 to
0d4a078
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WIP