@progress/kendo-react-spreadsheet 5.14.0-dev.202305231015 → 5.14.0-dev.202305291502
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/dist/cdn/js/kendo-react-spreadsheet.js +1 -1
- package/dist/es/NameBox.js +6 -3
- package/dist/es/SheetsBar.js +2 -0
- package/dist/es/Spreadsheet.js +9 -26
- package/dist/es/SpreadsheetProps.d.ts +1 -8
- package/dist/es/messages.d.ts +2 -0
- package/dist/es/messages.js +6 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/tools/defaultTools.js +17 -5
- package/dist/es/tools/fontSize.js +1 -1
- package/dist/es/tools/utils.js +1 -1
- package/dist/npm/NameBox.js +6 -3
- package/dist/npm/SheetsBar.js +2 -0
- package/dist/npm/Spreadsheet.js +9 -26
- package/dist/npm/SpreadsheetProps.d.ts +1 -8
- package/dist/npm/messages.d.ts +2 -0
- package/dist/npm/messages.js +6 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/tools/defaultTools.js +17 -5
- package/dist/npm/tools/fontSize.js +1 -1
- package/dist/npm/tools/utils.js +1 -1
- package/dist/systemjs/kendo-react-spreadsheet.js +1 -1
- package/package.json +10 -10
package/dist/es/NameBox.js
CHANGED
|
@@ -60,10 +60,13 @@ export const NameBox = React.forwardRef((props, ref) => {
|
|
|
60
60
|
}
|
|
61
61
|
const editor = props.nameEditor();
|
|
62
62
|
if (editor && event.value) {
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
const name = event.value.name;
|
|
64
|
+
if (name !== value) {
|
|
65
|
+
editor.trigger('select', { name });
|
|
66
|
+
setValue(name);
|
|
67
|
+
}
|
|
65
68
|
}
|
|
66
|
-
}, []);
|
|
69
|
+
}, [value]);
|
|
67
70
|
const onKeyDown = React.useCallback((event) => {
|
|
68
71
|
const editor = props.nameEditor();
|
|
69
72
|
if (editor) {
|
package/dist/es/SheetsBar.js
CHANGED
|
@@ -224,7 +224,9 @@ export const SheetsBar = (props) => {
|
|
|
224
224
|
const onSheetReorderEnd = React.useCallback((event) => {
|
|
225
225
|
if (spreadsheetRef.current) {
|
|
226
226
|
const { prevIndex, nextIndex } = event;
|
|
227
|
+
activeSheet.current = spreadsheetRef.current.sheets()[prevIndex].name();
|
|
227
228
|
spreadsheetRef.current.view.sheetsbar.onSheetReorderEnd({ oldIndex: prevIndex, newIndex: nextIndex });
|
|
229
|
+
selectActiveSheet();
|
|
228
230
|
}
|
|
229
231
|
}, []);
|
|
230
232
|
return (React.createElement("div", { className: "k-spreadsheet-sheets-bar" },
|
package/dist/es/Spreadsheet.js
CHANGED
|
@@ -3,8 +3,6 @@ import * as PropTypes from 'prop-types';
|
|
|
3
3
|
import { Spreadsheet as SpreadsheetInstance } from '@progress/kendo-spreadsheet-common';
|
|
4
4
|
import { ButtonGroup, Toolbar, ToolbarSeparator } from '@progress/kendo-react-buttons';
|
|
5
5
|
import { TabStrip, TabStripTab } from '@progress/kendo-react-layout';
|
|
6
|
-
import { Undo } from './tools/undo';
|
|
7
|
-
import { Redo } from './tools/redo';
|
|
8
6
|
import { FormulaInput } from './FormulaInput';
|
|
9
7
|
import { NameBox } from './NameBox';
|
|
10
8
|
import { SheetsBar } from './SheetsBar';
|
|
@@ -41,7 +39,15 @@ const toolbarButtons = [
|
|
|
41
39
|
];
|
|
42
40
|
export const Spreadsheet = React.forwardRef((props, ref) => {
|
|
43
41
|
validatePackage(packageMetadata);
|
|
44
|
-
const
|
|
42
|
+
const { toolbar = defaultTabs } = props;
|
|
43
|
+
const toolbarTools = [];
|
|
44
|
+
if (typeof toolbar === 'boolean') {
|
|
45
|
+
toolbarTools.push(...(toolbar ? defaultTabs : []));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
toolbarTools.push(...toolbar);
|
|
49
|
+
}
|
|
50
|
+
const [tab, setTab] = React.useState(toolbarTools.findIndex(t => t.selected) || 0);
|
|
45
51
|
const [_init, setInit] = React.useState(false);
|
|
46
52
|
const elementRef = React.useRef(null);
|
|
47
53
|
const formulaBarInputRef = React.useRef(null);
|
|
@@ -53,11 +59,6 @@ export const Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
53
59
|
prevState.current = toolsState;
|
|
54
60
|
const propsRef = React.useRef({});
|
|
55
61
|
propsRef.current = props;
|
|
56
|
-
const onRender = React.useCallback((event) => {
|
|
57
|
-
if (propsRef.current.onRender) {
|
|
58
|
-
propsRef.current.onRender.call(undefined, event);
|
|
59
|
-
}
|
|
60
|
-
}, []);
|
|
61
62
|
const onSelect = React.useCallback((event) => {
|
|
62
63
|
if (propsRef.current.onSelect) {
|
|
63
64
|
propsRef.current.onSelect.call(undefined, event);
|
|
@@ -125,7 +126,6 @@ export const Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
125
126
|
nameBoxRef });
|
|
126
127
|
const spreadsheet = new SpreadsheetInstance(elementRef.current, options);
|
|
127
128
|
spreadsheetRef.current = spreadsheet;
|
|
128
|
-
spreadsheet.bind('render', onRender);
|
|
129
129
|
spreadsheet.bind('select', onSelect);
|
|
130
130
|
spreadsheet.bind('change', onChange);
|
|
131
131
|
spreadsheet.bind('changeFormat', onChangeFormat);
|
|
@@ -137,11 +137,6 @@ export const Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
137
137
|
onUpdateTools({ range: sheet.range(sheet.activeCell()) });
|
|
138
138
|
}
|
|
139
139
|
setInit(true);
|
|
140
|
-
const quickAccessToolbar = elementRef.current && elementRef.current.querySelector('.k-spreadsheet-quick-access-toolbar');
|
|
141
|
-
const tabstripItems = elementRef.current && elementRef.current.querySelector('.k-spreadsheet-tabstrip .k-tabstrip-items');
|
|
142
|
-
if (quickAccessToolbar && tabstripItems) {
|
|
143
|
-
tabstripItems.style.paddingLeft = quickAccessToolbar.offsetWidth + 'px';
|
|
144
|
-
}
|
|
145
140
|
return () => {
|
|
146
141
|
spreadsheet.destroy();
|
|
147
142
|
};
|
|
@@ -150,14 +145,6 @@ export const Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
150
145
|
const tool = (React.createElement(Tool, { spreadsheetRef: spreadsheetRef, value: toolsValueMap[Tool.displayName] ? toolsValueMap[Tool.displayName](toolsState) : undefined, key: index }));
|
|
151
146
|
return tool.type === ToolbarSeparator ? React.createElement(Tool, { key: index }) : tool;
|
|
152
147
|
}, [toolsState]);
|
|
153
|
-
const { toolbar = defaultTabs } = props;
|
|
154
|
-
const toolbarTools = [];
|
|
155
|
-
if (typeof toolbar === 'boolean') {
|
|
156
|
-
toolbarTools.push(...(toolbar ? defaultTabs : []));
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
toolbarTools.push(...toolbar);
|
|
160
|
-
}
|
|
161
148
|
let tabstrip = null;
|
|
162
149
|
if (toolbarTools.length) {
|
|
163
150
|
tabstrip = (React.createElement(TabStrip, { selected: tab, animation: false, className: "k-floatwrap k-spreadsheet-tabstrip", style: { minHeight: 'auto' }, onSelect: e => setTab(e.selected) }, toolbarTools.map((tabData) => {
|
|
@@ -174,9 +161,6 @@ export const Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
174
161
|
})));
|
|
175
162
|
}
|
|
176
163
|
return (React.createElement("div", { ref: elementRef, style: props.style, className: classNames('k-widget k-spreadsheet', props.className), role: "application" },
|
|
177
|
-
tabstrip && React.createElement("div", { className: "k-spreadsheet-quick-access-toolbar" },
|
|
178
|
-
React.createElement(Undo, { spreadsheetRef: spreadsheetRef }),
|
|
179
|
-
React.createElement(Redo, { spreadsheetRef: spreadsheetRef })),
|
|
180
164
|
tabstrip,
|
|
181
165
|
React.createElement("div", { className: "k-spreadsheet-action-bar" },
|
|
182
166
|
React.createElement(NameBox, { ref: nameBoxRef, nameEditor: nameEditor }),
|
|
@@ -197,7 +181,6 @@ Spreadsheet.propTypes = {
|
|
|
197
181
|
defaultProps: PropTypes.any,
|
|
198
182
|
toolbar: PropTypes.oneOfType([PropTypes.bool, PropTypes.arrayOf(PropTypes.any)]),
|
|
199
183
|
style: PropTypes.object,
|
|
200
|
-
onRender: PropTypes.func,
|
|
201
184
|
onSelect: PropTypes.func,
|
|
202
185
|
onChange: PropTypes.func,
|
|
203
186
|
onChangeFormat: PropTypes.func,
|
|
@@ -11,8 +11,6 @@ interface SpreadsheetEvent {
|
|
|
11
11
|
*/
|
|
12
12
|
sender: SpreadsheetInstance;
|
|
13
13
|
}
|
|
14
|
-
export interface SpreadsheetRenderEvent extends SpreadsheetEvent {
|
|
15
|
-
}
|
|
16
14
|
export interface SpreadsheetSelectEvent extends SpreadsheetEvent {
|
|
17
15
|
/**
|
|
18
16
|
* The Range that is selected.
|
|
@@ -49,6 +47,7 @@ export interface SpreadsheetExcelExportEvent extends SpreadsheetEvent {
|
|
|
49
47
|
export interface SpreadsheetTab {
|
|
50
48
|
text?: string;
|
|
51
49
|
textKey?: string;
|
|
50
|
+
selected?: boolean;
|
|
52
51
|
tools: (React.ComponentType<any> | React.ComponentType<any>[])[];
|
|
53
52
|
}
|
|
54
53
|
export interface SpreadsheetProps {
|
|
@@ -67,12 +66,6 @@ export interface SpreadsheetProps {
|
|
|
67
66
|
* Specifies the styles that will be applied to the wrapping element.
|
|
68
67
|
*/
|
|
69
68
|
style?: React.CSSProperties;
|
|
70
|
-
/**
|
|
71
|
-
* Triggered after the widget has completed rendering.
|
|
72
|
-
* The event will also fire when a cell is selected or when the Spreadsheet's tools (bold, italic) are used,
|
|
73
|
-
* as the target element is re-generated with new styles (e.g background-color, box-shadow, font-weight, etc.).
|
|
74
|
-
*/
|
|
75
|
-
onRender?: (event: SpreadsheetRenderEvent) => void;
|
|
76
69
|
/**
|
|
77
70
|
* Triggered when the Spreadsheet selection is changed.
|
|
78
71
|
*/
|
package/dist/es/messages.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export declare const messages: {
|
|
|
33
33
|
"spreadsheet.nameBox": string;
|
|
34
34
|
"spreadsheet.defaultSheetName": string;
|
|
35
35
|
"spreadsheet.home": string;
|
|
36
|
+
"spreadsheet.file": string;
|
|
36
37
|
"spreadsheet.insert": string;
|
|
37
38
|
"spreadsheet.addNewSheet": string;
|
|
38
39
|
};
|
|
@@ -70,6 +71,7 @@ export declare const keys: {
|
|
|
70
71
|
gridLines: string;
|
|
71
72
|
nameBox: string;
|
|
72
73
|
defaultSheetName: string;
|
|
74
|
+
file: string;
|
|
73
75
|
home: string;
|
|
74
76
|
insert: string;
|
|
75
77
|
addNewSheet: string;
|
package/dist/es/messages.js
CHANGED
|
@@ -122,6 +122,10 @@ const defaultSheetName = 'spreadsheet.defaultSheetName';
|
|
|
122
122
|
* @hidden
|
|
123
123
|
*/
|
|
124
124
|
const home = 'spreadsheet.home';
|
|
125
|
+
/**
|
|
126
|
+
* @hidden
|
|
127
|
+
*/
|
|
128
|
+
const file = 'spreadsheet.file';
|
|
125
129
|
/**
|
|
126
130
|
* @hidden
|
|
127
131
|
*/
|
|
@@ -165,6 +169,7 @@ export const messages = {
|
|
|
165
169
|
[nameBox]: 'Name Box',
|
|
166
170
|
[defaultSheetName]: 'Sheet',
|
|
167
171
|
[home]: 'Home',
|
|
172
|
+
[file]: 'File',
|
|
168
173
|
[insert]: 'Insert',
|
|
169
174
|
[addNewSheet]: 'Add new sheet'
|
|
170
175
|
};
|
|
@@ -202,6 +207,7 @@ export const keys = {
|
|
|
202
207
|
gridLines,
|
|
203
208
|
nameBox,
|
|
204
209
|
defaultSheetName,
|
|
210
|
+
file,
|
|
205
211
|
home,
|
|
206
212
|
insert,
|
|
207
213
|
addNewSheet
|
|
@@ -5,7 +5,7 @@ export const packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-react-spreadsheet',
|
|
6
6
|
productName: 'KendoReact',
|
|
7
7
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1685371949,
|
|
9
9
|
version: '',
|
|
10
10
|
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
|
|
11
11
|
};
|
|
@@ -14,22 +14,34 @@ import { GridLines } from './gridLines';
|
|
|
14
14
|
import { Format } from './format';
|
|
15
15
|
import { AddColumnLeft, AddColumnRight, AddRowAbove, AddRowBelow, DeleteColumn, DeleteRow } from './tableTools';
|
|
16
16
|
import { keys } from '../messages';
|
|
17
|
+
import { Undo } from './undo';
|
|
18
|
+
import { Redo } from './redo';
|
|
17
19
|
export const defaultTabs = [
|
|
18
20
|
{
|
|
19
|
-
textKey: keys.
|
|
21
|
+
textKey: keys.file,
|
|
20
22
|
tools: [
|
|
21
23
|
Open,
|
|
22
|
-
ExcelExport
|
|
24
|
+
ExcelExport
|
|
25
|
+
]
|
|
26
|
+
}, {
|
|
27
|
+
textKey: keys.home,
|
|
28
|
+
selected: true,
|
|
29
|
+
tools: [
|
|
30
|
+
[Undo, Redo],
|
|
23
31
|
ToolbarSeparator,
|
|
24
|
-
[Bold, Italic, Underline],
|
|
25
32
|
FontFamily,
|
|
26
33
|
FontSize,
|
|
34
|
+
[Bold, Italic, Underline],
|
|
27
35
|
TextColor,
|
|
36
|
+
ToolbarSeparator,
|
|
28
37
|
BackgroundColor,
|
|
38
|
+
ToolbarSeparator,
|
|
29
39
|
Alignment,
|
|
30
40
|
TextWrap,
|
|
31
|
-
|
|
32
|
-
Format
|
|
41
|
+
ToolbarSeparator,
|
|
42
|
+
Format,
|
|
43
|
+
ToolbarSeparator,
|
|
44
|
+
GridLines
|
|
33
45
|
]
|
|
34
46
|
}, {
|
|
35
47
|
textKey: keys.insert,
|
|
@@ -15,6 +15,6 @@ export const FontSize = props => {
|
|
|
15
15
|
}
|
|
16
16
|
}, 0);
|
|
17
17
|
}, []);
|
|
18
|
-
return (React.createElement(ComboBox, { onChange: onChange, value: value, data: FONT_SIZES, defaultValue: DEFAULT_FONT_SIZE, allowCustom: true, title: useLocalization().toLanguageString(keys.fontSize, messages[keys.fontSize]), tabIndex: -1 }));
|
|
18
|
+
return (React.createElement(ComboBox, { onChange: onChange, value: value, data: FONT_SIZES, defaultValue: DEFAULT_FONT_SIZE, allowCustom: true, title: useLocalization().toLanguageString(keys.fontSize, messages[keys.fontSize]), tabIndex: -1, clearButton: false }));
|
|
19
19
|
};
|
|
20
20
|
FontSize.displayName = 'FontSize';
|
package/dist/es/tools/utils.js
CHANGED
|
@@ -96,7 +96,7 @@ export const UndoRedo = (settings) => {
|
|
|
96
96
|
workbook.undoRedoStack[settings.action]();
|
|
97
97
|
}
|
|
98
98
|
}, []);
|
|
99
|
-
return (React.createElement(Button, { type: "button",
|
|
99
|
+
return (React.createElement(Button, { type: "button", icon: settings.icon, svgIcon: settings.svgIcon, title: useLocalization().toLanguageString(settings.titleKey, messages[settings.titleKey]), onClick: onClick }));
|
|
100
100
|
};
|
|
101
101
|
return tool;
|
|
102
102
|
};
|
package/dist/npm/NameBox.js
CHANGED
|
@@ -63,10 +63,13 @@ exports.NameBox = React.forwardRef((props, ref) => {
|
|
|
63
63
|
}
|
|
64
64
|
const editor = props.nameEditor();
|
|
65
65
|
if (editor && event.value) {
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
const name = event.value.name;
|
|
67
|
+
if (name !== value) {
|
|
68
|
+
editor.trigger('select', { name });
|
|
69
|
+
setValue(name);
|
|
70
|
+
}
|
|
68
71
|
}
|
|
69
|
-
}, []);
|
|
72
|
+
}, [value]);
|
|
70
73
|
const onKeyDown = React.useCallback((event) => {
|
|
71
74
|
const editor = props.nameEditor();
|
|
72
75
|
if (editor) {
|
package/dist/npm/SheetsBar.js
CHANGED
|
@@ -227,7 +227,9 @@ const SheetsBar = (props) => {
|
|
|
227
227
|
const onSheetReorderEnd = React.useCallback((event) => {
|
|
228
228
|
if (spreadsheetRef.current) {
|
|
229
229
|
const { prevIndex, nextIndex } = event;
|
|
230
|
+
activeSheet.current = spreadsheetRef.current.sheets()[prevIndex].name();
|
|
230
231
|
spreadsheetRef.current.view.sheetsbar.onSheetReorderEnd({ oldIndex: prevIndex, newIndex: nextIndex });
|
|
232
|
+
selectActiveSheet();
|
|
231
233
|
}
|
|
232
234
|
}, []);
|
|
233
235
|
return (React.createElement("div", { className: "k-spreadsheet-sheets-bar" },
|
package/dist/npm/Spreadsheet.js
CHANGED
|
@@ -6,8 +6,6 @@ const PropTypes = require("prop-types");
|
|
|
6
6
|
const kendo_spreadsheet_common_1 = require("@progress/kendo-spreadsheet-common");
|
|
7
7
|
const kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
|
|
8
8
|
const kendo_react_layout_1 = require("@progress/kendo-react-layout");
|
|
9
|
-
const undo_1 = require("./tools/undo");
|
|
10
|
-
const redo_1 = require("./tools/redo");
|
|
11
9
|
const FormulaInput_1 = require("./FormulaInput");
|
|
12
10
|
const NameBox_1 = require("./NameBox");
|
|
13
11
|
const SheetsBar_1 = require("./SheetsBar");
|
|
@@ -44,7 +42,15 @@ const toolbarButtons = [
|
|
|
44
42
|
];
|
|
45
43
|
exports.Spreadsheet = React.forwardRef((props, ref) => {
|
|
46
44
|
(0, kendo_react_common_1.validatePackage)(package_metadata_1.packageMetadata);
|
|
47
|
-
const
|
|
45
|
+
const { toolbar = defaultTools_1.defaultTabs } = props;
|
|
46
|
+
const toolbarTools = [];
|
|
47
|
+
if (typeof toolbar === 'boolean') {
|
|
48
|
+
toolbarTools.push(...(toolbar ? defaultTools_1.defaultTabs : []));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
toolbarTools.push(...toolbar);
|
|
52
|
+
}
|
|
53
|
+
const [tab, setTab] = React.useState(toolbarTools.findIndex(t => t.selected) || 0);
|
|
48
54
|
const [_init, setInit] = React.useState(false);
|
|
49
55
|
const elementRef = React.useRef(null);
|
|
50
56
|
const formulaBarInputRef = React.useRef(null);
|
|
@@ -56,11 +62,6 @@ exports.Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
56
62
|
prevState.current = toolsState;
|
|
57
63
|
const propsRef = React.useRef({});
|
|
58
64
|
propsRef.current = props;
|
|
59
|
-
const onRender = React.useCallback((event) => {
|
|
60
|
-
if (propsRef.current.onRender) {
|
|
61
|
-
propsRef.current.onRender.call(undefined, event);
|
|
62
|
-
}
|
|
63
|
-
}, []);
|
|
64
65
|
const onSelect = React.useCallback((event) => {
|
|
65
66
|
if (propsRef.current.onSelect) {
|
|
66
67
|
propsRef.current.onSelect.call(undefined, event);
|
|
@@ -128,7 +129,6 @@ exports.Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
128
129
|
nameBoxRef });
|
|
129
130
|
const spreadsheet = new kendo_spreadsheet_common_1.Spreadsheet(elementRef.current, options);
|
|
130
131
|
spreadsheetRef.current = spreadsheet;
|
|
131
|
-
spreadsheet.bind('render', onRender);
|
|
132
132
|
spreadsheet.bind('select', onSelect);
|
|
133
133
|
spreadsheet.bind('change', onChange);
|
|
134
134
|
spreadsheet.bind('changeFormat', onChangeFormat);
|
|
@@ -140,11 +140,6 @@ exports.Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
140
140
|
onUpdateTools({ range: sheet.range(sheet.activeCell()) });
|
|
141
141
|
}
|
|
142
142
|
setInit(true);
|
|
143
|
-
const quickAccessToolbar = elementRef.current && elementRef.current.querySelector('.k-spreadsheet-quick-access-toolbar');
|
|
144
|
-
const tabstripItems = elementRef.current && elementRef.current.querySelector('.k-spreadsheet-tabstrip .k-tabstrip-items');
|
|
145
|
-
if (quickAccessToolbar && tabstripItems) {
|
|
146
|
-
tabstripItems.style.paddingLeft = quickAccessToolbar.offsetWidth + 'px';
|
|
147
|
-
}
|
|
148
143
|
return () => {
|
|
149
144
|
spreadsheet.destroy();
|
|
150
145
|
};
|
|
@@ -153,14 +148,6 @@ exports.Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
153
148
|
const tool = (React.createElement(Tool, { spreadsheetRef: spreadsheetRef, value: toolsValueMap[Tool.displayName] ? toolsValueMap[Tool.displayName](toolsState) : undefined, key: index }));
|
|
154
149
|
return tool.type === kendo_react_buttons_1.ToolbarSeparator ? React.createElement(Tool, { key: index }) : tool;
|
|
155
150
|
}, [toolsState]);
|
|
156
|
-
const { toolbar = defaultTools_1.defaultTabs } = props;
|
|
157
|
-
const toolbarTools = [];
|
|
158
|
-
if (typeof toolbar === 'boolean') {
|
|
159
|
-
toolbarTools.push(...(toolbar ? defaultTools_1.defaultTabs : []));
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
toolbarTools.push(...toolbar);
|
|
163
|
-
}
|
|
164
151
|
let tabstrip = null;
|
|
165
152
|
if (toolbarTools.length) {
|
|
166
153
|
tabstrip = (React.createElement(kendo_react_layout_1.TabStrip, { selected: tab, animation: false, className: "k-floatwrap k-spreadsheet-tabstrip", style: { minHeight: 'auto' }, onSelect: e => setTab(e.selected) }, toolbarTools.map((tabData) => {
|
|
@@ -177,9 +164,6 @@ exports.Spreadsheet = React.forwardRef((props, ref) => {
|
|
|
177
164
|
})));
|
|
178
165
|
}
|
|
179
166
|
return (React.createElement("div", { ref: elementRef, style: props.style, className: (0, kendo_react_common_1.classNames)('k-widget k-spreadsheet', props.className), role: "application" },
|
|
180
|
-
tabstrip && React.createElement("div", { className: "k-spreadsheet-quick-access-toolbar" },
|
|
181
|
-
React.createElement(undo_1.Undo, { spreadsheetRef: spreadsheetRef }),
|
|
182
|
-
React.createElement(redo_1.Redo, { spreadsheetRef: spreadsheetRef })),
|
|
183
167
|
tabstrip,
|
|
184
168
|
React.createElement("div", { className: "k-spreadsheet-action-bar" },
|
|
185
169
|
React.createElement(NameBox_1.NameBox, { ref: nameBoxRef, nameEditor: nameEditor }),
|
|
@@ -200,7 +184,6 @@ exports.Spreadsheet.propTypes = {
|
|
|
200
184
|
defaultProps: PropTypes.any,
|
|
201
185
|
toolbar: PropTypes.oneOfType([PropTypes.bool, PropTypes.arrayOf(PropTypes.any)]),
|
|
202
186
|
style: PropTypes.object,
|
|
203
|
-
onRender: PropTypes.func,
|
|
204
187
|
onSelect: PropTypes.func,
|
|
205
188
|
onChange: PropTypes.func,
|
|
206
189
|
onChangeFormat: PropTypes.func,
|
|
@@ -11,8 +11,6 @@ interface SpreadsheetEvent {
|
|
|
11
11
|
*/
|
|
12
12
|
sender: SpreadsheetInstance;
|
|
13
13
|
}
|
|
14
|
-
export interface SpreadsheetRenderEvent extends SpreadsheetEvent {
|
|
15
|
-
}
|
|
16
14
|
export interface SpreadsheetSelectEvent extends SpreadsheetEvent {
|
|
17
15
|
/**
|
|
18
16
|
* The Range that is selected.
|
|
@@ -49,6 +47,7 @@ export interface SpreadsheetExcelExportEvent extends SpreadsheetEvent {
|
|
|
49
47
|
export interface SpreadsheetTab {
|
|
50
48
|
text?: string;
|
|
51
49
|
textKey?: string;
|
|
50
|
+
selected?: boolean;
|
|
52
51
|
tools: (React.ComponentType<any> | React.ComponentType<any>[])[];
|
|
53
52
|
}
|
|
54
53
|
export interface SpreadsheetProps {
|
|
@@ -67,12 +66,6 @@ export interface SpreadsheetProps {
|
|
|
67
66
|
* Specifies the styles that will be applied to the wrapping element.
|
|
68
67
|
*/
|
|
69
68
|
style?: React.CSSProperties;
|
|
70
|
-
/**
|
|
71
|
-
* Triggered after the widget has completed rendering.
|
|
72
|
-
* The event will also fire when a cell is selected or when the Spreadsheet's tools (bold, italic) are used,
|
|
73
|
-
* as the target element is re-generated with new styles (e.g background-color, box-shadow, font-weight, etc.).
|
|
74
|
-
*/
|
|
75
|
-
onRender?: (event: SpreadsheetRenderEvent) => void;
|
|
76
69
|
/**
|
|
77
70
|
* Triggered when the Spreadsheet selection is changed.
|
|
78
71
|
*/
|
package/dist/npm/messages.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export declare const messages: {
|
|
|
33
33
|
"spreadsheet.nameBox": string;
|
|
34
34
|
"spreadsheet.defaultSheetName": string;
|
|
35
35
|
"spreadsheet.home": string;
|
|
36
|
+
"spreadsheet.file": string;
|
|
36
37
|
"spreadsheet.insert": string;
|
|
37
38
|
"spreadsheet.addNewSheet": string;
|
|
38
39
|
};
|
|
@@ -70,6 +71,7 @@ export declare const keys: {
|
|
|
70
71
|
gridLines: string;
|
|
71
72
|
nameBox: string;
|
|
72
73
|
defaultSheetName: string;
|
|
74
|
+
file: string;
|
|
73
75
|
home: string;
|
|
74
76
|
insert: string;
|
|
75
77
|
addNewSheet: string;
|
package/dist/npm/messages.js
CHANGED
|
@@ -125,6 +125,10 @@ const defaultSheetName = 'spreadsheet.defaultSheetName';
|
|
|
125
125
|
* @hidden
|
|
126
126
|
*/
|
|
127
127
|
const home = 'spreadsheet.home';
|
|
128
|
+
/**
|
|
129
|
+
* @hidden
|
|
130
|
+
*/
|
|
131
|
+
const file = 'spreadsheet.file';
|
|
128
132
|
/**
|
|
129
133
|
* @hidden
|
|
130
134
|
*/
|
|
@@ -168,6 +172,7 @@ exports.messages = {
|
|
|
168
172
|
[nameBox]: 'Name Box',
|
|
169
173
|
[defaultSheetName]: 'Sheet',
|
|
170
174
|
[home]: 'Home',
|
|
175
|
+
[file]: 'File',
|
|
171
176
|
[insert]: 'Insert',
|
|
172
177
|
[addNewSheet]: 'Add new sheet'
|
|
173
178
|
};
|
|
@@ -205,6 +210,7 @@ exports.keys = {
|
|
|
205
210
|
gridLines,
|
|
206
211
|
nameBox,
|
|
207
212
|
defaultSheetName,
|
|
213
|
+
file,
|
|
208
214
|
home,
|
|
209
215
|
insert,
|
|
210
216
|
addNewSheet
|
|
@@ -8,7 +8,7 @@ exports.packageMetadata = {
|
|
|
8
8
|
name: '@progress/kendo-react-spreadsheet',
|
|
9
9
|
productName: 'KendoReact',
|
|
10
10
|
productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
|
|
11
|
-
publishDate:
|
|
11
|
+
publishDate: 1685371949,
|
|
12
12
|
version: '',
|
|
13
13
|
licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
|
|
14
14
|
};
|
|
@@ -17,22 +17,34 @@ const gridLines_1 = require("./gridLines");
|
|
|
17
17
|
const format_1 = require("./format");
|
|
18
18
|
const tableTools_1 = require("./tableTools");
|
|
19
19
|
const messages_1 = require("../messages");
|
|
20
|
+
const undo_1 = require("./undo");
|
|
21
|
+
const redo_1 = require("./redo");
|
|
20
22
|
exports.defaultTabs = [
|
|
21
23
|
{
|
|
22
|
-
textKey: messages_1.keys.
|
|
24
|
+
textKey: messages_1.keys.file,
|
|
23
25
|
tools: [
|
|
24
26
|
open_1.Open,
|
|
25
|
-
export_1.ExcelExport
|
|
27
|
+
export_1.ExcelExport
|
|
28
|
+
]
|
|
29
|
+
}, {
|
|
30
|
+
textKey: messages_1.keys.home,
|
|
31
|
+
selected: true,
|
|
32
|
+
tools: [
|
|
33
|
+
[undo_1.Undo, redo_1.Redo],
|
|
26
34
|
kendo_react_buttons_1.ToolbarSeparator,
|
|
27
|
-
[bold_1.Bold, italic_1.Italic, underline_1.Underline],
|
|
28
35
|
fontFamily_1.FontFamily,
|
|
29
36
|
fontSize_1.FontSize,
|
|
37
|
+
[bold_1.Bold, italic_1.Italic, underline_1.Underline],
|
|
30
38
|
textColor_1.TextColor,
|
|
39
|
+
kendo_react_buttons_1.ToolbarSeparator,
|
|
31
40
|
backgroundColor_1.BackgroundColor,
|
|
41
|
+
kendo_react_buttons_1.ToolbarSeparator,
|
|
32
42
|
align_1.Alignment,
|
|
33
43
|
textWrap_1.TextWrap,
|
|
34
|
-
|
|
35
|
-
format_1.Format
|
|
44
|
+
kendo_react_buttons_1.ToolbarSeparator,
|
|
45
|
+
format_1.Format,
|
|
46
|
+
kendo_react_buttons_1.ToolbarSeparator,
|
|
47
|
+
gridLines_1.GridLines
|
|
36
48
|
]
|
|
37
49
|
}, {
|
|
38
50
|
textKey: messages_1.keys.insert,
|
|
@@ -18,7 +18,7 @@ const FontSize = props => {
|
|
|
18
18
|
}
|
|
19
19
|
}, 0);
|
|
20
20
|
}, []);
|
|
21
|
-
return (React.createElement(kendo_react_dropdowns_1.ComboBox, { onChange: onChange, value: value, data: utils_1.FONT_SIZES, defaultValue: utils_1.DEFAULT_FONT_SIZE, allowCustom: true, title: (0, kendo_react_intl_1.useLocalization)().toLanguageString(messages_1.keys.fontSize, messages_1.messages[messages_1.keys.fontSize]), tabIndex: -1 }));
|
|
21
|
+
return (React.createElement(kendo_react_dropdowns_1.ComboBox, { onChange: onChange, value: value, data: utils_1.FONT_SIZES, defaultValue: utils_1.DEFAULT_FONT_SIZE, allowCustom: true, title: (0, kendo_react_intl_1.useLocalization)().toLanguageString(messages_1.keys.fontSize, messages_1.messages[messages_1.keys.fontSize]), tabIndex: -1, clearButton: false }));
|
|
22
22
|
};
|
|
23
23
|
exports.FontSize = FontSize;
|
|
24
24
|
exports.FontSize.displayName = 'FontSize';
|
package/dist/npm/tools/utils.js
CHANGED
|
@@ -101,7 +101,7 @@ const UndoRedo = (settings) => {
|
|
|
101
101
|
workbook.undoRedoStack[settings.action]();
|
|
102
102
|
}
|
|
103
103
|
}, []);
|
|
104
|
-
return (React.createElement(kendo_react_buttons_1.Button, { type: "button",
|
|
104
|
+
return (React.createElement(kendo_react_buttons_1.Button, { type: "button", icon: settings.icon, svgIcon: settings.svgIcon, title: (0, kendo_react_intl_1.useLocalization)().toLanguageString(settings.titleKey, messages_1.messages[settings.titleKey]), onClick: onClick }));
|
|
105
105
|
};
|
|
106
106
|
return tool;
|
|
107
107
|
};
|