您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Alphabetically sort open lists in workflowy
当前为
- // ==UserScript==
- // @name Workflowy Sort
- // @namespace https://workflowy.com
- // @version 0.1
- // @description Alphabetically sort open lists in workflowy
- // @author Roland
- // @match https://workflowy.com
- // @run-at document-idle
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- // On page load, listen for bullets to populate, then sort them
- var bulletLoaded = setInterval(function(){
- console.log('checking bullets');
- if( document.getElementById('loadingScreen').style.display === 'none' ) {
- console.log('bullets loaded!');
- sortBullets();
- clearInterval(bulletLoaded);
- }
- }, 200);
- // sort bullets on click events (bullet expansion and clicking into a bullet)
- document.addEventListener ("mousedown", autoSort);
- // sort bullets on hotkey press (Ctrl+Shift+S by default)
- document.addEventListener('keydown', keyDownSortBullets);
- function autoSort() {
- $(".bullet, a.content, #expandButton").unbind();
- $('.bullet, a.content').click(function(event){
- setTimeout(function(){
- sortBullets();
- console.log('bullet sort');
- }, 250);
- });
- $('#expandButton').click(function(event){
- // if($(this).attr('data-open-on-last-click') === "true" || typeof $(this).attr('data-open-on-last-click') === 'undefined'){
- setTimeout(function(){
- sortBullets();
- console.log('expand sort');
- }, 50);
- // }
- });
- }
- function sortBullets() {
- jQuery.fn.sortDomElements = (function() {
- return function(comparator) {
- return Array.prototype.sort.call(this, comparator).each(function(i) {
- this.parentNode.appendChild(this);
- });
- };
- })();
- $('div.children').children('.project').sortDomElements(function(a,b){
- var akey = $(a).children('.name').children('.content').text().toLowerCase();
- var bkey = $(b).children('.name').children('.content').text().toLowerCase();
- if (akey == bkey) return 0;
- if (akey < bkey) return -1;
- if (akey > bkey) return 1;
- });
- return true;
- }
- function keyDownSortBullets(e) {
- if(e.ctrlKey && e.shiftKey && e.keyCode === 83){
- e.preventDefault();
- console.log('sorting...');
- sortBullets();
- return false;
- //saveAll();
- }
- }
- })();