@bit.rhplus/ui.upload-files-sheet 0.0.91 → 0.0.93

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.
@@ -0,0 +1,3 @@
1
+ export default UploadFilesSheet;
2
+ declare const UploadFilesSheet: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
3
+ import * as React from 'react';
package/dist/index.js ADDED
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /* eslint-disable */
3
+ import * as React from 'react';
4
+ // Odstraním nepoužívané importy a nechám pouze ty, které se používají
5
+ /* eslint-disable */
6
+ import { Block, Popup, List, ListItem, } from 'framework7-react'; // Oprava importu by vyžadovala správné nastavení cesty
7
+ import { ErrorIcon, LoadingIcon, SuccessIcon } from '@bit.rhplus/animate-icons';
8
+ import prettyBytes from 'pretty-bytes';
9
+ import useUploadFiles from './useUploadFiles';
10
+ const UploadFilesSheet = React.forwardRef((props, ref) => {
11
+ const { autoClose = true, closeTimeout = 4000, api, accessToken, folderPath = null } = props;
12
+ const { uploadFiles, getUploadedFiles } = useUploadFiles(api, accessToken, folderPath);
13
+ const [opened, setOpened] = React.useState(false);
14
+ const [progressFiles, setProgressFiles] = React.useState({});
15
+ const { files: uploadedFiles = [] } = progressFiles || {};
16
+ const onProgress = (progress) => setProgressFiles(progress);
17
+ const handleFilesSelected = (selectedFiles) => {
18
+ setOpened(true);
19
+ uploadFiles(selectedFiles, onProgress);
20
+ };
21
+ React.useImperativeHandle(ref, () => ({
22
+ handleFilesSelected,
23
+ getUploadedFiles,
24
+ }));
25
+ // Oprava závislostí v useEffect hooku
26
+ React.useEffect(() => {
27
+ if (uploadedFiles.length > 0 &&
28
+ uploadedFiles.every((file) => file.state === 'success') &&
29
+ opened &&
30
+ autoClose) {
31
+ setTimeout(() => {
32
+ setOpened(false);
33
+ }, closeTimeout);
34
+ }
35
+ }, [uploadedFiles, opened, autoClose, closeTimeout]);
36
+ return (_jsx(Popup, { id: "my-popup", opened: opened, onPopupClosed: () => setOpened(false), children: _jsx(Block, { children: _jsx(List, { dividersIos: true, outlineIos: true, strongIos: true, children: uploadedFiles.map(({ name, size, state }) => (_jsx(ListItem, { header: "Soubor", title: name, after: prettyBytes(size), children: _jsx("div", { className: "item-title-row2", children: _jsxs("div", { className: "item-title2", children: [state === 'success' && (_jsx(SuccessIcon, { loop: false, animate: true, height: 30, state: state })), state === 'loading' && (_jsx(LoadingIcon, { loop: true, animate: true, height: 30, state: state })), state === 'error' && (_jsx(ErrorIcon, { loop: false, animate: true, height: 30, state: state }))] }) }) }, name))) }) }) }));
37
+ });
38
+ export default UploadFilesSheet;
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.jsx"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,sEAAsE;AACtE,oBAAoB;AACpB,OAAO,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,QAAQ,GACT,MAAM,kBAAkB,CAAC,CAAC,uDAAuD;AAClF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACvD,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7F,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACvF,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE7D,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,aAAa,IAAI,EAAE,CAAC;IAE1D,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,EAAE;QAC5C,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,mBAAmB;QACnB,gBAAgB;KACjB,CAAC,CAAC,CAAC;IAEJ,sCAAsC;IACtC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IACE,aAAa,CAAC,MAAM,GAAG,CAAC;YACxB,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;YACvD,MAAM;YACN,SAAS,EACT,CAAC;YACD,UAAU,CAAC,GAAG,EAAE;gBACd,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAErD,OAAO,CACL,KAAC,KAAK,IAAC,EAAE,EAAC,UAAU,EAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,YACxE,KAAC,KAAK,cACJ,KAAC,IAAI,IAAC,WAAW,QAAC,UAAU,QAAC,SAAS,kBACnC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC5C,KAAC,QAAQ,IAEP,MAAM,EAAC,QAAQ,EACf,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,YAExB,cAAK,SAAS,EAAC,iBAAiB,YAC9B,eAAK,SAAS,EAAC,aAAa,aACzB,KAAK,KAAK,SAAS,IAAI,CACtB,KAAC,WAAW,IACV,IAAI,EAAE,KAAK,EACX,OAAO,QACP,MAAM,EAAE,EAAE,EACV,KAAK,EAAE,KAAK,GACZ,CACH,EACA,KAAK,KAAK,SAAS,IAAI,CACtB,KAAC,WAAW,IAAC,IAAI,QAAC,OAAO,QAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAI,CACvD,EACA,KAAK,KAAK,OAAO,IAAI,CACpB,KAAC,SAAS,IAAC,IAAI,EAAE,KAAK,EAAE,OAAO,QAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAI,CAC7D,IACG,GACF,IAtBD,IAAI,CAuBA,CACZ,CAAC,GACG,GACD,GACF,CACT,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ ;
2
+ ;
3
+
4
+ export const compositions = [];
5
+ export const overview = [];
6
+
7
+ export const compositions_metadata = {"compositions":[]};
@@ -0,0 +1,5 @@
1
+ export default useUploadFiles;
2
+ declare function useUploadFiles(api: any, accessToken: any, folderPath?: any): {
3
+ uploadFiles: (event: any, onProgress: any) => Promise<void>;
4
+ getUploadedFiles: () => any;
5
+ };
@@ -0,0 +1,79 @@
1
+ /* eslint-disable */
2
+ import useData from '@bit.rhplus/data';
3
+ const StateEnum = {
4
+ Waiting: 'waiting',
5
+ Loading: 'loading',
6
+ Success: 'success',
7
+ Error: 'error',
8
+ };
9
+ const useUploadFiles = (api, accessToken, folderPath = null) => {
10
+ const { fetchData } = useData();
11
+ const uploadFiles = async (event, onProgress) => {
12
+ if (!event.target.files || event.target.files.length === 0)
13
+ return;
14
+ const files = Array.from(event.target.files);
15
+ const total = files.length;
16
+ let progress = {
17
+ current: 0,
18
+ total,
19
+ files: files.map(({ name, size, type }) => ({
20
+ name,
21
+ size,
22
+ type,
23
+ state: StateEnum.Waiting,
24
+ })),
25
+ };
26
+ onProgress(progress);
27
+ const uploadFile = async (file, index) => {
28
+ progress = {
29
+ ...progress,
30
+ files: progress.files.map((f, i) => {
31
+ if (i === index)
32
+ return { ...f, state: StateEnum.Loading };
33
+ return f;
34
+ }),
35
+ };
36
+ onProgress(progress);
37
+ try {
38
+ const formData = new FormData();
39
+ formData.append('Files', file);
40
+ // Přidat FolderPath pouze pokud je zadán (permanent upload)
41
+ if (folderPath !== null && folderPath !== undefined) {
42
+ formData.append('FolderPath', folderPath);
43
+ }
44
+ const result = await fetchData(api, formData, accessToken);
45
+ progress = {
46
+ ...progress,
47
+ files: progress.files.map((f, i) => {
48
+ if (i === index)
49
+ return {
50
+ ...f,
51
+ state: StateEnum.Success,
52
+ fileKey: result?.fileKey || result?.key || result?.id,
53
+ container: result?.container
54
+ };
55
+ return f;
56
+ }),
57
+ };
58
+ }
59
+ catch (error) {
60
+ progress = {
61
+ ...progress,
62
+ files: progress.files.map((f, i) => {
63
+ if (i === index)
64
+ return { ...f, state: StateEnum.Error };
65
+ return f;
66
+ }),
67
+ };
68
+ }
69
+ onProgress(progress);
70
+ };
71
+ await Promise.all(files.map((file, index) => uploadFile(file, index)));
72
+ };
73
+ return {
74
+ uploadFiles,
75
+ getUploadedFiles: () => progress.files
76
+ };
77
+ };
78
+ export default useUploadFiles;
79
+ //# sourceMappingURL=useUploadFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUploadFiles.js","sourceRoot":"","sources":["../useUploadFiles.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@bit.rhplus/ui.upload-files-sheet",
3
- "version": "0.0.91",
3
+ "version": "0.0.93",
4
4
  "homepage": "https://bit.cloud/remote-scope/ui/upload-files-sheet",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "remote-scope",
