タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

MovableTypeの記事一覧を表示した時点で任意のフィルタをあてたいとか言われた

後出しですし納期もないのでやっつけで。

参考

記事一覧ページのフィルタをMTAppjQueryで指定してみる | bit part blog

/**
 * http://qiita.com/ma_me/items/03aaebb5dc440b380244 を元に decodeURIComponentを追加
 * URL解析して、クエリ文字列を返す
 * @returns {Array} クエリ文字列
 */
function getUrlVars()
{
    var vars = [], max = 0, hash = "", array = "";
    var url = window.location.search;

    hash  = url.slice(1).split('&');    
    max = hash.length;
    for (var i = 0; i < max; i++) {
        array = hash[i].split('='); 
        vars.push(array[0]); 
        vars[array[0]] = decodeURIComponent(array[1]);
    }

    return vars;
}

if( mtappVars.screen_id == "list-entry"){
    $(window).bind('listReady', function(){
        var q = getUrlVars();
        if (q.confirm) {
            if ($('.blog1_confirm-value').val() != q.confirm) {
                if ( $("#filter_name").val() != 'すべての記事' ) {
                    $("#allpass-filter").click();
                }
                $('#new_filter').click();
                $('#item_list').val('blog1_confirm').change();
                $('.blog1_confirm-value').val(q.confirm).change();
                $('#apply', '#filter-action').click();
            }
        }
  });
}

うーん、キモいが、しゃーないやーん