您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically sort comments in comment objects by date, current sorting is broken
// ==UserScript== // @name WME Sort Comments // @namespace waze-bg // @version 0.1.20200114 // @description Automatically sort comments in comment objects by date, current sorting is broken // @author DataMatrix47 // @include /^https:\/\/(www|beta)\.waze\.com\/(?!user\/)(.{2,6}\/)?editor.*$/ // @exclude https://www.waze.com/user/*editor/* // @exclude https://www.waze.com/*/user/*editor/* // @grant none // ==/UserScript== //W.model.mapComments.objects returns comment objects in current selection (or in view?) function DM47WMECommentSort() { var wazeapi = W || window.W; var _sf=wazeapi.selectionManager.getSelectedFeatures(); //_sf[0].layer.selectedFeatures - array with selected features, contatins "OpenLayers_Feature_Vector_#", but it's useless //_sf[0].layer._featureMap{"commentObjectID"} where the key "commentObjectID points to the comment object and can be referenced via W.model.mapComments.objects //W.model.mapComments.getObjectById("commentObjectID") console.log(_sf); if(_sf.length==1 && typeof _sf[0].layer !='undefined' && _sf[0].layer.featureType=='mapComment') { console.log(_sf[0].layer._featureMap); var _comentsort=[]; var $commentList=$('.comment-list'); $commentList.find('.comment .date').each(function(ind,ele){ var $date=$(ele); var $comment=$date.parents('.comment'); var cdate=new Date($date.text()); var sortval=(cdate.getTime()*1000+ind); $comment.attr('data-sort',sortval); _comentsort.push({'val':sortval,'ele':$comment}); }); for(var __i in _comentsort.sort(function(a,b) { if(a.val<b.val) return -1; if(a.val>b.val) return 1; return 0 })) { $commentList.append(_comentsort[__i].ele.detach()); } } } function DM47WMECommentSort_init() { var wazeapi = W || window.W; if(!wazeapi || !wazeapi.map) { setTimeout(DM47WMECommentSort_init, 1000); return; } wazeapi.selectionManager.events.register('selectionchanged',null,DM47WMECommentSort); console.log('Init DM47WMECommentSort'); } (function() { 'use strict'; DM47WMECommentSort_init(); })();