すみません、馬鹿すぎて何もわからないので教えていただけると幸いです🙇
やりたいこと
複数のソート条件をかけたURLを生成し、遷移先に指定して、複数のソート条件を保持したままのURLに遷移したい
やってること
ブラウザのコンソールで、複数ソート条件を指定したURLを生成し、`location.href`
に入れた
(「モバイル」版のURLへアクセスして挙動を確認)
またはカスタマイズファイル上で 複数ソート条件を指定したURLを生成し、`location.href`
に入れた (一番下に記載)
結果
複数ソート条件が付いてるURLへ遷移
location.href = "https://bmy96j7issf3.cybozu.com//k/m/206/?query=%E6%97%A2%E8%AA%AD%20not%20like%20%2264%22#sort_0=f6443156&order_0=desc&sort_1=f6442572&order_1=desc&sort_2=f6442572&order_2=desc"
遷移後のURL 、ソート条件が1つだけになる
(遷移後のクエリパラメータが遷移前のクエリパラメータと全て同一、又は遷移前も遷移後もクエリパラメータが存在しない場合はソート条件が保持される)
https://bmy96j7issf3.cybozu.com/k/m/206/?query=%E6%97%A2%E8%AA%AD%20not%20like%20%2264%22#sort_0=f6443156&order_0=desc&qs=1
理想
複数ソート条件が付いてるものを実行
location.href = "https://bmy96j7issf3.cybozu.com//k/m/206/?query=%E6%97%A2%E8%AA%AD%20not%20like%20%2264%22#sort_0=f6443156&order_0=desc&sort_1=f6442572&order_1=desc&sort_2=f6442572&order_2=desc"
遷移後のURL 、ソート条件が複数保持される
https://bmy96j7issf3.cybozu.com/k/m/206/?query=%E6%97%A2%E8%AA%AD%20not%20like%20%2264%22#sort_0=f6443156&order_0=desc&sort_1=f6442572&order_1=desc&sort_2=f6442572&order_2=desc
確認したこと
- カスタマイズファイル上で上記のようなURLを作成し、同じように`
location.href`
に入れたがソート条件は保持されなかった。 - そもそもソート条件はURLフラグメントに記載されており、カスタマイズファイルが動いているサーバでソートの処理が動いてるから、カスタマイズファイルが動いてるサーバの問題?(でもだからと言ってどうしていいかわからない)
- PCでは正常に処理されていた、(多分モバイルとは別のサーバだから挙動が違うのかな…何もわからない)
- なんか変な`
qs`
っていうソート条件が自動でつくのでそれかなと思い調べたがわからず - ソートに何か制約があるのかと思い調べたがわからず
JSのコードはこれです
location.href =encodeURI(`${location.pathname}?view=${viewInQueryParameter}&query=${kintoneQuery}${decodeURI(location.hash)}`)
4件のコメント
すみません!モバイル版のみで確認された挙動です!一番上に書き忘れてました!
PC版はソート条件が複数保持されました!
sortだけhashを利用してる意図はわかってなくすいませんが、
queryの表現でソートしてみたらどうですか?(order byでソート)
(おそらく、モバイルだとそこらへんの制御が厳格なのかもしれません。)
下記をみてみてください。
https://cybozu.dev/ja/kintone/docs/js-api/app/specify-record-list-via-query-string/#filter-record
なるほど!すみません、ありがとうございます!
GUI操作で絞り込みをすると、urIfragment にソート条件が付くので、そのまま同じようにurIfragment に代入してました。。。