@sutech_jp/raas-react-client 0.1.37 → 0.1.39
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/config/ReportConfig.d.ts +7 -1
- package/dist/config/ReportConfig.js +4 -5
- package/dist/designer/ReportDesigner.js +2 -1
- package/dist/form/ReportPaperForm.js +40 -39
- package/dist/gallery/ReportLayoutGallery.js +2 -1
- package/dist/organizer/ReportOrganizer.js +2 -1
- package/dist/tenantInfo/ReportTenantInfo.js +2 -1
- package/dist/webform/ReportWebForm.js +15 -14
- package/package.json +1 -1
|
@@ -5,9 +5,15 @@ declare type Props = {
|
|
|
5
5
|
session: Session | undefined;
|
|
6
6
|
width?: string | number;
|
|
7
7
|
height?: string | number;
|
|
8
|
+
customStyles?: ThemeOptions;
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated This option has been removed. Specifying it will be ignored.
|
|
11
|
+
*/
|
|
8
12
|
hideTenantInfoConfig?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated This option has been removed. Specifying it will be ignored.
|
|
15
|
+
*/
|
|
9
16
|
toolbarPosition?: 'top' | 'bottom';
|
|
10
|
-
customStyles?: ThemeOptions;
|
|
11
17
|
};
|
|
12
18
|
export declare const ReportConfig: VFC<Props>;
|
|
13
19
|
export {};
|
|
@@ -5,7 +5,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
var react_1 = require("react");
|
|
6
6
|
var targetOrigin_1 = require("../util/targetOrigin");
|
|
7
7
|
var ReportConfig = function (_a) {
|
|
8
|
-
var session = _a.session, _b = _a.width, width = _b === void 0 ? '100%' : _b, _c = _a.height, height = _c === void 0 ? '100%' : _c,
|
|
8
|
+
var session = _a.session, _b = _a.width, width = _b === void 0 ? '100%' : _b, _c = _a.height, height = _c === void 0 ? '100%' : _c, customStyles = _a.customStyles;
|
|
9
9
|
var iframe = (0, react_1.useRef)(null);
|
|
10
10
|
var handleMessage = (0, react_1.useCallback)(function (e) {
|
|
11
11
|
var _a;
|
|
@@ -26,14 +26,13 @@ var ReportConfig = function (_a) {
|
|
|
26
26
|
from: 'configClient',
|
|
27
27
|
action: 'onShow',
|
|
28
28
|
props: {
|
|
29
|
-
hideTenantInfoConfig: hideTenantInfoConfig,
|
|
30
|
-
toolbarPosition: toolbarPosition,
|
|
31
29
|
customStyles: customStyles,
|
|
32
30
|
},
|
|
33
31
|
}, (0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl));
|
|
34
32
|
}
|
|
35
|
-
}, [customStyles,
|
|
36
|
-
|
|
33
|
+
}, [customStyles, session]);
|
|
34
|
+
// リスナーの登録は必ず先に済ませる必要があるため、useLayoutEffect を使用する
|
|
35
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
37
36
|
window.addEventListener('message', handleMessage);
|
|
38
37
|
return function () { return window.removeEventListener('message', handleMessage); };
|
|
39
38
|
}, [handleMessage]);
|
|
@@ -38,7 +38,8 @@ var ReportDesigner = function (_a) {
|
|
|
38
38
|
onChangeOperating && onChangeOperating(operating);
|
|
39
39
|
}
|
|
40
40
|
}, [customStyles, data, onBack, onChangeOperating, options, session === null || session === void 0 ? void 0 : session.newUrl]);
|
|
41
|
-
|
|
41
|
+
// リスナーの登録は必ず先に済ませる必要があるため、useLayoutEffect を使用する
|
|
42
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
42
43
|
window.addEventListener('message', handleMessage);
|
|
43
44
|
return function () { return window.removeEventListener('message', handleMessage); };
|
|
44
45
|
}, [handleMessage]);
|
|
@@ -26,6 +26,46 @@ var ReportPaperForm = function (_a) {
|
|
|
26
26
|
var _h = __read((0, react_1.useState)(), 2), contentHeight = _h[0], setContentHeight = _h[1];
|
|
27
27
|
var _j = __read((0, react_1.useState)(false), 2), layoutInitialized = _j[0], setLayoutInitialized = _j[1];
|
|
28
28
|
var iframe = (0, react_1.useRef)(null);
|
|
29
|
+
var handleMessage = (0, react_1.useCallback)(function (e) {
|
|
30
|
+
if ((0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl) !== '*' && e.origin !== (0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl)) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
var message = e.data;
|
|
34
|
+
var from = message === null || message === void 0 ? void 0 : message.from;
|
|
35
|
+
var action = message === null || message === void 0 ? void 0 : message.action;
|
|
36
|
+
if (from !== 'paperForm') {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (action === 'onAuthorized') {
|
|
40
|
+
setFormState('authorized');
|
|
41
|
+
}
|
|
42
|
+
else if (action === 'onReady') {
|
|
43
|
+
setLayoutInitialized(true);
|
|
44
|
+
setContentHeight(message === null || message === void 0 ? void 0 : message.contentHeight);
|
|
45
|
+
}
|
|
46
|
+
else if (action === 'onRender') {
|
|
47
|
+
if (onRender)
|
|
48
|
+
onRender((message === null || message === void 0 ? void 0 : message.hasRequiredBlank) || false);
|
|
49
|
+
}
|
|
50
|
+
else if (action === 'onDataUpdate') {
|
|
51
|
+
var businessData = message.businessData, customData_1 = message.customData, options = message.options;
|
|
52
|
+
if (onDataUpdate)
|
|
53
|
+
onDataUpdate(businessData, customData_1, options);
|
|
54
|
+
}
|
|
55
|
+
else if (action === 'onEditLayout') {
|
|
56
|
+
var layout_1 = message.layout;
|
|
57
|
+
if (onLayoutUpdate)
|
|
58
|
+
onLayoutUpdate(layout_1);
|
|
59
|
+
}
|
|
60
|
+
else if (action === 'onChangeContentHeight') {
|
|
61
|
+
setContentHeight(message === null || message === void 0 ? void 0 : message.contentHeight);
|
|
62
|
+
}
|
|
63
|
+
}, [session, onRender, onDataUpdate, onLayoutUpdate]);
|
|
64
|
+
// リスナーの登録は必ず先に済ませる必要があるため、useLayoutEffect を使用する
|
|
65
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
66
|
+
window.addEventListener('message', handleMessage);
|
|
67
|
+
return function () { return window.removeEventListener('message', handleMessage); };
|
|
68
|
+
}, [handleMessage]);
|
|
29
69
|
(0, react_1.useEffect)(function () {
|
|
30
70
|
var _a;
|
|
31
71
|
if (formState === 'unauthorized')
|
|
@@ -65,45 +105,6 @@ var ReportPaperForm = function (_a) {
|
|
|
65
105
|
options: reportOptions,
|
|
66
106
|
}, (0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl));
|
|
67
107
|
}, [formState, layoutInitialized, data, customData, reportOptions, session]);
|
|
68
|
-
var handleMessage = (0, react_1.useCallback)(function (e) {
|
|
69
|
-
if ((0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl) !== '*' && e.origin !== (0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl)) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
var message = e.data;
|
|
73
|
-
var from = message === null || message === void 0 ? void 0 : message.from;
|
|
74
|
-
var action = message === null || message === void 0 ? void 0 : message.action;
|
|
75
|
-
if (from !== 'paperForm') {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
if (action === 'onAuthorized') {
|
|
79
|
-
setFormState('authorized');
|
|
80
|
-
}
|
|
81
|
-
else if (action === 'onReady') {
|
|
82
|
-
setLayoutInitialized(true);
|
|
83
|
-
setContentHeight(message === null || message === void 0 ? void 0 : message.contentHeight);
|
|
84
|
-
}
|
|
85
|
-
else if (action === 'onRender') {
|
|
86
|
-
if (onRender)
|
|
87
|
-
onRender((message === null || message === void 0 ? void 0 : message.hasRequiredBlank) || false);
|
|
88
|
-
}
|
|
89
|
-
else if (action === 'onDataUpdate') {
|
|
90
|
-
var businessData = message.businessData, customData_1 = message.customData, options = message.options;
|
|
91
|
-
if (onDataUpdate)
|
|
92
|
-
onDataUpdate(businessData, customData_1, options);
|
|
93
|
-
}
|
|
94
|
-
else if (action === 'onEditLayout') {
|
|
95
|
-
var layout_1 = message.layout;
|
|
96
|
-
if (onLayoutUpdate)
|
|
97
|
-
onLayoutUpdate(layout_1);
|
|
98
|
-
}
|
|
99
|
-
else if (action === 'onChangeContentHeight') {
|
|
100
|
-
setContentHeight(message === null || message === void 0 ? void 0 : message.contentHeight);
|
|
101
|
-
}
|
|
102
|
-
}, [session, onRender, onDataUpdate, onLayoutUpdate]);
|
|
103
|
-
(0, react_1.useEffect)(function () {
|
|
104
|
-
window.addEventListener('message', handleMessage);
|
|
105
|
-
return function () { return window.removeEventListener('message', handleMessage); };
|
|
106
|
-
}, [handleMessage]);
|
|
107
108
|
return ((0, jsx_runtime_1.jsx)("iframe", { ref: iframe, id: "paper-form", name: "paperForm", src: session === null || session === void 0 ? void 0 : session.newUrl, style: {
|
|
108
109
|
width: width,
|
|
109
110
|
height: height || "".concat(contentHeight ? contentHeight + 10 : 240, "px"),
|
|
@@ -44,7 +44,8 @@ var ReportLayoutGallery = function (_a) {
|
|
|
44
44
|
}, (0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl));
|
|
45
45
|
}
|
|
46
46
|
}, [customStyles, deletable, mode, onCreateLayout, onEditLayout, onSelectLayout, session]);
|
|
47
|
-
|
|
47
|
+
// リスナーの登録は必ず先に済ませる必要があるため、useLayoutEffect を使用する
|
|
48
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
48
49
|
window.addEventListener('message', handleMessage);
|
|
49
50
|
return function () { return window.removeEventListener('message', handleMessage); };
|
|
50
51
|
}, [handleMessage]);
|
|
@@ -40,7 +40,8 @@ var ReportOrganizer = function (_a) {
|
|
|
40
40
|
onCancel && onCancel();
|
|
41
41
|
}
|
|
42
42
|
}, [customStyles, entry, onCancel, onPerform, options, session === null || session === void 0 ? void 0 : session.newUrl]);
|
|
43
|
-
|
|
43
|
+
// リスナーの登録は必ず先に済ませる必要があるため、useLayoutEffect を使用する
|
|
44
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
44
45
|
window.addEventListener('message', handleMessage);
|
|
45
46
|
return function () { return window.removeEventListener('message', handleMessage); };
|
|
46
47
|
}, [handleMessage]);
|
|
@@ -31,7 +31,8 @@ var ReportTenantInfo = function (_a) {
|
|
|
31
31
|
}, (0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl));
|
|
32
32
|
}
|
|
33
33
|
}, [customStyles, session]);
|
|
34
|
-
|
|
34
|
+
// リスナーの登録は必ず先に済ませる必要があるため、useLayoutEffect を使用する
|
|
35
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
35
36
|
window.addEventListener('message', handleMessage);
|
|
36
37
|
return function () { return window.removeEventListener('message', handleMessage); };
|
|
37
38
|
}, [handleMessage]);
|
|
@@ -73,19 +73,6 @@ var ReportWebForm = function (_a) {
|
|
|
73
73
|
messageId: requestId,
|
|
74
74
|
}, (0, targetOrigin_1.getTargetOrigin)(session === null || session === void 0 ? void 0 : session.newUrl));
|
|
75
75
|
}, [session === null || session === void 0 ? void 0 : session.newUrl]);
|
|
76
|
-
(0, react_1.useEffect)(function () {
|
|
77
|
-
// 前回の initialized の値を取得
|
|
78
|
-
var wasInitialized = prevInitialized.current;
|
|
79
|
-
// initialized が true になった直後は、データ更新メッセージを送信する必要がないため
|
|
80
|
-
// initialized に加えて、前回の initialized(wasInitialized) を確認し、
|
|
81
|
-
// 両方が true の場合のみデータ更新メッセージを送信する
|
|
82
|
-
if (initialized && wasInitialized) {
|
|
83
|
-
// データの更新があった場合は、データを送信する
|
|
84
|
-
sendMessage('onUpdateData', values);
|
|
85
|
-
}
|
|
86
|
-
// 現在の initialized の値を保存
|
|
87
|
-
prevInitialized.current = initialized;
|
|
88
|
-
}, [initialized, values, sendMessage]);
|
|
89
76
|
var handleMessage = (0, react_1.useCallback)(function (e) { return __awaiter(void 0, void 0, void 0, function () {
|
|
90
77
|
var message, from, action, _a, property, rowIndex, value, values_1, result_1, result, values_2, results, _b, property, rowIndex, value, values_3, logId, operating;
|
|
91
78
|
return __generator(this, function (_c) {
|
|
@@ -197,10 +184,24 @@ var ReportWebForm = function (_a) {
|
|
|
197
184
|
validateAll,
|
|
198
185
|
values,
|
|
199
186
|
]);
|
|
200
|
-
|
|
187
|
+
// リスナーの登録は必ず先に済ませる必要があるため、useLayoutEffect を使用する
|
|
188
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
201
189
|
window.addEventListener('message', handleMessage);
|
|
202
190
|
return function () { return window.removeEventListener('message', handleMessage); };
|
|
203
191
|
}, [handleMessage]);
|
|
192
|
+
(0, react_1.useEffect)(function () {
|
|
193
|
+
// 前回の initialized の値を取得
|
|
194
|
+
var wasInitialized = prevInitialized.current;
|
|
195
|
+
// initialized が true になった直後は、データ更新メッセージを送信する必要がないため
|
|
196
|
+
// initialized に加えて、前回の initialized(wasInitialized) を確認し、
|
|
197
|
+
// 両方が true の場合のみデータ更新メッセージを送信する
|
|
198
|
+
if (initialized && wasInitialized) {
|
|
199
|
+
// データの更新があった場合は、データを送信する
|
|
200
|
+
sendMessage('onUpdateData', values);
|
|
201
|
+
}
|
|
202
|
+
// 現在の initialized の値を保存
|
|
203
|
+
prevInitialized.current = initialized;
|
|
204
|
+
}, [initialized, values, sendMessage]);
|
|
204
205
|
return (0, jsx_runtime_1.jsx)("iframe", { ref: iframe, id: "webform", src: session === null || session === void 0 ? void 0 : session.newUrl, style: { width: width, height: height, border: 0 } });
|
|
205
206
|
};
|
|
206
207
|
exports.ReportWebForm = ReportWebForm;
|