Releases: tinybeans/jq-plugin-flexibleSearch
Released v2.3.1
Released v2.3.0
下記の2つのオプションを追加しました。
- simplePaginate
- hideOnePagePaginate
Released v2.2.4
3キーワード以上で検索する際の下記のバグを修正しました。
- 「犬 しつけ ペット」と全角スペース混じった場合、2キーワード目までが半角に変換されるが検索が動かない。
- 「犬 しつけ ペット」で半角スペースで検索した場合、検索は動くが「犬 しつけ+ペット」と半角スペースが+で表示される。
ぱくたそ さん、ご指摘ありがとうございました。
Released v2.2.3
機能向上
initialParameter オプションを追加
flexibleSearch を適用しているページにパラメータが無い場合でも、flexibleSearch を動かすためのパラメータを設定することができます。
例えば、通常は search.html
のようにパラメータが付いていないと flexibleSearch.js は動きませんが、下記のように initialParameter
オプションを設定すると、 search.html
は search.html?limit=10&offset=0
にアクセスしているのと同様に flexibleSearch を動かすことができます。
initialParameter: 'limit=10&offset=0'
resultMetaTitleRewrite オプションを追加
resultMetaTitleRewrite
オプションに false
を設定すると、flexibleSearch によるメタタイトルの書き換えが無効になります。
customSort オプションを追加
通常の検索と独自の検索ロジックで絞り込まれた JSON に対して処理を加えることができます。 sortBy
パラメータとは別に複数条件による複雑なソート処理などを加える場合はこのオプションを利用します。
ページングのテンプレートで使える変数を追加
- currentCountFrom : 現在表示しているページの最初のアイテムが全体の何件目か
- currentCountTo : 現在表示しているページの最後のアイテムが全体の何件目か
- lastPage : 最終ページ数
- currentPage : 現在のページ数
- totalResults : 全体の検索結果件数
- count :
totalResults
と同じ
改善点・修正点
- URL パラメータに Offset がない場合でも、ページャが動作するよう調整しました。( #4 )
- ページングのデフォルトのテンプレートを修正しました。
- limit オプションのバグを修正しました。
- 検索ワードがないときにデフォルトのメタタイトルテンプレートだと
[object object]
と表示されるのを修正しました。 - README.md を修正・アップデートしました。
Released v2.2.1
sortByを指定し、かつ検索結果が 0 の場合にエラーが起きるバグを修正しました。
Thank you very much, Mr.Masuda!
Released v2.2.0
ソート機能に対応
検索結果をsortByパラメータに指定した任意のキーでソート出来るようになりました。
また、並び順はsortOrderパラメータで昇順か降順を指定でき、並び替えの基準となる値が数字の場合は、数値として並び変えることが可能です。
独自のロジックで検索
通常の検索で絞り込んだJSONを、さらに独自のロジックでフィルターできるようになりました。
ページ送り機能の強化
ページ分割をする場合、前のページや次のページに順送りするナビゲーションを追加しました。
また、例えば全部で30ページあるとき、ページ分割のナビゲーションに表示するページナンバーは、現在表示中のページを中心に5ページだけにする、といったことが可能となりました。
多数のオプションの追加
上記で紹介した機能を含め、下記の多数のオプションを追加しました。
- limit: limit オプションを指定すると URL の limit パラメータは無視され、ここで指定した値が常に優先されます。
- resultMsgId: 検索結果のメッセージを表示する要素のidを指定します。
- resultMsgClassName: 検索結果のメッセージを表示する要素のclass名を指定します。
- resultMsgInsertMethods: 検索結果のメッセージを表示する要素のセレクタと挿入方法を指定します。
- resultMetaTitleTmpl: 検索結果ページのmeta title用のMustacheテンプレートです。
- paginateClassName: 検索結果のページ送りを表示するブロックのclass名を指定します。
- hidePageNumber: trueを設定するとページ分割のページ番号を非表示にします。
- showTurnPage: falseを設定するとページ分割の「Prev」「Next」のページ送りを非表示にします。
- prevPageText: ページ分割の前のページへ送るリンクのテキストを指定します。
- nextPageText: ページ分割の次のページへ送るリンクのテキストを指定します。
- maxPageCount: ページ分割時に表示する最大ページ数を指定します。例えば、maxPageCountオプションを10に設定して、検索結果が全部で30ページになったとすると、そのうちの、現在のページを中心にして最大何ページ表示するか、という意味です。
- paginateInsertMethods: ページ分割ナビゲーションを表示する要素のセレクタと挿入方法を指定します。
- customSearch: 独自の検索ロジックを追加することができます。
- modifyResultJSON: 検索結果をHTMLに出力する直前にJSONを加工することができます。
各機能の詳細は README.md をご確認ください。