Skip to content

Commit a3cf720

Browse files
committed
'AdaptiveCardHost' refactoring and fix DateInput
1 parent a47bc65 commit a3cf720

File tree

2 files changed

+24
-19
lines changed

2 files changed

+24
-19
lines changed

src/controls/adaptiveCardHost/AdaptiveCardHost.tsx

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -111,36 +111,38 @@ export const AdaptiveCardHost = (props: IAdaptiveCardHostProps) => {
111111
break;
112112
}
113113

114-
fluentUIThemeInstanceRef.current = convertFromPartialThemeToTheme(theme);
114+
let currentTheme = convertFromPartialThemeToTheme(theme);
115+
fluentUIThemeInstanceRef.current = currentTheme;
115116

116117
let hostConfig = props.hostConfig;
117118
if (!hostConfig) {
118119
switch (themeType) {
119120
case AdaptiveCardHostThemeType.SharePoint: {
120-
hostConfig = createSharePointHostConfig(fluentUIThemeInstanceRef.current);
121+
hostConfig = createSharePointHostConfig(currentTheme);
121122
}
122123
break;
123124
case AdaptiveCardHostThemeType.Teams: {
124-
hostConfig = createDefaultTeamsHostConfig(fluentUIThemeInstanceRef.current);
125+
hostConfig = createDefaultTeamsHostConfig(currentTheme);
125126
}
126127
break;
127128
case AdaptiveCardHostThemeType.TeamsDark: {
128-
hostConfig = createDarkTeamsHostConfig(fluentUIThemeInstanceRef.current);
129+
hostConfig = createDarkTeamsHostConfig(currentTheme);
129130
}
130131
break;
131132
case AdaptiveCardHostThemeType.TeamsHighContrast: {
132-
hostConfig = createHighContrastTeamsHostConfig(fluentUIThemeInstanceRef.current);
133+
hostConfig = createHighContrastTeamsHostConfig(currentTheme);
133134
}
134135
break;
135136
}
136137
}
137138

138-
adaptiveCardInstanceRef.current.hostConfig = new HostConfig(hostConfig);
139+
let currentHostConfig = new HostConfig(hostConfig);
140+
adaptiveCardInstanceRef.current.hostConfig = currentHostConfig;
139141

140-
setFluentUIThemeAsHostCapability(adaptiveCardInstanceRef.current.hostConfig, fluentUIThemeInstanceRef.current);
142+
setFluentUIThemeAsHostCapability(currentHostConfig, currentTheme);
141143

142144
if (props.onUpdateHostCapabilities) {
143-
props.onUpdateHostCapabilities(adaptiveCardInstanceRef.current.hostConfig.hostCapabilities);
145+
props.onUpdateHostCapabilities(currentHostConfig.hostCapabilities);
144146
}
145147

146148
setFluentUIThemeAsCSSVariables(
@@ -182,21 +184,22 @@ export const AdaptiveCardHost = (props: IAdaptiveCardHostProps) => {
182184
props.onSetCustomActions(actionRegistry);
183185
}
184186

185-
serializationContextInstanceRef.current.setElementRegistry(elementRegistry);
186-
serializationContextInstanceRef.current.setActionRegistry(actionRegistry);
187+
let currentSerializationContext = serializationContextInstanceRef.current;
188+
currentSerializationContext.setElementRegistry(elementRegistry);
189+
currentSerializationContext.setActionRegistry(actionRegistry);
187190

188191
}, [serializationContextInstanceRef.current]);
189192
// *****
190193

191194
// set Adaptive Card
192195
useEffect(() => {
193-
if (!renderElementRef.current) {
196+
let currentRenderElement = renderElementRef.current;
197+
198+
if (!currentRenderElement) {
194199
return;
195200
}
196201

197-
let adaptiveCard = adaptiveCardInstanceRef.current;
198-
let serializationContext = serializationContextInstanceRef.current;
199-
202+
let currentAdaptiveCard = adaptiveCardInstanceRef.current;
200203
try {
201204
let cardPayload;
202205
if (props.data) {
@@ -207,11 +210,11 @@ export const AdaptiveCardHost = (props: IAdaptiveCardHostProps) => {
207210
cardPayload = props.card;
208211
}
209212

210-
adaptiveCard.parse(cardPayload, serializationContext);
213+
currentAdaptiveCard.parse(cardPayload, serializationContextInstanceRef.current);
211214

212-
let renderedElement = adaptiveCard.render();
213-
renderElementRef.current.innerHTML = "";
214-
renderElementRef.current.appendChild(renderedElement);
215+
let renderedElement = currentAdaptiveCard.render();
216+
currentRenderElement.innerHTML = "";
217+
currentRenderElement.appendChild(renderedElement);
215218
} catch (cardRenderError) {
216219
if (props.onError) {
217220
props.onError(cardRenderError);

src/controls/adaptiveCardHost/fluentUI/Elements.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,9 @@ export class FluentUIDateInput extends Input {
341341

342342
public get value(): string | undefined {
343343
if (this._value) {
344-
return this._value.toISOString();
344+
const offset = this._value.getTimezoneOffset();
345+
let value = new Date(this._value.getTime() - (offset * 60 * 1000));
346+
return value.toISOString().split('T')[0];
345347
}
346348
else {
347349
return undefined;

0 commit comments

Comments
 (0)