@progress/kendo-angular-spreadsheet 24.0.0-develop.4 → 24.0.0-develop.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE.txt +2599 -172
- package/codemods/libs/common/src/codemods/utils.js +53 -18
- package/codemods/libs/spreadsheet/codemods/v24/spreadsheet-excel.js +30 -0
- package/fesm2022/progress-kendo-angular-spreadsheet.mjs +38 -19
- package/package-metadata.mjs +2 -2
- package/package.json +26 -20
- package/schematics/ngAdd/index.js +2 -2
- package/sheets-bar/sheets-bar.component.d.ts +1 -1
- package/spreadsheet.component.d.ts +5 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
"use strict";
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.tsInterfaceTransformer = exports.tsPropertyValueTransformer = exports.tsPropertyTransformer = exports.tsComponentPropertyRemoval = exports.attributeRemoval = exports.attributeValueUpdate = exports.attributeNameValueUpdate = exports.attributeNameUpdate = exports.eventUpdate = exports.htmlTransformer = exports.blockTextElements = void 0;
|
|
7
|
+
exports.tsInterfaceTransformer = exports.tsPropertyValueTransformer = exports.tsPropertyTransformer = exports.tsComponentPropertyRemoval = exports.attributeConditionalRemoval = exports.attributeRemoval = exports.attributeValueUpdate = exports.attributeNameValueUpdate = exports.attributeNameUpdate = exports.eventUpdate = exports.htmlTransformer = exports.blockTextElements = void 0;
|
|
8
8
|
exports.hasKendoInTemplate = hasKendoInTemplate;
|
|
9
9
|
exports.isImportedFromPackage = isImportedFromPackage;
|
|
10
10
|
exports.tsPropertyRemoval = tsPropertyRemoval;
|
|
@@ -345,6 +345,34 @@ const attributeRemoval = (templateContent, tagName, attributeName, propertyToRem
|
|
|
345
345
|
});
|
|
346
346
|
};
|
|
347
347
|
exports.attributeRemoval = attributeRemoval;
|
|
348
|
+
/**
|
|
349
|
+
* Removes an attribute from a tag only when its value matches one of the specified values.
|
|
350
|
+
* Handles both static (`attr="value"`) and bound (`[attr]="'value'"`) forms.
|
|
351
|
+
*
|
|
352
|
+
* @param templateContent - The template string content to transform
|
|
353
|
+
* @param tagName - The HTML tag name to target (e.g., 'kendo-button')
|
|
354
|
+
* @param attributeName - The attribute name to conditionally remove
|
|
355
|
+
* @param values - The attribute values that trigger removal
|
|
356
|
+
* @returns The transformed template content
|
|
357
|
+
*/
|
|
358
|
+
const attributeConditionalRemoval = (templateContent, tagName, attributeName, values) => {
|
|
359
|
+
const escapeRegex = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
360
|
+
const escapedTag = escapeRegex(tagName);
|
|
361
|
+
const escapedAttr = escapeRegex(attributeName);
|
|
362
|
+
// Remove bound attributes [attribute]="value"
|
|
363
|
+
const boundAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
364
|
+
// Remove static attributes attribute="value"
|
|
365
|
+
const staticAttributePattern = new RegExp(`(<${escapedTag}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
|
|
366
|
+
// Strip outer and inner quotes to extract the raw value for comparison
|
|
367
|
+
const matchesValue = (raw) => {
|
|
368
|
+
const inner = raw.replace(/^["']|["']$/g, '').replace(/^['"]|['"]$/g, '');
|
|
369
|
+
return values.includes(inner);
|
|
370
|
+
};
|
|
371
|
+
let result = templateContent.replace(boundAttributePattern, (match, prefix, value, suffix) => matchesValue(value) ? prefix + suffix : match);
|
|
372
|
+
result = result.replace(staticAttributePattern, (match, prefix, value, suffix) => matchesValue(value) ? prefix + suffix : match);
|
|
373
|
+
return result;
|
|
374
|
+
};
|
|
375
|
+
exports.attributeConditionalRemoval = attributeConditionalRemoval;
|
|
348
376
|
function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propertyName) {
|
|
349
377
|
if (source.includes(typeName)) {
|
|
350
378
|
if (!isImportedFromPackage(rootSource, j, packageName, typeName)) {
|
|
@@ -441,8 +469,31 @@ function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propert
|
|
|
441
469
|
}
|
|
442
470
|
}
|
|
443
471
|
});
|
|
444
|
-
// Handle return statements with object literals
|
|
472
|
+
// Handle return statements with object literals, but only when the enclosing
|
|
473
|
+
// function's declared return type matches typeName. This prevents removing
|
|
474
|
+
// unrelated propertyName keys from object literals returned in other functions.
|
|
475
|
+
const enclosingFunctionReturnsType = (nodePath) => {
|
|
476
|
+
let current = nodePath.parent;
|
|
477
|
+
while (current) {
|
|
478
|
+
const node = current.node;
|
|
479
|
+
if (node.type === 'FunctionDeclaration' ||
|
|
480
|
+
node.type === 'FunctionExpression' ||
|
|
481
|
+
node.type === 'ArrowFunctionExpression' ||
|
|
482
|
+
node.type === 'ClassMethod' ||
|
|
483
|
+
node.type === 'ObjectMethod') {
|
|
484
|
+
return !!(node.returnType &&
|
|
485
|
+
node.returnType.typeAnnotation?.type === 'TSTypeReference' &&
|
|
486
|
+
node.returnType.typeAnnotation.typeName?.type === 'Identifier' &&
|
|
487
|
+
node.returnType.typeAnnotation.typeName.name === typeName);
|
|
488
|
+
}
|
|
489
|
+
current = current.parent;
|
|
490
|
+
}
|
|
491
|
+
return false;
|
|
492
|
+
};
|
|
445
493
|
rootSource.find(j.ReturnStatement).forEach((path) => {
|
|
494
|
+
if (!enclosingFunctionReturnsType(path)) {
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
446
497
|
if (path.node.argument && path.node.argument.type === 'ObjectExpression') {
|
|
447
498
|
const properties = path.node.argument.properties;
|
|
448
499
|
const propIndex = properties.findIndex((p) => p.type === 'ObjectProperty' &&
|
|
@@ -491,22 +542,6 @@ function tsPropertyRemoval(source, rootSource, j, packageName, typeName, propert
|
|
|
491
542
|
statement.remove();
|
|
492
543
|
}
|
|
493
544
|
});
|
|
494
|
-
// Handle nested member expressions like chatConfig.chat.modelFields.pinnedByField
|
|
495
|
-
rootSource
|
|
496
|
-
.find(j.AssignmentExpression, {
|
|
497
|
-
left: {
|
|
498
|
-
type: 'MemberExpression',
|
|
499
|
-
object: {
|
|
500
|
-
type: 'MemberExpression',
|
|
501
|
-
},
|
|
502
|
-
property: {
|
|
503
|
-
name: propertyName,
|
|
504
|
-
},
|
|
505
|
-
},
|
|
506
|
-
})
|
|
507
|
-
.forEach((path) => {
|
|
508
|
-
j(path).closest(j.ExpressionStatement).remove();
|
|
509
|
-
});
|
|
510
545
|
return rootSource;
|
|
511
546
|
}
|
|
512
547
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
"use strict";
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.default = default_1;
|
|
8
|
+
const tslib_1 = require("tslib");
|
|
9
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
10
|
+
const codemods_1 = require("@progress/kendo-angular-common/codemods");
|
|
11
|
+
function default_1(fileInfo, api) {
|
|
12
|
+
const filePath = fileInfo.path;
|
|
13
|
+
if (!(0, codemods_1.isApiChangeTarget)(filePath)) {
|
|
14
|
+
return fileInfo.source;
|
|
15
|
+
}
|
|
16
|
+
// Handle HTML files and inline templates
|
|
17
|
+
const htmlResult = (0, codemods_1.htmlTransformer)(fileInfo, api, (templateContent) => (0, codemods_1.attributeNameUpdate)(templateContent, 'kendo-spreadsheet', 'excel', 'excelExportSettings'));
|
|
18
|
+
if (filePath.endsWith('.html')) {
|
|
19
|
+
if (htmlResult && htmlResult !== fileInfo.source) {
|
|
20
|
+
fs.writeFileSync(filePath, htmlResult, 'utf-8');
|
|
21
|
+
return htmlResult;
|
|
22
|
+
}
|
|
23
|
+
return fileInfo.source;
|
|
24
|
+
}
|
|
25
|
+
// Handle TypeScript property transformations
|
|
26
|
+
const j = api.jscodeshift;
|
|
27
|
+
const rootSource = j(htmlResult || fileInfo.source);
|
|
28
|
+
(0, codemods_1.tsPropertyTransformer)(fileInfo.source, rootSource, j, '@progress/kendo-angular-spreadsheet', 'SpreadsheetComponent', 'excel', 'excelExportSettings');
|
|
29
|
+
return rootSource.toSource();
|
|
30
|
+
}
|
|
@@ -11,13 +11,13 @@ import { SpreadsheetWidget, registerEditor, Matrix, dateToSerial, validation, ca
|
|
|
11
11
|
export { CellRef, Context, Deferred, Matrix, Range, RangeRef, Ref, Sheet, SpreadsheetWidget, View, Workbook, defineFunction } from '@progress/kendo-spreadsheet-common';
|
|
12
12
|
import * as i1$4 from '@progress/kendo-angular-intl';
|
|
13
13
|
import { localeData } from '@progress/kendo-angular-intl';
|
|
14
|
-
import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, eyeSlashIcon, arrowRightIcon, arrowLeftIcon, filePdfIcon, sortClearIcon, sortDescIcon, sortAscIcon, filterIcon, eyeIcon, clipboardIcon, cutIcon, decimalIncreaseIcon, exclamationCircleIcon, decimalDecreaseIcon, fontShrinkIcon, fontGrowIcon, linkIcon, tableUnmergeIcon, cellsMergeVerticallyIcon, cellsMergeHorizontallyIcon, cellsMergeIcon, fontFamilyIcon, fontSizeIcon, customFormatIcon, downloadIcon, folderOpenIcon, bordersNoneIcon, tableColumnDeleteIcon, tableRowDeleteIcon, tableRowInsertBelowIcon, tableRowInsertAboveIcon, tableColumnInsertRightIcon, tableColumnInsertLeftIcon,
|
|
14
|
+
import { formulaFxIcon, trashIcon, copyIcon, pencilIcon, eyeSlashIcon, arrowRightIcon, arrowLeftIcon, filePdfIcon, sortClearIcon, sortDescIcon, sortAscIcon, filterIcon, eyeIcon, clipboardIcon, cutIcon, decimalIncreaseIcon, exclamationCircleIcon, decimalDecreaseIcon, fontShrinkIcon, fontGrowIcon, linkIcon, tableUnmergeIcon, cellsMergeVerticallyIcon, cellsMergeHorizontallyIcon, cellsMergeIcon, fontFamilyIcon, fontSizeIcon, customFormatIcon, downloadIcon, folderOpenIcon, bordersNoneIcon, tableColumnDeleteIcon, tableRowDeleteIcon, tableRowInsertBelowIcon, tableRowInsertAboveIcon, tableColumnInsertRightIcon, tableColumnInsertLeftIcon, textWrapArrowIcon, arrowRotateCcwIcon, underlineIcon, arrowRotateCwIcon, italicIcon, foregroundColorIcon, boldIcon, dropletIcon, alignMiddleIcon, alignLeftIcon, alignBottomIcon, alignTopIcon, alignRightIcon, alignJustifyIcon, alignCenterIcon, plusIcon, menuIcon, chevronDownIcon, chevronUpIcon, searchIcon, sortAscSmallIcon, sortDescSmallIcon, calendarIcon } from '@progress/kendo-svg-icons';
|
|
15
15
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
16
16
|
import { LocalizationService, L10N_PREFIX, RTL, ComponentMessages } from '@progress/kendo-angular-l10n';
|
|
17
17
|
import * as i1$1 from '@progress/kendo-angular-popup';
|
|
18
18
|
import { PopupService } from '@progress/kendo-angular-popup';
|
|
19
19
|
import { MenuComponent, MenuItemComponent, ContextMenuComponent } from '@progress/kendo-angular-menu';
|
|
20
|
-
import { PreventableEvent, EventsOutsideAngularDirective, replaceMessagePlaceholder, isDocumentAvailable, isPresent, normalizeKeys, Keys, hasObservers, guid, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
20
|
+
import { PreventableEvent, EventsOutsideAngularDirective, replaceMessagePlaceholder, isDocumentAvailable, isPresent, normalizeKeys, Keys, hasObservers, guid, getLicenseMessage, shouldShowValidationUI, WatermarkOverlayComponent, KENDO_WEBMCP_HOST, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
21
21
|
import * as i1$2 from '@progress/kendo-angular-dialog';
|
|
22
22
|
import { DialogContentBase, DialogActionsComponent, DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
|
|
23
23
|
import { IconWrapperComponent, IconsService } from '@progress/kendo-angular-icons';
|
|
@@ -48,8 +48,8 @@ const packageMetadata = {
|
|
|
48
48
|
productName: 'Kendo UI for Angular',
|
|
49
49
|
productCode: 'KENDOUIANGULAR',
|
|
50
50
|
productCodes: ['KENDOUIANGULAR'],
|
|
51
|
-
publishDate:
|
|
52
|
-
version: '24.0.0-develop.
|
|
51
|
+
publishDate: 1779215059,
|
|
52
|
+
version: '24.0.0-develop.40',
|
|
53
53
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning',
|
|
54
54
|
};
|
|
55
55
|
|
|
@@ -662,7 +662,7 @@ const commandIcons = {
|
|
|
662
662
|
redo: 'arrow-rotate-cw',
|
|
663
663
|
underline: 'underline',
|
|
664
664
|
undo: 'arrow-rotate-ccw',
|
|
665
|
-
wrap: 'text-wrap',
|
|
665
|
+
wrap: 'text-wrap-arrow',
|
|
666
666
|
addColumnLeft: 'table-column-insert-left',
|
|
667
667
|
addColumnRight: 'table-column-insert-right',
|
|
668
668
|
addRowAbove: 'table-row-insert-above',
|
|
@@ -721,7 +721,7 @@ const commandSVGIcons = {
|
|
|
721
721
|
redo: arrowRotateCwIcon,
|
|
722
722
|
underline: underlineIcon,
|
|
723
723
|
undo: arrowRotateCcwIcon,
|
|
724
|
-
wrap:
|
|
724
|
+
wrap: textWrapArrowIcon,
|
|
725
725
|
addColumnLeft: tableColumnInsertLeftIcon,
|
|
726
726
|
addColumnRight: tableColumnInsertRightIcon,
|
|
727
727
|
addRowAbove: tableRowInsertAboveIcon,
|
|
@@ -908,7 +908,7 @@ class SheetsBarComponent {
|
|
|
908
908
|
}
|
|
909
909
|
plusIcon = plusIcon;
|
|
910
910
|
menuIcon = menuIcon;
|
|
911
|
-
|
|
911
|
+
chevronDownIcon = chevronDownIcon;
|
|
912
912
|
selected = false;
|
|
913
913
|
sheetsMenuList = [];
|
|
914
914
|
openedDdb = null;
|
|
@@ -1145,6 +1145,7 @@ class SheetsBarComponent {
|
|
|
1145
1145
|
[title]="messageFor('addSheet')"
|
|
1146
1146
|
type="button"
|
|
1147
1147
|
fillMode="flat"
|
|
1148
|
+
size="small"
|
|
1148
1149
|
class="k-spreadsheet-sheet-add"
|
|
1149
1150
|
icon="plus"
|
|
1150
1151
|
[svgIcon]="plusIcon"
|
|
@@ -1155,6 +1156,7 @@ class SheetsBarComponent {
|
|
|
1155
1156
|
fillMode="flat"
|
|
1156
1157
|
buttonClass="k-spreadsheet-sheets-menu"
|
|
1157
1158
|
icon="menu"
|
|
1159
|
+
size="small"
|
|
1158
1160
|
[svgIcon]="menuIcon"
|
|
1159
1161
|
[data]="sheetsMenuList"
|
|
1160
1162
|
(itemClick)="onMenuItemClick($event)"
|
|
@@ -1180,8 +1182,9 @@ class SheetsBarComponent {
|
|
|
1180
1182
|
<span class="k-item-actions">
|
|
1181
1183
|
<kendo-dropdownbutton #sheetDdb
|
|
1182
1184
|
fillMode="flat"
|
|
1183
|
-
icon="
|
|
1184
|
-
[svgIcon]="
|
|
1185
|
+
icon="chevron-down"
|
|
1186
|
+
[svgIcon]="chevronDownIcon"
|
|
1187
|
+
size="small"
|
|
1185
1188
|
buttonClass="k-menu-button"
|
|
1186
1189
|
[data]="sheet.sheetActions"
|
|
1187
1190
|
[buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
|
|
@@ -1196,7 +1199,7 @@ class SheetsBarComponent {
|
|
|
1196
1199
|
}
|
|
1197
1200
|
}
|
|
1198
1201
|
</kendo-tabstrip>
|
|
1199
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"
|
|
1202
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { kind: "component", type: TabStripComponent, selector: "kendo-tabstrip", inputs: ["height", "animate", "tabAlignment", "tabPosition", "keepTabContent", "closable", "scrollable", "size", "closeIcon", "closeIconClass", "closeSVGIcon", "showContentArea"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { kind: "component", type: TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["title", "disabled", "cssClass", "cssStyle", "selected", "closable", "closeIcon", "closeIconClass", "closeSVGIcon"], exportAs: ["kendoTabStripTab"] }, { kind: "directive", type: TabTemplateDirective, selector: "[kendoTabTemplate]" }] });
|
|
1200
1203
|
}
|
|
1201
1204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SheetsBarComponent, decorators: [{
|
|
1202
1205
|
type: Component,
|
|
@@ -1207,6 +1210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
1207
1210
|
[title]="messageFor('addSheet')"
|
|
1208
1211
|
type="button"
|
|
1209
1212
|
fillMode="flat"
|
|
1213
|
+
size="small"
|
|
1210
1214
|
class="k-spreadsheet-sheet-add"
|
|
1211
1215
|
icon="plus"
|
|
1212
1216
|
[svgIcon]="plusIcon"
|
|
@@ -1217,6 +1221,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
1217
1221
|
fillMode="flat"
|
|
1218
1222
|
buttonClass="k-spreadsheet-sheets-menu"
|
|
1219
1223
|
icon="menu"
|
|
1224
|
+
size="small"
|
|
1220
1225
|
[svgIcon]="menuIcon"
|
|
1221
1226
|
[data]="sheetsMenuList"
|
|
1222
1227
|
(itemClick)="onMenuItemClick($event)"
|
|
@@ -1242,8 +1247,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
1242
1247
|
<span class="k-item-actions">
|
|
1243
1248
|
<kendo-dropdownbutton #sheetDdb
|
|
1244
1249
|
fillMode="flat"
|
|
1245
|
-
icon="
|
|
1246
|
-
[svgIcon]="
|
|
1250
|
+
icon="chevron-down"
|
|
1251
|
+
[svgIcon]="chevronDownIcon"
|
|
1252
|
+
size="small"
|
|
1247
1253
|
buttonClass="k-menu-button"
|
|
1248
1254
|
[data]="sheet.sheetActions"
|
|
1249
1255
|
[buttonAttributes]="{'aria-hidden': 'true', 'tabindex': '-1', role: 'presentation'}"
|
|
@@ -3484,7 +3490,7 @@ class SpreadsheetLoadFileComponent extends ToolBarToolComponent {
|
|
|
3484
3490
|
aria-hidden="true"
|
|
3485
3491
|
accept=".xlsx,.XLSX" />
|
|
3486
3492
|
</ng-template>
|
|
3487
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"
|
|
3493
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
3488
3494
|
}
|
|
3489
3495
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetLoadFileComponent, decorators: [{
|
|
3490
3496
|
type: Component,
|
|
@@ -4841,7 +4847,7 @@ class DataValidationDialogComponent extends DialogContentBase {
|
|
|
4841
4847
|
</button>
|
|
4842
4848
|
}
|
|
4843
4849
|
</kendo-dialog-actions>
|
|
4844
|
-
`, isInline: true, dependencies: [{ kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: ["checked"], outputs: ["checkedChange"], exportAs: ["kendoRadioButton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"
|
|
4850
|
+
`, isInline: true, dependencies: [{ kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }, { kind: "component", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: ["checked"], outputs: ["checkedChange"], exportAs: ["kendoRadioButton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }, { kind: "component", type: DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
|
|
4845
4851
|
}
|
|
4846
4852
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: DataValidationDialogComponent, decorators: [{
|
|
4847
4853
|
type: Component,
|
|
@@ -5931,6 +5937,11 @@ class SpreadsheetComponent {
|
|
|
5931
5937
|
rangeFilterValuesList = [];
|
|
5932
5938
|
sortAscSmallIcon = sortAscSmallIcon;
|
|
5933
5939
|
sortDescSmallIcon = sortDescSmallIcon;
|
|
5940
|
+
/**
|
|
5941
|
+
* Returns the underlying `SpreadsheetWidget` instance.
|
|
5942
|
+
* Use it to programmatically access the [`Range`](slug:api_spreadsheet_range) and [`Sheet`](slug:api_spreadsheet_sheet) APIs.
|
|
5943
|
+
* For usage examples, see [Cell and Sheet Operations](slug:cell_and_sheet_operations_spreadsheet) article.
|
|
5944
|
+
*/
|
|
5934
5945
|
get spreadsheetWidget() {
|
|
5935
5946
|
return this.spreadsheetService.spreadsheet;
|
|
5936
5947
|
}
|
|
@@ -6469,9 +6480,9 @@ class SpreadsheetComponent {
|
|
|
6469
6480
|
formulaCellInputRef: { current: this.formulaCellInputRef.current },
|
|
6470
6481
|
nameBoxRef: { current: this.nameBoxRef.current },
|
|
6471
6482
|
getIconHTMLString: (options) => {
|
|
6472
|
-
if (typeof options === 'string' && options === 'k-i-
|
|
6473
|
-
//the
|
|
6474
|
-
options = { iconName: '
|
|
6483
|
+
if (typeof options === 'string' && options === 'k-i-chevron-down') {
|
|
6484
|
+
//the chevron-down filter button icon has different config coming from the common package and has to be handled separately
|
|
6485
|
+
options = { iconName: 'chevron-down', svgIcon: chevronDownIcon };
|
|
6475
6486
|
}
|
|
6476
6487
|
const iconWrapper = this.container.createComponent(IconWrapperComponent);
|
|
6477
6488
|
iconWrapper.instance.name = options.iconName;
|
|
@@ -6617,7 +6628,7 @@ class SpreadsheetComponent {
|
|
|
6617
6628
|
}
|
|
6618
6629
|
list.data = data;
|
|
6619
6630
|
},
|
|
6620
|
-
icon: { iconName: '
|
|
6631
|
+
icon: { iconName: 'chevron-down', svgIcon: chevronDownIcon }
|
|
6621
6632
|
};
|
|
6622
6633
|
});
|
|
6623
6634
|
registerEditor('_validation_date', () => {
|
|
@@ -6943,6 +6954,10 @@ class SpreadsheetComponent {
|
|
|
6943
6954
|
provide: L10N_PREFIX,
|
|
6944
6955
|
useValue: 'kendo.spreadsheet'
|
|
6945
6956
|
},
|
|
6957
|
+
{
|
|
6958
|
+
provide: KENDO_WEBMCP_HOST,
|
|
6959
|
+
useExisting: forwardRef(() => SpreadsheetComponent)
|
|
6960
|
+
},
|
|
6946
6961
|
SpreadsheetToolsService,
|
|
6947
6962
|
PopupService,
|
|
6948
6963
|
ErrorHandlingService
|
|
@@ -7460,7 +7475,7 @@ class SpreadsheetComponent {
|
|
|
7460
7475
|
@if (showLicenseWatermark) {
|
|
7461
7476
|
<div kendoWatermarkOverlay [licenseMessage]="licenseMessage"></div>
|
|
7462
7477
|
}
|
|
7463
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { kind: "component", type: MenuComponent, selector: "kendo-menu", inputs: ["appendTo", "menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { kind: "directive", type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { kind: "component", type: MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { kind: "component", type: ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "rounded", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "directive", type: SpreadsheetPDFExportDirective, selector: "[kendoSpreadsheetPDFExport]" }, { kind: "directive", type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { kind: "component", type: ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "fillMode", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "directive", type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { kind: "directive", type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { kind: "component", type: ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { kind: "component", type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { kind: "component", type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { kind: "directive", type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { kind: "directive", type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { kind: "directive", type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { kind: "directive", type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { kind: "directive", type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { kind: "component", type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { kind: "component", type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { kind: "component", type: ToolBarDropDownButtonComponent, selector: "kendo-toolbar-dropdownbutton", inputs: ["arrowIcon", "title", "showText", "showIcon", "text", "icon", "svgIcon", "iconClass", "imageUrl", "popupSettings", "look", "primary", "fillMode", "themeColor", "buttonClass", "textField", "disabled", "data"], outputs: ["itemClick", "open", "close"], exportAs: ["kendoToolBarDropDownButton"] }, { kind: "directive", type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { kind: "directive", type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { kind: "directive", type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { kind: "directive", type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { kind: "directive", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { kind: "directive", type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { kind: "directive", type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { kind: "directive", type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { kind: "directive", type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { kind: "directive", type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { kind: "directive", type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { kind: "directive", type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { kind: "directive", type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { kind: "directive", type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { kind: "directive", type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { kind: "component", type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", inputs: ["formulaListMaxHeight"] }, { kind: "component", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { kind: "component", type: ContextMenuComponent, selector: "kendo-contextmenu", inputs: ["showOn", "target", "filter", "alignToAnchor", "vertical", "popupAnimate", "popupAlign", "anchorAlign", "collision", "appendTo", "ariaLabel"], outputs: ["popupOpen", "popupClose", "select", "open", "close"], exportAs: ["kendoContextMenu"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }, { kind: "directive", type: SpreadsheetDataValidationDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDataValidation]" }, { kind: "directive", type: SpreadsheetFilterDirective, selector: "kendo-toolbar-button[kendoSpreadsheetFilter]" }, { kind: "component", type: SpreadsheetFilterMenuItemComponent, selector: "kendo-spreadsheet-filtermenu-item", inputs: ["text", "innerMenuItems", "icon", "expanderClass", "expandable", "svgIcon", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: FilterMenuItemContentTemplateDirective, selector: "[kendoSpreadsheetFilterMenuItemContentTemplate]" }, { kind: "component", type: i8.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: i8.CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { kind: "directive", type: i8.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { kind: "directive", type: i8.HierarchyBindingDirective, selector: "[kendoTreeViewHierarchyBinding]", inputs: ["childrenField", "nodes", "isVisible", "loadOnDemand"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: InputsModule }, { kind: "component", type: i9.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i9.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: SpreadsheetSortDirective, selector: "[kendoSpreadsheetSort]" }] });
|
|
7478
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoSpreadsheetLocalizedMessages]" }, { kind: "component", type: MenuComponent, selector: "kendo-menu", inputs: ["appendTo", "menuItemTemplate", "ariaRole", "menuItemLinkTemplate"], outputs: ["select", "open", "close"], exportAs: ["kendoMenu"] }, { kind: "directive", type: MainMenuDirective, selector: "[kendoSpreadsheetMenu]" }, { kind: "component", type: MenuItemComponent, selector: "kendo-menu-item", inputs: ["text", "url", "disabled", "cssClass", "cssStyle", "icon", "svgIcon", "data", "separator"] }, { kind: "component", type: ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex", "showIcon", "showText"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: SpreadsheetLoadFileComponent, selector: "kendo-spreadsheet-load-file-tool" }, { kind: "component", type: ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "rounded", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "directive", type: SpreadsheetPDFExportDirective, selector: "[kendoSpreadsheetPDFExport]" }, { kind: "directive", type: SpreadsheetSaveFileDirective, selector: "[kendoSpreadsheetSaveFile]" }, { kind: "component", type: ToolBarButtonGroupComponent, selector: "kendo-toolbar-buttongroup", inputs: ["disabled", "fillMode", "selection", "width", "look"], exportAs: ["kendoToolBarButtonGroup"] }, { kind: "directive", type: SpreadsheetUndoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUndo]" }, { kind: "directive", type: SpreadsheetRedoDirective, selector: "kendo-toolbar-button[kendoSpreadsheetRedo]" }, { kind: "component", type: ToolBarSeparatorComponent, selector: "kendo-toolbar-separator", exportAs: ["kendoToolBarSeparator"] }, { kind: "component", type: SpreadsheetFontFamilyComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontFamily]" }, { kind: "component", type: SpreadsheetFontSizeComponent, selector: "kendo-toolbar-dropdownlist[kendoSpreadsheetFontSize]" }, { kind: "directive", type: SpreadsheetIncreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseFontSize]" }, { kind: "directive", type: SpreadsheetDecreaseFontSizeDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseFontSize]" }, { kind: "directive", type: SpreadsheetBoldDirective, selector: "kendo-toolbar-button[kendoSpreadsheetBold]" }, { kind: "directive", type: SpreadsheetItalicDirective, selector: "kendo-toolbar-button[kendoSpreadsheetItalic]" }, { kind: "directive", type: SpreadsheetUnderlineDirective, selector: "kendo-toolbar-button[kendoSpreadsheetUnderline]" }, { kind: "component", type: SpreadsheetForeColorComponent, selector: "kendo-spreadsheet-forecolor-tool" }, { kind: "component", type: SpreadsheetBackColorComponent, selector: "kendo-spreadsheet-backcolor-tool" }, { kind: "component", type: ToolBarDropDownButtonComponent, selector: "kendo-toolbar-dropdownbutton", inputs: ["arrowIcon", "title", "showText", "showIcon", "text", "icon", "svgIcon", "iconClass", "imageUrl", "popupSettings", "look", "primary", "fillMode", "themeColor", "buttonClass", "textField", "disabled", "data"], outputs: ["itemClick", "open", "close"], exportAs: ["kendoToolBarDropDownButton"] }, { kind: "directive", type: SpreadsheetHorizontalTextAlignDirective, selector: "[kendoSpreadsheetHorizontalTextAlign]" }, { kind: "directive", type: SpreadsheetVerticalTextAlignDirective, selector: "[kendoSpreadsheetVerticalTextAlign]" }, { kind: "directive", type: SpreadsheetTextWrapDirective, selector: "kendo-toolbar-button[kendoSpreadsheetTextWrap]" }, { kind: "directive", type: SpreadsheetFormatDirective, selector: "[kendoSpreadsheetFormat]" }, { kind: "directive", type: SpreadsheetInsertLinkDirective, selector: "kendo-toolbar-button[kendoSpreadsheetInsertLink]" }, { kind: "directive", type: SpreadsheetAddColumnLeftButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnLeftButton]" }, { kind: "directive", type: SpreadsheetAddColumnRightButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddColumnRightButton]" }, { kind: "directive", type: SpreadsheetAddRowBelowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowBelowButton]" }, { kind: "directive", type: SpreadsheetAddRowAboveButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetAddRowAboveButton]" }, { kind: "directive", type: SpreadsheetDeleteColumnButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteColumnButton]" }, { kind: "directive", type: SpreadsheetDeleteRowButtonDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDeleteRowButton]" }, { kind: "directive", type: SpreadsheetDecreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDecreaseDecimal]" }, { kind: "directive", type: SpreadsheetIncreaseDecimalDirective, selector: "kendo-toolbar-button[kendoSpreadsheetIncreaseDecimal]" }, { kind: "directive", type: SpreadsheetMergeDirective, selector: "[kendoSpreadsheetMerge]" }, { kind: "directive", type: SpreadsheetGridLinesDirective, selector: "kendo-toolbar-button[kendoSpreadsheetGridLines]" }, { kind: "component", type: NameBoxComponent, selector: "[kendoSpreadsheetNameBox]", inputs: ["data", "spreadsheetWidget"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: FormulaInputDirective, selector: "[kendoSpreadsheetFormulaInput]", inputs: ["formulaListMaxHeight"] }, { kind: "component", type: SheetsBarComponent, selector: "[kendoSpreadsheetSheetsBar]", inputs: ["sheets", "sheetDescriptors"] }, { kind: "component", type: ContextMenuComponent, selector: "kendo-contextmenu", inputs: ["showOn", "target", "filter", "alignToAnchor", "vertical", "popupAnimate", "popupAlign", "anchorAlign", "collision", "appendTo", "ariaLabel"], outputs: ["popupOpen", "popupClose", "select", "open", "close"], exportAs: ["kendoContextMenu"] }, { kind: "component", type: WatermarkOverlayComponent, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: ["licenseMessage"] }, { kind: "directive", type: SpreadsheetDataValidationDirective, selector: "kendo-toolbar-button[kendoSpreadsheetDataValidation]" }, { kind: "directive", type: SpreadsheetFilterDirective, selector: "kendo-toolbar-button[kendoSpreadsheetFilter]" }, { kind: "component", type: SpreadsheetFilterMenuItemComponent, selector: "kendo-spreadsheet-filtermenu-item", inputs: ["text", "innerMenuItems", "icon", "expanderClass", "expandable", "svgIcon", "expanded"], outputs: ["itemClick", "expand", "collapse"] }, { kind: "directive", type: FilterMenuItemContentTemplateDirective, selector: "[kendoSpreadsheetFilterMenuItemContentTemplate]" }, { kind: "component", type: i8.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "hasCheckbox", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { kind: "directive", type: i8.CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { kind: "directive", type: i8.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { kind: "directive", type: i8.HierarchyBindingDirective, selector: "[kendoTreeViewHierarchyBinding]", inputs: ["childrenField", "nodes", "isVisible", "loadOnDemand"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconPosition", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "ngmodule", type: InputsModule }, { kind: "component", type: i9.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: i9.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "format", "max", "min", "decimals", "placeholder", "step", "spinners", "rangeValidation", "tabindex", "tabIndex", "changeValueOnScroll", "selectOnFocus", "value", "maxlength", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoNumericTextBox"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: SpreadsheetSortDirective, selector: "[kendoSpreadsheetSort]" }] });
|
|
7464
7479
|
}
|
|
7465
7480
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: SpreadsheetComponent, decorators: [{
|
|
7466
7481
|
type: Component,
|
|
@@ -7478,6 +7493,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
7478
7493
|
provide: L10N_PREFIX,
|
|
7479
7494
|
useValue: 'kendo.spreadsheet'
|
|
7480
7495
|
},
|
|
7496
|
+
{
|
|
7497
|
+
provide: KENDO_WEBMCP_HOST,
|
|
7498
|
+
useExisting: forwardRef(() => SpreadsheetComponent)
|
|
7499
|
+
},
|
|
7481
7500
|
SpreadsheetToolsService,
|
|
7482
7501
|
PopupService,
|
|
7483
7502
|
ErrorHandlingService
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "24.0.0-develop.
|
|
10
|
+
"publishDate": 1779215059,
|
|
11
|
+
"version": "24.0.0-develop.40",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-spreadsheet",
|
|
3
|
-
"version": "24.0.0-develop.
|
|
3
|
+
"version": "24.0.0-develop.40",
|
|
4
4
|
"description": "A Spreadsheet Component for Angular",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -28,13 +28,19 @@
|
|
|
28
28
|
"file": "codemods/v18/spreadsheet-rendering-changes.js",
|
|
29
29
|
"instructionsOnly": true
|
|
30
30
|
}
|
|
31
|
+
],
|
|
32
|
+
"24": [
|
|
33
|
+
{
|
|
34
|
+
"description": "The Spreadsheet's excel input property is renamed to excelExportSettings.",
|
|
35
|
+
"file": "codemods/v24/spreadsheet-excel.js"
|
|
36
|
+
}
|
|
31
37
|
]
|
|
32
38
|
}
|
|
33
39
|
},
|
|
34
40
|
"package": {
|
|
35
41
|
"productName": "Kendo UI for Angular",
|
|
36
42
|
"productCode": "KENDOUIANGULAR",
|
|
37
|
-
"publishDate":
|
|
43
|
+
"publishDate": 1779215059,
|
|
38
44
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
|
|
39
45
|
}
|
|
40
46
|
},
|
|
@@ -44,33 +50,33 @@
|
|
|
44
50
|
"@angular/core": "19 - 21",
|
|
45
51
|
"@angular/platform-browser": "19 - 21",
|
|
46
52
|
"@progress/kendo-licensing": "^1.11.0",
|
|
47
|
-
"@progress/kendo-angular-buttons": "24.0.0-develop.
|
|
48
|
-
"@progress/kendo-angular-common": "24.0.0-develop.
|
|
49
|
-
"@progress/kendo-angular-dialog": "24.0.0-develop.
|
|
50
|
-
"@progress/kendo-angular-dropdowns": "24.0.0-develop.
|
|
51
|
-
"@progress/kendo-angular-icons": "24.0.0-develop.
|
|
52
|
-
"@progress/kendo-angular-inputs": "24.0.0-develop.
|
|
53
|
-
"@progress/kendo-angular-treeview": "24.0.0-develop.
|
|
54
|
-
"@progress/kendo-angular-dateinputs": "24.0.0-develop.
|
|
55
|
-
"@progress/kendo-angular-intl": "24.0.0-develop.
|
|
56
|
-
"@progress/kendo-angular-l10n": "24.0.0-develop.
|
|
57
|
-
"@progress/kendo-angular-label": "24.0.0-develop.
|
|
58
|
-
"@progress/kendo-angular-layout": "24.0.0-develop.
|
|
59
|
-
"@progress/kendo-angular-menu": "24.0.0-develop.
|
|
60
|
-
"@progress/kendo-angular-popup": "24.0.0-develop.
|
|
61
|
-
"@progress/kendo-angular-toolbar": "24.0.0-develop.
|
|
53
|
+
"@progress/kendo-angular-buttons": "24.0.0-develop.40",
|
|
54
|
+
"@progress/kendo-angular-common": "24.0.0-develop.40",
|
|
55
|
+
"@progress/kendo-angular-dialog": "24.0.0-develop.40",
|
|
56
|
+
"@progress/kendo-angular-dropdowns": "24.0.0-develop.40",
|
|
57
|
+
"@progress/kendo-angular-icons": "24.0.0-develop.40",
|
|
58
|
+
"@progress/kendo-angular-inputs": "24.0.0-develop.40",
|
|
59
|
+
"@progress/kendo-angular-treeview": "24.0.0-develop.40",
|
|
60
|
+
"@progress/kendo-angular-dateinputs": "24.0.0-develop.40",
|
|
61
|
+
"@progress/kendo-angular-intl": "24.0.0-develop.40",
|
|
62
|
+
"@progress/kendo-angular-l10n": "24.0.0-develop.40",
|
|
63
|
+
"@progress/kendo-angular-label": "24.0.0-develop.40",
|
|
64
|
+
"@progress/kendo-angular-layout": "24.0.0-develop.40",
|
|
65
|
+
"@progress/kendo-angular-menu": "24.0.0-develop.40",
|
|
66
|
+
"@progress/kendo-angular-popup": "24.0.0-develop.40",
|
|
67
|
+
"@progress/kendo-angular-toolbar": "24.0.0-develop.40",
|
|
62
68
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
63
69
|
},
|
|
64
70
|
"dependencies": {
|
|
65
71
|
"tslib": "^2.3.1",
|
|
66
|
-
"@progress/kendo-angular-schematics": "24.0.0-develop.
|
|
72
|
+
"@progress/kendo-angular-schematics": "24.0.0-develop.40",
|
|
67
73
|
"@progress/jszip-esm": "^1.0.3",
|
|
68
74
|
"@progress/kendo-common": "^1.0.1",
|
|
69
75
|
"@progress/kendo-date-math": "^1.5.10",
|
|
70
|
-
"@progress/kendo-drawing": "^1.
|
|
76
|
+
"@progress/kendo-drawing": "^1.25.0",
|
|
71
77
|
"@progress/kendo-file-saver": "^1.1.1",
|
|
72
78
|
"@progress/kendo-ooxml": "^1.9.0",
|
|
73
|
-
"@progress/kendo-spreadsheet-common": "1.2.
|
|
79
|
+
"@progress/kendo-spreadsheet-common": "^1.2.11"
|
|
74
80
|
},
|
|
75
81
|
"schematics": "./schematics/collection.json",
|
|
76
82
|
"module": "fesm2022/progress-kendo-angular-spreadsheet.mjs",
|
|
@@ -11,8 +11,8 @@ function default_1(options) {
|
|
|
11
11
|
// Peer dependency of icons
|
|
12
12
|
'@progress/kendo-svg-icons': '^4.0.0',
|
|
13
13
|
// peer deps of the dropdowns
|
|
14
|
-
'@progress/kendo-angular-navigation': '24.0.0-develop.
|
|
15
|
-
'@progress/kendo-angular-treeview': '24.0.0-develop.
|
|
14
|
+
'@progress/kendo-angular-navigation': '24.0.0-develop.40',
|
|
15
|
+
'@progress/kendo-angular-treeview': '24.0.0-develop.40'
|
|
16
16
|
} });
|
|
17
17
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
|
18
18
|
}
|
|
@@ -38,7 +38,7 @@ export declare class SheetsBarComponent implements AfterViewInit, OnDestroy {
|
|
|
38
38
|
get activeSheet(): string;
|
|
39
39
|
plusIcon: SVGIcon;
|
|
40
40
|
menuIcon: SVGIcon;
|
|
41
|
-
|
|
41
|
+
chevronDownIcon: SVGIcon;
|
|
42
42
|
selected: boolean;
|
|
43
43
|
sheetsMenuList: any[];
|
|
44
44
|
private openedDdb;
|
|
@@ -205,6 +205,11 @@ export declare class SpreadsheetComponent implements AfterViewInit, OnChanges, O
|
|
|
205
205
|
rangeFilterValuesList: any[];
|
|
206
206
|
private sortAscSmallIcon;
|
|
207
207
|
private sortDescSmallIcon;
|
|
208
|
+
/**
|
|
209
|
+
* Returns the underlying `SpreadsheetWidget` instance.
|
|
210
|
+
* Use it to programmatically access the [`Range`](slug:api_spreadsheet_range) and [`Sheet`](slug:api_spreadsheet_sheet) APIs.
|
|
211
|
+
* For usage examples, see [Cell and Sheet Operations](slug:cell_and_sheet_operations_spreadsheet) article.
|
|
212
|
+
*/
|
|
208
213
|
get spreadsheetWidget(): SpreadsheetWidget;
|
|
209
214
|
/**
|
|
210
215
|
* @hidden
|