Custom reddit top posts

custom reddit top posts

目前為 2016-05-20 提交的版本,檢視 最新版本

// ==UserScript==
// @name          Custom reddit top posts
// @namespace     http://hayageek.com
// @include 	    https://*.reddit.com/r/*/top/*
// @include 	    http://*.reddit.com/r/*/top/*
// @require       http://cdn.jsdelivr.net/jquery/2.1.3/jquery.min.js
// @require       https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.js
// @require       https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.date.js
// @require       https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/picker.time.js
// @resource      https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.css
// @resource      https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.date.css
// @resource      https://cdnjs.cloudflare.com/ajax/libs/pickadate.js/3.5.6/compressed/themes/default.time.css
// @version       1.03
// @grant         GM_addStyle
// @description   custom reddit top posts
// ==/UserScript==

$( ".drop-choices" ).append("<div class='custom'><a href='#'>custom</div>");

//$( ".drop-choices" ).append('<div class="calendar" style="display: none;"> <fieldset>\
//  From: <input type="text" id="input_from">\
//</fieldset>\
//<fieldset>\
//  To:   <input type="text" id="input_to">\
//</fieldset>');


$(document).ready(function() {
    $('.custom').click(function() {
//            $('.calendar').slideToggle("fast");
      $('.calendar').slideToggle("fast");
    });
});


$("body").append ( '<div class="calendar" style="display: none;">                  \
    <fieldset> \
        <input type="text" id="input_from">\
        </fieldset>   \
        <fieldset> \
        <input type="text" id="input_to">                          \
        </fieldset>   \                                                                   \
        <p id="myNumberSum">&nbsp;</p>                                        \
        <button id="gmAddNumsBtn" type="button">Search</button>  \
        <button id="gmCloseDlgBtn" type="button">Close</button>         \
    </fieldset>                                                                   \
    </div>                                                                    \
' );


//--- Use jQuery to activate the dialog buttons.
$("#gmAddNumsBtn").click ( function () {
    var A   = $("#myNumber1").val ();
    var B   = $("#myNumber2").val ();
    var C   = parseInt(A, 10) + parseInt(B, 10);

    $("#myNumberSum").text ("The sum is: " + C);
} );

$("#gmCloseDlgBtn").click ( function () {
    $(".gmPopupContainer").slideToggle("fast");
} );




var from_$input = $('#input_from').pickadate(),
    from_picker = from_$input.pickadate('picker');

var to_$input = $('#input_to').pickadate(),
    to_picker = to_$input.pickadate('picker');


// Check if there’s a “from” or “to” date to start with.
if ( from_picker.get('value') ) {
  to_picker.set('min', from_picker.get('select'));
}
if ( to_picker.get('value') ) {
  from_picker.set('max', to_picker.get('select'));
}

// When something is selected, update the “from” and “to” limits.
from_picker.on('set', function(event) {
  if ( event.select ) {
    to_picker.set('min', from_picker.get('select'));
  }
  else if ( 'clear' in event ) {
    to_picker.set('min', false);
  }
});
to_picker.on('set', function(event) {
  if ( event.select ) {
    from_picker.set('max', to_picker.get('select'));
  }
  else if ( 'clear' in event ) {
    from_picker.set('max', false);
  }
});

GM_addStyle('.picker{font-size:16px;text-align:left;line-height:1.2;color:#000;position:absolute;z-index:10000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.picker__input{cursor:default}.picker__input.picker__input--active{border-color:#0089ec}.picker__holder{width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;position:fixed;transition:background .15s ease-out,-webkit-transform 0s .15s;transition:background .15s ease-out,transform 0s .15s;-webkit-backface-visibility:hidden}/*!\
 * Default mobile-first, responsive styling for pickadate.js\
 * Demo: http://amsul.github.io/pickadate.js\
 */.picker__frame,.picker__holder{top:0;bottom:0;left:0;right:0;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.picker__frame{position:absolute;margin:0 auto;min-width:256px;max-width:666px;width:100%;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:alpha(opacity=0);-moz-opacity:0;opacity:0;transition:all .15s ease-out}.picker__wrap{display:table;width:100%;height:100%}@media (min-height:33.875em){.picker__frame{overflow:visible;top:auto;bottom:-100%;max-height:80%}.picker__wrap{display:block}}.picker__box{background:#fff;display:table-cell;vertical-align:middle}@media (min-height:26.5em){.picker__box{font-size:1.25em}}@media (min-height:33.875em){.picker__box{display:block;font-size:1.33em;border:1px solid #777;border-top-color:#898989;border-bottom-width:0;border-radius:5px 5px 0 0;box-shadow:0 12px 36px 16px rgba(0,0,0,.24)}}@media (min-height:40.125em){.picker__frame{margin-bottom:7.5%}.picker__box{font-size:1.5em;border-bottom-width:1px;border-radius:5px}}.picker--opened .picker__holder{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);zoom:1;background:rgba(0,0,0,.32);transition:background .15s ease-out}.picker--opened .picker__frame{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:alpha(opacity=100);-moz-opacity:1;opacity:1}@media (min-height:33.875em){.picker--opened .picker__frame{top:auto;bottom:0}}')