Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@syncfusion/ej2-filemanager

Package Overview
Dependencies
Maintainers
3
Versions
160
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@syncfusion/ej2-filemanager - npm Package Compare versions

Comparing version 24.2.7 to 25.1.35

styles/file-manager/_bds-definition.scss

35

CHANGELOG.md

@@ -9,38 +9,11 @@ # Changelog

- `#I553140` - The high risk vulnerability issue with 'unset-value' dependency in the FileManager component is resolved.
- `#FB50961` - The issues related to XSS attacks with file or folder names in the File Manager details view template is fixed.
## 24.1.47 (2024-01-23)
### FileManager
#### Bug Fixes
#### Features
- `#I543790` - The issue with the breadcrumb bar of the File Manager showing an incorrect name for the Azure File service provider has been resolved.
- Provided support in FileManager component to perform download operations via Fetch API request. Now FileManager component, will allow users to perform download operations using either the default form submit method or the latest Fetch API request with a Boolean property `useFormPost` in the `BeforeDownloadEventargs`. The default value of `useFormPost` is set to `true`, directing the FileManager component to utilize the form submit method by default for download operations.
- `#I521053` - Custom sorting support is provided in the File Manager component. This feature will allow users to achieve windows natural sorting behaviour using `sortComparer` property. This is achieved by assigning the ‘sortComparer’ function exported from the utility file.
## 24.1.45 (2024-01-09)
### FileManager
#### Bug Fixes
- `#I536863` - The issue while creating a new folder within empty subfolder using the context menu from navigation pane selection is resolved.
## 24.1.44 (2024-01-03)
### FileManager
#### Bug Fixes
- `#I536115` - The issue of adding an unnecessary `<ul>` element under the large icons view while using `enableVirtualization` property in the FileManager component has been resolved.
## 24.1.43 (2023-12-27)
### FileManager
#### Bug Fixes
- `#I527570` - The issue with auto scroll during drag and drop operation in the FileManager component has been resolved.
- `#I531559`, `#I529731` - The file selection issue for the duplicate folders with different parents in the navigation pane of FileManager has been resolved.
## 24.1.41 (2023-12-18)

@@ -47,0 +20,0 @@

