News
NjDesktop 2.4
This release contains the following updates:
- Dark theme support
- Two new themes: Clean Light and Clean Dark.
NjDesktop 2.3
This release contains the following updates:
- Drag selection in icon lists and list views
- Fix
window.setContentElement
and window.setContentObject
to properly replace window content instead of just appending.
- Toolbar buttons now have a
setEnabled
method. this allows enabling/disabling the buttons on application state change.
text-container
CSS class for text content (provides a 10px padding around the text)
NjDesktop 2.2
This release contains the following updates:
- Window footer component (implements status bar)
- Added autosize to icons. The icons can now fit all the text thrown at them. The icon height will automatically change. When in a row in a horizontally aligned icon list, the height of all icons in the same row will be increased.
- Added missing documentation for Dialog Footer
- Upgraded Webpack dependency to latest version (security)
NjDesktop 2.1.1
This release contains the following updates:
- Editable toolbar control (text input in toolbar)
- Classes support in toolbars at toolbuttons (config.classes)
- Fixing an issue which caused the New window demo to fail in the demo application
- Increased window default size (width/height)
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.