2 min read
- Two column layout, making advanced options hidden by default
- Removed dependency graph button from job list per feedback from Airbnb
- Defaulted epsilon to 30 minutes per feedback from Airbnb
- Normalized lots of font sizes and weights to simplify styles
- Rendered templates that required no interpolation as plain HTML, meaning the user sees something on the page faster than previously
- Rendered initial job list with a single write to the DOM rather than one per list item. This drastically reduced DOM access with long lists and decreased rendering time.
- Removed all requests to Google's font API in favor of a static stylesheet pointing to the public assets. This also removed a requirejs-plugin dependency, fewer JS files.
- Upgraded Rivets from 0.4.5 to 0.4.9 and used the JS version instead of the CoffeeScript one to save unnecessary compilation
- Reduced re-rendering that Rivets was handling
- Delegated events in job list instead of adding listeners to each list item. This reduces the number of listeners required by dozens or hundreds with large lists.
- Delegated tooltips in job list instead of adding listeners to each list item. This reduced tooltip listeners from 1-per-item to 1 for the whole list.
- Deselecting the last job item previously forced a re-render of the entire list, which took a long time with a large list. That no longer happens.
- Sorting the table would not render the correct arrow, depending on where the click occurred. The arrow now always represents the current sort order.
- Theme selector in the upper left. Try it out.