8
8
  "name": "ui/upload-files-sheet",
9
- "version": "0.0.91"
9
+ "version": "0.0.93"
10
10
  },
11
11
  "dependencies": {
12
12
  "pretty-bytes": "^6.1.1",
13
- "@bit.rhplus/animate-icons": "0.0.23",
14
- "@bit.rhplus/data": "0.0.6"
13
+ "@bit.rhplus/data": "0.0.6",
14
+ "@bit.rhplus/animate-icons": "0.0.23"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@bitdev/react.react-env": "4.0.14"
@@ -0,0 +1,43 @@
1
+ declare module '*.png' {
2
+ const value: any;
3
+ export = value;
4
+ }
5
+ declare module '*.svg' {
6
+ import type { FunctionComponent, SVGProps } from 'react';
7
+
8
+ export const ReactComponent: FunctionComponent<
9
+ SVGProps<SVGSVGElement> & { title?: string }
10
+ >;
11
+ const src: string;
12
+ export default src;
13
+ }
14
+
15
+ // @TODO Gilad
16
+ declare module '*.jpg' {
17
+ const value: any;
18
+ export = value;
19
+ }
20
+ declare module '*.jpeg' {
21
+ const value: any;
22
+ export = value;
23
+ }
24
+ declare module '*.gif' {
25
+ const value: any;
26
+ export = value;
27
+ }
28
+ declare module '*.bmp' {
29
+ const value: any;
30
+ export = value;
31
+ }
32
+ declare module '*.otf' {
33
+ const value: any;
34
+ export = value;
35
+ }
36
+ declare module '*.woff' {
37
+ const value: any;
38
+ export = value;
39
+ }
40
+ declare module '*.woff2' {
41
+ const value: any;
42
+ export = value;
43
+ }
package/types/env.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ /// <reference types="vite/client" />
2
+
3
+ export type ImportMetaEnv = Record<string, string>;
4
+
5
+ interface ImportMeta {
6
+ readonly env: ImportMetaEnv
7
+ }
8
+
9
+ declare global {
10
+ namespace NodeJS {
11
+ interface ProcessEnv {
12
+ [key: string]: string;
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,42 @@
1
+ declare module '*.module.css' {
2
+ const classes: { readonly [key: string]: string };
3
+ export default classes;
4
+ }
5
+ declare module '*.module.scss' {
6
+ const classes: { readonly [key: string]: string };
7
+ export default classes;
8
+ }
9
+ declare module '*.module.sass' {
10
+ const classes: { readonly [key: string]: string };
11
+ export default classes;
12
+ }
13
+
14
+ declare module '*.module.less' {
15
+ const classes: { readonly [key: string]: string };
16
+ export default classes;
17
+ }
18
+
19
+ declare module '*.less' {
20
+ const classes: { readonly [key: string]: string };
21
+ export default classes;
22
+ }
23
+
24
+ declare module '*.css' {
25
+ const classes: { readonly [key: string]: string };
26
+ export default classes;
27
+ }
28
+
29
+ declare module '*.sass' {
30
+ const classes: { readonly [key: string]: string };
31
+ export default classes;
32
+ }
33
+
34
+ declare module '*.scss' {
35
+ const classes: { readonly [key: string]: string };
36
+ export default classes;
37
+ }
38
+
39
+ declare module '*.mdx' {
40
+ const component: any;
41
+ export default component;
42
+ }