/*!
* filename: index.d.ts
* version : 24.2.7
* version : 25.1.35
* Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.

@@ -5,0 +5,0 @@ * Use of this code is subject to the terms of our license.

{
"_from": "@syncfusion/ej2-filemanager@*",
"_id": "@syncfusion/ej2-filemanager@24.2.5",
"_id": "@syncfusion/ej2-filemanager@18.28.1",
"_inBundle": false,
"_integrity": "sha512-zyDF9WT2RgiRsPQv58YT6i8DMm09kAWaYSYq0lNqU24nQU4rH0YuoUCDgL8l7HzL7NXxS3vS3V9+yni/LfzP6w==",
"_integrity": "sha512-B8/VpoTx0Zn9OJqF8kMo1V03pTl95W+z2HV6FmfelRbRMEKS6X3XoDJmDnWPhS3u7rS2gJqNNMsTPIjsZQ5mDg==",
"_location": "/@syncfusion/ej2-filemanager",

@@ -27,6 +27,6 @@ "_phantomChildren": {},

],
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-filemanager/-/ej2-filemanager-24.2.5.tgz",
"_shasum": "700c84f2f80033aef46aef2b0a5f1ac0b1d31dbf",
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-release/@syncfusion/ej2-filemanager/-/ej2-filemanager-18.28.1.tgz",
"_shasum": "bc5a292c9165ab8617cefdd4eeddeba55db040fc",
"_spec": "@syncfusion/ej2-filemanager@*",
"_where": "/jenkins/workspace/elease-automation_release_24.1.1/packages/included",
"_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
"author": {

@@ -40,12 +40,12 @@ "name": "Syncfusion Inc."

"dependencies": {
"@syncfusion/ej2-base": "~24.2.7",
"@syncfusion/ej2-buttons": "~24.2.7",
"@syncfusion/ej2-data": "~24.2.3",
"@syncfusion/ej2-grids": "~24.2.7",
"@syncfusion/ej2-inputs": "~24.2.7",
"@syncfusion/ej2-layouts": "~24.2.4",
"@syncfusion/ej2-lists": "~24.2.4",
"@syncfusion/ej2-navigations": "~24.2.4",
"@syncfusion/ej2-popups": "~24.2.5",
"@syncfusion/ej2-splitbuttons": "~24.2.7"
"@syncfusion/ej2-base": "~25.1.35",
"@syncfusion/ej2-buttons": "~25.1.35",
"@syncfusion/ej2-data": "~25.1.35",
"@syncfusion/ej2-grids": "~25.1.35",
"@syncfusion/ej2-inputs": "~25.1.35",
"@syncfusion/ej2-layouts": "~25.1.35",
"@syncfusion/ej2-lists": "~25.1.35",
"@syncfusion/ej2-navigations": "~25.1.35",
"@syncfusion/ej2-popups": "~25.1.35",
"@syncfusion/ej2-splitbuttons": "~25.1.35"
},

@@ -80,4 +80,4 @@ "deprecated": false,

"typings": "index.d.ts",
"version": "24.2.7",
"version": "25.1.35",
"sideEffects": false
}

@@ -170,2 +170,3 @@ var __assign = (this && this.__assign) || function () {

Toolbar.prototype.toolbarCreateHandler = function () {
var _this = this;
if (!isNOU(select('#' + this.getId('SortBy'), this.parent.element))) {

@@ -197,11 +198,11 @@ var items = [

if (!isNOU(select('#' + this.getId('View'), this.parent.element))) {
var gridSpan = '<span class="' + CLS.ICON_GRID + ' ' + CLS.MENU_ICON + '"></span>';
var largeIconSpan = '<span class="' + CLS.ICON_LARGE + ' ' + CLS.MENU_ICON + '"></span>';
var gridSpan_1 = '<span class="' + CLS.ICON_GRID + ' ' + CLS.MENU_ICON + '"></span>';
var largeIconSpan_1 = '<span class="' + CLS.ICON_LARGE + ' ' + CLS.MENU_ICON + '"></span>';
var layoutItems = [
{
id: this.getPupupId('large'), text: largeIconSpan + getLocaleText(this.parent, 'View-LargeIcons'),
id: this.getPupupId('large'), text: getLocaleText(this.parent, 'View-LargeIcons'),
iconCss: this.parent.view === 'Details' ? '' : CLS.TB_OPTION_TICK
},
{
id: this.getPupupId('details'), text: gridSpan + getLocaleText(this.parent, 'View-Details'),
id: this.getPupupId('details'), text: getLocaleText(this.parent, 'View-Details'),
iconCss: this.parent.view === 'Details' ? CLS.TB_OPTION_TICK : ''

@@ -215,3 +216,13 @@ }

enableRtl: this.parent.enableRtl,
content: '<span class="e-tbar-btn-text">' + getLocaleText(this.parent, 'View') + '</span>'
content: '<span class="e-tbar-btn-text">' + getLocaleText(this.parent, 'View') + '</span>',
beforeItemRender: function (args) {
var tickIcon = args.item.iconCss;
var viewText = args.item.text === getLocaleText(_this.parent, 'View-LargeIcons');
var iconClass = tickIcon ? ' e-menu-icon ' + tickIcon : '';
args.element.innerHTML = '<span class="' + iconClass + '"></span>' + (viewText ? largeIconSpan_1 : gridSpan_1) + args.item.text;
var span = args.element.firstChild;
if (span && span.className === '') {
args.element.removeChild(span);
}
}
});

@@ -218,0 +229,0 @@ this.layoutBtnObj.isStringTemplate = true;

@@ -1,2 +0,2 @@

import { Component, EmitType, ModuleDeclaration, isNullOrUndefined, L10n, closest, Collection } from '@syncfusion/ej2-base';import { Property, INotifyPropertyChanged, NotifyPropertyChanges, Complex, select } from '@syncfusion/ej2-base';import { createElement, addClass, removeClass, setStyleAttribute as setAttr, getUniqueID } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, formatUnit, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Event, EventHandler, getValue, setValue } from '@syncfusion/ej2-base';import { Splitter, PanePropertiesModel } from '@syncfusion/ej2-layouts';import { Dialog, createSpinner, hideSpinner, showSpinner, BeforeOpenEventArgs, BeforeCloseEventArgs } from '@syncfusion/ej2-popups';import { createDialog, createExtDialog } from '../pop-up/dialog';import { ToolbarSettings, ToolbarSettingsModel, AjaxSettings, NavigationPaneSettings, DetailsViewSettings } from '../models/index';import { ToolbarItem, ToolbarItemModel } from'../models/index' ;import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';import { AjaxSettingsModel, SearchSettings, SearchSettingsModel } from '../models/index';import { Toolbar } from '../actions/toolbar';import { DetailsView } from '../layout/details-view';import { LargeIconsView } from '../layout/large-icons-view';import { Uploader, UploadingEventArgs, SelectedEventArgs, FileInfo, CancelEventArgs } from '@syncfusion/ej2-inputs';import { UploadSettingsModel } from '../models/upload-settings-model';import { UploadSettings } from '../models/upload-settings';import * as events from './constant';import * as CLS from './classes';import { read, filter, createFolder } from '../common/operations';import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, ReadArgs, FileSelectionEventArgs } from './interface';import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs } from './interface';import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs } from './interface';import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';import { refresh, getPathObject, getLocaleText, setNextPath, createDeniedDialog, getCssClass } from '../common/utility';import { hasContentAccess, hasUploadAccess, updateLayout, createNewFolder, uploadItem } from '../common/utility';import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';import { ContextMenuSettings } from '../models/contextMenu-settings';import { BreadCrumbBar } from '../actions/breadcrumb-bar';import { ContextMenu } from '../pop-up/context-menu';import { defaultLocale } from '../models/default-locale';import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';import { Virtualization } from '../actions/virtualization';
import { Component, EmitType, ModuleDeclaration, isNullOrUndefined, L10n, closest, Collection } from '@syncfusion/ej2-base';import { Property, INotifyPropertyChanged, NotifyPropertyChanges, Complex, select } from '@syncfusion/ej2-base';import { createElement, addClass, removeClass, setStyleAttribute as setAttr, getUniqueID } from '@syncfusion/ej2-base';import { isNullOrUndefined as isNOU, formatUnit, Browser, KeyboardEvents, KeyboardEventArgs } from '@syncfusion/ej2-base';import { Event, EventHandler, getValue, setValue } from '@syncfusion/ej2-base';import { Splitter, PanePropertiesModel } from '@syncfusion/ej2-layouts';import { Dialog, createSpinner, hideSpinner, showSpinner, BeforeOpenEventArgs, BeforeCloseEventArgs } from '@syncfusion/ej2-popups';import { createDialog, createExtDialog } from '../pop-up/dialog';import { ToolbarSettings, ToolbarSettingsModel, AjaxSettings, NavigationPaneSettings, DetailsViewSettings } from '../models/index';import { ToolbarItem, ToolbarItemModel } from'../models/index' ;import { NavigationPaneSettingsModel, DetailsViewSettingsModel } from '../models/index';import { AjaxSettingsModel, SearchSettings, SearchSettingsModel } from '../models/index';import { Toolbar } from '../actions/toolbar';import { DetailsView } from '../layout/details-view';import { LargeIconsView } from '../layout/large-icons-view';import { Uploader, UploadingEventArgs, SelectedEventArgs, FileInfo, CancelEventArgs } from '@syncfusion/ej2-inputs';import { UploadSettingsModel } from '../models/upload-settings-model';import { UploadSettings } from '../models/upload-settings';import * as events from './constant';import * as CLS from './classes';import { read, filter, createFolder } from '../common/operations';import { ITreeView, IContextMenu, ViewType, SortOrder, FileDragEventArgs, RetryArgs, ReadArgs, FileSelectionEventArgs } from './interface';import { BeforeSendEventArgs, SuccessEventArgs, FailureEventArgs, FileLoadEventArgs } from './interface';import { FileOpenEventArgs, FileSelectEventArgs, MenuClickEventArgs, MenuOpenEventArgs } from './interface';import { ToolbarClickEventArgs, ToolbarCreateEventArgs, UploadListCreateArgs } from './interface';import { PopupOpenCloseEventArgs, BeforePopupOpenCloseEventArgs, BeforeDownloadEventArgs, BeforeImageLoadEventArgs } from './interface';import { refresh, getPathObject, getLocaleText, setNextPath, createDeniedDialog, getCssClass } from '../common/utility';import { hasContentAccess, hasUploadAccess, updateLayout, createNewFolder, uploadItem } from '../common/utility';import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';import { ContextMenuSettingsModel } from '../models/contextMenu-settings-model';import { ContextMenuSettings } from '../models/contextMenu-settings';import { BreadCrumbBar } from '../actions/breadcrumb-bar';import { ContextMenu } from '../pop-up/context-menu';import { defaultLocale } from '../models/default-locale';import { PositionModel } from '@syncfusion/ej2-base/src/draggable-model';import { Virtualization } from '../actions/virtualization';import { SortComparer } from './interface';
import {ComponentModel} from '@syncfusion/ej2-base';

@@ -210,2 +210,13 @@

/**
* Defines the custom sorting function.
* The sort comparer function has the same functionality like
* [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
* This can be used to customize the default sorting functionalities with required comparison values.
*
* @default null
* @aspType string
*/
sortComparer?: SortComparer | string;
/**
* Specifies the group of items aligned horizontally in the toolbar.

@@ -212,0 +223,0 @@ *

@@ -25,2 +25,3 @@ import { Component, EmitType, ModuleDeclaration, L10n } from '@syncfusion/ej2-base';

import { Virtualization } from '../actions/virtualization';
import { SortComparer } from './interface';
/**

@@ -330,2 +331,12 @@ * The FileManager component allows users to access and manage the file system through the web browser. It can performs the

/**
* Defines the custom sorting function.
* The sort comparer function has the same functionality like
* [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
* This can be used to customize the default sorting functionalities with required comparison values.
*
* @default null
* @aspType string
*/
sortComparer: SortComparer | string;
/**
* Specifies the group of items aligned horizontally in the toolbar.

@@ -332,0 +343,0 @@ *

@@ -182,3 +182,4 @@ var __extends = (this && this.__extends) || (function () {

member: 'toolbar',
args: [this]
args: [this],
name: 'Toolbar'
});

@@ -189,3 +190,4 @@ }

member: 'navigationpane',
args: [this]
args: [this],
name: 'NavigationPane'
});

@@ -196,3 +198,4 @@ }

member: 'detailsview',
args: [this]
args: [this],
name: 'DetailsView'
});

@@ -203,3 +206,4 @@ }

member: 'contextmenu',
args: [this]
args: [this],
name: 'ContextMenu'
});

@@ -210,3 +214,4 @@ }

member: 'virtualization',
args: [this]
args: [this],
name: 'Virtualization'
});

@@ -1225,2 +1230,5 @@ }

__decorate([
Property(null)
], FileManager.prototype, "sortComparer", void 0);
__decorate([
Complex({}, ToolbarSettings)

@@ -1227,0 +1235,0 @@ ], FileManager.prototype, "toolbarSettings", void 0);

@@ -18,2 +18,11 @@ import { Component, EmitType, L10n } from '@syncfusion/ej2-base';

/**
* ValueType is a type that can be a number, string, Date, or boolean.
*/
export declare type ValueType = number | string | Date | boolean;
/**
* SortComparer is a function type that takes two ValueType arguments and returns a number.
* The function is used for comparing two values for sorting purposes.
*/
export declare type SortComparer = (x: ValueType, y: ValueType) => number;
/**
* Defines the view type of the FileManager.

@@ -216,2 +225,10 @@ * ```props

cancel?: boolean;
/**
* Return the AJAX details, which are send to server.
*/
ajaxSettings?: Object;
/**
* Specifies whether the download is performed through the form submit method or using an HTTP client instance.
*/
useFormPost?: boolean;
}

