34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { IconApps, IconDeviceDesktopX } from "@tabler/icons-react";
|
|
|
|
import { createWidgetDefinition } from "../definition";
|
|
import { optionsBuilder } from "../options";
|
|
|
|
export const { definition, componentLoader } = createWidgetDefinition("app", {
|
|
icon: IconApps,
|
|
createOptions(settings) {
|
|
return optionsBuilder.from(
|
|
(factory) => ({
|
|
appId: factory.app(),
|
|
openInNewTab: factory.switch({ defaultValue: true }),
|
|
showTitle: factory.switch({ defaultValue: true }),
|
|
showDescriptionTooltip: factory.switch({ defaultValue: false }),
|
|
pingEnabled: factory.switch({ defaultValue: settings.enableStatusByDefault }),
|
|
}),
|
|
{
|
|
pingEnabled: {
|
|
shouldHide() {
|
|
return settings.forceDisableStatus;
|
|
},
|
|
},
|
|
},
|
|
);
|
|
},
|
|
errors: {
|
|
NOT_FOUND: {
|
|
icon: IconDeviceDesktopX,
|
|
message: (t) => t("widget.app.error.notFound.label"),
|
|
hideLogsLink: true,
|
|
},
|
|
},
|
|
}).withDynamicImport(() => import("./component"));
|