objectbox / objectbox/objectbox-java

ObjectBrowser: not possible to add filter based on relation-ID

Aperta
#1,057 2 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement
Lingua principale
Java
Stelle
4.6k
Fork
311
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

🚨 First, please check:

  • existing issues,

As far as I searched the open and closed issues with keyword "browser", I couldn't find anything related.

Curiously, I couldn't find anything in the docs about the ObjectBrowsers' usage and setup (aside of the changelog), is it deprecated now?

This page gives me a 500-code page right now...

The FAQ doesn't mention usage of the objectbrowser

Describe the bug
If I try to filter the data in the objectbrowser for an Entity that is participating as a target in an ToMany-relation, the objectbrowser-filter feature does not let me choose any operators for the ID-property for the ToOne-backlink.

Basic info (please complete the following information):

  • ObjectBox version (are you using the latest version?): 3.1.2 on a fresh test-project
  • Reproducibility: always
  • Device: Galaxy S20 FE (does not seem related to execution of this specific bug in ObjectBrowser)
  • OS: Android 12

To Reproduce
Steps to reproduce the behavior:

  1. Extract the attached demo-project objectboxtest.zip
  2. Open the project in Android Studio
  3. Compile and start the app on an emulator or device
  4. Leave the app open
  5. On the terminal, execute command adb forward tcp:8090 tcp:8090
  6. On the desktop, open a browser and open objectbrowser at http://localhost:8090/#/data/Login/page-1
  7. Add a filter for the Login-table
  8. As the filtered property, select userId
  9. Try to select the operator, but only choice from the popup is No data available
  10. No dice!

Expected behavior
As the property userId is a Long, I would expect the operator-popup to give me at least the choice to select = to filter the table for specific rows, so that I can filter a longer list of data for specific items.

Code
If applicable, add code to help explain your problem.

  • Include affected entity classes.
  • Please remove any unnecessary or confidential parts.
  • At best, link to or attach a project with a failing test.

objectboxtest.zip

Logs, stack traces
If applicable, add relevant logs, or a stack trace.

  • For build issues, use --stacktrace for the Gradle build (./gradlew build --stacktrace).
  • For runtime errors, check Android's Logcat (also check logs before the issue!).

There are no build-issues or runtime-errors to be observed. Even the objectbrowser does not issue any warnings at any time.

Additional context
Add any other context about the problem here.

  • Is there anything special about your app?

The only special thing about this might be the use-case for the filtering-feature in the objectbrowser.
Otherwise, it is a very simple demo-setup according to the Get-Started-docs (aside from the objectbrowser-setup, which I had to derive from my real app-project, since I couldn't find any setup-docs for it anymore).

  • May transactions or multi-threading play a role?

Nothing of the like is used here.

  • Did you find any workarounds to prevent the issue?

I tried the workaround mentioned here to being able to filter data with the userId in the objectbrowser, but sadly it didn't make any difference.

It would be really nice to be able to filter specific dependent data from relations in the objectbrowser, as long as a dedicated relations-browser feature is missing.

Thank you for your support!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Usa l’objectboxtest.zip allegato, avvia l’app, esegui adb forward tcp:8090 tcp:8090 e riproduci il filtro all’URL di ObjectBrowser. Esamina il comportamento del filtro di ObjectBrowser per l’ID della relazione userId; il lavoro è completato quando il popup dell’operatore offre = e filtra le righe pertinenti, documentando la configurazione correlata se necessario.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, java
Ambito
databases, mobile-dev
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.