What is @syncfusion/ej2-base?
@syncfusion/ej2-base is a foundational package for Syncfusion's Essential JS 2 library. It provides core utilities, base classes, and common functionalities that are used across various Syncfusion components. This package is essential for building and managing Syncfusion components in a consistent and efficient manner.
What are @syncfusion/ej2-base's main functionalities?
Event Handling
The EventHandler module allows you to add, remove, and manage event listeners on DOM elements. In this example, a click event listener is added to an element with the ID 'myElement'.
const { EventHandler } = require('@syncfusion/ej2-base');
function clickHandler() {
console.log('Element clicked');
}
const element = document.getElementById('myElement');
EventHandler.add(element, 'click', clickHandler);
Data Binding
The DataManager module provides a way to manage and query data collections. In this example, a DataManager is created with a simple array of objects, and a query is executed to find an object with an id of 1.
const { DataManager, Query } = require('@syncfusion/ej2-base');
const data = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' }
];
const dataManager = new DataManager(data);
const query = new Query().where('id', 'equal', 1);
dataManager.executeQuery(query).then((result) => {
console.log(result);
});
Utility Functions
The extend function is a utility that allows you to merge the properties of multiple objects into a single object. In this example, obj1 and obj2 are merged, with properties from obj2 overwriting those in obj1.
const { extend } = require('@syncfusion/ej2-base');
const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const extendedObj = extend({}, obj1, obj2);
console.log(extendedObj); // Output: { a: 1, b: 3, c: 4 }
Other packages similar to @syncfusion/ej2-base
lodash
Lodash is a popular utility library that provides a wide range of functions for common programming tasks such as data manipulation, object handling, and more. It is similar to @syncfusion/ej2-base in terms of providing utility functions, but it is more general-purpose and widely used across different types of projects.
rxjs
RxJS is a library for reactive programming using Observables, to make it easier to compose asynchronous or callback-based code. While @syncfusion/ej2-base focuses on utilities and base classes for Syncfusion components, RxJS provides powerful tools for handling asynchronous data streams and events.
underscore
Underscore is another utility library similar to Lodash, providing functional programming helpers without extending any built-in objects. It offers many of the same utilities as @syncfusion/ej2-base but is more focused on functional programming paradigms.
ej2-base
A common package of Syncfusion JavaScript UI Controls which contains base libraries, methods and class definitions.
This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA (https://www.syncfusion.com/eula/es/). To acquire a license, you can purchase one at https://www.syncfusion.com/sales/products or start a free 30-day trial here (https://www.syncfusion.com/account/manage-trials/start-trials).
A free community license (https://www.syncfusion.com/products/communitylicense) is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers.
Setup
To install ej2-base
, use the following command
npm install @syncfusion/ej2-base
Resources
Framework highlights
Lightweight and user friendly
The entire Essential JS 2 framework is built from scratch to be lightweight and modular. Its footprint can be reduced further by including only the specific components and features your application requires.
Modular architecture
All components have been built as modules to enable selective referencing, so only the components and features you need are included in your application.
Built for performance
Performance is critical for delivering a good user experience. We ensure that all our components are designed and built to achieve the best performance possible.
Responsive and touch friendly
All Essential JS 2 controls are touch friendly and render adaptively based on the device they are on to provide optimal usage experience on phones, tablets and desktops.
Stunning built-in themes
Pixel-perfect built-in themes are available in material, bootstrap and fabric design. In addition, it comes with Accessible high-contrast theme and an online tool "Theme Studio" to customize the provided built-in themes.
Globalization simplified
Easily build applications to be used by a global audience in various language and culture settings.
Stay current
With our commitment to at least four major updates per year, you receive the most up-to-date functionality and new components in addition to monthly service packs and bug fixes. Custom patches are available as needed.
Supported Frameworks
The Essential JS 2 is also offered in following list of frameworks.
Showcase Applications
Key Features
- Ajax
- Animation
- Drag and Drop
- Internationalization
- Localization
- Template Engine
- Right to Left
- State Persistence
Support
Product support is available for through following mediums.
License
Check the license detail here.
Changelog
Check the changelog here
© Copyright 2018 Syncfusion, Inc. All Rights Reserved.
The Syncfusion Essential Studio license and copyright applies to this distribution.