Improving online programs

In the era of native programs, users could only use them within the configuration settings allowed by the developer. Nowadays, in the era of Internet applications, the user can quite easily change at his discretion not only the external presentation of the program, but also its behavior.
This article describes ways to make web applications more convenient, beautiful, expand their functionality, customize.
This is ) Or write your own simple one with the same goals as your choice. After that, the programmer is a little closer to the level of "Year".
Almost everyone knows about it, but few use it. We will show by simple examples the obvious benefits of custom injections.
3r3143. 3r3333.
Nice little manager, but on a large monitor it’s not very comfortable to look at him. I need more task titles, reduce the brightness of the “Notes” under them, expand the right-hand column and a couple of improvements, which simple css copes with:
Improving online programs
3r3197. 3r3198. Himself css [/b]
.app.detail-visible #detail {
width: 40%;
#detail .detail-inner {
width: 100%;
.theme-purple .checkBox .svgIcon svg {
width: 16px;
.addTask .addTask-icon {
opacity: 0.5;
.detailNote .editableContent .editableContent-display, .detailNote .editableContent .editableContent-edit, .detailNote .editableContent .editableContent-textarea {
font-size: 16px;
.taskItemInfo {
opacity: 0.4;
#addTaskInput {
font-weight: normal;
opacity: 0.5;
.taskItem-title {
font-size: 16px;
font-weight: 400;
font-family: "Segoe UI", "Arial", "sans-serif";
.tasksToolbar {
margin-bottom: 20px;
margin-top: 10px;
.taskItem-body {
padding: 7px 0;

Left column. Here, Microsoft has complete downshifting into one-dimensional task lists. I need a tree. In principle, it is also possible to implement it, but here for simplicity we will build a non-collapsing tree visually.
3r3197. 3r3198. Here is the jаvascript [/b]
3r3202. window.onload = function () {
setTimeout (function () {
$ ('span.listItem-titleParsed')
.filter ("span: contains ('Breakfast'), span: contains ('Dinner'), span: contains ('Dinner') ")
.Closest (". ListItem-inner "). Css (" padding-left "," 30px ";
}, 5000);

Here is the pseudo-tree:
Already something. JQeury needs to be connected, and sometimes you have to copy-paste it into the body of the script, otherwise problems arise. The same with a delay in initialization.
Let us now look at another intellectually more advanced representative of this family of programs.
3r3143. 3r3144.
Here is the revealed list card:

Maybe someone uses Trello cards for the purpose that developers have put into this application, but for me on this card visually in terms of volume is less than 10% of useful information, everything else is a bright, colorful thing that distracts from focusing on the right one.
Sss and js can bring all this into a decent look. JQuery in Trello is already there, and here’s a script:
3r3202. $ ('. mod-card-detail-icons-smaller. window-module-title h3'). bind ('click', function () {$ ('. mod-comment-type'). hide ();} );
for example, hides all comments when clicking on “Activity”. To see them again, just click the link on the right Hide /Show details.
And finally, something more interesting.
I need a reminder on the Trello card. Not a pop-up window on the screen, but a real reminder to always and everywhere get me. That is, the sound notification on the phone. In order not to make a fuss and not to connect all kinds of IFTTTs and Zapiers, we simply create an event for the Google Calendar, which then will do everything necessary on Androide.
Connect to the due date card in order not to extend the Trello data model (although this is also an option).
When saving the date, we need to send to Google Calendar API a request to create an event in our calendar. The code itself is quite simple:
3r3197. 3r3198. jаvascript 3r3-33199.
3r3202. var event = {
'summary': 'Event name',
'location': 'Location',
'description': 'Descriptor (copy everything from the card data, of course)',
'start': {
'dateTime': '2018-10-14T09: 00: 00-07: 00',
'timeZone': 'Europe /Moscow'
'end': {
'dateTime': '2018-10-14T17: 00: 00-07: 00',
'timeZone': 'Europe /Moscow'
'reminders': {
'useDefault': false,
{'method': 'email', 'minutes': 3 * 60},
{'method': 'popup', 'minutes': 10}
var request = ({
'calendarId': 'primary',
'resource': event

But before that, you need to create an application on the Google API Console, get client_id and api_key and make a couple of simple standard steps for connecting OAuth authentication. Manual 3r33236. on google
If it is necessary to modify the calendar event together with the due date modification of the Trello card, you will have to work more, but this is also possible.
Finally, we note that all the really useful improvements to web sites and web applications can be arranged as an extension and placed in browser stores.
Disclaimer: All the above examples are given solely as examples of using the potential of js and css, and do not in themselves carry any value.
+ 0 -

Add comment