Skip to content

Commit c2fba73

Browse files
committed
fix(crosstab): invert category filter selection to be consistent with variable modal selection.
fixes #195
1 parent 8f64221 commit c2fba73

1 file changed

Lines changed: 45 additions & 31 deletions

File tree

src/app/components/body/cross-tabulation/variable-selection/dropdown/dropdown.component.html

Lines changed: 45 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<h3>
33
{{ selectedVariableLabel() || 'No variable selected' }}
44
@if (variableOrientation() === 'cols') {
5-
[{{'CROSS_TABULATION.COLUMN' | translate}}]
5+
[{{ 'CROSS_TABULATION.COLUMN' | translate }}]
66
} @else if (variableOrientation() === 'rows') {
7-
[{{'CROSS_TABULATION.ROW' | translate}}]
7+
[{{ 'CROSS_TABULATION.ROW' | translate }}]
88
} @else {
9-
[{{'CROSS_TABULATION.SELECT_ROW_COL' | translate}}]
9+
[{{ 'CROSS_TABULATION.SELECT_ROW_COL' | translate }}]
1010
}
1111
</h3>
1212
</div>
@@ -23,12 +23,16 @@ <h3>
2323
panelStyleClass="rounded bg-base-100 border border-slate-300"
2424
>
2525
<ng-template pTemplate="selectedItem" let-item>{{
26-
item === 'rows' ? ('CROSS_TABULATION.ROW' | translate) : ('CROSS_TABULATION.COLUMN' | translate)
26+
item === 'rows'
27+
? ('CROSS_TABULATION.ROW' | translate)
28+
: ('CROSS_TABULATION.COLUMN' | translate)
2729
}}</ng-template>
2830
<ng-template pTemplate="item" let-item>
29-
<span class="px-2">{{
30-
item === 'rows' ? ('CROSS_TABULATION.ROW' | translate) : ('CROSS_TABULATION.COLUMN' | translate)
31-
}}</span>
31+
<span class="px-2">{{
32+
item === 'rows'
33+
? ('CROSS_TABULATION.ROW' | translate)
34+
: ('CROSS_TABULATION.COLUMN' | translate)
35+
}}</span>
3236
</ng-template>
3337
</p-dropdown>
3438
</label>
@@ -47,7 +51,7 @@ <h3>
4751
panelStyleClass="rounded bg-base-100 border border-slate-300"
4852
>
4953
<ng-template pTemplate="item" let-item>
50-
<span class="px-2">{{ item.value.labl }}</span>
54+
<span class="px-2">{{ item.value.labl }}</span>
5155
</ng-template>
5256
</p-dropdown>
5357
</label>
@@ -85,14 +89,16 @@ <h3>
8589
</ng-template>
8690
<ng-template pTemplate="item" let-items>
8791
<span
88-
[ariaDisabled]="variablesAlreadySelected().includes(items.variableID)"
92+
[ariaDisabled]="
93+
variablesAlreadySelected().includes(items.variableID)
94+
"
8995
[ngClass]="{
9096
'text-success hover:bg-current':
91-
variablesAlreadySelected().includes(items.variableID)
97+
variablesAlreadySelected().includes(items.variableID),
9298
}"
9399
class="hover:bg-base-300 py-2.5 w-full h-full"
94100
>
95-
{{ items.label }}
101+
{{ items.label }}
96102
</span>
97103
</ng-template>
98104
<!-- <ng-template pTemplate="selectedItem" let-value>
@@ -113,7 +119,7 @@ <h3>
113119
[options]="filteredCategories() | keyvalue"
114120
[ngModel]="filteredMissing()"
115121
placeholder="{{ 'CROSS_TABULATION.NONE' | translate }}"
116-
[disabled]="!hasCategories()"
122+
[disabled]="!hasCategories()"
117123
(ngModelChange)="changeMissingValues($event)"
118124
optionLabel="value"
119125
optionValue="key"
@@ -123,34 +129,37 @@ <h3>
123129
<ng-template pTemplate="empty">
124130
<span>{{ 'CROSS_TABULATION.NO_CATEGORIES' | translate }}</span>
125131
</ng-template>
126-
132+
127133
<ng-template pTemplate="selectedItems" let-items>
128134
@if (!hasCategories()) {
129135
<span>{{ 'CROSS_TABULATION.NONE' | translate }}</span>
130136
} @else {
131-
132-
@for (item of items; track $index) {
133-
<span *ngIf="$index === 0" class="">
134-
{{ item.value }}
135-
</span>
136-
<span *ngIf="$index > 0" class="-ml-1">
137-
, {{ item.value }}
138-
</span>
139-
} @empty {
140-
<span>{{ 'CROSS_TABULATION.NONE' | translate }}</span>
141-
}
137+
@for (item of items; track $index) {
138+
<span *ngIf="$index === 0" class="">
139+
{{ item.value }}
140+
</span>
141+
<span *ngIf="$index > 0" class="-ml-1"> , {{ item.value }} </span>
142+
} @empty {
143+
<span>{{ 'CROSS_TABULATION.NONE' | translate }}</span>
144+
}
142145
}
143146
</ng-template>
144147
<ng-template let-item pTemplate="item">
145-
<div class="">
146-
<input *ngIf="!filteredMissing().includes(item.key)" type="checkbox" />
147-
<input *ngIf="filteredMissing().includes(item.key)" checked type="checkbox" />
148+
<div class="">
149+
<input
150+
*ngIf="filteredMissing().includes(item.key)"
151+
type="checkbox"
152+
/>
153+
<input
154+
*ngIf="!filteredMissing().includes(item.key)"
155+
checked
156+
type="checkbox"
157+
/>
148158
{{ item.value }}
149159
</div>
150160
</ng-template>
151161
<ng-template pTemplate="closeicon" class="hidden"></ng-template>
152162
<ng-template pTemplate="filtericon" class="hidden"></ng-template>
153-
154163
</p-multiSelect>
155164
<!-- <dct-multiselect-dropdown
156165
(changeSelectedItems)="changeMissingValues($event)"
@@ -165,7 +174,10 @@ <h3>
165174
</div>
166175
<div class="w-full md:w-1/12 relative">
167176
<div class="flex flex-col mt-4 mb-2">
168-
<button (click)="removeVariable(index())" class="p-2 btn-action md:absolute bottom-2 right-0 border rounded border-slate-300 md:border-0">
177+
<button
178+
(click)="removeVariable(index())"
179+
class="p-2 btn-action md:absolute bottom-2 right-0 border rounded border-slate-300 md:border-0"
180+
>
169181
<svg
170182
class="mx-2 w-6 h-6"
171183
fill="none"
@@ -180,8 +192,10 @@ <h3>
180192
stroke-linejoin="round"
181193
/>
182194
</svg>
183-
<span class="sr-only">{{ 'CROSS_TABULATION.REMOVE_ROW' | translate }}</span>
195+
<span class="sr-only">{{
196+
'CROSS_TABULATION.REMOVE_ROW' | translate
197+
}}</span>
184198
</button>
185199
</div>
186200
</div>
187-
</div>
201+
</div>

0 commit comments

Comments
 (0)