UNPKG

@glimmer/component

Version:
33 lines 4.28 kB
import { capabilities } from '@glimmer/application'; import { setOwner, getOwner } from '@glimmer/di'; import BaseComponentManager from '../addon/-private/base-component-manager'; import { setDestroying, setDestroyed } from '../addon/-private/destroyables'; const CAPABILITIES = capabilities('3.13', { asyncLifecycleCallbacks: true, updateHook: true, destructor: true, }); /** * This component manager runs in Glimmer.js environments and extends the base component manager to: * * 1. Implement a lightweight destruction protocol (currently not deferred, like in Ember) * 2. Invoke legacy component lifecycle hooks (didInsertElement and didUpdate) */ export default class GlimmerComponentManager extends BaseComponentManager(setOwner, getOwner, CAPABILITIES) { destroyComponent(component) { setDestroying(component); component.willDestroy(); setDestroyed(component); } didCreateComponent(component) { component.didInsertElement(); } updateComponent() { } didUpdateComponent(component) { component.didUpdate(); } __glimmer__didRenderLayout(component, bounds) { component.bounds = bounds; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9jb21wb25lbnQvc3JjL2NvbXBvbmVudC1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRCxPQUFPLG9CQUFvQixNQUFNLDBDQUEwQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHN0UsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRTtJQUN4Qyx1QkFBdUIsRUFBRSxJQUFJO0lBQzdCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxJQUFJO0NBQ2pCLENBQUMsQ0FBQztBQUVIOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyx1QkFBd0IsU0FBUSxvQkFBb0IsQ0FDdkUsUUFBUSxFQUNSLFFBQVEsRUFDUixZQUFZLENBQ2I7SUFDQyxnQkFBZ0IsQ0FBQyxTQUEyQjtRQUMxQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekIsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsU0FBMkI7UUFDNUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGVBQWUsS0FBSyxDQUFDO0lBRXJCLGtCQUFrQixDQUFDLFNBQTJCO1FBQzVDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsMEJBQTBCLENBQUMsU0FBMkIsRUFBRSxNQUFjO1FBQ3BFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNhcGFiaWxpdGllcywgQm91bmRzIH0gZnJvbSAnQGdsaW1tZXIvYXBwbGljYXRpb24nO1xuaW1wb3J0IHsgc2V0T3duZXIsIGdldE93bmVyIH0gZnJvbSAnQGdsaW1tZXIvZGknO1xuXG5pbXBvcnQgQmFzZUNvbXBvbmVudE1hbmFnZXIgZnJvbSAnLi4vYWRkb24vLXByaXZhdGUvYmFzZS1jb21wb25lbnQtbWFuYWdlcic7XG5pbXBvcnQgeyBzZXREZXN0cm95aW5nLCBzZXREZXN0cm95ZWQgfSBmcm9tICcuLi9hZGRvbi8tcHJpdmF0ZS9kZXN0cm95YWJsZXMnO1xuaW1wb3J0IEdsaW1tZXJDb21wb25lbnQgZnJvbSAnLi9jb21wb25lbnQnO1xuXG5jb25zdCBDQVBBQklMSVRJRVMgPSBjYXBhYmlsaXRpZXMoJzMuMTMnLCB7XG4gIGFzeW5jTGlmZWN5Y2xlQ2FsbGJhY2tzOiB0cnVlLFxuICB1cGRhdGVIb29rOiB0cnVlLFxuICBkZXN0cnVjdG9yOiB0cnVlLFxufSk7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgbWFuYWdlciBydW5zIGluIEdsaW1tZXIuanMgZW52aXJvbm1lbnRzIGFuZCBleHRlbmRzIHRoZSBiYXNlIGNvbXBvbmVudCBtYW5hZ2VyIHRvOlxuICpcbiAqIDEuIEltcGxlbWVudCBhIGxpZ2h0d2VpZ2h0IGRlc3RydWN0aW9uIHByb3RvY29sIChjdXJyZW50bHkgbm90IGRlZmVycmVkLCBsaWtlIGluIEVtYmVyKVxuICogMi4gSW52b2tlIGxlZ2FjeSBjb21wb25lbnQgbGlmZWN5Y2xlIGhvb2tzIChkaWRJbnNlcnRFbGVtZW50IGFuZCBkaWRVcGRhdGUpXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdsaW1tZXJDb21wb25lbnRNYW5hZ2VyIGV4dGVuZHMgQmFzZUNvbXBvbmVudE1hbmFnZXIoXG4gIHNldE93bmVyLFxuICBnZXRPd25lcixcbiAgQ0FQQUJJTElUSUVTXG4pIHtcbiAgZGVzdHJveUNvbXBvbmVudChjb21wb25lbnQ6IEdsaW1tZXJDb21wb25lbnQpIHtcbiAgICBzZXREZXN0cm95aW5nKGNvbXBvbmVudCk7XG4gICAgY29tcG9uZW50LndpbGxEZXN0cm95KCk7XG4gICAgc2V0RGVzdHJveWVkKGNvbXBvbmVudCk7XG4gIH1cblxuICBkaWRDcmVhdGVDb21wb25lbnQoY29tcG9uZW50OiBHbGltbWVyQ29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50LmRpZEluc2VydEVsZW1lbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbXBvbmVudCgpIHsgfVxuXG4gIGRpZFVwZGF0ZUNvbXBvbmVudChjb21wb25lbnQ6IEdsaW1tZXJDb21wb25lbnQpIHtcbiAgICBjb21wb25lbnQuZGlkVXBkYXRlKCk7XG4gIH1cblxuICBfX2dsaW1tZXJfX2RpZFJlbmRlckxheW91dChjb21wb25lbnQ6IEdsaW1tZXJDb21wb25lbnQsIGJvdW5kczogQm91bmRzKSB7XG4gICAgY29tcG9uZW50LmJvdW5kcyA9IGJvdW5kcztcbiAgfVxufVxuIl19