Skip to content

Commit

Permalink
v25.1.37 is released
Browse files Browse the repository at this point in the history
  • Loading branch information
pipeline committed Mar 26, 2024
1 parent 6fcaeef commit 9c7bda9
Show file tree
Hide file tree
Showing 346 changed files with 15,244 additions and 2,354 deletions.
2 changes: 1 addition & 1 deletion controls/barcodegenerator/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## [Unreleased]

## 25.1.35 (2024-03-15)
## 25.1.37 (2024-03-26)

### Barcode

Expand Down
38 changes: 0 additions & 38 deletions controls/base/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,6 @@

## [Unreleased]

## 24.2.7 (2024-02-20)

### Common

#### Bug Fixes

- `#I542405` - The issue with "component events remain after being destroyed through the template in the heap memory" has been resolved.

## 24.2.5 (2024-02-13)

### Common

#### Bug Fixes

- `#I495294` - The issue with content sanitization in the tooltip component has been resolved.

## 24.2.3 (2024-01-31)

### Common

#### Bug Fixes

- `#I547507` - The issue with "rendering the new line in the html template string" has been resolved.

### Common

#### Bug Fixes

- `#I541838` - Resolved issue with time picker designator "pm" is automatically flips to "am".

## 24.1.46 (2024-01-17)

### Common

#### Bug Fixes

- `#I531468` - The issue with "rendering the html template string" has been resolved.

## 23.2.6 (2023-11-28)

