initializer.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { DefaultViewer } from './viewer/defaultViewer';
  2. import { mapperManager } from './configuration/mappers';
  3. import { viewerGlobals, disableInit } from './';
  4. /**
  5. * Will attach an init function the the DOMContentLoaded event.
  6. * The init function will be removed automatically after the event was triggered.
  7. */
  8. export function initListeners() {
  9. document.addEventListener("DOMContentLoaded", init);
  10. function init(event) {
  11. document.removeEventListener("DOMContentLoaded", init);
  12. if (viewerGlobals.disableInit || disableInit) return;
  13. InitTags();
  14. }
  15. }
  16. /**
  17. * Select all HTML tags on the page that match the selector and initialize a viewer
  18. *
  19. * @param selector the selector to initialize the viewer on (default is 'babylon')
  20. */
  21. export function InitTags(selector: string = 'babylon') {
  22. let elements = document.querySelectorAll(selector);
  23. for (let i = 0; i < elements.length; ++i) {
  24. let element: HTMLElement = <HTMLElement>elements.item(i);
  25. // get the html configuration
  26. let configMapper = mapperManager.getMapper('dom');
  27. let config = configMapper.map(element);
  28. let viewer = new DefaultViewer(element, config);
  29. }
  30. }