@angular/core
Version:
Angular - the core framework
31 lines • 4.91 kB
JavaScript
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { EarlyEventContract } from './earlyeventcontract';
/**
* Provides a factory function for bootstrapping an event contract on a
* specified object (by default, exposed on the `window`).
* @param field The property on the object that the event contract will be placed on.
* @param container The container that listens to events
* @param appId A given identifier for an application. If there are multiple apps on the page
* then this is how contracts can be initialized for each one.
* @param eventTypes An array of event names that should be listened to.
* @param captureEventTypes An array of event names that should be listened to with capture.
* @param earlyJsactionTracker The object that should receive the event contract.
*/
export function bootstrapEarlyEventContract(field, container, appId, eventTypes, captureEventTypes, earlyJsactionTracker = window) {
if (!earlyJsactionTracker[field]) {
earlyJsactionTracker[field] = {};
}
earlyJsactionTracker[field][appId] = {};
const eventContract = new EarlyEventContract(earlyJsactionTracker[field][appId], container);
if (eventTypes)
eventContract.addEvents(eventTypes);
if (captureEventTypes)
eventContract.addEvents(captureEventTypes, true);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJfZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9wcmltaXRpdmVzL2V2ZW50LWRpc3BhdGNoL3NyYy9yZWdpc3Rlcl9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGtCQUFrQixFQUE2QixNQUFNLHNCQUFzQixDQUFDO0FBSXBGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLEtBQWEsRUFDYixTQUFzQixFQUN0QixLQUFhLEVBQ2IsVUFBcUIsRUFDckIsaUJBQTRCLEVBQzVCLHVCQUF5RSxNQUFxRTtJQUU5SSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN4QyxNQUFNLGFBQWEsR0FBRyxJQUFJLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVGLElBQUksVUFBVTtRQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsSUFBSSxpQkFBaUI7UUFBRSxhQUFhLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtFYXJseUV2ZW50Q29udHJhY3QsIEVhcmx5SnNhY3Rpb25EYXRhQ29udGFpbmVyfSBmcm9tICcuL2Vhcmx5ZXZlbnRjb250cmFjdCc7XG5cbmV4cG9ydCB0eXBlIEV2ZW50Q29udHJhY3RUcmFja2VyPFQ+ID0ge1trZXk6IHN0cmluZ106IHtbYXBwSWQ6IHN0cmluZ106IFR9fTtcblxuLyoqXG4gKiBQcm92aWRlcyBhIGZhY3RvcnkgZnVuY3Rpb24gZm9yIGJvb3RzdHJhcHBpbmcgYW4gZXZlbnQgY29udHJhY3Qgb24gYVxuICogc3BlY2lmaWVkIG9iamVjdCAoYnkgZGVmYXVsdCwgZXhwb3NlZCBvbiB0aGUgYHdpbmRvd2ApLlxuICogQHBhcmFtIGZpZWxkIFRoZSBwcm9wZXJ0eSBvbiB0aGUgb2JqZWN0IHRoYXQgdGhlIGV2ZW50IGNvbnRyYWN0IHdpbGwgYmUgcGxhY2VkIG9uLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgY29udGFpbmVyIHRoYXQgbGlzdGVucyB0byBldmVudHNcbiAqIEBwYXJhbSBhcHBJZCBBIGdpdmVuIGlkZW50aWZpZXIgZm9yIGFuIGFwcGxpY2F0aW9uLiBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgYXBwcyBvbiB0aGUgcGFnZVxuICogICAgICAgICAgICAgIHRoZW4gdGhpcyBpcyBob3cgY29udHJhY3RzIGNhbiBiZSBpbml0aWFsaXplZCBmb3IgZWFjaCBvbmUuXG4gKiBAcGFyYW0gZXZlbnRUeXBlcyBBbiBhcnJheSBvZiBldmVudCBuYW1lcyB0aGF0IHNob3VsZCBiZSBsaXN0ZW5lZCB0by5cbiAqIEBwYXJhbSBjYXB0dXJlRXZlbnRUeXBlcyBBbiBhcnJheSBvZiBldmVudCBuYW1lcyB0aGF0IHNob3VsZCBiZSBsaXN0ZW5lZCB0byB3aXRoIGNhcHR1cmUuXG4gKiBAcGFyYW0gZWFybHlKc2FjdGlvblRyYWNrZXIgVGhlIG9iamVjdCB0aGF0IHNob3VsZCByZWNlaXZlIHRoZSBldmVudCBjb250cmFjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJvb3RzdHJhcEVhcmx5RXZlbnRDb250cmFjdChcbiAgZmllbGQ6IHN0cmluZyxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgYXBwSWQ6IHN0cmluZyxcbiAgZXZlbnRUeXBlcz86IHN0cmluZ1tdLFxuICBjYXB0dXJlRXZlbnRUeXBlcz86IHN0cmluZ1tdLFxuICBlYXJseUpzYWN0aW9uVHJhY2tlcjogRXZlbnRDb250cmFjdFRyYWNrZXI8RWFybHlKc2FjdGlvbkRhdGFDb250YWluZXI+ID0gd2luZG93IGFzIHVua25vd24gYXMgRXZlbnRDb250cmFjdFRyYWNrZXI8RWFybHlKc2FjdGlvbkRhdGFDb250YWluZXI+LFxuKSB7XG4gIGlmICghZWFybHlKc2FjdGlvblRyYWNrZXJbZmllbGRdKSB7XG4gICAgZWFybHlKc2FjdGlvblRyYWNrZXJbZmllbGRdID0ge307XG4gIH1cbiAgZWFybHlKc2FjdGlvblRyYWNrZXJbZmllbGRdW2FwcElkXSA9IHt9O1xuICBjb25zdCBldmVudENvbnRyYWN0ID0gbmV3IEVhcmx5RXZlbnRDb250cmFjdChlYXJseUpzYWN0aW9uVHJhY2tlcltmaWVsZF1bYXBwSWRdLCBjb250YWluZXIpO1xuICBpZiAoZXZlbnRUeXBlcykgZXZlbnRDb250cmFjdC5hZGRFdmVudHMoZXZlbnRUeXBlcyk7XG4gIGlmIChjYXB0dXJlRXZlbnRUeXBlcykgZXZlbnRDb250cmFjdC5hZGRFdmVudHMoY2FwdHVyZUV2ZW50VHlwZXMsIHRydWUpO1xufVxuIl19