@zextras/carbonio-ui-preview 3.1.2-devel.9 → 3.2.0-devel.2
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.
|
@@ -31,6 +31,10 @@ export interface PreviewManagerContextType {
|
|
|
31
31
|
openPreview: (id: string) => void;
|
|
32
32
|
/** Clear the initialized previews */
|
|
33
33
|
emptyPreview: () => void;
|
|
34
|
+
/** The list of initialized previews */
|
|
35
|
+
previews: PreviewItem[];
|
|
36
|
+
/** The index of the currently opened preview */
|
|
37
|
+
currentIndex: number;
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
40
|
* The context give access to the functions needed to manage multiple previews.
|
|
@@ -26,7 +26,9 @@ export const PreviewsManagerContext = createContext({
|
|
|
26
26
|
createPreview: () => undefined,
|
|
27
27
|
initPreview: () => undefined,
|
|
28
28
|
openPreview: () => undefined,
|
|
29
|
-
emptyPreview: () => undefined
|
|
29
|
+
emptyPreview: () => undefined,
|
|
30
|
+
previews: [],
|
|
31
|
+
currentIndex: -1
|
|
30
32
|
});
|
|
31
33
|
/** Util hook to quick access to the preview functions */
|
|
32
34
|
export const usePreview = () => useContext(PreviewsManagerContext);
|
|
@@ -49,43 +51,43 @@ export const PreviewManager = ({ children }) => {
|
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
}, []);
|
|
52
|
-
const [
|
|
54
|
+
const [currentIndex, setCurrentIndex] = useState(-1);
|
|
53
55
|
const previewElement = useMemo(() => {
|
|
54
|
-
if (
|
|
55
|
-
const _a = previews[
|
|
56
|
+
if (currentIndex >= 0) {
|
|
57
|
+
const _a = previews[currentIndex], { onClose } = _a, props = __rest(_a, ["onClose"]);
|
|
56
58
|
const closePreview = (ev) => {
|
|
57
59
|
if (onClose)
|
|
58
60
|
onClose(ev);
|
|
59
|
-
|
|
61
|
+
setCurrentIndex(-1);
|
|
60
62
|
};
|
|
61
|
-
const onPreviousPreviewCallback =
|
|
63
|
+
const onPreviousPreviewCallback = currentIndex === 0
|
|
62
64
|
? undefined
|
|
63
65
|
: (e) => {
|
|
64
66
|
e.stopPropagation();
|
|
65
|
-
|
|
67
|
+
setCurrentIndex(currentIndex - 1);
|
|
66
68
|
};
|
|
67
|
-
const onNextPreviewCallback =
|
|
69
|
+
const onNextPreviewCallback = currentIndex === previews.length - 1
|
|
68
70
|
? undefined
|
|
69
71
|
: (e) => {
|
|
70
72
|
e.stopPropagation();
|
|
71
|
-
|
|
73
|
+
setCurrentIndex(currentIndex + 1);
|
|
72
74
|
};
|
|
73
75
|
return (_createElement(PreviewWrapper, Object.assign({}, props, { key: props.id, show: true, onClose: closePreview, onPreviousPreview: onPreviousPreviewCallback, onNextPreview: onNextPreviewCallback })));
|
|
74
76
|
}
|
|
75
77
|
return undefined;
|
|
76
|
-
}, [
|
|
78
|
+
}, [currentIndex, previews]);
|
|
77
79
|
const createPreview = useCallback((args) => {
|
|
78
80
|
dispatchPreviews({
|
|
79
81
|
type: 'init',
|
|
80
82
|
value: [Object.assign({ id: 'default-id' }, args)]
|
|
81
83
|
});
|
|
82
|
-
|
|
84
|
+
setCurrentIndex(0);
|
|
83
85
|
}, [dispatchPreviews]);
|
|
84
86
|
const emptyPreview = useCallback(() => {
|
|
85
87
|
dispatchPreviews({
|
|
86
88
|
type: 'empty'
|
|
87
89
|
});
|
|
88
|
-
|
|
90
|
+
setCurrentIndex(-1);
|
|
89
91
|
}, [dispatchPreviews]);
|
|
90
92
|
const initPreview = useCallback((args) => {
|
|
91
93
|
dispatchPreviews({
|
|
@@ -96,10 +98,10 @@ export const PreviewManager = ({ children }) => {
|
|
|
96
98
|
const openPreview = useCallback((id) => {
|
|
97
99
|
const index = previews.findIndex((preview) => preview.id === id);
|
|
98
100
|
if (index >= 0) {
|
|
99
|
-
|
|
101
|
+
setCurrentIndex(index);
|
|
100
102
|
}
|
|
101
|
-
}, [previews,
|
|
102
|
-
const previewManagerContextValue = useMemo(() => ({ createPreview, initPreview, openPreview, emptyPreview }), [createPreview, emptyPreview, initPreview, openPreview]);
|
|
103
|
+
}, [previews, setCurrentIndex]);
|
|
104
|
+
const previewManagerContextValue = useMemo(() => ({ createPreview, initPreview, openPreview, emptyPreview, previews, currentIndex }), [createPreview, emptyPreview, initPreview, openPreview, previews, currentIndex]);
|
|
103
105
|
return (_jsxs(_Fragment, { children: [_jsx(PreviewsManagerContext.Provider, { value: previewManagerContextValue, children: children }), previewElement] }));
|
|
104
106
|
};
|
|
105
107
|
//# sourceMappingURL=PreviewManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewManager.js","sourceRoot":"","sources":["../../src/preview/PreviewManager.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAK9F,OAAO,EAAE,cAAc,EAAuB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"PreviewManager.js","sourceRoot":"","sources":["../../src/preview/PreviewManager.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zextras/carbonio-ui-preview",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0-devel.2",
|
|
4
4
|
"description": "Preview ui utility for Zextras Carbonio",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib/index.js",
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
"@commitlint/cli": "^19.8.0",
|
|
50
50
|
"@commitlint/config-conventional": "^19.8.0",
|
|
51
51
|
"@faker-js/faker": "^9.6.0",
|
|
52
|
-
"@microsoft/api-documenter": "^7.26.
|
|
53
|
-
"@microsoft/api-extractor": "^7.52.
|
|
52
|
+
"@microsoft/api-documenter": "^7.26.19",
|
|
53
|
+
"@microsoft/api-extractor": "^7.52.3",
|
|
54
54
|
"@testing-library/dom": "^10.4.0",
|
|
55
55
|
"@testing-library/jest-dom": "^6.6.3",
|
|
56
|
-
"@testing-library/react": "^16.
|
|
56
|
+
"@testing-library/react": "^16.3.0",
|
|
57
57
|
"@testing-library/user-event": "^14.6.1",
|
|
58
58
|
"@types/jest": "^29.5.12",
|
|
59
59
|
"@types/node": "^18.19.34",
|
|
@@ -73,14 +73,14 @@
|
|
|
73
73
|
"jest-junit": "^16.0.0",
|
|
74
74
|
"semantic-release": "^24.2.3",
|
|
75
75
|
"ts-node": "^10.9.2",
|
|
76
|
-
"typescript": "^5.
|
|
76
|
+
"typescript": "^5.8.3"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"core-js": "^3.41.0",
|
|
80
80
|
"react-pdf": "^9.2.1"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
|
-
"@zextras/carbonio-design-system": "^8.0.0 || ^9.0.0-devel",
|
|
83
|
+
"@zextras/carbonio-design-system": "^8.0.0 || ^9.0.0-devel || ^10.0.0-devel",
|
|
84
84
|
"react": "^18.0.0",
|
|
85
85
|
"react-dom": "^18.0.0"
|
|
86
86
|
},
|