refactor: entity selector full overhaul — Mar 2026

- Unified _setBadgeCount for ALL badge updates
- target-conditions-trait → entity-selector-trait
- target-* → es-* class rename (20+ classes)
- SCSS recompiled: zero duplicate selectors
- CSS transitions replace jQuery slideDown/slideUp
- Serialize cache, method swap cache
- Badge: no-matches gray, consistent hover, no blending
- Inline condition count always visible
- Preview popover refreshes in-place on sort change
- Categories add chips immediately
- Entity type icons on chips
- Consistent info_outline icons via buildHelpIcon
- Method dropdown text clipping fix (line-height)
- mpr-input-compact on all inputs
- Dropdown padding fixed in SCSS source
- Chips wrapper: same container always
- Reusable helpers: _buildEmptyState, _buildSearchBoxHtml, _buildInfoTooltip
- Asset path: uses $this->module->getPathUri() not reflection
- Debug logs removed

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-30 18:05:43 +00:00
parent d2d4f96c5e
commit c6fd5cee13
38 changed files with 7670 additions and 8929 deletions

View File

@@ -7,7 +7,6 @@
@use '../variables' as *;
@use '../mixins' as *;
.target-conditions-trait,
.entity-selector-trait {
// Chips container wrapper with toolbar
@@ -332,7 +331,7 @@
color: darken($es-primary, 10%);
}
i {
i.material-icons {
font-size: 14px;
}
}
@@ -343,16 +342,6 @@
word-break: break-word;
}
.chip-attrs {
font-size: 0.85em;
opacity: 0.7;
margin-left: 2px;
&::before {
content: '';
}
}
.chip-remove {
@include button-reset;
display: flex;
@@ -831,7 +820,7 @@
color: $es-text-secondary;
}
i {
i.material-icons {
font-size: 18px;
}
}
@@ -853,7 +842,7 @@
color: $es-text-muted;
font-size: $es-font-size-sm;
i {
i.material-icons {
font-size: 20px;
}
@@ -868,7 +857,7 @@
padding: $es-spacing-xl 0;
color: $es-text-muted;
i {
i.material-icons {
font-size: 48px;
opacity: 0.4;
margin-bottom: $es-spacing-sm;
@@ -978,7 +967,7 @@
border-bottom: 1px solid $es-border-color;
background: $es-slate-50;
i {
i.material-icons {
font-size: 18px;
color: $es-text-muted;
}
@@ -1015,7 +1004,6 @@
#content.bootstrap,
#content .bootstrap,
.bootstrap #content {
.target-conditions-trait,
.entity-selector-trait {
.chips-wrapper .chips-toolbar {
// Double class for extra specificity