Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Steam Market - Delete ALL lots
- // @namespace Shmurdik
- // @version 0.3
- // @description Steam Market - Delete ALL lots
- // @author Shmurdik
- // @match https://steamcommunity.com/market/
- // @match https://steamcommunity.com/market/listings/*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- if(typeof(Storage) == "undefined") {alert("Sorry, your browser does not support web storage..."); return;}
- $J('#tabContentsMyListings').before('<a href="#delete_all_lots" class="item_market_action_button item_market_action_button_edit nodisable"><span id="delete_all_lots" class="item_market_action_button_contents"> Удалить ВСЕ лоты </span></a>');
- if(localStorage.steammarketdeletealllotsinprogress) {DeleteCurrentLots();}
- function DeleteCurrentLots(){
- $J(document).bind( "dblclick", function() {
- if(confirm("Отмена?")) {localStorage.removeItem("steammarketdeletealllotsinprogress"); location.reload();}
- });
- localStorage.steammarketdeletealllotsinprogress = 1;
- var deleted = 0;
- var total = $J('#tabContentsMyActiveMarketListingsTable').find('div.market_listing_cancel_button').length;
- if(total <= 0) { alert('Not found lots. Nothing to do.'); localStorage.removeItem("steammarketdeletealllotsinprogress"); return false; }
- var modal = ShowBlockingWaitDialog( 'Выполнение...', 'Пожалуйста, подождите пока выполнятся все запросы. Ошибки игнорируются.' );
- var requests = 0;
- var requestsStep = 5;
- var intervalId = setInterval(function() {
- $J('#tabContentsMyActiveMarketListingsTable').find('div.market_listing_cancel_button').slice(requests, requests + requestsStep).each(function(i, el){
- var res = $J(this).html().match(/RemoveMarketListing\('[\/]?mylisting', '(\d+)', (\d+), '(\d+)', '(\d+)'/i);
- if(!res) {res = $J(this).html().match(/type="checkbox" class="lfremove" data-listingid="(\d+)"/i);}
- if(res){
- jQuery.post('//steamcommunity.com/market/removelisting/'+res[1],
- {sessionid: g_sessionID}
- ).always(function(data){
- deleted++;
- modal.Dismiss();
- if(deleted >= total)
- {
- modal = ShowBlockingWaitDialog( 'Выполнение...', 'Текущая страница завершена. Перезагрузка через 5 секунд..' );
- clearInterval(intervalId);
- setTimeout(function() { location.reload(); }, 5000);
- }
- else
- {
- modal = ShowBlockingWaitDialog( 'Выполнение...', 'Удалено <b>' + deleted + '</b> из ' + total + '.' );
- }
- });
- }
- else
- {
- modal.Dismiss();
- modal = ShowBlockingWaitDialog( 'Ошибка!', 'Не найдена страница с лотами.' );
- }
- });
- requests += requestsStep;
- if(requests >= total) {
- clearInterval(intervalId);
- }
- }, 2000);
- }
- $J("#delete_all_lots").click(function(){
- if(confirm("Удалить ВСЕ лоты?")) {DeleteCurrentLots();}
- });
- })();
Advertisement
Add Comment
Please, Sign In to add comment