Plugin.js 1.0 KB

123456789101112131415161718192021222324252627
  1. import { __rest } from "tslib";
  2. import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
  3. import { useContext, useEffect } from "react";
  4. import { KrpanoRendererContext } from "../contexts";
  5. import { buildKrpanoAction, is121Version } from "../utils";
  6. export const Plugin = (_a) => {
  7. var { name } = _a, attribute = __rest(_a, ["name"]);
  8. const renderer = useContext(KrpanoRendererContext);
  9. useEffect(() => {
  10. if (!renderer)
  11. return;
  12. if (is121Version) {
  13. const arr = [];
  14. for (const key in attribute) {
  15. arr.push(`${key}=${attribute[key]}`);
  16. }
  17. renderer.call(buildKrpanoAction("addplugin", name, ...arr));
  18. return () => {
  19. renderer.call(buildKrpanoAction("removeplugin", name));
  20. };
  21. }
  22. else {
  23. renderer.tagAction.pushSyncTag("plugin", Object.assign(Object.assign({}, attribute), { name }));
  24. }
  25. }, [renderer, name, attribute]);
  26. return _jsx(_Fragment, {});
  27. };