diff --git a/lerna.json b/lerna.json index ad99ad070..f7622040c 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.4.0", + "version": "1.5.0", "packages": [ "packages/*" ], diff --git a/package.json b/package.json index 3839f33ef..a3e85e104 100755 --- a/package.json +++ b/package.json @@ -28,10 +28,10 @@ "test:unit": "lerna run test --stream --concurrency 1", "test:git": "git diff --exit-code", "pack": "lerna run pack", - "versionup:auto": "lerna version --conventional-commits --no-push --no-git-tag-version --yes", - "versionup:patch": "lerna version patch --conventional-commits --no-push --no-git-tag-version --yes", - "versionup:minor": "lerna version minor --conventional-commits --no-push --no-git-tag-version --yes", - "versionup:major": "lerna version major --conventional-commits --no-push --no-git-tag-version --yes", + "versionup:auto": "lerna version --conventional-commits --no-changelog --no-push --no-git-tag-version --yes", + "versionup:patch": "lerna version patch --conventional-commits --no-changelog --no-push --no-git-tag-version --yes", + "versionup:minor": "lerna version minor --conventional-commits --no-changelog --no-push --no-git-tag-version --yes", + "versionup:major": "lerna version major --conventional-commits --no-changelog --no-push --no-git-tag-version --yes", "publishToNpm": "lerna publish from-package --no-verify-access --yes" }, "devDependencies": { diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index 4b0bc06ae..b0ef86638 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -3,6 +3,78 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# 1.5.0 (2022-07-09) + + +### Features + +* synchro-charts version updated to 5.0.0 + +* Added properties to the following components: + +IotBarChart: +* alarms +* axis +* gestures +* layout +* legend +* messageOverrides +* movement +* scale +* size +* trends + +IotKpi: +* messageOverrides + +IotLineChart: +* axis +* gestures +* layout +* legend +* messageOverrides +* movement +* scale +* size +* trends + +IotScatterChart: +* alarms +* axis +* gestures +* layout +* legend +* messageOverrides +* movement +* scale +* size +* trends + +IotStatusGrid: +* labelsConfig + +IotStatusTimeline: +* alarms +* annotations +* axis +* gestures +* layout +* messageOverrides +* movement +* scale +* size + +IotTable: +* messageOverrides +* trends + +### Fixes + +* integration tests asset model and asset summary mocks updated to return current response. + + + + # 1.4.0 (2022-06-09) diff --git a/packages/components/cypress/snapshots/integration/iot-bar-chart/iot-bar-chart.spec.component.ts/bar chart -- renders.snap.png b/packages/components/cypress/snapshots/integration/iot-bar-chart/iot-bar-chart.spec.component.ts/bar chart -- renders.snap.png index 457385292..14f0ea9b1 100644 Binary files a/packages/components/cypress/snapshots/integration/iot-bar-chart/iot-bar-chart.spec.component.ts/bar chart -- renders.snap.png and b/packages/components/cypress/snapshots/integration/iot-bar-chart/iot-bar-chart.spec.component.ts/bar chart -- renders.snap.png differ diff --git a/packages/components/package.json b/packages/components/package.json index 17eddf3b9..d18645758 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "1.4.0", + "version": "1.5.0", "description": "IoT App Kit Components", "main": "dist/index.cjs.js", "module": "dist/custom-elements/index.js", @@ -41,11 +41,11 @@ "@awsui/collection-hooks": "^1.0.0", "@awsui/components-react": "^3.0.0", "@awsui/design-tokens": "^3.0.0", - "@iot-app-kit/core": "^1.4.0", - "@iot-app-kit/related-table": "^1.4.0", - "@iot-app-kit/source-iotsitewise": "^1.4.0", + "@iot-app-kit/core": "^1.5.0", + "@iot-app-kit/related-table": "^1.5.0", + "@iot-app-kit/source-iotsitewise": "^1.5.0", "@stencil/core": "^2.7.0", - "@synchro-charts/core": "^4.0.1", + "@synchro-charts/core": "^5.0.0", "styled-components": "^5.3.0" }, "devDependencies": { diff --git a/packages/components/src/components.d.ts b/packages/components/src/components.d.ts index 94fed0bab..bedd8542e 100644 --- a/packages/components/src/components.d.ts +++ b/packages/components/src/components.d.ts @@ -5,8 +5,8 @@ * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "@stencil/core/internal"; -import { Annotations, TableColumn } from "@synchro-charts/core"; import { Provider, StyleSettingsMap, TimeQuery, TimeSeriesData, TimeSeriesDataRequest, TimeSeriesDataRequestSettings, TreeQuery, Viewport } from "@iot-app-kit/core"; +import { AlarmsConfig, Annotations, Axis, LabelsConfig, LayoutConfig, LegendConfig, MessageOverrides, MinimalSizeConfig, MovementConfig, ScaleConfig, TableColumn, Trend } from "@synchro-charts/core"; import { BranchReference, SiteWiseAssetTreeNode } from "@iot-app-kit/source-iotsitewise"; import { ColumnDefinition, FilterTexts } from "./components/iot-resource-explorer/types"; import { TableProps } from "@awsui/components-react/table"; @@ -14,17 +14,28 @@ import { EmptyStateProps, ITreeNode, UseTreeCollection } from "@iot-app-kit/rela import { NonCancelableCustomEvent } from "@awsui/components-react"; export namespace Components { interface IotBarChart { + "alarms"?: AlarmsConfig; "annotations": Annotations; + "axis"?: Axis.Options; + "gestures"?: boolean; "isEditing": boolean | undefined; + "layout"?: LayoutConfig; + "legend"?: LegendConfig; + "messageOverrides"?: MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings": TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings": StyleSettingsMap | undefined; + "trends": Trend[]; "viewport": Viewport; "widgetId": string; } interface IotKpi { "annotations": Annotations; "isEditing": boolean | undefined; + "messageOverrides"?: MessageOverrides; "queries": TimeQuery[]; "settings": TimeSeriesDataRequestSettings; "styleSettings": StyleSettingsMap | undefined; @@ -33,10 +44,19 @@ export namespace Components { } interface IotLineChart { "annotations": Annotations; + "axis": Axis.Options; + "gestures"?: boolean; "isEditing": boolean | undefined; + "layout"?: LayoutConfig; + "legend"?: LegendConfig; + "messageOverrides": MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings": TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings": StyleSettingsMap | undefined; + "trends": Trend[]; "viewport": Viewport; "widgetId": string; } @@ -58,17 +78,28 @@ export namespace Components { interface IotResourceExplorerDemo { } interface IotScatterChart { + "alarms"?: AlarmsConfig; "annotations": Annotations; + "axis"?: Axis.Options; + "gestures"?: boolean; "isEditing": boolean | undefined; + "layout"?: LayoutConfig; + "legend"?: LegendConfig; + "messageOverrides"?: MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings": TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings": StyleSettingsMap | undefined; + "trends": Trend[]; "viewport": Viewport; "widgetId": string; } interface IotStatusGrid { "annotations": Annotations; "isEditing": boolean | undefined; + "labelsConfig": LabelsConfig; "queries": TimeQuery[]; "settings": TimeSeriesDataRequestSettings; "styleSettings": StyleSettingsMap | undefined; @@ -76,20 +107,30 @@ export namespace Components { "widgetId": string; } interface IotStatusTimeline { - "annotations": Annotations; + "alarms"?: AlarmsConfig; + "annotations"?: Annotations; + "axis"?: Axis.Options; + "gestures"?: boolean; "isEditing": boolean | undefined; + "layout"?: LayoutConfig; + "messageOverrides"?: MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings": TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings": StyleSettingsMap | undefined; "viewport": Viewport; "widgetId": string; } interface IotTable { "annotations": Annotations; + "messageOverrides"?: MessageOverrides; "queries": TimeQuery[]; "settings": TimeSeriesDataRequestSettings; "styleSettings": StyleSettingsMap | undefined; "tableColumns": TableColumn[]; + "trends": Trend[]; "viewport": Viewport; "widgetId": string; } @@ -239,17 +280,28 @@ declare global { } declare namespace LocalJSX { interface IotBarChart { + "alarms"?: AlarmsConfig; "annotations"?: Annotations; + "axis"?: Axis.Options; + "gestures"?: boolean; "isEditing"?: boolean | undefined; + "layout"?: LayoutConfig; + "legend"?: LegendConfig; + "messageOverrides"?: MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings"?: TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings"?: StyleSettingsMap | undefined; + "trends"?: Trend[]; "viewport": Viewport; "widgetId"?: string; } interface IotKpi { "annotations"?: Annotations; "isEditing"?: boolean | undefined; + "messageOverrides"?: MessageOverrides; "queries": TimeQuery[]; "settings"?: TimeSeriesDataRequestSettings; "styleSettings"?: StyleSettingsMap | undefined; @@ -258,10 +310,19 @@ declare namespace LocalJSX { } interface IotLineChart { "annotations"?: Annotations; + "axis"?: Axis.Options; + "gestures"?: boolean; "isEditing"?: boolean | undefined; + "layout"?: LayoutConfig; + "legend"?: LegendConfig; + "messageOverrides"?: MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings"?: TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings"?: StyleSettingsMap | undefined; + "trends"?: Trend[]; "viewport": Viewport; "widgetId"?: string; } @@ -283,17 +344,28 @@ declare namespace LocalJSX { interface IotResourceExplorerDemo { } interface IotScatterChart { + "alarms"?: AlarmsConfig; "annotations"?: Annotations; + "axis"?: Axis.Options; + "gestures"?: boolean; "isEditing"?: boolean | undefined; + "layout"?: LayoutConfig; + "legend"?: LegendConfig; + "messageOverrides"?: MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings"?: TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings"?: StyleSettingsMap | undefined; + "trends"?: Trend[]; "viewport": Viewport; "widgetId"?: string; } interface IotStatusGrid { "annotations"?: Annotations; "isEditing"?: boolean | undefined; + "labelsConfig"?: LabelsConfig; "queries": TimeQuery[]; "settings"?: TimeSeriesDataRequestSettings; "styleSettings"?: StyleSettingsMap | undefined; @@ -301,20 +373,30 @@ declare namespace LocalJSX { "widgetId"?: string; } interface IotStatusTimeline { + "alarms"?: AlarmsConfig; "annotations"?: Annotations; + "axis"?: Axis.Options; + "gestures"?: boolean; "isEditing"?: boolean | undefined; + "layout"?: LayoutConfig; + "messageOverrides"?: MessageOverrides; + "movement"?: MovementConfig; "queries": TimeQuery[]; + "scale"?: ScaleConfig; "settings"?: TimeSeriesDataRequestSettings; + "size"?: MinimalSizeConfig; "styleSettings"?: StyleSettingsMap | undefined; "viewport": Viewport; "widgetId"?: string; } interface IotTable { "annotations"?: Annotations; + "messageOverrides"?: MessageOverrides; "queries": TimeQuery[]; "settings"?: TimeSeriesDataRequestSettings; "styleSettings"?: StyleSettingsMap | undefined; "tableColumns"?: TableColumn[]; + "trends"?: Trend[]; "viewport": Viewport; "widgetId"?: string; } diff --git a/packages/components/src/components/iot-bar-chart/iot-bar-chart.tsx b/packages/components/src/components/iot-bar-chart/iot-bar-chart.tsx index 5c7682e73..0ed113f0f 100644 --- a/packages/components/src/components/iot-bar-chart/iot-bar-chart.tsx +++ b/packages/components/src/components/iot-bar-chart/iot-bar-chart.tsx @@ -1,6 +1,18 @@ import { Component, Prop, h, Listen, State, Watch } from '@stencil/core'; import { v4 as uuidv4 } from 'uuid'; -import { Annotations, DataStream as SynchroChartsDataStream } from '@synchro-charts/core'; +import { + AlarmsConfig, + Annotations, + Axis, + DataStream as SynchroChartsDataStream, + LayoutConfig, + LegendConfig, + MessageOverrides, + MinimalSizeConfig, + MovementConfig, + ScaleConfig, + Trend, +} from '@synchro-charts/core'; import { TimeSeriesDataRequestSettings, StyleSettingsMap, @@ -20,16 +32,23 @@ const DAY_IN_MS = HOUR_IN_MS * 24; shadow: false, }) export class IotBarChart { - @Prop() annotations: Annotations; - - @Prop() queries!: TimeQuery[]; - @Prop() viewport!: Viewport; + @Prop() movement?: MovementConfig; + @Prop() scale?: ScaleConfig; + @Prop() layout?: LayoutConfig; + @Prop() legend?: LegendConfig; + @Prop() size?: MinimalSizeConfig; + @Prop() widgetId: string = uuidv4(); + @Prop() queries!: TimeQuery[]; + @Prop() alarms?: AlarmsConfig; + @Prop() gestures?: boolean; + @Prop() annotations: Annotations; + @Prop() trends: Trend[]; + @Prop() axis?: Axis.Options; + @Prop() messageOverrides?: MessageOverrides; @Prop() settings: TimeSeriesDataRequestSettings = {}; - @Prop() widgetId: string = uuidv4(); - @Prop() isEditing: boolean | undefined; @Prop() styleSettings: StyleSettingsMap | undefined; @@ -84,11 +103,20 @@ export class IotBarChart { assignDefaultColors renderFunc={({ dataStreams }) => ( )} /> diff --git a/packages/components/src/components/iot-kpi/iot-kpi.tsx b/packages/components/src/components/iot-kpi/iot-kpi.tsx index 909183d29..7e16314e3 100644 --- a/packages/components/src/components/iot-kpi/iot-kpi.tsx +++ b/packages/components/src/components/iot-kpi/iot-kpi.tsx @@ -1,5 +1,5 @@ import { Component, Prop, h, State, Listen, Watch } from '@stencil/core'; -import { Annotations, DataStream as SynchroChartsDataStream } from '@synchro-charts/core'; +import { Annotations, DataStream as SynchroChartsDataStream, MessageOverrides } from '@synchro-charts/core'; import { StyleSettingsMap, TimeSeriesDataRequestSettings, @@ -33,6 +33,8 @@ export class IotKpi { @State() provider: ProviderWithViewport; + @Prop() messageOverrides?: MessageOverrides; + private defaultSettings: TimeSeriesDataRequestSettings = { resolution: '0', fetchMostRecentBeforeEnd: true, @@ -81,6 +83,7 @@ export class IotKpi { viewport={this.viewport} isEditing={this.isEditing} widgetId={this.widgetId} + messageOverrides={this.messageOverrides} /> )} /> diff --git a/packages/components/src/components/iot-line-chart/iot-line-chart.tsx b/packages/components/src/components/iot-line-chart/iot-line-chart.tsx index bba398f26..dee65b86d 100644 --- a/packages/components/src/components/iot-line-chart/iot-line-chart.tsx +++ b/packages/components/src/components/iot-line-chart/iot-line-chart.tsx @@ -1,5 +1,16 @@ import { Component, Prop, h, Listen, State, Watch } from '@stencil/core'; -import { Annotations, DataStream as SynchroChartsDataStream } from '@synchro-charts/core'; +import { + Annotations, + Axis, + DataStream as SynchroChartsDataStream, + LayoutConfig, + LegendConfig, + MessageOverrides, + MinimalSizeConfig, + MovementConfig, + ScaleConfig, + Trend, +} from '@synchro-charts/core'; import { StyleSettingsMap, TimeSeriesDataRequestSettings, @@ -17,18 +28,25 @@ import { v4 as uuidv4 } from 'uuid'; shadow: false, }) export class IotLineChart { + @Prop() widgetId: string = uuidv4(); + @Prop() viewport!: Viewport; + @Prop() size?: MinimalSizeConfig; + @Prop() movement?: MovementConfig; + @Prop() scale?: ScaleConfig; + @Prop() layout?: LayoutConfig; + @Prop() legend?: LegendConfig; @Prop() annotations: Annotations; + @Prop() axis: Axis.Options; + @Prop() messageOverrides: MessageOverrides; + @Prop() trends: Trend[]; - @Prop() queries!: TimeQuery[]; + @Prop() gestures?: boolean; + @Prop() isEditing: boolean | undefined; - @Prop() viewport!: Viewport; + @Prop() queries!: TimeQuery[]; @Prop() settings: TimeSeriesDataRequestSettings = {}; - @Prop() widgetId: string = uuidv4(); - - @Prop() isEditing: boolean | undefined; - @Prop() styleSettings: StyleSettingsMap | undefined; @State() provider: ProviderWithViewport; @@ -78,11 +96,20 @@ export class IotLineChart { renderFunc={({ dataStreams }) => { return ( ); }} diff --git a/packages/components/src/components/iot-scatter-chart/iot-scatter-chart.tsx b/packages/components/src/components/iot-scatter-chart/iot-scatter-chart.tsx index c853162a6..1c67e71b0 100644 --- a/packages/components/src/components/iot-scatter-chart/iot-scatter-chart.tsx +++ b/packages/components/src/components/iot-scatter-chart/iot-scatter-chart.tsx @@ -1,5 +1,17 @@ import { Component, Prop, h, Listen, State, Watch } from '@stencil/core'; -import { Annotations, DataStream as SynchroChartsDataStream } from '@synchro-charts/core'; +import { + AlarmsConfig, + Annotations, + Axis, + DataStream as SynchroChartsDataStream, + LayoutConfig, + LegendConfig, + MessageOverrides, + MinimalSizeConfig, + MovementConfig, + ScaleConfig, + Trend, +} from '@synchro-charts/core'; import { StyleSettingsMap, TimeSeriesDataRequestSettings, @@ -18,6 +30,16 @@ import { v4 as uuidv4 } from 'uuid'; }) export class IotScatterChart { @Prop() annotations: Annotations; + @Prop() movement?: MovementConfig; + @Prop() scale?: ScaleConfig; + @Prop() layout?: LayoutConfig; + @Prop() legend?: LegendConfig; + @Prop() size?: MinimalSizeConfig; + @Prop() alarms?: AlarmsConfig; + @Prop() gestures?: boolean; + @Prop() trends: Trend[]; + @Prop() axis?: Axis.Options; + @Prop() messageOverrides?: MessageOverrides; @Prop() queries!: TimeQuery[]; @@ -82,6 +104,16 @@ export class IotScatterChart { viewport={this.viewport} isEditing={this.isEditing} widgetId={this.widgetId} + movement={this.movement} + scale={this.scale} + layout={this.layout} + legend={this.legend} + size={this.size} + alarms={this.alarms} + gestures={this.gestures} + trends={this.trends} + axis={this.axis} + messageOverrides={this.messageOverrides} /> ); }} diff --git a/packages/components/src/components/iot-status-grid/iot-status-grid.tsx b/packages/components/src/components/iot-status-grid/iot-status-grid.tsx index aa9e3b6d0..df8c989b8 100644 --- a/packages/components/src/components/iot-status-grid/iot-status-grid.tsx +++ b/packages/components/src/components/iot-status-grid/iot-status-grid.tsx @@ -1,5 +1,5 @@ import { Component, Prop, h, State, Listen, Watch } from '@stencil/core'; -import { Annotations, DataStream as SynchroChartsDataStream } from '@synchro-charts/core'; +import { Annotations, DataStream as SynchroChartsDataStream, LabelsConfig } from '@synchro-charts/core'; import { StyleSettingsMap, TimeSeriesDataRequestSettings, @@ -33,6 +33,8 @@ export class IotStatusGrid { @State() provider: ProviderWithViewport; + @Prop() labelsConfig: LabelsConfig; + private defaultSettings: TimeSeriesDataRequestSettings = { resolution: '0', fetchMostRecentBeforeEnd: true, @@ -81,6 +83,7 @@ export class IotStatusGrid { viewport={this.viewport} isEditing={this.isEditing} widgetId={this.widgetId} + labelsConfig={this.labelsConfig} /> )} /> diff --git a/packages/components/src/components/iot-status-timeline/iot-status-timeline.tsx b/packages/components/src/components/iot-status-timeline/iot-status-timeline.tsx index 685706120..f7e5cf69c 100644 --- a/packages/components/src/components/iot-status-timeline/iot-status-timeline.tsx +++ b/packages/components/src/components/iot-status-timeline/iot-status-timeline.tsx @@ -1,5 +1,15 @@ import { Component, Prop, h, Listen, State, Watch } from '@stencil/core'; -import { Annotations, DataStream as SynchroChartsDataStream } from '@synchro-charts/core'; +import { + AlarmsConfig, + Annotations, + Axis, + DataStream as SynchroChartsDataStream, + LayoutConfig, + MessageOverrides, + MinimalSizeConfig, + MovementConfig, + ScaleConfig, +} from '@synchro-charts/core'; import { StyleSettingsMap, TimeSeriesDataRequestSettings, @@ -17,7 +27,15 @@ import { v4 as uuidv4 } from 'uuid'; shadow: false, }) export class IotStatusTimeline { - @Prop() annotations: Annotations; + @Prop() annotations?: Annotations; + @Prop() axis?: Axis.Options; + @Prop() messageOverrides?: MessageOverrides; + @Prop() alarms?: AlarmsConfig; + @Prop() gestures?: boolean; + @Prop() movement?: MovementConfig; + @Prop() scale?: ScaleConfig; + @Prop() layout?: LayoutConfig; + @Prop() size?: MinimalSizeConfig; @Prop() queries!: TimeQuery[]; @@ -83,6 +101,14 @@ export class IotStatusTimeline { viewport={this.viewport} isEditing={this.isEditing} widgetId={this.widgetId} + gestures={this.gestures} + movement={this.movement} + scale={this.scale} + layout={this.layout} + size={this.size} + axis={this.axis} + messageOverrides={this.messageOverrides} + alarms={this.alarms} /> )} /> diff --git a/packages/components/src/components/iot-table/iot-table.tsx b/packages/components/src/components/iot-table/iot-table.tsx index 881a76a8f..92497c44b 100644 --- a/packages/components/src/components/iot-table/iot-table.tsx +++ b/packages/components/src/components/iot-table/iot-table.tsx @@ -1,5 +1,11 @@ import { Component, Prop, h, State, Listen, Watch } from '@stencil/core'; -import { Annotations, DataStream as SynchroChartsDataStream, TableColumn } from '@synchro-charts/core'; +import { + Annotations, + DataStream as SynchroChartsDataStream, + MessageOverrides, + TableColumn, + Trend, +} from '@synchro-charts/core'; import { StyleSettingsMap, TimeSeriesDataRequestSettings, @@ -19,6 +25,10 @@ import { v4 as uuidv4 } from 'uuid'; export class IotTable { @Prop() annotations: Annotations; + @Prop() messageOverrides?: MessageOverrides; + + @Prop() trends: Trend[]; + @Prop() tableColumns: TableColumn[]; @Prop() queries!: TimeQuery[]; @@ -81,6 +91,8 @@ export class IotTable { annotations={this.annotations} viewport={this.viewport} widgetId={this.widgetId} + messageOverrides={this.messageOverrides} + trends={this.trends} /> )} /> diff --git a/packages/components/src/integration/iot-bar-chart/iot-bar-chart.spec.component.ts b/packages/components/src/integration/iot-bar-chart/iot-bar-chart.spec.component.ts index c7d9feff9..9519310d4 100644 --- a/packages/components/src/integration/iot-bar-chart/iot-bar-chart.spec.component.ts +++ b/packages/components/src/integration/iot-bar-chart/iot-bar-chart.spec.component.ts @@ -1,6 +1,8 @@ import { renderChart } from '../../testing/renderChart'; import { mockGetAggregatedOrRawResponse } from '../../testing/mocks/mockGetAggregatedOrRawResponse'; import { mockGetAssetSummary } from '../../testing/mocks/mockGetAssetSummaries'; +import { ScaleConfig, ScaleType } from '@synchro-charts/core'; +import { mockGetAssetModelSummary } from '../../testing/mocks/mockGetAssetModelSummary'; const SECOND_IN_MS = 1000; @@ -8,7 +10,7 @@ const snapshotOptions = { clip: { x: 0, y: 0, width: 400, height: 500 }, }; -describe.skip('bar chart', () => { +describe('bar chart', () => { const assetId = 'some-asset-id'; const assetModelId = 'some-asset-model-id'; @@ -21,18 +23,62 @@ describe.skip('bar chart', () => { resolution: req.query.resolution as string, }) ); - }); + }).as('getAggregates'); cy.intercept(`/assets/${assetId}`, (req) => { - req.reply(mockGetAssetSummary({ assetModelId, id: assetId })); - }); + req.reply(mockGetAssetSummary({ assetModelId, assetId })); + }).as('getAssetSummary'); + + cy.intercept(`/asset-models/${assetModelId}`, (req) => { + req.reply(mockGetAssetModelSummary({ assetModelId })); + }).as('getAssetModels'); }); it('renders', () => { renderChart({ chartType: 'iot-bar-chart', settings: { resolution: '1m' } }); - cy.wait(SECOND_IN_MS * 2); + cy.wait(['@getAggregates', '@getAssetSummary', '@getAssetModels']); cy.matchImageSnapshot(snapshotOptions); }); + + it('renders passes all props to synchro-charts', () => { + const props = { + widgetId: '123', + viewport: { duration: '5m' }, + size: { width: 10, height: 10 }, + movement: { enableXScroll: true, enableYScroll: false, zoomMax: 10, zoomMin: 0 }, + scale: { + xScaleType: ScaleType.TimeSeries, + yScaleType: ScaleType.TimeSeries, + xScaleSide: 'top', + yScaleSide: 'left', + } as ScaleConfig, + layout: { + xTicksVisible: true, + yTicksVisible: true, + xGridVisible: true, + yGridVisible: true, + }, + gestures: true, + annotations: { show: true, thresholdOptions: true, colorDataAcrossThresholds: true }, + isEditing: false, + trends: [], + messageOverrides: {}, + axis: { labels: { yAxis: { content: 'yAxis' } } }, + }; + + renderChart({ chartType: 'iot-bar-chart', settings: { resolution: '1m' }, ...props }); + + cy.wait(SECOND_IN_MS * 2); + + cy.get('sc-bar-chart').should((e) => { + const [chart] = e.get(); + (Object.keys(props) as Array).forEach((prop) => { + const value = chart[prop as keyof HTMLScBarChartElement]; + const passedInValue = props[prop]; + expect(value).to.deep.equal(passedInValue); + }); + }); + }); }); diff --git a/packages/components/src/integration/iot-connector/iot-connector.spec.component.ts b/packages/components/src/integration/iot-connector/iot-connector.spec.component.ts index ebba42c3f..56c6aeb77 100644 --- a/packages/components/src/integration/iot-connector/iot-connector.spec.component.ts +++ b/packages/components/src/integration/iot-connector/iot-connector.spec.component.ts @@ -1,6 +1,7 @@ import { renderChart, testChartContainerClassNameSelector } from '../../testing/renderChart'; import { mockGetAggregatedOrRawResponse } from '../../testing/mocks/mockGetAggregatedOrRawResponse'; import { mockGetAssetSummary } from '../../testing/mocks/mockGetAssetSummaries'; +import { mockGetAssetModelSummary } from '../../testing/mocks/mockGetAssetModelSummary'; const SECOND_IN_MS = 1000; @@ -49,17 +50,21 @@ describe('handles gestures', () => { }) ); } - }); + }).as('getAggregates'); cy.intercept(`/assets/${assetId}`, (req) => { - req.reply(mockGetAssetSummary({ assetModelId, id: assetId })); - }); + req.reply(mockGetAssetSummary({ assetModelId, assetId })); + }).as('getAssetSummary'); + + cy.intercept(`/asset-models/${assetModelId}`, (req) => { + req.reply(mockGetAssetModelSummary({ assetModelId })); + }).as('getAssetModels'); }); it('zooms in and out', () => { renderChart(); - cy.wait(SECOND_IN_MS * 2); + cy.wait(['@getAggregates', '@getAssetSummary', '@getAssetModels']); cy.get(testChartContainerClassNameSelector).dblclick(); diff --git a/packages/components/src/integration/iot-kpi/iot-kpi.spec.component.ts b/packages/components/src/integration/iot-kpi/iot-kpi.spec.component.ts index 4579c7c03..4234880f5 100644 --- a/packages/components/src/integration/iot-kpi/iot-kpi.spec.component.ts +++ b/packages/components/src/integration/iot-kpi/iot-kpi.spec.component.ts @@ -1,6 +1,7 @@ import { renderChart } from '../../testing/renderChart'; import { mockLatestValueResponse } from '../../testing/mocks/mockGetAggregatedOrRawResponse'; import { mockGetAssetSummary } from '../../testing/mocks/mockGetAssetSummaries'; +import { mockGetAssetModelSummary } from '../../testing/mocks/mockGetAssetModelSummary'; const SECOND_IN_MS = 1000; @@ -15,18 +16,45 @@ describe('kpi', () => { before(() => { cy.intercept('/properties/latest?*', (req) => { req.reply(mockLatestValueResponse()); - }); + }).as('getAggregates'); cy.intercept(`/assets/${assetId}`, (req) => { - req.reply(mockGetAssetSummary({ assetModelId, id: assetId })); - }); + req.reply(mockGetAssetSummary({ assetModelId, assetId })); + }).as('getAssetSummary'); + + cy.intercept(`/asset-models/${assetModelId}`, (req) => { + req.reply(mockGetAssetModelSummary({ assetModelId })); + }).as('getAssetModels'); }); it('renders', () => { renderChart({ chartType: 'iot-kpi', settings: { resolution: '0' }, viewport: { duration: '1m' } }); - cy.wait(SECOND_IN_MS * 2); + cy.wait(['@getAggregates', '@getAssetSummary', '@getAssetModels']); cy.matchImageSnapshot(snapshotOptions); }); + + it('renders passes all props to synchro-charts', () => { + const props = { + widgetId: '123', + viewport: { duration: '5m' }, + annotations: { show: true, thresholdOptions: true, colorDataAcrossThresholds: true }, + isEditing: false, + messageOverrides: {}, + }; + + renderChart({ chartType: 'iot-kpi', settings: { resolution: '0' }, ...props }); + + cy.wait(SECOND_IN_MS * 2); + + cy.get('sc-kpi').should((e) => { + const [chart] = e.get(); + (Object.keys(props) as Array).forEach((prop) => { + const value = chart[prop as keyof HTMLScKpiElement]; + const passedInValue = props[prop]; + expect(value).to.deep.equal(passedInValue); + }); + }); + }); }); diff --git a/packages/components/src/integration/iot-line-chart/iot-line-chart.spec.component.ts b/packages/components/src/integration/iot-line-chart/iot-line-chart.spec.component.ts index 4ca44c163..697d12778 100644 --- a/packages/components/src/integration/iot-line-chart/iot-line-chart.spec.component.ts +++ b/packages/components/src/integration/iot-line-chart/iot-line-chart.spec.component.ts @@ -1,6 +1,8 @@ import { renderChart } from '../../testing/renderChart'; import { mockGetAggregatedOrRawResponse } from '../../testing/mocks/mockGetAggregatedOrRawResponse'; import { mockGetAssetSummary } from '../../testing/mocks/mockGetAssetSummaries'; +import { ScaleConfig, ScaleType } from '@synchro-charts/core'; +import { mockGetAssetModelSummary } from '../../testing/mocks/mockGetAssetModelSummary'; const SECOND_IN_MS = 1000; @@ -31,18 +33,62 @@ describe('line chart', () => { }) ); } - }); + }).as('getAggregates'); cy.intercept(`/assets/${assetId}`, (req) => { - req.reply(mockGetAssetSummary({ assetModelId, id: assetId })); - }); + req.reply(mockGetAssetSummary({ assetModelId, assetId })); + }).as('getAssetSummary'); + + cy.intercept(`/asset-models/${assetModelId}`, (req) => { + req.reply(mockGetAssetModelSummary({ assetModelId })); + }).as('getAssetModels'); }); it('renders', () => { renderChart({ chartType: 'iot-line-chart' }); - cy.wait(SECOND_IN_MS * 2); + cy.wait(['@getAggregates', '@getAssetSummary', '@getAssetModels']); cy.matchImageSnapshot(snapshotOptions); }); + + it('renders passes all props to synchro-charts', () => { + const props = { + widgetId: '123', + viewport: { duration: '5m' }, + size: { width: 10, height: 10 }, + movement: { enableXScroll: true, enableYScroll: false, zoomMax: 10, zoomMin: 0 }, + scale: { + xScaleType: ScaleType.TimeSeries, + yScaleType: ScaleType.TimeSeries, + xScaleSide: 'top', + yScaleSide: 'left', + } as ScaleConfig, + layout: { + xTicksVisible: true, + yTicksVisible: true, + xGridVisible: true, + yGridVisible: true, + }, + gestures: true, + annotations: { show: true, thresholdOptions: true, colorDataAcrossThresholds: true }, + isEditing: false, + trends: [], + messageOverrides: {}, + axis: { labels: { yAxis: { content: 'yAxis' } } }, + }; + + renderChart({ chartType: 'iot-line-chart', ...props }); + + cy.wait(SECOND_IN_MS * 2); + + cy.get('sc-line-chart').should((e) => { + const [chart] = e.get(); + (Object.keys(props) as Array).forEach((prop) => { + const value = chart[prop as keyof HTMLScLineChartElement]; + const passedInValue = props[prop]; + expect(value).to.deep.equal(passedInValue); + }); + }); + }); }); diff --git a/packages/components/src/integration/iot-scatter-chart/iot-scatter-chart.spec.component.ts b/packages/components/src/integration/iot-scatter-chart/iot-scatter-chart.spec.component.ts index 8d55eac48..e5643a166 100644 --- a/packages/components/src/integration/iot-scatter-chart/iot-scatter-chart.spec.component.ts +++ b/packages/components/src/integration/iot-scatter-chart/iot-scatter-chart.spec.component.ts @@ -1,6 +1,8 @@ import { renderChart } from '../../testing/renderChart'; import { mockGetAggregatedOrRawResponse } from '../../testing/mocks/mockGetAggregatedOrRawResponse'; import { mockGetAssetSummary } from '../../testing/mocks/mockGetAssetSummaries'; +import { ScaleConfig, ScaleType } from '@synchro-charts/core'; +import { mockGetAssetModelSummary } from '../../testing/mocks/mockGetAssetModelSummary'; const SECOND_IN_MS = 1000; @@ -21,18 +23,62 @@ describe('scatter chart', () => { resolution: req.query.resolution as string, }) ); - }); + }).as('getAggregates'); cy.intercept(`/assets/${assetId}`, (req) => { - req.reply(mockGetAssetSummary({ assetModelId, id: assetId })); - }); + req.reply(mockGetAssetSummary({ assetModelId, assetId })); + }).as('getAssetSummary'); + + cy.intercept(`/asset-models/${assetModelId}`, (req) => { + req.reply(mockGetAssetModelSummary({ assetModelId })); + }).as('getAssetModels'); }); it('renders', () => { renderChart({ chartType: 'iot-scatter-chart' }); - cy.wait(SECOND_IN_MS * 2); + cy.wait(['@getAggregates', '@getAssetSummary', '@getAssetModels']); cy.matchImageSnapshot(snapshotOptions); }); + + it('renders passes all props to synchro-charts', () => { + const props = { + widgetId: '123', + viewport: { duration: '5m' }, + size: { width: 10, height: 10 }, + movement: { enableXScroll: true, enableYScroll: false, zoomMax: 10, zoomMin: 0 }, + scale: { + xScaleType: ScaleType.TimeSeries, + yScaleType: ScaleType.TimeSeries, + xScaleSide: 'top', + yScaleSide: 'left', + } as ScaleConfig, + layout: { + xTicksVisible: true, + yTicksVisible: true, + xGridVisible: true, + yGridVisible: true, + }, + gestures: true, + annotations: { show: true, thresholdOptions: true, colorDataAcrossThresholds: true }, + isEditing: false, + trends: [], + messageOverrides: {}, + axis: { labels: { yAxis: { content: 'yAxis' } } }, + }; + + renderChart({ chartType: 'iot-scatter-chart', ...props }); + + cy.wait(SECOND_IN_MS * 2); + + cy.get('sc-scatter-chart').should((e) => { + const [chart] = e.get(); + (Object.keys(props) as Array).forEach((prop) => { + const value = chart[prop as keyof HTMLScScatterChartElement]; + const passedInValue = props[prop]; + expect(value).to.deep.equal(passedInValue); + }); + }); + }); }); diff --git a/packages/components/src/integration/iot-status-grid/iot-status-grid.spec.component.ts b/packages/components/src/integration/iot-status-grid/iot-status-grid.spec.component.ts index a3cece237..92b6609a7 100644 --- a/packages/components/src/integration/iot-status-grid/iot-status-grid.spec.component.ts +++ b/packages/components/src/integration/iot-status-grid/iot-status-grid.spec.component.ts @@ -2,6 +2,7 @@ import { renderChart } from '../../testing/renderChart'; import { mockLatestValueResponse } from '../../testing/mocks/mockGetAggregatedOrRawResponse'; import { mockGetAssetSummary } from '../../testing/mocks/mockGetAssetSummaries'; import { COMPARISON_OPERATOR } from '@synchro-charts/core'; +import { mockGetAssetModelSummary } from '../../testing/mocks/mockGetAssetModelSummary'; const SECOND_IN_MS = 1000; @@ -16,11 +17,15 @@ describe('status grid', () => { before(() => { cy.intercept('/properties/latest?*', (req) => { req.reply(mockLatestValueResponse()); - }); + }).as('getAggregates'); cy.intercept(`/assets/${assetId}`, (req) => { - req.reply(mockGetAssetSummary({ assetModelId, id: assetId })); - }); + req.reply(mockGetAssetSummary({ assetModelId, assetId })); + }).as('getAssetSummary'); + + cy.intercept(`/asset-models/${assetModelId}`, (req) => { + req.reply(mockGetAssetModelSummary({ assetModelId })); + }).as('getAssetModels'); }); it('renders', () => { @@ -31,8 +36,34 @@ describe('status grid', () => { annotations: { y: [{ color: '#FF0000', comparisonOperator: COMPARISON_OPERATOR.GREATER_THAN, value: 25 }] }, }); - cy.wait(SECOND_IN_MS * 2); + cy.wait(['@getAggregates', '@getAssetSummary', '@getAssetModels']); cy.matchImageSnapshot(snapshotOptions); }); + + it('renders passes all props to synchro-charts', () => { + const props = { + widgetId: '123', + viewport: { duration: '1m' }, + annotations: { y: [{ color: '#FF0000', comparisonOperator: COMPARISON_OPERATOR.GREATER_THAN, value: 25 }] }, + isEditing: false, + }; + + renderChart({ + chartType: 'iot-status-grid', + settings: { resolution: '0' }, + ...props, + }); + + cy.wait(SECOND_IN_MS * 2); + + cy.get('sc-status-grid').should((e) => { + const [chart] = e.get(); + (Object.keys(props) as Array).forEach((prop) => { + const value = chart[prop as keyof HTMLScStatusGridElement]; + const passedInValue = props[prop]; + expect(value).to.deep.equal(passedInValue); + }); + }); + }); }); diff --git a/packages/components/src/integration/iot-status-timeline/iot-status-timeline.spec.component.ts b/packages/components/src/integration/iot-status-timeline/iot-status-timeline.spec.component.ts index 395b5d1c0..e3d57cf9e 100644 --- a/packages/components/src/integration/iot-status-timeline/iot-status-timeline.spec.component.ts +++ b/packages/components/src/integration/iot-status-timeline/iot-status-timeline.spec.component.ts @@ -2,6 +2,7 @@ import { renderChart } from '../../testing/renderChart'; import { mockGetAggregatedOrRawResponse } from '../../testing/mocks/mockGetAggregatedOrRawResponse'; import { mockGetAssetSummary } from '../../testing/mocks/mockGetAssetSummaries'; import { COMPARISON_OPERATOR } from '@synchro-charts/core'; +import { mockGetAssetModelSummary } from '../../testing/mocks/mockGetAssetModelSummary'; const SECOND_IN_MS = 1000; @@ -32,11 +33,15 @@ describe('status timeline', () => { }) ); } - }); + }).as('getAggregates'); cy.intercept(`/assets/${assetId}`, (req) => { - req.reply(mockGetAssetSummary({ assetModelId, id: assetId })); - }); + req.reply(mockGetAssetSummary({ assetModelId, assetId })); + }).as('getAssetSummary'); + + cy.intercept(`/asset-models/${assetModelId}`, (req) => { + req.reply(mockGetAssetModelSummary({ assetModelId })); + }).as('getAssetModels'); }); it('renders', () => { @@ -46,8 +51,34 @@ describe('status timeline', () => { annotations: { y: [{ color: '#FF0000', comparisonOperator: COMPARISON_OPERATOR.GREATER_THAN, value: 26 }] }, }); - cy.wait(SECOND_IN_MS * 2); + cy.wait(['@getAggregates', '@getAssetSummary', '@getAssetModels']); cy.matchImageSnapshot(snapshotOptions); }); + + it('renders passes all props to synchro-charts', () => { + const props = { + widgetId: '123', + viewport: { duration: '1m' }, + annotations: { y: [{ color: '#FF0000', comparisonOperator: COMPARISON_OPERATOR.GREATER_THAN, value: 26 }] }, + isEditing: false, + }; + + renderChart({ + chartType: 'iot-status-timeline', + settings: { resolution: '0' }, + ...props, + }); + + cy.wait(SECOND_IN_MS * 2); + + cy.get('sc-status-timeline').should((e) => { + const [chart] = e.get(); + (Object.keys(props) as Array).forEach((prop) => { + const value = chart[prop as keyof HTMLScStatusTimelineElement]; + const passedInValue = props[prop]; + expect(value).to.deep.equal(passedInValue); + }); + }); + }); }); diff --git a/packages/components/src/testing/mocks/mockGetAssetModelSummary.ts b/packages/components/src/testing/mocks/mockGetAssetModelSummary.ts new file mode 100644 index 000000000..86de72add --- /dev/null +++ b/packages/components/src/testing/mocks/mockGetAssetModelSummary.ts @@ -0,0 +1,23 @@ +import { DescribeAssetModelResponse } from '@aws-sdk/client-iotsitewise'; + +export const mockGetAssetModelSummary = ( + assetSummary: Partial = {} +): DescribeAssetModelResponse => ({ + assetModelId: 'some-asset-model-id', + assetModelName: 'some-asset-model-name', + assetModelDescription: undefined, + assetModelCreationDate: undefined, + assetModelLastUpdateDate: undefined, + assetModelStatus: undefined, + assetModelHierarchies: [], + assetModelArn: undefined, + assetModelProperties: [ + { + dataType: 'DOUBLE', + id: 'some-property-id', + name: 'Asset Name', + type: undefined, + }, + ], + ...assetSummary, +}); diff --git a/packages/components/src/testing/mocks/mockGetAssetSummaries.ts b/packages/components/src/testing/mocks/mockGetAssetSummaries.ts index 2266e75ed..5fd87dd86 100644 --- a/packages/components/src/testing/mocks/mockGetAssetSummaries.ts +++ b/packages/components/src/testing/mocks/mockGetAssetSummaries.ts @@ -1,13 +1,20 @@ -import { AssetSummary } from '@aws-sdk/client-iotsitewise'; +import { DescribeAssetResponse } from '@aws-sdk/client-iotsitewise'; -export const mockGetAssetSummary = (assetSummary: Partial = {}): AssetSummary => ({ - id: 'some-asset-id', - name: 'some-asset-summary-name', +export const mockGetAssetSummary = (assetSummary: Partial = {}): DescribeAssetResponse => ({ + assetId: 'some-asset-id', + assetName: 'some-asset-summary-name', assetModelId: 'some-asset-model-id', - creationDate: undefined, - lastUpdateDate: undefined, - status: undefined, - hierarchies: [], - arn: undefined, + assetCreationDate: undefined, + assetLastUpdateDate: undefined, + assetStatus: undefined, + assetHierarchies: [], + assetArn: undefined, + assetProperties: [ + { + id: 'some-property-id', + name: 'Asset Name', + dataType: 'DOUBLE', + }, + ], ...assetSummary, }); diff --git a/packages/components/src/testing/renderChart.tsx b/packages/components/src/testing/renderChart.tsx index dce1c80f7..7288fba22 100644 --- a/packages/components/src/testing/renderChart.tsx +++ b/packages/components/src/testing/renderChart.tsx @@ -9,7 +9,18 @@ import { TimeSeriesDataRequestSettings, } from '@iot-app-kit/core'; import { initialize } from '@iot-app-kit/source-iotsitewise'; -import { MinimalViewPortConfig, Annotations } from '@synchro-charts/core'; +import { + MinimalViewPortConfig, + Annotations, + MinimalSizeConfig, + Trend, + ScaleConfig, + MovementConfig, + MessageOverrides, + LayoutConfig, + LegendConfig, + Axis, +} from '@synchro-charts/core'; import { MINUTE_IN_MS } from '@iot-app-kit/core/src/common/time'; // eslint-disable-next-line @typescript-eslint/no-var-requires const { defineCustomElements } = require('@iot-app-kit/components/loader'); @@ -61,6 +72,17 @@ export const renderChart = ( settings = defaultSettings, styleSettings, annotations, + widgetId, + size, + trends, + scale, + movement, + messageOverrides, + layout, + legend, + isEditing, + gestures, + axis, }: { chartType?: string; queries?: TimeQuery[]; @@ -68,6 +90,17 @@ export const renderChart = ( settings?: TimeSeriesDataRequestSettings; styleSettings?: StyleSettingsMap; annotations?: Annotations; + widgetId?: string; + size?: MinimalSizeConfig; + trends?: Trend[]; + scale?: ScaleConfig; + movement?: MovementConfig; + messageOverrides?: MessageOverrides; + layout?: LayoutConfig; + legend?: LegendConfig; + isEditing?: boolean; + gestures?: boolean; + axis?: Axis.Options; } = { chartType: defaultChartType, queries: defaultQueries, @@ -83,7 +116,24 @@ export const renderChart = ( }, render: function () { const containerProps = { class: testChartContainerClassName, style: { width: '400px', height: '500px' } }; - const chartProps: any = { queries, viewport, settings, styleSettings, annotations }; + const chartProps: any = { + queries, + viewport, + settings, + styleSettings, + annotations, + widgetId, + size, + trends, + scale, + movement, + messageOverrides, + layout, + legend, + isEditing, + gestures, + axis, + }; return (
diff --git a/packages/core/package.json b/packages/core/package.json index 32c502f80..404ea6dbf 100755 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -4,7 +4,7 @@ "publishConfig": { "access": "public" }, - "version": "1.4.0", + "version": "1.5.0", "description": "IoT Application Kit core", "main": "./dist/index.cj.js", "module": "./dist/index.js", @@ -34,7 +34,7 @@ "@aws-sdk/client-iotsitewise": "^3.39.0", "@aws-sdk/credential-providers": "^3.39.0", "@rollup/plugin-typescript": "^8.3.0", - "@synchro-charts/core": "^4.0.1", + "@synchro-charts/core": "^5.0.0", "d3-array": "^2.3.2", "flush-promises": "^1.0.2", "intervals-fn": "^3.0.3", diff --git a/packages/react-components/package.json b/packages/react-components/package.json index 9406715d8..af027d79d 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -5,7 +5,7 @@ "access": "public" }, "sideEffects": false, - "version": "1.4.0", + "version": "1.5.0", "description": "React specific wrapper for IoT Application Kit", "author": { "name": "Amazon Web Services", @@ -41,7 +41,7 @@ "typescript": "^3.3.4000" }, "dependencies": { - "@iot-app-kit/components": "^1.4.0" + "@iot-app-kit/components": "^1.5.0" }, "peerDependencies": { "react": "^17.0.2", diff --git a/packages/related-table/package.json b/packages/related-table/package.json index a59cecf51..b800a7d83 100644 --- a/packages/related-table/package.json +++ b/packages/related-table/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "1.4.0", + "version": "1.5.0", "description": "IoT Application Kit - Related Table component", "license": "Apache-2.0", "main": "dist/index.js", diff --git a/packages/source-iotsitewise/CHANGELOG.md b/packages/source-iotsitewise/CHANGELOG.md index 8e39fbb2c..e6a6bde06 100644 --- a/packages/source-iotsitewise/CHANGELOG.md +++ b/packages/source-iotsitewise/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# 1.5.0 (2022-07-09) + + +### Features + +* synchro-charts version updated to 5.0.0 + + + + # 1.4.0 (2022-06-09) diff --git a/packages/source-iotsitewise/package.json b/packages/source-iotsitewise/package.json index 46c0b1d14..4c97afe3c 100644 --- a/packages/source-iotsitewise/package.json +++ b/packages/source-iotsitewise/package.json @@ -3,7 +3,7 @@ "publishConfig": { "access": "public" }, - "version": "1.4.0", + "version": "1.5.0", "description": "AWS IoT SiteWise source for IoT Application Kit", "homepage": "https://github.com/awslabs/iot-app-kit#readme", "license": "Apache-2.0", @@ -38,9 +38,9 @@ }, "dependencies": { "@aws-sdk/client-iotsitewise": "^3.39.0", - "@iot-app-kit/core": "^1.4.0", + "@iot-app-kit/core": "^1.5.0", "@rollup/plugin-typescript": "^8.3.0", - "@synchro-charts/core": "^4.0.1", + "@synchro-charts/core": "^5.0.0", "flush-promises": "^1.0.2", "rxjs": "^7.4.0", "typescript": "4.4.4"