Skip to content

Commit 7bfe445

Browse files
Dobromir Hristovmportiz08
authored andcommitted
Allow hiding available tags in NavigatorCard.vue (#537)
Resolves: rdar://100278813
1 parent b05268f commit 7bfe445

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

src/components/Navigator/NavigatorCard.vue

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,10 @@ export default {
226226
type: Boolean,
227227
default: false,
228228
},
229+
hideAvailableTags: {
230+
type: Boolean,
231+
default: false,
232+
},
229233
},
230234
mixins: [
231235
keyboardNavigation,
@@ -266,9 +270,9 @@ export default {
266270
* Shows only tags, that have children matches.
267271
*/
268272
availableTags: ({
269-
selectedTags, renderableChildNodesMap, apiChangesObject,
273+
selectedTags, renderableChildNodesMap, apiChangesObject, hideAvailableTags,
270274
}) => {
271-
if (selectedTags.length) return [];
275+
if (hideAvailableTags || selectedTags.length) return [];
272276
const apiChangesTypesSet = new Set(Object.values(apiChangesObject));
273277
const tagLabelsSet = new Set(Object.values(FILTER_TAGS_TO_LABELS));
274278
const generalTags = new Set([HIDE_DEPRECATED_TAG]);

tests/unit/components/Navigator.spec.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ describe('Navigator', () => {
148148
apiChanges: null,
149149
allowHiding: true,
150150
navigatorReferences,
151+
hideAvailableTags: false,
151152
});
152153
});
153154

@@ -187,6 +188,7 @@ describe('Navigator', () => {
187188
apiChanges: null,
188189
allowHiding: true,
189190
navigatorReferences,
191+
hideAvailableTags: false,
190192
});
191193
});
192194

tests/unit/components/Navigator/NavigatorCard.spec.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1158,6 +1158,19 @@ describe('NavigatorCard', () => {
11581158
expect(all.at(3).props('item')).toEqual(root0Child1GrandChild0);
11591159
});
11601160

1161+
it('allows hiding all available tags', async () => {
1162+
attachDivWithID(root0Child0.uid);
1163+
const wrapper = createWrapper();
1164+
await flushPromises();
1165+
const filter = wrapper.find(FilterInput);
1166+
expect(filter.props('tags')).toHaveLength(2);
1167+
wrapper.setProps({
1168+
hideAvailableTags: true,
1169+
});
1170+
await flushPromises();
1171+
expect(filter.props('tags')).toEqual([]);
1172+
});
1173+
11611174
it('allows filtering the items using Tags, opening all items, that have matches in children', async () => {
11621175
attachDivWithID(root0Child0.uid);
11631176
const wrapper = createWrapper();

0 commit comments

Comments
 (0)