### Common
Expand Down
3 changes: 2 additions & 1 deletion controls/base/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@syncfusion/ej2-base",
"version": "24.2.7",
"version": "25.1.35",
"description": "A common package of Essential JS 2 base libraries, methods and class definitions",
"author": "Syncfusion Inc.",
"license": "SEE LICENSE IN license",
Expand Down Expand Up @@ -45,6 +45,7 @@
"@syncfusion/ej2-icons": "*"
},
"devDependencies": {
"@syncfusion/ej2-staging": "^1.0.1",
"@types/chai": "^3.4.28",
"@types/jasmine": "2.8.22",
"@types/jasmine-ajax": "^3.1.27",
Expand Down
10 changes: 1 addition & 9 deletions controls/base/spec/template.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -178,14 +178,6 @@ describe('Template', () => {
expect(templateResult).toEqual(result);
});

it('new line in the template string', () => {
var data = { name: `Aston Martin\n Car Models` };
let templateStr: string = "<div>"+data.name+"</div>";
let getString: any = template.compile(templateStr);
let output: any = getString(templateStr);
expect(output).toEqual("<div>Aston Martin Car Models</div>");
});

it('JSON array input with href value with apostrophe', () => {
let templateStr: string = `<div><a href='https://en.wikipedia.org/wiki/France'>France</a><a href='/Projects/Details?id=VINET'>VINET</a></div>`;
let getString: any = template.compile(templateStr);
Expand Down Expand Up @@ -496,7 +488,7 @@ describe('Template', () => {
let outputDOM: Function = template.compile(templateFunc);
expect(outputDOM(data)).toEqual(output);
});

it('Template string with encrypted value: ', () => {
// Below is an base64 encrypted value `jaVasCript:/*-/*`/*\`/*'/*/**/"(/* */oNcliCk=alert('XSS') )//%0D%0A%0D%0A//`
const unformattedValue: string = window.atob(
Expand Down
1 change: 0 additions & 1 deletion controls/base/src/ajax.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,6 @@ export class Ajax {
if (!isNullOrUndefined(this.onUploadProgress)) {
this.httpRequest.upload.onprogress = this.onUploadProgress;
}
// eslint-disable-next-line
this.httpRequest.open(this.type, this.url, this.mode);
// Set default headers
if (!isNullOrUndefined(this.data) && this.contentType !== null) {
Expand Down
22 changes: 11 additions & 11 deletions controls/base/src/animation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -525,20 +525,20 @@ export function setGlobalAnimation(value: string | GlobalAnimationMode): void {
animationMode = value;
}

/**
* Defines the global animation modes for all components.
/**
* Defines the global animation modes for all components.
*/
export enum GlobalAnimationMode {
/**
* Defines the global animation mode as Default. Animation is enabled or disabled based on the component's animation settings.
*/
/**
* Defines the global animation mode as Default. Animation is enabled or disabled based on the component's animation settings.
*/
Default = 'Default',
/**
* Defines the global animation mode as Enable. Enables the animation for all components, regardless of the individual component's animation settings.
*/
/**
* Defines the global animation mode as Enable. Enables the animation for all components, regardless of the individual component's animation settings.
*/
Enable = 'Enable',
/**
* Defines the global animation mode as Disable. Disables the animation for all components, regardless of the individual component's animation settings.
*/
/**
* Defines the global animation mode as Disable. Disables the animation for all components, regardless of the individual component's animation settings.
*/
Disable = 'Disable'
}
20 changes: 11 additions & 9 deletions controls/base/src/base.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { isUndefined, isNullOrUndefined, merge, setImmediate, setValue, isBlazor, getValue, extend } from './util';
import { addClass, removeClass } from './dom';
import { Observer } from './observer';
import {validateLicense} from './validate-lic';
export interface DomElements extends HTMLElement {
// eslint-disable-next-line
ej2_instances: Object[];
Expand All @@ -15,6 +14,7 @@ export interface AngularEventEmitter {
subscribe?: (generatorOrNext?: any, error?: any, complete?: any) => any;
}

// eslint-disable-next-line
export declare type EmitType<T> = AngularEventEmitter & ((arg?: any, ...rest: any[]) => void);

export interface BlazorDotnetObject {
Expand Down Expand Up @@ -284,13 +284,14 @@ export abstract class Base<ElementType extends HTMLElement> {
protected destroy(): void {
// eslint-disable-next-line
(<DomElements>(this.element as HTMLElement)).ej2_instances =
(<DomElements>(this.element as HTMLElement)).ej2_instances ? (<DomElements>(this.element as HTMLElement)).ej2_instances.filter((i: Object) => {
if (proxyToRaw) {
return proxyToRaw(i) !== proxyToRaw(this);
}
return i !== this;
})
: [];
(<DomElements>(this.element as HTMLElement)).ej2_instances ?
(<DomElements>(this.element as HTMLElement)).ej2_instances.filter((i: Object) => {
if (proxyToRaw) {
return proxyToRaw(i) !== proxyToRaw(this);
}
return i !== this;
})
: [];
removeClass([this.element], ['e-' + this.getModuleName()]);
if ((<DomElements>(this.element as HTMLElement)).ej2_instances.length === 0) {
// Remove module class from the root element
Expand Down Expand Up @@ -352,4 +353,5 @@ export function removeChildInstance(element: HTMLElement): void {
}
}

export let proxyToRaw: Function, setProxyToRaw = (toRaw: Function): void => { proxyToRaw = toRaw };
export let proxyToRaw: Function;
export const setProxyToRaw: Function = (toRaw: Function): void => { proxyToRaw = toRaw; };
40 changes: 34 additions & 6 deletions controls/base/src/component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,22 +152,28 @@ export abstract class Component<ElementType extends HTMLElement> extends Base<El
}
/**
* Adding unload event to persist data when enable persistence true
*
* @returns {void}
*/
public attachUnloadEvent():any {
public attachUnloadEvent(): void {
this.handleUnload = this.handleUnload.bind(this);
window.addEventListener('unload', this.handleUnload);
}
/**
* Handling unload event to persist data when enable persistence true
*
* @returns {void}
*/
public handleUnload():any{
public handleUnload(): void {
this.setPersistData();
}
/**
* Removing unload event to persist data when enable persistence true
*
* @returns {void}
*/
public detachUnloadEvent():any {
window.removeEventListener('unload',this.handleUnload);
public detachUnloadEvent(): void {
window.removeEventListener('unload', this.handleUnload);
}
/**
* Appends the control within the given HTML element
Expand Down Expand Up @@ -198,7 +204,29 @@ export abstract class Component<ElementType extends HTMLElement> extends Base<El
}
this.preRender();
this.injectModules();
// Checked weather cases are valid or not. If control leads to more than five counts
// Throw a warning for the required modules to be injected.
const ignoredComponents: { [key: string]: string | string[] } = { // Add component to ignore it from injectable module validation
schedule: 'all',
diagram: 'all',
PdfViewer: 'all',
grid: ['logger'],
richtexteditor: ['link', 'table', 'image', 'audio', 'video', 'formatPainter', 'emojiPicker', 'pasteCleanup', 'htmlEditor', 'toolbar'],
treegrid: ['filter'],
gantt: ['tooltip'],
chart: ['Export', 'Zoom'],
accumulationchart: ['Export']
};
const component: string = this.getModuleName();
if (this.requiredModules && (!ignoredComponents[`${component}`] || ignoredComponents[`${component}`] !== 'all')) {
const modulesRequired: ModuleDeclaration[] = this.requiredModules();
for (const module of this.moduleLoader.getNonInjectedModules(modulesRequired)) {
const moduleName: string = module.name ? module.name : module.member;
if (ignoredComponents[`${component}`] && ignoredComponents[`${component}`].indexOf(module.member) !== -1) { continue; }
const componentName: string = component.charAt(0).toUpperCase() + component.slice(1); // To capitalize the component name
console.warn(`[WARNING] :: Module "${moduleName}" is not available in ${componentName} component! You either misspelled the module name or forgot to load it.`);
}
}
// Checked weather cases are valid or not. If control leads to more than five counts
if (!isvalid && !isBannerAdded) {
createLicenseOverlay();
isBannerAdded = true;
Expand Down Expand Up @@ -333,7 +361,7 @@ export abstract class Component<ElementType extends HTMLElement> extends Base<El
// tslint:disable-next-line:no-function-constructor-with-string-args
onIntlChange.on('notifyExternalChange', this.detectFunction, this, this.randomId);
// Based on the considered control list we have count the instance
if (typeof window !== "undefined" && typeof document !== "undefined" && !validateLicense()) {
if (typeof window !== 'undefined' && typeof document !== 'undefined' && !validateLicense()) {
if (componentList.indexOf(this.getModuleName()) !== -1) {
instancecount = instancecount + 1;
if (instancecount > 5) {
Expand Down
Loading

0 comments on commit 9c7bda9

Please sign in to comment.