@@ -586,2 +603,3 @@ /**

sortBy: string;
sortComparer: SortComparer | string;
actionRecords: Object[];

@@ -588,0 +606,0 @@ activeRecords: Object[];

@@ -1,2 +0,2 @@

import { Ajax, createElement, select, extend, Internationalization } from '@syncfusion/ej2-base';
import { Ajax, Fetch, createElement, select, extend, Internationalization } from '@syncfusion/ej2-base';
import { isNullOrUndefined as isNOU, setValue, getValue } from '@syncfusion/ej2-base';

@@ -628,19 +628,75 @@ import * as events from '../base/constant';

var data = { 'action': 'download', 'path': path, 'names': items, 'data': parent.itemData };
var eventArgs = { data: data, cancel: false };
var ajaxSettings = {
url: downloadUrl,
type: 'POST',
contentType: 'application/json',
responseType: 'blob',
data: JSON.stringify(data),
onSuccess: null,
onFailure: null,
beforeSend: null
};
var eventArgs = { data: data, cancel: false, useFormPost: true, ajaxSettings: ajaxSettings };
parent.trigger('beforeDownload', eventArgs, function (downloadArgs) {
if (!downloadArgs.cancel) {
var form = createElement('form', {
id: parent.element.id + '_downloadForm',
attrs: { action: downloadUrl, method: 'post', name: 'downloadForm', 'download': '' }
});
var input = createElement('input', {
id: parent.element.id + '_hiddenForm',
attrs: { name: 'downloadInput', value: JSON.stringify(downloadArgs.data), type: 'hidden' }
});
form.appendChild(input);
parent.element.appendChild(form);
document.forms.namedItem('downloadForm').submit();
parent.element.removeChild(form);
if (downloadArgs.useFormPost) {
var form = createElement('form', {
id: parent.element.id + '_downloadForm',
attrs: { action: downloadUrl, method: 'post', name: 'downloadForm', 'download': '' }
});
var input = createElement('input', {
id: parent.element.id + '_hiddenForm',
attrs: { name: 'downloadInput', value: JSON.stringify(downloadArgs.data), type: 'hidden' }
});
form.appendChild(input);
parent.element.appendChild(form);
document.forms.namedItem('downloadForm').submit();
parent.element.removeChild(form);
}
else {
var contentDisposition_1;
var fileName_1;
var fetch_1 = new Fetch({
url: getValue('url', downloadArgs.ajaxSettings),
type: getValue('type', downloadArgs.ajaxSettings),
contentType: getValue('contentType', downloadArgs.ajaxSettings),
responseType: getValue('responseType', downloadArgs.ajaxSettings),
beforeSend: getValue('beforeSend', downloadArgs.ajaxSettings),
onLoad: function (e) {
contentDisposition_1 = e.headers.get('Content-Disposition');
if (contentDisposition_1) {
var filenameMatch = contentDisposition_1.match(/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/);
var extractedFilename = filenameMatch && filenameMatch[1];
fileName_1 = extractedFilename ? extractedFilename.replace(/['"]/g, '') : fileName_1;
}
else {
fileName_1 = parent.itemData.length > 1 ? 'files.zip' : getValue('isFile', parent.itemData[0]) ? getValue('name', parent.itemData[0]) : getValue('name', parent.itemData[0]) + '.zip';
}
},
onSuccess: function (e) {
parent.trigger('success', downloadArgs);
var blob = e;
var blobUrl = URL.createObjectURL(blob);
var link = document.createElement('a');
link.href = blobUrl;
link.download = fileName_1;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
},
onFailure: function (e) {
var result = {
error: {
code: e.status.toString(),
message: getLocaleText(parent, 'Network-Error') + ' ' + parent.ajaxSettings.downloadUrl,
},
};
createDialog(parent, 'Error', result);
parent.trigger('failure', downloadArgs);
},
});
fetch_1.send(JSON.stringify(downloadArgs.data));
}
}
});
}

@@ -6,2 +6,11 @@ import { IFileManager, ReadArgs, SearchArgs } from '../base/interface';

/**
* Utility function to compare two strings in a way similar to Windows Explorer.
* Files and folders are sorted separately, with folders coming before files.
*
* @param {string} reference - The first string to compare. This could be a file or folder name.
* @param {string} comparer - The second string to compare. This could be a file or folder name.
* @returns {number} - A negative number if `reference` should come before `comparer`, a positive number if `comparer` should come before `reference`, and 0 if they are considered equal.
*/
export declare function sortComparer(reference: string, comparer: string): number;
/**
* Utility file for common actions

@@ -8,0 +17,0 @@ *

@@ -9,2 +9,34 @@ import * as CLS from '../base/classes';

/**
* Utility function to compare two strings in a way similar to Windows Explorer.
* Files and folders are sorted separately, with folders coming before files.
*
* @param {string} reference - The first string to compare. This could be a file or folder name.
* @param {string} comparer - The second string to compare. This could be a file or folder name.
* @returns {number} - A negative number if `reference` should come before `comparer`, a positive number if `comparer` should come before `reference`, and 0 if they are considered equal.
*/
export function sortComparer(reference, comparer) {
// Check if reference and comparer are files or folders
var referenceIsFile = /\.\S+/.test(reference);
var comparerIsFile = /\.\S+/.test(comparer);
// If one is a file and the other is a folder, the folder should come first
if (referenceIsFile && !comparerIsFile)
return 1;
if (!referenceIsFile && comparerIsFile)
return -1;
var referenceParts = [];
var comparerParts = [];
(reference + '').replace(/(\d+)|(\D+)/g, function (_, $1, $2) { referenceParts.push([$1 || Infinity, $2 || ""]); return ""; });
(comparer + '').replace(/(\d+)|(\D+)/g, function (_, $1, $2) { comparerParts.push([$1 || Infinity, $2 || ""]); return ""; });
// Compare each part of reference and comparer
while (referenceParts.length && comparerParts.length) {
var referencePart = referenceParts.shift();
var comparerPart = comparerParts.shift();
var comparisonResult = referencePart[0] - comparerPart[0] ||
referencePart[1].localeCompare(comparerPart[1]);
if (comparisonResult)
return comparisonResult;
}
return referenceParts.length - comparerParts.length;
}
/**
* Utility file for common actions

@@ -11,0 +43,0 @@ *

@@ -9,1 +9,2 @@ /**

export * from './pop-up';
export * from './common';

@@ -9,1 +9,2 @@ /**

export * from './pop-up';
export * from './common';

@@ -40,2 +40,3 @@ import { ListBaseOptions } from '@syncfusion/ej2-lists';

private render;
private comparer;
private preventImgDrag;

@@ -42,0 +43,0 @@ private createDragObj;

@@ -266,3 +266,2 @@ import { TreeView as BaseTreeView } from '@syncfusion/ej2-navigations';

var previousPath = this.parent.path;
var sNode = select('[data-uid="' + this.treeObj.selectedNodes[0] + '"]', this.treeObj.element);
if (!this.isRightClick && this.isSameNodeClicked) {

@@ -269,0 +268,0 @@ updatePath(args.node, this.parent.itemData[0], this.parent);

@@ -1,2 +0,2 @@

import { Property, ChildProperty, NumberFormatOptions, DateFormatOptions } from '@syncfusion/ej2-base';
import { Property, ChildProperty, NumberFormatOptions, DateFormatOptions } from '@syncfusion/ej2-base';import { SortComparer } from '../base/interface';
import {TextAlign} from "./column";

@@ -90,2 +90,12 @@

/**
* Defines the custom sort comparer function.
* The sort comparer function has the same functionality like
* [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
*
* @default null
* @aspType string
*/
sortComparer?: SortComparer | string;
/**
* Defines the column template as string or HTML element ID which is used to add customized element in the column header.

@@ -92,0 +102,0 @@ *

import { ChildProperty, NumberFormatOptions, DateFormatOptions } from '@syncfusion/ej2-base';
import { SortComparer } from '../base/interface';
/**

@@ -117,2 +118,11 @@ * Defines alignments of text, they are

/**
* Defines the custom sort comparer function.
* The sort comparer function has the same functionality like
* [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) sort comparer.
*
* @default null
* @aspType string
*/
sortComparer: SortComparer | string;
/**
* Defines the column template as string or HTML element ID which is used to add customized element in the column header.

@@ -119,0 +129,0 @@ *

@@ -62,2 +62,5 @@ var __extends = (this && this.__extends) || (function () {

Property(null)
], Column.prototype, "sortComparer", void 0);
__decorate([
Property(null)
], Column.prototype, "headerTemplate", void 0);

@@ -64,0 +67,0 @@ __decorate([

@@ -27,5 +27,3 @@ var __extends = (this && this.__extends) || (function () {

field: 'name', headerText: 'Name', minWidth: 120, isPrimaryKey: true,
template: initializeCSPTemplate(function (data) {
return "<span class=\"e-fe-text\">" + data.name + "</span>";
}),
template: '<span class=\"e-fe-text\">${name}</span>',
customAttributes: { class: 'e-fe-grid-name' }

@@ -32,0 +30,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc