WME RTC Improvements

Adds several helpful features to RTC handling in the Waze Map Editor

目前為 2016-04-19 提交的版本,檢視 最新版本

// ==UserScript==
// @name            WME RTC Improvements
// @description     Adds several helpful features to RTC handling in the Waze Map Editor
// @namespace       vaindil
// @version         1.0.3
// @grant           none
// @include         https://www.waze.com/editor/*
// @include         https://www.waze.com/*/editor/*
// @include         https://editor-beta.waze.com/editor/*
// @include         https://editor-beta.waze.com/*/editor/*
// @exclude         https://www.waze.com/user/*
// @author          vaindil
// ==/UserScript==

function yoloswag() {
    try {
        var element = $('#sidebar');
        if ($(element).length) {
            letsAGo();
        } else {
            setTimeout(yoloswag, 1000);
        }
    } catch (err) {
        console.log("RTCENH - " + err);
        setTimeout(yoloswag, 1000);
    }
}

yoloswag();

function letsAGo() {
    $(document).on('mouseover', 'div.add-closure-button.btn.btn-primary', function() {
        $(document).off('mouseover.RTCXdays');
        $(document).on('mouseover.RTCXdays', 'div.edit-closure.new', function() {
            justDewIt();
            $(document).off('mouseover.RTCXdays');
        });
    });

    $(document).on('input.RTCXdaysfield keyup.RTCXdaysfield', 'input#expireinXdays', timeAndRelativeDimensionInSpace);
    $(document).on('click.RTCXdayscrash', 'div#RTCXdayscrash', ohNoes);
}

function justDewIt() {
    $('div.edit-closure.new > form.form > div.checkbox').before(
        '<div class="form-group">' +
            '<label class="control-label">Expire in X days</label>' +
            '<div class="controls">' +
                '<input type="number" length="3" maxlength="4" class="form-control" id="expireinXdays" />' +
            '</div>' +
        '</div>'
    );

    $('div.action-buttons').append(
        '<div class="btn btn-danger" id="RTCXdayscrash" style="float:right"><i class="fa fa-exclamation-triangle"></i>Crash</div>'
    );

    $('input[name="closure_endDate"]').datepicker('remove');
    $('input[name="closure_endDate"]').datepicker({ format: 'yyyy-mm-dd', todayHighlight: true, autoclose: true });
}

function timeAndRelativeDimensionInSpace() {
    var newdate = new Date();
    if ($('input[name="closure_startDate"]').val() !== '') {
        var p = $('input[name="closure_startDate"]').val().split('-');
        var y = parseInt(p[0], 10);
        var m = parseInt(p[1], 10);
        var d = parseInt(p[2], 10);
        if (isNaN(y) || isNaN(m) || isNaN(d))
            return;

        newdate = new Date(y, m - 1, d);
    }

    var v = parseInt($('#expireinXdays').val(), 10);
    if (isNaN(v))
        return;

    newdate.setDate(newdate.getDate() + v);
    //var newmonth = ('0' + (newdate.getMonth() + 1)).slice(-2);
    //var newday = ('0' + (newdate.getDate())).slice(-2);
    //var newstring = newdate.getFullYear() + '-' + newmonth + '-' + newday;
    $('input[name="closure_endDate"]').datepicker('update', newdate);
    if ($('input[name="closure_endTime"]').val() === '')
        $('input[name="closure_endTime"]').timepicker('setTime', '05:00');
}

function ohNoes() {

    $('input[name="closure_reason"]').val('Crash');

    var cur = new Date();
    cur.setHours(cur.getHours() + 2);
    $('input[name="closure_endDate"]').datepicker('update', cur);
    $('input[name="closure_endTime"]').timepicker('setTime', (('0' + cur.getHours()).slice(-2)) + ':' + (('0' + cur.getMinutes()).slice(-2)));
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址