Sha256: 64055651ff5c8728df45ca56375ae8654fa4e3c3a1b5ffbac31203e53f1367f9

Contents?: true

Size: 708 Bytes

Versions: 1

Compression:

Stored size: 708 Bytes

Contents

import { assign } from '@ember/polyfills';
import { addObserver } from '@ember/-internals/metal';
import EmberError from '@ember/error';
import { DEBUG } from '@glimmer/env';

import hasElement from './has_element';

const inDOM = Object.create(hasElement);

assign(inDOM, {
  enter(view) {
    // Register the view for event handling. This hash is used by
    // Ember.EventDispatcher to dispatch incoming events.
    view.renderer.register(view);

    if (DEBUG) {
      addObserver(view, 'elementId', () => {
        throw new EmberError("Changing a view's elementId after creation is not allowed");
      });
    }
  },

  exit(view) {
    view.renderer.unregister(view);
  },
});

export default inDOM;

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
discourse-ember-source-3.6.0.0 dist/es/@ember/-internals/views/lib/views/states/in_dom.js