2020-10-21 04:25:32 +00:00
|
|
|
import React from "react";
|
|
|
|
|
import styled from "styled-components";
|
2022-01-21 10:19:10 +00:00
|
|
|
import BaseWidget, { WidgetProps, WidgetState } from "./BaseWidget";
|
2020-10-21 04:25:32 +00:00
|
|
|
|
|
|
|
|
const SkeletonWrapper = styled.div`
|
|
|
|
|
height: 100%;
|
|
|
|
|
width: 100%;
|
|
|
|
|
`;
|
|
|
|
|
|
|
|
|
|
class SkeletonWidget extends BaseWidget<SkeletonWidgetProps, WidgetState> {
|
2021-02-24 10:29:19 +00:00
|
|
|
static getPropertyPaneConfig() {
|
|
|
|
|
return [];
|
|
|
|
|
}
|
2020-10-21 04:25:32 +00:00
|
|
|
getPageView() {
|
|
|
|
|
return <SkeletonWrapper className="bp3-skeleton" />;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-09 15:10:22 +00:00
|
|
|
static getWidgetType() {
|
2020-10-21 04:25:32 +00:00
|
|
|
return "SKELETON_WIDGET";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-09 15:10:22 +00:00
|
|
|
export const CONFIG = {
|
|
|
|
|
type: SkeletonWidget.getWidgetType(),
|
|
|
|
|
name: "Skeleton",
|
|
|
|
|
hideCard: true,
|
|
|
|
|
defaults: {
|
|
|
|
|
isLoading: true,
|
2022-01-21 10:19:10 +00:00
|
|
|
rows: 4,
|
|
|
|
|
columns: 4,
|
2021-09-09 15:10:22 +00:00
|
|
|
widgetName: "Skeleton",
|
|
|
|
|
version: 1,
|
|
|
|
|
},
|
|
|
|
|
properties: {
|
|
|
|
|
derived: SkeletonWidget.getDerivedPropertiesMap(),
|
|
|
|
|
default: SkeletonWidget.getDefaultPropertiesMap(),
|
|
|
|
|
meta: SkeletonWidget.getMetaPropertiesMap(),
|
|
|
|
|
config: SkeletonWidget.getPropertyPaneConfig(),
|
|
|
|
|
},
|
|
|
|
|
};
|
|
|
|
|
|
2020-10-21 04:25:32 +00:00
|
|
|
export interface SkeletonWidgetProps extends WidgetProps {
|
|
|
|
|
isLoading: boolean;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default SkeletonWidget;
|