News
NjDesktop 2.1 released
This version introduces controls: icon list, tree view, list view and a demo application on how these can be used together.
NjDesktop 2 released
NjDesktop 2 is the modern version of the robust Javascript desktop framework for modern browsers.
It has shed most of its dependencies. The only runtime dependencies are Interact.js for moving and resizing the windows and uuid for some unique ids.
Also the Interact library provides more functionality which can be useful when building apps with NjDesktop.
NjDesktop
Features:
- Compatible with all modern versions of major browsers.
- Internet Explorer and legacy versions of Edge are not officially supported. You may get lucky if it works in them
- CSS driven: all visual behaviors are controlled by css rules. Some aspects (window positioning, z-index) are computed with Javascript, but are applied via styles.
- Event system. Almost all NjDesktop components are inheriting the HasEvents class. This provides a robust and easily extensible event handling system for NjDesktop.
- Fully integrated theme support. NjDesktop themes are now an integral part of the system and are completely driven by CSS classes. Just invent a new theme name and apply it to the main unit (the theme name must be a valid CSS class name). Build a new CSS file based on this new class name (take redmond7.scss as an example).
- Menu support over the desktop, in the taskbar, inside windows and inside toolbars
- Toolbar support in taskbar and windows (windows can have multiple toolbars)
- Icon list with multiple icon sizes and views, multiselect, available on desktop and inside windows
- List view with sorting and multi-select available inside windows
- Robust tiling support
- Cascade
- Object-oriented design
- Plain Javascript implementation, with the exception of dragging and resizing (Interact.js)
Differences from NjDesktop 1 features
Important note: This version is not compatible with NjDesktop 1
- Desktop icons are not draggable
- Simpler API
- Generic icon list, that can be appended to windows and desktop
- Generic menus (available for desktop, toolbars, taskbar and windows), but they can also added anywhere
- Generic toolbars (available for taskbar and windows)
- Better dialogs
- Window footers
- Generic listview with multiselect, custom item column rendering, sorting with custom comparer option for each column
- No desktop widgets
- ES6 modules
About
My name is Nagy Ervin and I'm a full-stack developer at Lynx Solutions.
NjDesktop is one of my personal projects. The first version was written for a client who was a fan of the web desktop. The project looked nice in it and its features did fit nicely in a desktop environment. However, the first version was put together in a hurry and later features had always shown that they were an afterthought. NjDesktop 2 is here to fix that.