SX Framework 1 (ECMA5 + jQuery + ASP)

SX Framework 1 is a set of robust software web components designed for Rapid Application Development (RAD). The components are robust and heavy-duty as they enable and work very fast with hundreds of thousands of records. SX Framework is a JavaScript Framework and from the server side of the currently supported technology are ASP.NET Web Forms, ASP.NET MVC, ASP.NET.Core MVC and ASP.NET Core Razor Pages. In the future, the plan is to support PHP.

An important feature of the framework is that on the client side it uses only jQuery. So to use the framework, you need to add a link to jQuery, a link to sx-2.0.0.js, and a link to sx-2.0.0.css, and everything works.

Base parts of framework are:

"Design and programming are human activities. Forget that and all is lost."

Bjarne Stroustrup, The C++ Programming Language. pp. 693.

Globalization

Globalization is a component that enables localization (string translations) of SX Framework as well as changing regional settings (date, time and number formats).

The end user selects the culture he wants to work on and the framework is adapted to it.

Security

It is a classic system of authentication and / or authorization with users, groups, objects (contexts) and permissions of individual user or group over objects.

Users, groups, objects and permissions (allow or deny) are stored in the database and there is an Authorize method that returns permissions of individual over some action or throws error: "Not Authenticated" or "Not Authorized".

Windows

The system enables you to create and manage windows. At any time you can create a new stack (root window) and within stack a new child window, "stack modal" child or "application modal" window. Each window can display text, html or url.

System also contains standardized message windows (information, warning, error).

Input

SX Input is a component that enables converting values (number, date, time, boolean) into strings and then again strings back into the values supporting the various formats.

It is closely connected to the SX Globalization component that contains culture settings that the end user choose.

Combo

Combo allows you to create a template for displaying data, filtering by text input, filtering by the value of a particular field, and advanced filtering over a custom function.

Data can be supplied by you or you can specify url of method and parameters that combo will call when data is needed.

List

Component is very similar to a Combo except that it is possible to add additional input components that are then used by the custom filter function.

Grid

It is a very powerful component that can display hundreds of thousands of records while performing very fast. Each cell can contain HTML so it can dispay anything.

Data can be sorted, grouped, filtered, searched, edited, exported to various formats. Layout (order, width) of columns can be changed at runtime. New columns can be added and existing removed.

One of its great features is that it can serve as a report builder. Once the columns are added and unwanted columns are removed, you can export the existing layout to Report Definition Language (RDL) and display it as a local report, so data can be printed as you see it on screen, or import it to SQL Server Reporting Services (SSRS) and use it as server report.

Tree

This is actually SX Grid and all that is mentioned about grid is valid for the tree, but here we want to emphasize the hierarchical capabilities of the component.

The component receives flat table as input, and after you assign hierarchy key and hierarchy parent key, component runs independently with the hierarchies.