i have data looks this:
"-jnbxajp3rgsiem2o0en" : { "name":"bill" }, "-yryexajp3rgsiem2o0en" : { "name":"jill" }, "-6yrhxajp3rgsiem2o0en" : { "name":"john" }, "-gn643jp3rgsiem2o0en" : { "name":"jack" }
when user logged in id simplelogin:5
want order output based on sort preferences. example user simplelogin:5
set order jack,jill,joh,bill
, simplelogin:1
set order bill,john,jack,jill
.
i know can set priority that's priority data whole , isn't tied user, shared data needs custom priority per user.
i thinking of setting this:
users[ { "uid":"simplelogin:1", "nameorder":[-gn643jp3rgsiem2o0en, -yryexajp3rgsiem2o0en, etc.] } ];
but seems there should better way, , if able generate list that, i'm not sure how sort output follow order in nameorder
entry.
first need modify main list persistent sort id. used numeric value can use whatever value prefer.
"-jnbxajp3rgsiem2o0en" : { "name":"bill", nameindex": 0 }, "-yryexajp3rgsiem2o0en" : { "name":"jill", "nameindex": 1 }, "-6yrhxajp3rgsiem2o0en" : { "name":"john", "nameindex": 2 }, "-gn643jp3rgsiem2o0en" : { "name":"jack", "nameindex": 3 }
then store user defined sort preference
"simplelogin:1" : { "nameorder": "0,2,3,1" }, "simplelogin:5" : { "nameorder": "3,1,2,0" }
now when read name list, use array index saved in nameorder display results.