matrix-dimension/src-ts/integrations/Widget.ts

29 lines
848 B
TypeScript
Raw Normal View History

import { Integration } from "./Integration";
import WidgetRecord from "../db/models/WidgetRecord";
export interface EtherpadWidgetOptions {
defaultUrl: string;
}
export interface JitsiWidgetOptions {
jitsiDomain: string;
scriptUrl: string;
}
export class Widget extends Integration {
public options: any;
constructor(widgetRecord: WidgetRecord) {
super(widgetRecord);
this.category = "widget";
this.options = widgetRecord.optionsJson ? JSON.parse(widgetRecord.optionsJson) : {};
this.requirements = [{
condition: "canSendEventTypes",
argument: [{isState: true, type: "im.vector.widget"}],
expectedValue: true,
}];
// Technically widgets are supported in encrypted rooms, although at risk.
this.isEncryptionSupported = true;
}
}