Skip to content

Commit 4bea070

Browse files
Relationship input enchancements clean (#5216)
* space saving label, use floatingdom to position dropdown * cleanup * cleanup * lint * changelog
1 parent 0f14afd commit 4bea070

11 files changed

Lines changed: 72 additions & 20 deletions

File tree

.changeset/cyan-cases-stick.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"apostrophe": patch
3+
---
4+
5+
Relationship input's autocomplete list now positioned with floating-ui

packages/apostrophe/modules/@apostrophecms/i18n/i18n/de.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
"breakpointPreviewMobile": "Mobil",
9090
"breakpointPreviewSelect": "Wählen Sie den Haltepunkt",
9191
"breakpointPreviewTablet": "Tablet",
92+
"browse": "Durchsuchen",
9293
"browseDocType": "{{ type }} durchsuchen",
9394
"cancel": "Abbrechen",
9495
"cannotChangeSlugPrefix": "Der Slug-Präfix kann nicht geändert werden.",

packages/apostrophe/modules/@apostrophecms/i18n/i18n/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
"breakpointPreviewMobile": "Mobile",
9191
"breakpointPreviewSelect": "Select Breakpoint",
9292
"breakpointPreviewTablet": "Tablet",
93+
"browse": "Browse",
9394
"browseDocType": "Browse {{ type }}",
9495
"cancel": "Cancel",
9596
"cannotChangeSlugPrefix": "cannot change the slug prefix",

packages/apostrophe/modules/@apostrophecms/i18n/i18n/es.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"breakpointPreviewMobile": "Móvil",
8989
"breakpointPreviewSelect": "Seleccione el punto de interrupción",
9090
"breakpointPreviewTablet": "Tableta",
91+
"browse": "Navegar",
9192
"browseDocType": "Navegar {{ type }}",
9293
"cancel": "Cancelar",
9394
"cannotChangeSlugPrefix": "No se puede cambiar el prefijo del slug",

packages/apostrophe/modules/@apostrophecms/i18n/i18n/fr.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"breakpointPreviewMobile": "Mobile",
8989
"breakpointPreviewSelect": "Sélectionner le point d'arrêt",
9090
"breakpointPreviewTablet": "Tablette",
91+
"browse": "Parcourir",
9192
"browseDocType": "Parcourir {{ type }}",
9293
"cancel": "Annuler",
9394
"cannotChangeSlugPrefix": "Impossible de changer le préfixe du slug",

packages/apostrophe/modules/@apostrophecms/i18n/i18n/it.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"breakpointPreviewMobile": "Mobile",
8989
"breakpointPreviewSelect": "Seleziona Breakpoint",
9090
"breakpointPreviewTablet": "Tablet",
91+
"browse": "Sfoglia",
9192
"browseDocType": "Sfoglia {{ type }}",
9293
"cancel": "Annulla",
9394
"cannotChangeSlugPrefix": "impossibile cambiare il prefisso dello slug",

packages/apostrophe/modules/@apostrophecms/i18n/i18n/pt-BR.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"breakpointPreviewMobile": "Mobile",
8989
"breakpointPreviewSelect": "Selecione o ponto de interrupção",
9090
"breakpointPreviewTablet": "Tablet",
91+
"browse": "Navegar",
9192
"browseDocType": "Navegar em {{ type }}",
9293
"cancel": "Cancelar",
9394
"cannotChangeSlugPrefix": "não pode mudar o prefixo do slug",

packages/apostrophe/modules/@apostrophecms/i18n/i18n/sk.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"breakpointPreviewMobile": "Mobil",
8989
"breakpointPreviewSelect": "Vyberte bod prerušenia",
9090
"breakpointPreviewTablet": "Tablet",
91+
"browse": "Prehliadať",
9192
"browseDocType": "Prehliadať {{ type }}",
9293
"cancel": "Zrušiť",
9394
"cannotChangeSlugPrefix": "nemôže zmeniť predvoľbu -",

packages/apostrophe/modules/@apostrophecms/schema/ui/apos/components/AposInputRelationship.vue

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
<input
3232
v-if="!modifiers.includes('no-search')"
3333
:id="uid"
34+
ref="input"
3435
v-model="searchTerm"
3536
class="apos-input apos-input--text apos-input--relationship"
3637
type="text"
@@ -70,19 +71,25 @@
7071
@update:model-value="updateSelected"
7172
@item-clicked="editRelationship"
7273
/>
73-
<AposSearchList
74-
:aria-id="`apos-relationship-${field._id}`"
75-
:list="searchList"
76-
:selected-items="next"
77-
:icon="field.suggestionIcon"
78-
:icon-size="field.suggestionIconSize"
79-
:fields="suggestionFields"
80-
:focus-index="searchFocusIndex"
81-
:suggestion="searchSuggestion"
82-
:hint="searchHint"
83-
disabled-tooltip="apostrophe:publishBeforeUsingTooltip"
84-
@select="updateSelected"
85-
/>
74+
<div
75+
v-show="searchList.length"
76+
ref="floatingList"
77+
class="apos-input-relationship__search-list"
78+
>
79+
<AposSearchList
80+
:aria-id="`apos-relationship-${field._id}`"
81+
:list="searchList"
82+
:selected-items="next"
83+
:icon="field.suggestionIcon"
84+
:icon-size="field.suggestionIconSize"
85+
:fields="suggestionFields"
86+
:focus-index="searchFocusIndex"
87+
:suggestion="searchSuggestion"
88+
:hint="searchHint"
89+
disabled-tooltip="apostrophe:publishBeforeUsingTooltip"
90+
@select="updateSelected"
91+
/>
92+
</div>
8693
</div>
8794
</template>
8895
</AposInputWrapper>
@@ -97,6 +104,14 @@ export default {
97104
</script>
98105

99106
<style lang="scss" scoped>
107+
.apos-input-relationship__search-list {
108+
z-index: $z-index-notifications;
109+
position: fixed;
110+
top: 0;
111+
left: 0;
112+
width: max-content;
113+
}
114+
100115
.apos-input-relationship__input-wrapper {
101116
// Disable z-index because it breaks context menus that originate from
102117
// a fixed position elements (AposModalLip).

packages/apostrophe/modules/@apostrophecms/schema/ui/apos/components/AposSearchList.vue

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<template>
22
<ul
3-
v-show="list.length"
43
:id="ariaId"
54
:aria-hidden="!list.length"
65
role="listbox"
@@ -99,8 +98,6 @@ export default {
9998

10099
<style lang="scss" scoped>
101100
.apos-search {
102-
z-index: calc(#{$z-index-widget-focused-controls} + 1);
103-
position: absolute;
104101
overflow: auto;
105102
box-sizing: border-box;
106103
width: 100%;

0 commit comments

Comments
 (0)