Channels Helper bookmarklet for working with Manage Lineup

Since we can now add all these awesome TVE and m3u channel sources for things like Pluto, Plex, etc., I've found myself struggling to manage the hundreds of channels often listed in the Manage Lineup dialog (Admin Settings website \ Sources).

I decided to try to throw a little javascript at the problem last night, and wound up ultimately settling on a simple Bookmarklet you can use to do things like Block/Unblock all, Fav/Unfav all, sort channels by name, sort channels by number, etc. It adds a little dropdown menu at the top of the dialog and you just pick the command you want.

To use it, you first need to create a bookmarklet with the code. I've published the raw code as a gist if you want to see it. Instructions for making your own bookmarklet directly from the code are at the top.

Then to activate it, you simply click the bookmark while on the Manage Lineup dialog for a given source. If you close and go to another source, you'll have to click the bookmark again.

It's not something you use every day, but I have found it handy to have. I hope one day the devs might give us some native options for this stuff, because obviously this will be fairly fragile to application changes.

Anyway, just something to play with. I welcome feedback.

Thanks-

14 Likes

Hey, this is great! Thanks for sharing it. I'm surprised this missed my radar and there weren't any replies. This is a very useful time-saver!

One note: I know this is 2 years old now, but in the gist's instructions, it says "Make sure option to include jQuery is checked." But on the Bookmarklet Maker site there is no "option to include jQuery." It just offers a checkbox for "Make sure jQuery 1.7 or higher is available," but that sounds different. And so I left that checkbox disabled. Seems to me that step in the gist instruction is not needed anymore.

I created the bookmarklet anyway and tested it with a few sources. Very handy! I wish I'd known about it sooner. Thanks to @marcuscthomas for mentioning it here.

Excellent work, bravo! :clap:

+1
How did this post get missed when it was new. Get no love, no replies. This needs to change.

@kman0 You are awesome, did great work. Sorry it took 22months for anyone to notice. You where just ahead of the curve.

2 Likes

Does need some polish, I'm bringing it in to Tampermonkey and there are some JS issues, I don't think the channels sorts are working, eslint is giving some helpful warnings. Toggles look to be okay.

image

Thanks for the feedback! That option actually does need to be checked as some of the functionality does require jQuery. I've updated the instructions per your recommendation. You'll want to recreate your bookmarklet with that option to ensure everything works properly though. Thanks again-

Hah, thanks!

I originally thought about doing it as a Tampermonkey script too, but I didn't want users to have to install an extension (especially one as powerful as Tampermonkey) to run it. It would be nice to have it automatically load with the page though.

Regarding the linting, it looks like it's because it doesn't recognize the $ as jQuery. That's because the code doesn't load jQuery itself - it's letting the bookmarklet maker site bundle it when you check the option on the maker page. If you look at the code, there's actually a commented-out section where I was originally loading it.

I left it commented-out in case you wanted to just pull it from a cdn instead of using the maker site to bundle it altogether - but it seemed like just using the maker site's option was easier and working fine so I just went with that. You should be able to use it either way.

The code is definitely dependent on jQuery though so if you don't have it bundled in one way or another, some of the functionality isn't going to work.

Thanks-

1 Like

If anyone has any ideas for additional functionality or changes, let me know. I may look at converting the code to plain/vanilla js and get rid of jQuery. It's probably a little safer to assume now that everyone will be using modern browsers so we could probably ditch the jQuery dependency entirely.

Can you make the web up revert back to the old way?

1 Like

Fixed, thanks! Glad this was clarified.

FWIW, they weren't working for me either, then I re-created the bookmarklet following the new instructions above (checking the jQuery checkbox,) and now channel sorts are working. Excellent!

Personally I'd be fine with (and prefer) a Tampermonkey script but this is a very useful shortcut indeed.

Makes sense, it's the sort functions that use the jQuery syntax.

Totally makes sense, I went that route because adding in another extension isn't a big deal, already have a few for stream URL detection and the like. And yes, autoloading based on the page is pretty nice versus having to click the bookmarklet.

Can you elaborate on this a bit? I'm not sure exactly what you're referring to. Thanks-

It was more of a throw away comment but the new webui that was just recently released with all the sections separated is not well liked by some.

Figured there was some JavaScript magic that can be done to put every setting into one page.

FYI, I refactored and cleaned up the code quite a bit and updated the gist. I removed the jQuery dependency entirely. You should be able to use it in tampermonkey easily now as well.

No new functions were added, but I did make a couple of minor usability enhancements. There's now a spinner that shows while the (potentially) long running "all" functions (block-all, favorite-all, etc.) are processing and the dropdown disables as well.

I also had to change the recommended bookmarklet maker site referenced in the instructions as the code now requires at least ES6 compatibility and the old site wasn't compatible.

Hopefully the code is cleaner and will be a little easier to maintain now.

There's no big reason to recreate your bookmarklet unless you just want to be on the latest version, but I welcome the feedback.

Thanks-

2 Likes

I added a little more functionality today. There's now a textbox at the top for filtering the list as you type. I also changed the block-all/unblock-all/favorite-all/unfavorite-all options to now just apply to whatever items you have visible (filtered). If you want to do them all, just clear the filter so you have all items shown.

The toggle blocked/toggle unfavorites was renamed to Show/Hide Blocked/Unfavorites hopefully to make it a little clearer. They expect to be applied to an unfiltered list. I'm kind of curious if these will be confusing to use now.

I also found that the Pluto feed had categories in it that Channels was pulling in but not displaying. I added badges for them and they display when the bookmark is activated now. I didn't see them on the other m3u's I have, so it may be Pluto only - I'm not sure. It doesn't appear there's a strict format for m3u, but I was encouraged that they're pulling it in in Channels. But if you activate the bookmarklet on a feed that has them, they should display.

Curious what you guys think-

4 Likes

@SuperDScript was looking for that here Pluto for Channels - #537 by SuperDScript
Pluto Categories I found here Pluto for Channels - #540 by chDVRuser

The problem with Pluto is channels being added/removed and trying to keep up with it.

1 Like

Fantastic, very useful!

Wow, this too!

This is great! Thanks so much!

This is awesome. Especially with the number of FAST sources, end up filtering most of them & this is a HUGE help!

1 Like

Quick note that the bookmarklet has been updated to augment Pluto channels with a simple tooltip that when hovered shows the channel description. This is pulled from the public Pluto API directly since it's not available in Channels.

4 Likes

Just installed this bookmarklet and it works great, thanks.

Is there a way to display items that are both not favorited AND not blocked? The way I manage my Pluto and Plex channels is they either get favorited or blocked. If the favorited + blocked counts don't equal the total channels then I know there are new channels added that I need to find and either favorite or block them.

2 Likes