2020-03-11 13:59:46 +00:00
|
|
|
import React, { useEffect } from "react";
|
2019-10-31 08:36:04 +00:00
|
|
|
import styled from "styled-components";
|
2019-11-25 05:07:27 +00:00
|
|
|
import WidgetFactory from "utils/WidgetFactory";
|
2020-03-11 13:59:46 +00:00
|
|
|
import AnalyticsUtil from "utils/AnalyticsUtil";
|
2021-03-03 05:26:47 +00:00
|
|
|
import { useDynamicAppLayout } from "utils/hooks/useDynamicAppLayout";
|
2021-09-09 15:10:22 +00:00
|
|
|
import { DSLWidget } from "widgets/constants";
|
|
|
|
|
import { RenderModes } from "constants/WidgetConstants";
|
2019-10-31 08:36:04 +00:00
|
|
|
|
2020-01-16 11:46:21 +00:00
|
|
|
const PageView = styled.div<{ width: number }>`
|
2019-11-05 05:09:50 +00:00
|
|
|
height: 100%;
|
2019-11-13 07:00:25 +00:00
|
|
|
position: relative;
|
2020-12-24 04:32:25 +00:00
|
|
|
width: ${(props) => props.width}px;
|
2020-01-16 11:46:21 +00:00
|
|
|
margin: 0 auto;
|
2019-10-31 08:36:04 +00:00
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
type AppPageProps = {
|
2021-09-09 15:10:22 +00:00
|
|
|
dsl: DSLWidget;
|
2020-03-11 13:59:46 +00:00
|
|
|
pageName?: string;
|
|
|
|
|
pageId?: string;
|
2020-10-06 15:10:21 +00:00
|
|
|
appName?: string;
|
2019-10-31 08:36:04 +00:00
|
|
|
};
|
|
|
|
|
|
2021-04-28 10:28:39 +00:00
|
|
|
export function AppPage(props: AppPageProps) {
|
2021-03-03 05:26:47 +00:00
|
|
|
useDynamicAppLayout();
|
2020-03-11 13:59:46 +00:00
|
|
|
useEffect(() => {
|
|
|
|
|
AnalyticsUtil.logEvent("PAGE_LOAD", {
|
|
|
|
|
pageName: props.pageName,
|
|
|
|
|
pageId: props.pageId,
|
2020-10-06 15:10:21 +00:00
|
|
|
appName: props.appName,
|
2020-03-11 13:59:46 +00:00
|
|
|
mode: "VIEW",
|
|
|
|
|
});
|
|
|
|
|
}, [props.pageId, props.pageName]);
|
2019-10-31 08:36:04 +00:00
|
|
|
return (
|
2021-08-06 09:17:02 +00:00
|
|
|
<PageView className="t--app-viewer-page" width={props.dsl.rightColumn}>
|
2019-10-31 08:36:04 +00:00
|
|
|
{props.dsl.widgetId &&
|
|
|
|
|
WidgetFactory.createWidget(props.dsl, RenderModes.PAGE)}
|
|
|
|
|
</PageView>
|
|
|
|
|
);
|
2021-04-28 10:28:39 +00:00
|
|
|
}
|
2019-10-31 08:36:04 +00:00
|
|
|
|
|
|
|
|
export default AppPage;
|