import util from './util.jsx';
import $ from 'jquery';

var timer = null, isManualUpdating = false;

var urlSycner = {

    /**
     * 利用时间戳参数, 来强制hash的触发 @[  #wiki渲染器 todo  ]{ihk14kbo_pi5qjshq_h9ewg}@
     *
     */
    updateUrlHash(paramObject, skipNotify) {
        if (skipNotify) {
            isManualUpdating = true;
            clearTimeout(timer);
            timer = setTimeout(x => isManualUpdating = false, 10);
        }

        paramObject._t = new Date().getTime().toString(36);
        location.hash = util.getHashParamStr(paramObject);
    },

    onUrlHashChanged(callback) {
        $(x => $(window).on('hashchange',
            x => {
                if (!isManualUpdating) {
                    var paramObject = util.parseHashParams(location.hash);
                    callback && callback(paramObject);
                }
            }
        ));
    }
};

export default urlSycner;