ods-component-lib 1.18.185 → 1.18.186
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/components/antd/fileUpload/OdsFileUpload.d.ts +2 -0
- package/dist/components/antd/form/OdsBasicForm.d.ts +18 -0
- package/dist/components/antd/icon/OdsIcon.d.ts +10 -0
- package/dist/components/antd/select/OdsCustomMultiSelect.d.ts +7 -0
- package/dist/components/antd/select/OdsMultiSelect.d.ts +9 -0
- package/dist/components/custom/OdsLogin.d.ts +8 -0
- package/dist/components/devextreme/DxDataPopupForm.d.ts +3 -0
- package/dist/components/devextreme/DynamicIcon.d.ts +5 -0
- package/dist/components/devextreme/OdsDataGridNew.d.ts +56 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/ContentHandlers.d.ts +14 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/EditorPreparedHandlers.d.ts +7 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OnExportingHandlers.d.ts +19 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/OptionHandlers.d.ts +7 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/handlers/SummaryHandlers.d.ts +21 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/partials/ActionCellRender.d.ts +15 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/partials/EditingPartial.d.ts +9 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/partials/PageTitle.d.ts +8 -0
- package/dist/components/devextreme/OdsInlineEditDataGrid/utils.d.ts +19 -0
- package/dist/components/devextreme/OdsProfDataGrid.d.ts +3 -0
- package/dist/components/devextreme/treeview/DxTreeView.d.ts +3 -0
- package/dist/index.js +26 -18
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +26 -18
- package/dist/index.modern.js.map +1 -1
- package/dist/stories/OdsCustomMultiSelect/OdsCustomMultiSelect.stories.d.ts +9 -0
- package/dist/stories/OdsCustomMultiSelect/Samples/Basic.Sample.d.ts +1 -0
- package/dist/stories/OdsCustomMultiSelect/Samples/ModeMultiple.Sample.d.ts +1 -0
- package/dist/stories/OdsFileUpload/OdsFileUpload.stories.d.ts +4 -0
- package/dist/stories/OdsFileUpload/Samples/DefaultFileListOdsFileUpload.Sample.d.ts +1 -0
- package/dist/stories/OdsLink/OdsLink.stories.d.ts +59 -0
- package/package.json +1 -1
- package/dist/stories/OdsModal/Samples/OdsModal.Sample.d.ts +0 -1
- package/dist/stories/OdsPivotGrid/OdsPivotGrid.stories.d.ts +0 -15
- package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Constants.d.ts +0 -2
- package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.MockData.d.ts +0 -7
- package/dist/stories/OdsPivotGrid/Samples/BasicPivotGrid/BasicPivotGrid.Sample.d.ts +0 -1
- /package/dist/components/antd/datepicker/{OdsDateRangepicker.d.ts → OdsDateRangePicker.d.ts} +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import type { UploadProps } from "antd";
|
|
1
2
|
import React from "react";
|
|
2
3
|
declare type FileUploadProps = {
|
|
3
4
|
image: any | null;
|
|
4
5
|
title: string;
|
|
5
6
|
uploadTitle?: string;
|
|
7
|
+
defaultFileList?: UploadProps["defaultFileList"];
|
|
6
8
|
sendDataToParent: (obj: any) => void;
|
|
7
9
|
allowDocumentUpload?: boolean;
|
|
8
10
|
multipleDoc?: boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormProps, ButtonProps } from 'antd';
|
|
3
|
+
export interface IFormItemRuleProps {
|
|
4
|
+
required?: boolean;
|
|
5
|
+
message?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IFormItemProps {
|
|
8
|
+
label?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
formItemType: string;
|
|
11
|
+
rules?: IFormItemRuleProps[];
|
|
12
|
+
}
|
|
13
|
+
export interface IFormProps extends FormProps {
|
|
14
|
+
formItems: IFormItemProps[];
|
|
15
|
+
formButtons: ButtonProps[];
|
|
16
|
+
}
|
|
17
|
+
declare function OdsBasicForm(props: IFormProps): React.JSX.Element;
|
|
18
|
+
export default OdsBasicForm;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IconBaseProps } from "@ant-design/icons/lib/components/Icon";
|
|
2
|
+
import React from "react";
|
|
3
|
+
export interface IconProps extends IconBaseProps {
|
|
4
|
+
type: string;
|
|
5
|
+
twoToneColor?: string;
|
|
6
|
+
iconComponent?: string;
|
|
7
|
+
iconSVCName?: string;
|
|
8
|
+
}
|
|
9
|
+
declare function OdsIcon(props: IconProps): React.JSX.Element;
|
|
10
|
+
export default OdsIcon;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { SelectProps } from "antd";
|
|
3
|
+
import { IOdsSelectOption } from "./OdsSelect.styled";
|
|
4
|
+
export interface OdsMultiSelectProps extends SelectProps {
|
|
5
|
+
selectAllText?: string | undefined;
|
|
6
|
+
dataSource: IOdsSelectOption[];
|
|
7
|
+
}
|
|
8
|
+
declare const OdsMultiSelect: (props: OdsMultiSelectProps) => React.JSX.Element;
|
|
9
|
+
export default OdsMultiSelect;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IDataGridOptions, IEditingProps, ISelectionProps, IButtonProps } from 'devextreme-react/data-grid';
|
|
3
|
+
import { ButtonType } from "antd/es/button/buttonHelpers";
|
|
4
|
+
interface IButtonGroup extends IButtonProps {
|
|
5
|
+
type?: ButtonType;
|
|
6
|
+
label?: string;
|
|
7
|
+
onclick?: React.MouseEventHandler<HTMLElement>;
|
|
8
|
+
actionPermission?: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface IEditingoptions extends IEditingProps {
|
|
11
|
+
formItems?: any[];
|
|
12
|
+
title?: string;
|
|
13
|
+
}
|
|
14
|
+
interface ISelectOptions extends ISelectionProps {
|
|
15
|
+
selectEnable: boolean;
|
|
16
|
+
}
|
|
17
|
+
interface IOdsDataGridProps extends IDataGridOptions {
|
|
18
|
+
actionButtonGroup?: IButtonGroup[];
|
|
19
|
+
toolbarButtonGroup?: IButtonGroup[];
|
|
20
|
+
exportFileName?: string;
|
|
21
|
+
summaryTotalColumnName?: string;
|
|
22
|
+
storeState?: boolean;
|
|
23
|
+
summaryTotalDataCount?: number;
|
|
24
|
+
summaryTotalDataDisplayLabel?: string;
|
|
25
|
+
summaryTotalPagesize?: number;
|
|
26
|
+
editHintLabel?: string;
|
|
27
|
+
editButtonClick?: any;
|
|
28
|
+
deleteButtonClick?: any;
|
|
29
|
+
pageTitle?: string;
|
|
30
|
+
pageSize?: number;
|
|
31
|
+
pagingEnable?: boolean;
|
|
32
|
+
searchEnable?: boolean;
|
|
33
|
+
filterEnable?: boolean;
|
|
34
|
+
headerFilterEnable?: boolean;
|
|
35
|
+
columnChooserPositionDisabled?: boolean;
|
|
36
|
+
editEnable?: boolean;
|
|
37
|
+
popupTitle?: string;
|
|
38
|
+
scroll?: any;
|
|
39
|
+
exportEnable?: boolean;
|
|
40
|
+
customPopup?: boolean;
|
|
41
|
+
onExportingCustom?: any;
|
|
42
|
+
filterEnabledShow?: boolean;
|
|
43
|
+
scrolUseNative?: boolean;
|
|
44
|
+
formItems?: any[];
|
|
45
|
+
hintForDeleteButton?: string;
|
|
46
|
+
hintForEditButton?: string;
|
|
47
|
+
exportFormats?: string[];
|
|
48
|
+
actionPermission?: boolean;
|
|
49
|
+
columns: any[];
|
|
50
|
+
actionColumnEnable?: boolean;
|
|
51
|
+
edit?: IEditingoptions;
|
|
52
|
+
selectOptions?: ISelectOptions;
|
|
53
|
+
actionColumnCaption?: string;
|
|
54
|
+
}
|
|
55
|
+
declare function OdsDataGridNew(props: IOdsDataGridProps): React.JSX.Element;
|
|
56
|
+
export default OdsDataGridNew;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ContentReadyEvent } from "devextreme/ui/data_grid";
|
|
2
|
+
import { IColumnConfig } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook to handle content ready events for the data grid.
|
|
5
|
+
* @param {React.MutableRefObject<any>} lastPageIndexRef - Reference to the last page index.
|
|
6
|
+
* @param {boolean} contentReady - Boolean indicating if the content is ready.
|
|
7
|
+
* @param {Function} setRowCount - Function to set the row count state
|
|
8
|
+
* @param {Function} setContentReady - Function to set the content ready state.
|
|
9
|
+
* @param {Function} setCurrentPage - Function to set the current page state.
|
|
10
|
+
* @param {Function} setCurrentPageSize - Function to set the current page size state.
|
|
11
|
+
* @param {Function} [callback] - Optional callback function.
|
|
12
|
+
* @returns {(e: ContentReadyEvent<any, any>) => void} handleContentReady - Handler for content ready event.
|
|
13
|
+
*/
|
|
14
|
+
export declare const useContentHandlers: (lastPageIndexRef: React.MutableRefObject<any>, contentReady: boolean, columns: IColumnConfig[], setRowCount: Function, setContentReady: Function, setCurrentPage: Function, setCurrentPageSize: Function, setHeaderFilterData: Function, callback?: Function) => (e: ContentReadyEvent<any, any>) => void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook that returns a callback function to handle the "editorPrepared" event of a DevExtreme component.
|
|
3
|
+
* This callback function is responsible for customizing the editor's behavior based on specific conditions.
|
|
4
|
+
*
|
|
5
|
+
* @returns {Function} The callback function to handle the "editorPrepared" event.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useEditorPreparedHandlers: () => (e: any) => void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface IOnExportingProps {
|
|
2
|
+
gridComponent: any;
|
|
3
|
+
baseFileName?: string;
|
|
4
|
+
selectedText?: string;
|
|
5
|
+
getSummary: () => string;
|
|
6
|
+
selectedRowsOnly: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Handles the exporting of data from the grid component.
|
|
10
|
+
*
|
|
11
|
+
* @param {IOnExportingProps} params - The parameters for exporting the data.
|
|
12
|
+
* @param {React.RefObject<Grid>} params.gridComponent - The reference to the grid component.
|
|
13
|
+
* @param {string} params.baseFileName - The base file name for the exported file.
|
|
14
|
+
* @param {string} params.selectedText - The text to be displayed for selected rows.
|
|
15
|
+
* @param {Function} params.getSummary - The function to get the summary of the exported data.
|
|
16
|
+
* @param {boolean} params.selectedRowsOnly - Indicates whether to export only selected rows.
|
|
17
|
+
*/
|
|
18
|
+
export declare const onExporting: ({ gridComponent, baseFileName, selectedText, getSummary, selectedRowsOnly, }: IOnExportingProps) => void;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook to handle option change events for the data grid.
|
|
3
|
+
* @param {Object} dataGridRef - The dataGridRef property passed to the hook.
|
|
4
|
+
* @param {Function} setFilterApplied - Function to set the filter applied state.
|
|
5
|
+
* @returns {Function} - Handler function for option changed event.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useOptionHandlers: (dataGridRef: any, setFilterApplied: any) => (e: any) => void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ISummaryRowOptions } from "../types";
|
|
2
|
+
interface IUseSummaryHandlersProps {
|
|
3
|
+
customSummary?: ISummaryRowOptions;
|
|
4
|
+
totalRecordCount: number;
|
|
5
|
+
currentPageSize: number;
|
|
6
|
+
currentPage: number;
|
|
7
|
+
filterApplied: boolean;
|
|
8
|
+
rowCount: number;
|
|
9
|
+
filteredRowCount: number;
|
|
10
|
+
isServerSide?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Custom hook that provides summary handlers for a data grid.
|
|
14
|
+
*
|
|
15
|
+
* @param {IUseSummaryHandlersProps} props - The props object containing necessary parameters.
|
|
16
|
+
* @returns {Object} - An object containing the renderTotal function.
|
|
17
|
+
*/
|
|
18
|
+
export declare const useSummaryHandlers: ({ customSummary, totalRecordCount, currentPageSize, currentPage, filterApplied, rowCount, filteredRowCount, }: IUseSummaryHandlersProps) => {
|
|
19
|
+
renderTotal: () => string | null;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { IVirtualDataGridProps } from "../types";
|
|
3
|
+
interface ActionCellRenderProps {
|
|
4
|
+
cellData: any;
|
|
5
|
+
actionButtons: IVirtualDataGridProps["actionButtonGroup"];
|
|
6
|
+
edit?: IVirtualDataGridProps["edit"];
|
|
7
|
+
actionButtonGroup?: IVirtualDataGridProps["actionButtonGroup"];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Renders the action buttons for a cell in the OdsInlineEditDataGrid component.
|
|
11
|
+
* @param {ActionCellRenderProps} props - The props for the ActionCellRender component.
|
|
12
|
+
* @returns {ReactNode} - The rendered action buttons.
|
|
13
|
+
*/
|
|
14
|
+
declare const ActionCellRender: FC<ActionCellRenderProps>;
|
|
15
|
+
export default ActionCellRender;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IEditingOptions } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Component that handles editing functionalities within the data grid.
|
|
5
|
+
* @param {IEditingOptions} props - The properties passed to the component.
|
|
6
|
+
* @returns {JSX.Element} - The JSX element representing the editing handlers.
|
|
7
|
+
*/
|
|
8
|
+
declare const EditingPartial: React.FC<IEditingOptions>;
|
|
9
|
+
export default EditingPartial;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IToolbarButton } from "../types";
|
|
3
|
+
interface PageTitleAndToolbarProps {
|
|
4
|
+
pageTitle?: string;
|
|
5
|
+
toolbarButtonGroup?: IToolbarButton[];
|
|
6
|
+
}
|
|
7
|
+
declare const MemoizedPageTitleAndToolbar: React.NamedExoticComponent<PageTitleAndToolbarProps>;
|
|
8
|
+
export default MemoizedPageTitleAndToolbar;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface IConcatFilteredLabelProps {
|
|
2
|
+
result: string;
|
|
3
|
+
totalLoaded: number;
|
|
4
|
+
filteredRowCount: number;
|
|
5
|
+
filterApplied: boolean;
|
|
6
|
+
summaryFilteredDataLabel: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Concatenates the filtered label with the result string.
|
|
10
|
+
*
|
|
11
|
+
* @param {IConcatFilteredLabelProps} props - The object containing the necessary properties.
|
|
12
|
+
* @returns {string} - The concatenated result string.
|
|
13
|
+
*/
|
|
14
|
+
export declare const concatFilteredLabel: ({ result, totalLoaded, filteredRowCount, filterApplied, summaryFilteredDataLabel, }: IConcatFilteredLabelProps) => string;
|
|
15
|
+
export {};
|
|
16
|
+
/**
|
|
17
|
+
* This file contains utility functions related to the OdsInlineEditDataGrid component.
|
|
18
|
+
* These utility functions are used for handling filtering and data manipulation.
|
|
19
|
+
*/
|
package/dist/index.js
CHANGED
|
@@ -1757,6 +1757,7 @@ function OdsFileUpload(props) {
|
|
|
1757
1757
|
RemoveTitle = props.RemoveTitle,
|
|
1758
1758
|
RemoveOkText = props.RemoveOkText,
|
|
1759
1759
|
RemoveCancelText = props.RemoveCancelText;
|
|
1760
|
+
var confirm = antd.Modal.confirm;
|
|
1760
1761
|
var _useState = React.useState(false),
|
|
1761
1762
|
previewOpen = _useState[0],
|
|
1762
1763
|
setPreviewOpen = _useState[1];
|
|
@@ -1769,10 +1770,17 @@ function OdsFileUpload(props) {
|
|
|
1769
1770
|
var _useState4 = React.useState(""),
|
|
1770
1771
|
previewFileName = _useState4[0],
|
|
1771
1772
|
setPreviewFileName = _useState4[1];
|
|
1772
|
-
|
|
1773
|
+
React.useEffect(function () {
|
|
1774
|
+
var _props$defaultFileLis;
|
|
1775
|
+
if (((_props$defaultFileLis = props.defaultFileList) === null || _props$defaultFileLis === void 0 ? void 0 : _props$defaultFileLis.length) > 0) {
|
|
1776
|
+
setFileList(function (prev) {
|
|
1777
|
+
return [].concat(props.defaultFileList, prev);
|
|
1778
|
+
});
|
|
1779
|
+
}
|
|
1780
|
+
}, [props.defaultFileList, setFileList]);
|
|
1773
1781
|
var getBase64 = function getBase64(img, callback) {
|
|
1774
1782
|
var reader = new FileReader();
|
|
1775
|
-
reader.addEventListener(
|
|
1783
|
+
reader.addEventListener("load", function () {
|
|
1776
1784
|
return callback(reader.result);
|
|
1777
1785
|
});
|
|
1778
1786
|
if (img !== undefined) {
|
|
@@ -1781,15 +1789,15 @@ function OdsFileUpload(props) {
|
|
|
1781
1789
|
}
|
|
1782
1790
|
};
|
|
1783
1791
|
var uploadProps = {
|
|
1784
|
-
name:
|
|
1792
|
+
name: "file",
|
|
1785
1793
|
accept: allowDocumentUpload ? "image/png,image/jpg,image/jpeg,image/svg+xml,application/pdf,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document" : "image/png,image/jpg,image/jpeg,image/svg+xml",
|
|
1786
1794
|
multiple: multipleDoc,
|
|
1787
1795
|
maxCount: multipleDoc ? 10 : 1,
|
|
1788
|
-
listType:
|
|
1796
|
+
listType: "picture-card",
|
|
1789
1797
|
type: "select",
|
|
1790
1798
|
onPreview: function onPreview(file) {
|
|
1791
1799
|
if (multipleDoc) {
|
|
1792
|
-
var fileExtension = file.name != "" ? file.name.split(
|
|
1800
|
+
var fileExtension = file.name != "" ? file.name.split(".").pop().toLowerCase() : file.url.split(".").pop().toLowerCase();
|
|
1793
1801
|
if (fileExtension === "docx" || fileExtension === "xlsx") {
|
|
1794
1802
|
downloadFile(file.url, file.thumbUrl, file.name);
|
|
1795
1803
|
setPreviewOpen(false);
|
|
@@ -1797,7 +1805,7 @@ function OdsFileUpload(props) {
|
|
|
1797
1805
|
}
|
|
1798
1806
|
setPreviewFileName(file.name);
|
|
1799
1807
|
}
|
|
1800
|
-
setPreviewImage(file.url || file.thumbUrl ||
|
|
1808
|
+
setPreviewImage(file.url || file.thumbUrl || "");
|
|
1801
1809
|
handlePreview();
|
|
1802
1810
|
},
|
|
1803
1811
|
showUploadList: {
|
|
@@ -1885,13 +1893,13 @@ function OdsFileUpload(props) {
|
|
|
1885
1893
|
fileList: fileList
|
|
1886
1894
|
};
|
|
1887
1895
|
function splitAtFirstComma(input) {
|
|
1888
|
-
var index = input.indexOf(
|
|
1896
|
+
var index = input.indexOf(",");
|
|
1889
1897
|
if (index !== -1) {
|
|
1890
1898
|
var firstPart = input.substring(0, index).trim();
|
|
1891
1899
|
var secondPart = input.substring(index + 1).trim();
|
|
1892
1900
|
return [firstPart, secondPart];
|
|
1893
1901
|
} else {
|
|
1894
|
-
return [input,
|
|
1902
|
+
return [input, ""];
|
|
1895
1903
|
}
|
|
1896
1904
|
}
|
|
1897
1905
|
var handleCancel = function handleCancel() {
|
|
@@ -1906,13 +1914,13 @@ function OdsFileUpload(props) {
|
|
|
1906
1914
|
return {
|
|
1907
1915
|
uid: file.uid,
|
|
1908
1916
|
name: file.filename,
|
|
1909
|
-
status:
|
|
1917
|
+
status: "done",
|
|
1910
1918
|
url: file.url
|
|
1911
1919
|
};
|
|
1912
1920
|
}) : [{
|
|
1913
1921
|
uid: "1",
|
|
1914
1922
|
name: "file",
|
|
1915
|
-
status:
|
|
1923
|
+
status: "done",
|
|
1916
1924
|
url: image
|
|
1917
1925
|
}];
|
|
1918
1926
|
setFileList(formattedFiles);
|
|
@@ -1926,17 +1934,17 @@ function OdsFileUpload(props) {
|
|
|
1926
1934
|
return React__default.createElement("img", {
|
|
1927
1935
|
alt: fileName == "" ? "file" : fileName,
|
|
1928
1936
|
style: {
|
|
1929
|
-
width:
|
|
1937
|
+
width: "100%"
|
|
1930
1938
|
},
|
|
1931
1939
|
src: previewSrc
|
|
1932
1940
|
});
|
|
1933
1941
|
} else {
|
|
1934
|
-
var fileExtension = fileName != "" ? fileName.split(
|
|
1942
|
+
var fileExtension = fileName != "" ? fileName.split(".").pop().toLowerCase() : previewSrc.split(".").pop().toLowerCase();
|
|
1935
1943
|
if (fileExtension === "png" || fileExtension === "jpg" || fileExtension === "jpeg" || fileExtension === "svg") {
|
|
1936
1944
|
return React__default.createElement("img", {
|
|
1937
1945
|
alt: fileName == "" ? "file" : fileName,
|
|
1938
1946
|
style: {
|
|
1939
|
-
width:
|
|
1947
|
+
width: "100%"
|
|
1940
1948
|
},
|
|
1941
1949
|
src: previewSrc
|
|
1942
1950
|
});
|
|
@@ -1955,21 +1963,21 @@ function OdsFileUpload(props) {
|
|
|
1955
1963
|
};
|
|
1956
1964
|
function downloadFile(url, thumbUrl, name) {
|
|
1957
1965
|
var base64 = url || thumbUrl;
|
|
1958
|
-
var extension = name ? name.split(
|
|
1966
|
+
var extension = name ? name.split(".").pop() : url.split(".").pop();
|
|
1959
1967
|
var fileName = name || "download." + extension;
|
|
1960
1968
|
fetch(base64).then(function (res) {
|
|
1961
1969
|
return res.blob();
|
|
1962
1970
|
}).then(function (blob) {
|
|
1963
1971
|
var blobURL = window.URL.createObjectURL(blob);
|
|
1964
|
-
var link = document.createElement(
|
|
1972
|
+
var link = document.createElement("a");
|
|
1965
1973
|
link.href = blobURL;
|
|
1966
|
-
link.setAttribute(
|
|
1974
|
+
link.setAttribute("download", fileName);
|
|
1967
1975
|
document.body.appendChild(link);
|
|
1968
1976
|
link.click();
|
|
1969
1977
|
document.body.removeChild(link);
|
|
1970
1978
|
window.URL.revokeObjectURL(blobURL);
|
|
1971
1979
|
})["catch"](function (err) {
|
|
1972
|
-
return console.error(
|
|
1980
|
+
return console.error("Failed to download file:", err);
|
|
1973
1981
|
});
|
|
1974
1982
|
}
|
|
1975
1983
|
return React__default.createElement("div", null, React__default.createElement(Text, {
|
|
@@ -1988,7 +1996,7 @@ function OdsFileUpload(props) {
|
|
|
1988
1996
|
width: "100%"
|
|
1989
1997
|
}, React__default.createElement("div", {
|
|
1990
1998
|
style: {
|
|
1991
|
-
padding:
|
|
1999
|
+
padding: "25px"
|
|
1992
2000
|
}
|
|
1993
2001
|
}, renderPreviewContent(previewFileName, previewImage))));
|
|
1994
2002
|
}
|