@fundamental-ngx/cdk 0.41.1-rc.1 → 0.41.1-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/utils/toast/base-toast-positions.mjs +1 -1
- package/esm2020/utils/toast/base-toast.service.mjs +61 -45
- package/esm2020/utils/toast/classes/base-toast-ref.mjs +5 -1
- package/fesm2015/fundamental-ngx-cdk-utils.mjs +64 -44
- package/fesm2015/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-cdk-utils.mjs +64 -44
- package/fesm2020/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/fundamental-ngx-cdk-v0.41.1-rc.3.tgz +0 -0
- package/package.json +2 -2
- package/utils/toast/base-toast-positions.d.ts +9 -2
- package/utils/toast/base-toast.service.d.ts +7 -3
- package/utils/toast/classes/base-toast-ref.d.ts +4 -0
- package/fundamental-ngx-cdk-v0.41.1-rc.1.tgz +0 -0
|
@@ -105,4 +105,4 @@ export class ToastBottomRightPosition extends ToastBottomCenterPosition {
|
|
|
105
105
|
ToastBottomRightPosition.global = { ...ToastBottomCenterPosition.global, ...{ right: '1rem', center: false } };
|
|
106
106
|
/** @hidden */
|
|
107
107
|
ToastBottomRightPosition.connected = toastConnectedBottomRightPosition;
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1wb3NpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL3RvYXN0L2Jhc2UtdG9hc3QtcG9zaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWVBLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFzQjtJQUN4RCxPQUFPLEVBQUUsUUFBUTtJQUNqQixPQUFPLEVBQUUsUUFBUTtJQUNqQixRQUFRLEVBQUUsUUFBUTtJQUNsQixRQUFRLEVBQUUsS0FBSztJQUNmLE9BQU8sRUFBRSxFQUFFO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFzQjtJQUM1RCxHQUFHLHlCQUF5QjtJQUM1QixHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO0NBQzdDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBc0I7SUFDN0QsR0FBRyx5QkFBeUI7SUFDNUIsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtDQUN6QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQXNCO0lBQzNELE9BQU8sRUFBRSxRQUFRO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUMsRUFBRTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBc0I7SUFDL0QsR0FBRyw0QkFBNEI7SUFDL0IsR0FBRyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRTtDQUM3QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQXNCO0lBQ2hFLEdBQUcsNEJBQTRCO0lBQy9CLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7Q0FDekMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixpQkFBaUI7Q0FjdEM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjs7QUFDekQsY0FBYztBQUNQLDZCQUFNLEdBQXdCO0lBQ2pDLEdBQUcsRUFBRSxNQUFNO0lBQ1gsTUFBTSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBQ0YsY0FBYztBQUNQLGdDQUFTLEdBQXNCLHlCQUF5QixDQUFDO0FBR3BFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCOztBQUM1RCxjQUFjO0FBQ1AsZ0NBQU0sR0FBd0I7SUFDakMsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFDRixjQUFjO0FBQ1AsbUNBQVMsR0FBc0IsNEJBQTRCLENBQUM7QUFHdkU7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxzQkFBc0I7O0FBQzVELGNBQWM7QUFDRSwyQkFBTSxHQUFHLEVBQUUsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7QUFDbEcsY0FBYztBQUNFLDhCQUFTLEdBQXNCLDZCQUE2QixDQUFDO0FBR2pGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCOztBQUM3RCxjQUFjO0FBQ0UsNEJBQU0sR0FBRyxFQUFFLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0FBQ25HLGNBQWM7QUFDRSwrQkFBUyxHQUFzQiw4QkFBOEIsQ0FBQztBQUdsRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLHlCQUF5Qjs7QUFDbEUsY0FBYztBQUNFLDhCQUFNLEdBQUcsRUFBRSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUNyRyxjQUFjO0FBQ0UsaUNBQVMsR0FBRyxnQ0FBZ0MsQ0FBQztBQUdqRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHlCQUF5Qjs7QUFDbkUsY0FBYztBQUNFLCtCQUFNLEdBQUcsRUFBRSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztBQUN0RyxjQUFjO0FBQ0Usa0NBQVMsR0FBRyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBTY3JvbGxTdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuZXhwb3J0IGludGVyZmFjZSBUb2FzdEdsb2JhbFBvc2l0aW9uIHtcbiAgICBsZWZ0Pzogc3RyaW5nO1xuICAgIHJpZ2h0Pzogc3RyaW5nO1xuICAgIGJvdHRvbT86IHN0cmluZztcbiAgICB0b3A/OiBzdHJpbmc7XG4gICAgY2VudGVyOiBib29sZWFuO1xuICAgIGNlbnRlclZlcnRpY2FsbHk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0R2xvYmFsQ29ubmVjdGVkUG9zaXRpb24gZXh0ZW5kcyBDb25uZWN0ZWRQb3NpdGlvbiB7XG4gICAgYm91bmRUbzogSFRNTEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgIG9mZnNldFk6IDE2XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRUb3BMZWZ0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgIC4uLnRvYXN0Q29ubmVjdGVkVG9wUG9zaXRpb24sXG4gICAgLi4ueyBvdmVybGF5WDogJ3N0YXJ0Jywgb3JpZ2luWDogJ3N0YXJ0JyB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRUb3BSaWdodFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAuLi50b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uLFxuICAgIC4uLnsgb3ZlcmxheVg6ICdlbmQnLCBvcmlnaW5YOiAnZW5kJyB9XG59O1xuXG5leHBvcnQgY29uc3QgdG9hc3RDb25uZWN0ZWRCb3R0b21Qb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICBvZmZzZXRZOiAtMTZcbn07XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZEJvdHRvbUxlZnRQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgLi4udG9hc3RDb25uZWN0ZWRCb3R0b21Qb3NpdGlvbixcbiAgICAuLi57IG92ZXJsYXlYOiAnc3RhcnQnLCBvcmlnaW5YOiAnc3RhcnQnIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b2FzdENvbm5lY3RlZEJvdHRvbVJpZ2h0UG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgIC4uLnRvYXN0Q29ubmVjdGVkQm90dG9tUG9zaXRpb24sXG4gICAgLi4ueyBvdmVybGF5WDogJ2VuZCcsIG9yaWdpblg6ICdlbmQnIH1cbn07XG5cbi8qKlxuICogQmFzZSBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb2FzdFBvc2l0aW9uIHtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBzdHJhdGVneSBvZiB0aGUgZmlyc3QgaXRlbS5cbiAgICAgKi9cbiAgICBnbG9iYWwhOiBUb2FzdEdsb2JhbFBvc2l0aW9uIHwgVG9hc3RHbG9iYWxDb25uZWN0ZWRQb3NpdGlvbjtcbiAgICAvKipcbiAgICAgKiBQb3NpdGlvbiBzdHJhdGVneSBvZiB0aGUgbmV3bHkgYWRkZWQgaXRlbXMuXG4gICAgICovXG4gICAgY29ubmVjdGVkITogQ29ubmVjdGVkUG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBTY3JvbGwgc3RyYXRlZ3kuIFVzZWQgd2hlbiBnbG9iYWwgcG9zaXRpb24gaXMgYm91bmQgdG8gc29tZSBIVE1MIGVsZW1lbnQgb24gdGhlIHBhZ2UuXG4gICAgICovXG4gICAgc2Nyb2xsUG9zaXRpb24/OiBTY3JvbGxTdHJhdGVneTtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIHRvcC1jZW50ZXIgb2YgdGhlIHNjcmVlbi5cbiAqIE5ldyBpdGVtcyB3aWxsIHN0YWNrIGFmdGVyIHRoZSBmaXJzdCBpdGVtLlxuICovXG5leHBvcnQgY2xhc3MgVG9hc3RUb3BDZW50ZXJQb3NpdGlvbiBleHRlbmRzIEJhc2VUb2FzdFBvc2l0aW9uIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHN0YXRpYyBnbG9iYWw6IFRvYXN0R2xvYmFsUG9zaXRpb24gPSB7XG4gICAgICAgIHRvcDogJzFyZW0nLFxuICAgICAgICBjZW50ZXI6IHRydWVcbiAgICB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIGNvbm5lY3RlZDogQ29ubmVjdGVkUG9zaXRpb24gPSB0b2FzdENvbm5lY3RlZFRvcFBvc2l0aW9uO1xufVxuXG4vKipcbiAqIFRvYXN0IFBvc2l0aW9uIGNsYXNzLlxuICogVGhlIGZpcnN0IGl0ZW0gd2lsbCBwb3AgZnJvbSB0aGUgYm90dG9tLWNlbnRlciBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYmVmb3JlIGZpcnN0IGl0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBUb2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uIGV4dGVuZHMgQmFzZVRvYXN0UG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIGdsb2JhbDogVG9hc3RHbG9iYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgYm90dG9tOiAnMXJlbScsXG4gICAgICAgIGNlbnRlcjogdHJ1ZVxuICAgIH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgY29ubmVjdGVkOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHRvYXN0Q29ubmVjdGVkQm90dG9tUG9zaXRpb247XG59XG5cbi8qKlxuICogVG9hc3QgUG9zaXRpb24gY2xhc3MuXG4gKiBUaGUgZmlyc3QgaXRlbSB3aWxsIHBvcCBmcm9tIHRoZSB0b3AtbGVmdCBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYWZ0ZXIgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0VG9wTGVmdFBvc2l0aW9uIGV4dGVuZHMgVG9hc3RUb3BDZW50ZXJQb3NpdGlvbiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgZ2xvYmFsID0geyAuLi5Ub2FzdFRvcENlbnRlclBvc2l0aW9uLmdsb2JhbCwgLi4ueyBsZWZ0OiAnMXJlbScsIGNlbnRlcjogZmFsc2UgfSB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGNvbm5lY3RlZDogQ29ubmVjdGVkUG9zaXRpb24gPSB0b2FzdENvbm5lY3RlZFRvcExlZnRQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIHRvcC1yaWdodCBvZiB0aGUgc2NyZWVuLlxuICogTmV3IGl0ZW1zIHdpbGwgc3RhY2sgYWZ0ZXIgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0VG9wUmlnaHRQb3NpdGlvbiBleHRlbmRzIFRvYXN0VG9wQ2VudGVyUG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGdsb2JhbCA9IHsgLi4uVG9hc3RUb3BDZW50ZXJQb3NpdGlvbi5nbG9iYWwsIC4uLnsgcmlnaHQ6ICcxcmVtJywgY2VudGVyOiBmYWxzZSB9IH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgY29ubmVjdGVkOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHRvYXN0Q29ubmVjdGVkVG9wUmlnaHRQb3NpdGlvbjtcbn1cblxuLyoqXG4gKiBUb2FzdCBQb3NpdGlvbiBjbGFzcy5cbiAqIFRoZSBmaXJzdCBpdGVtIHdpbGwgcG9wIGZyb20gdGhlIGJvdHRvbS1sZWZ0IG9mIHRoZSBzY3JlZW4uXG4gKiBOZXcgaXRlbXMgd2lsbCBzdGFjayBiZWZvcmUgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0Qm90dG9tTGVmdFBvc2l0aW9uIGV4dGVuZHMgVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbiB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgZ2xvYmFsID0geyAuLi5Ub2FzdEJvdHRvbUNlbnRlclBvc2l0aW9uLmdsb2JhbCwgLi4ueyBsZWZ0OiAnMXJlbScsIGNlbnRlcjogZmFsc2UgfSB9O1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGNvbm5lY3RlZCA9IHRvYXN0Q29ubmVjdGVkQm90dG9tTGVmdFBvc2l0aW9uO1xufVxuXG4vKipcbiAqIFRvYXN0IFBvc2l0aW9uIGNsYXNzLlxuICogVGhlIGZpcnN0IGl0ZW0gd2lsbCBwb3AgZnJvbSB0aGUgYm90dG9tLXJpZ2h0IG9mIHRoZSBzY3JlZW4uXG4gKiBOZXcgaXRlbXMgd2lsbCBzdGFjayBiZWZvcmUgZmlyc3QgaXRlbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFRvYXN0Qm90dG9tUmlnaHRQb3NpdGlvbiBleHRlbmRzIFRvYXN0Qm90dG9tQ2VudGVyUG9zaXRpb24ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc3RhdGljIG92ZXJyaWRlIGdsb2JhbCA9IHsgLi4uVG9hc3RCb3R0b21DZW50ZXJQb3NpdGlvbi5nbG9iYWwsIC4uLnsgcmlnaHQ6ICcxcmVtJywgY2VudGVyOiBmYWxzZSB9IH07XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzdGF0aWMgb3ZlcnJpZGUgY29ubmVjdGVkID0gdG9hc3RDb25uZWN0ZWRCb3R0b21SaWdodFBvc2l0aW9uO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
2
2
|
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
3
3
|
import { Injectable, Injector, TemplateRef } from '@angular/core';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
@@ -16,7 +16,7 @@ export class BaseToastService {
|
|
|
16
16
|
*/
|
|
17
17
|
this._toasts = [];
|
|
18
18
|
/**
|
|
19
|
-
* @
|
|
19
|
+
* @hidden
|
|
20
20
|
*/
|
|
21
21
|
this._toastsMap = new Map();
|
|
22
22
|
/** @hidden */
|
|
@@ -59,10 +59,11 @@ export class BaseToastService {
|
|
|
59
59
|
_attach(content, userConfig) {
|
|
60
60
|
const config = { ...this.defaultConfig, ...userConfig };
|
|
61
61
|
const positionStrategy = config.positionStrategy || this.toastPositionStrategy;
|
|
62
|
-
const
|
|
63
|
-
const containerRef = this.attachToastContainerComponent(
|
|
64
|
-
const toastRef = this.getToastRef(containerRef,
|
|
62
|
+
const { overlay, isAnchor } = this._createOverlay(positionStrategy);
|
|
63
|
+
const containerRef = this.attachToastContainerComponent(overlay, config);
|
|
64
|
+
const toastRef = this.getToastRef(containerRef, overlay, positionStrategy);
|
|
65
65
|
toastRef._defaultPositionStrategy = !config.positionStrategy;
|
|
66
|
+
toastRef._isAnchor = isAnchor;
|
|
66
67
|
if (content instanceof TemplateRef) {
|
|
67
68
|
// TemplatePortal requires viewContainer ref
|
|
68
69
|
const viewRef = null;
|
|
@@ -101,7 +102,7 @@ export class BaseToastService {
|
|
|
101
102
|
/**
|
|
102
103
|
* Creates an injector to be used inside a Toast component.
|
|
103
104
|
* @param config Config that was used to create the Toast.
|
|
104
|
-
* @param toastRef Reference to the
|
|
105
|
+
* @param toastRef Reference to the Toast.
|
|
105
106
|
*/
|
|
106
107
|
createContentComponentInjector(config, toastRef) {
|
|
107
108
|
return Injector.create({
|
|
@@ -138,9 +139,11 @@ export class BaseToastService {
|
|
|
138
139
|
*/
|
|
139
140
|
_createOverlay(positionStrategy) {
|
|
140
141
|
const overlayConfig = new OverlayConfig();
|
|
141
|
-
overlayConfig.
|
|
142
|
+
overlayConfig.scrollStrategy = positionStrategy.scrollPosition || this.overlay.scrollStrategies.reposition();
|
|
143
|
+
const { position, isAnchor } = this._getPositionStrategy(positionStrategy);
|
|
144
|
+
overlayConfig.positionStrategy = position;
|
|
142
145
|
overlayConfig.panelClass = 'fd-toast-overlay';
|
|
143
|
-
return this.overlay.create(overlayConfig);
|
|
146
|
+
return { overlay: this.overlay.create(overlayConfig), isAnchor };
|
|
144
147
|
}
|
|
145
148
|
/**
|
|
146
149
|
* @hidden
|
|
@@ -148,14 +151,14 @@ export class BaseToastService {
|
|
|
148
151
|
*/
|
|
149
152
|
_getPositionStrategy(positionStrategy) {
|
|
150
153
|
const lastOverlay = this._getLastToastWithSamePosition(positionStrategy);
|
|
151
|
-
const globalOverlay = this._toastsMap.get(positionStrategy)?.find((
|
|
152
|
-
const config = toast.overlayRef.getConfig();
|
|
153
|
-
return config.positionStrategy instanceof GlobalPositionStrategy;
|
|
154
|
-
});
|
|
154
|
+
const globalOverlay = this._toastsMap.get(positionStrategy)?.find(({ _isAnchor }) => _isAnchor);
|
|
155
155
|
if (lastOverlay && globalOverlay) {
|
|
156
|
-
return
|
|
156
|
+
return {
|
|
157
|
+
position: this._composeFlexibleConnectedPosition(lastOverlay.overlayRef.overlayElement, positionStrategy),
|
|
158
|
+
isAnchor: false
|
|
159
|
+
};
|
|
157
160
|
}
|
|
158
|
-
return this._composeGlobalPosition(positionStrategy);
|
|
161
|
+
return { position: this._composeGlobalPosition(positionStrategy), isAnchor: true };
|
|
159
162
|
}
|
|
160
163
|
/**
|
|
161
164
|
* @hidden
|
|
@@ -168,6 +171,7 @@ export class BaseToastService {
|
|
|
168
171
|
/**
|
|
169
172
|
* @hidden
|
|
170
173
|
* @param connectedElm element to connect with.
|
|
174
|
+
* @param positionStrategy Position Strategy
|
|
171
175
|
* @returns Flexible Connected Position Strategy for Overlay Reference.
|
|
172
176
|
*/
|
|
173
177
|
_composeFlexibleConnectedPosition(connectedElm, positionStrategy) {
|
|
@@ -183,31 +187,41 @@ export class BaseToastService {
|
|
|
183
187
|
* @returns Default Global Position for Overlay Reference.
|
|
184
188
|
*/
|
|
185
189
|
_composeGlobalPosition(positionStrategy) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
190
|
+
let position;
|
|
191
|
+
if (this._isBoundGlobalPosition(positionStrategy.global)) {
|
|
192
|
+
position = this.overlay
|
|
193
|
+
.position()
|
|
194
|
+
.flexibleConnectedTo(positionStrategy.global.boundTo)
|
|
195
|
+
.withPositions([positionStrategy.global])
|
|
196
|
+
.withPush(false);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
position = this.overlay.position().global();
|
|
200
|
+
const globalToastPositionStrategy = positionStrategy.global;
|
|
201
|
+
for (const [pos, value] of Object.entries(globalToastPositionStrategy)) {
|
|
202
|
+
switch (pos) {
|
|
203
|
+
case 'left':
|
|
204
|
+
position.left(value);
|
|
205
|
+
break;
|
|
206
|
+
case 'right':
|
|
207
|
+
position.right(value);
|
|
208
|
+
break;
|
|
209
|
+
case 'bottom':
|
|
210
|
+
position.bottom(value);
|
|
211
|
+
break;
|
|
212
|
+
case 'top':
|
|
213
|
+
position.top(value);
|
|
214
|
+
break;
|
|
215
|
+
case 'center':
|
|
216
|
+
position.centerHorizontally();
|
|
217
|
+
break;
|
|
218
|
+
case 'centerVertically':
|
|
219
|
+
position.centerVertically();
|
|
220
|
+
break;
|
|
221
|
+
}
|
|
208
222
|
}
|
|
209
223
|
}
|
|
210
|
-
return
|
|
224
|
+
return position;
|
|
211
225
|
}
|
|
212
226
|
/** @hidden */
|
|
213
227
|
_refreshOverlayPositions() {
|
|
@@ -227,32 +241,34 @@ export class BaseToastService {
|
|
|
227
241
|
/**
|
|
228
242
|
* @hidden
|
|
229
243
|
* Updates the position of a current Overlay Reference.
|
|
230
|
-
* @param overlay Overlay reference which position needs to be updated.
|
|
231
244
|
* @returns New Position Strategy.
|
|
245
|
+
* @param toast Toast Reference
|
|
232
246
|
*/
|
|
233
247
|
_updatePositionStrategy(toast) {
|
|
234
248
|
const positionStrategy = toast._defaultPositionStrategy ? this.toastPositionStrategy : toast.positionStrategy;
|
|
235
|
-
|
|
236
|
-
if (config.positionStrategy instanceof GlobalPositionStrategy) {
|
|
249
|
+
if (toast._isAnchor) {
|
|
237
250
|
return this._composeGlobalPosition(positionStrategy);
|
|
238
251
|
}
|
|
239
252
|
const toasts = this._toastsMap.get(positionStrategy) || [];
|
|
240
|
-
const globalOverlay = toasts?.find(({
|
|
241
|
-
const overlayConfig = overlayRef.getConfig();
|
|
242
|
-
return overlayConfig.positionStrategy instanceof GlobalPositionStrategy;
|
|
243
|
-
});
|
|
253
|
+
const globalOverlay = toasts?.find(({ _isAnchor }) => _isAnchor);
|
|
244
254
|
if (!globalOverlay) {
|
|
255
|
+
toast._isAnchor = true;
|
|
245
256
|
return this._composeGlobalPosition(positionStrategy);
|
|
246
257
|
}
|
|
247
258
|
// Get Previous overlay item.
|
|
248
259
|
const overlayItemIndex = toasts.findIndex((t) => t === toast);
|
|
249
260
|
const previousOverlay = toasts[overlayItemIndex - 1];
|
|
261
|
+
toast._isAnchor = false;
|
|
250
262
|
return this._composeFlexibleConnectedPosition(previousOverlay.overlayRef.overlayElement, positionStrategy);
|
|
251
263
|
}
|
|
264
|
+
/** @hidden */
|
|
265
|
+
_isBoundGlobalPosition(position) {
|
|
266
|
+
return !!position.boundTo;
|
|
267
|
+
}
|
|
252
268
|
}
|
|
253
269
|
BaseToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
254
270
|
BaseToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService });
|
|
255
271
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService, decorators: [{
|
|
256
272
|
type: Injectable
|
|
257
273
|
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.Injector }]; } });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9iYXNlLXRvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILHNCQUFzQixFQUN0QixPQUFPLEVBQ1AsYUFBYSxFQUdoQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUdILFVBQVUsRUFFVixRQUFRLEVBR1IsV0FBVyxFQUdkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRM0MsTUFBTSxPQUFnQixnQkFBZ0I7SUE4QmxDLGNBQWM7SUFDZCxZQUE2QixPQUFnQixFQUFTLFFBQWtCO1FBQTNDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBZnhFOzs7V0FHRztRQUNPLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBRXZDOztXQUVHO1FBQ08sZUFBVSxHQUFHLElBQUksR0FBRyxFQUFxQyxDQUFDO1FBRXBFLGNBQWM7UUFDTixjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUdtQyxDQUFDO0lBeUM1RTs7T0FFRztJQUNILE9BQU87UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7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TSxNQUFNLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUU1QyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsWUFBWSxzQkFBc0IsRUFBRTtZQUMzRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFM0QsTUFBTSxhQUFhLEdBQUcsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtZQUNsRCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFN0MsT0FBTyxhQUFhLENBQUMsZ0JBQWdCLFlBQVksc0JBQXNCLENBQUM7UUFDNUUsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDeEQ7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0csQ0FBQzs7NkdBdFdpQixnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRUeXBlLFxuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5UmVmLFxuICAgIFBvc2l0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIFN0YXRpY1Byb3ZpZGVyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VUb2FzdFBvc2l0aW9uLCBUb2FzdEdsb2JhbFBvc2l0aW9uIH0gZnJvbSAnLi9iYXNlLXRvYXN0LXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RDb25maWcgfSBmcm9tICcuL2NsYXNzZXMvYmFzZS10b2FzdC1jb25maWcnO1xuaW1wb3J0IHsgQmFzZVRvYXN0UmVmIH0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UtdG9hc3QtcmVmJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RvYXN0LWNvbnRhaW5lci1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvYXN0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC10ZXh0LWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0U2VydmljZTxcbiAgICBQIGV4dGVuZHMgQmFzZVRvYXN0Q29uZmlnLFxuICAgIEMgZXh0ZW5kcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPiA9IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4+IGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgLyoqIENvbXBvbmVudCBmb3Igc2ltcGxlIHRleHQgdG9hc3QuICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRvYXN0VGV4dENvbXBvbmVudDogVHlwZTxUb2FzdFRleHRDb21wb25lbnQ+O1xuICAgIC8qKiBDb21wb25lbnQgZm9yIFRvYXN0IENvbnRhaW5lci4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3RDb250YWluZXJDb21wb25lbnQ6IFR5cGU8Qz47XG4gICAgLyoqIEluamVjdGlvbiB0b2tlbiBmb3IgVG9hc3QgRGF0YS4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3REYXRhSW5qZWN0aW9uVG9rZW46IEluamVjdGlvblRva2VuPGFueT47XG4gICAgLyoqIFRvYXN0IFBvc2l0aW9uIFN0cmF0ZWd5LiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdFBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uO1xuICAgIC8qKiBUb2FzdCBkZWZhdWx0IGNvbmZpZy4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGVmYXVsdENvbmZpZzogUDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBcnJheSBvZiBhbGwgY3VycmVudCB0b2FzdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHM6IEJhc2VUb2FzdFJlZltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX3RvYXN0c01hcCA9IG5ldyBNYXA8QmFzZVRvYXN0UG9zaXRpb24sIEJhc2VUb2FzdFJlZltdPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcmxheTogT3ZlcmxheSwgcHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICAgIC8qKlxuICAgICAqIEdldHMgVG9hc3QgQ29udGFpbmVyIHByb3ZpZGVycy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IENvbmZpZy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29udGFpbmVyQ29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZzogUCk6IFN0YXRpY1Byb3ZpZGVyW107XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIFRvYXN0IENvbnRlbnQgcHJvdmlkZXJzLlxuICAgICAqIEBwYXJhbSBjb25maWcgVG9hc3QgQ29uZmlnLlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBUb2FzdCBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRlbnRDb21wb25lbnRQcm92aWRlcnM8VD4oY29uZmlnOiBQLCB0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQ+KTogU3RhdGljUHJvdmlkZXJbXTtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcGFyYW0gdG9hc3QgYWNjZXB0cyBzdHJpbmcsIENvbXBvbmVudCBvciBUZW1wbGF0ZVJlZi5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuPFQ+KFxuICAgICAgICB0b2FzdDogc3RyaW5nIHwgVHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+XG4gICAgKTogQmFzZVRvYXN0UmVmPFRvYXN0VGV4dENvbXBvbmVudCB8IFQgfCBFbWJlZGRlZFZpZXdSZWY8VD4sIFA+O1xuXG4gICAgYWJzdHJhY3Qgb3BlbkZyb21TdHJpbmcobWVzc2FnZTogc3RyaW5nLCBjb25maWc6IFApOiBCYXNlVG9hc3RSZWY8VG9hc3RUZXh0Q29tcG9uZW50LCBQPjtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCBwcm92aWRlZCBjb21wb25lbnQgaW5zaWRlLlxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgQ29tcG9uZW50IHRvIHJlbmRlciBpbnNpZGUgYSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHJldHVybnMgVG9hc3QgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG9wZW5Gcm9tQ29tcG9uZW50PFQ+KGNvbXBvbmVudDogVHlwZTxUPiwgY29uZmlnOiBQKTogQmFzZVRvYXN0UmVmPFQsIFA+O1xuXG4gICAgLyoqXG4gICAgICogT3BlbnMgYSBUb2FzdCB3aXRoIHByb3ZpZGVkIFRlbXBsYXRlIFJlZmVyZW5jZS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGVtcGxhdGUgUmVmZXJlbmNlIHRvIHJlbmRlciBpbnNpZGUgYSBUb2FzdC5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHJldHVybnMgVG9hc3QgcmVmZXJlbmNlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IG9wZW5Gcm9tVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sIGNvbmZpZzogUCk6IEJhc2VUb2FzdFJlZjxFbWJlZGRlZFZpZXdSZWY8YW55Pj47XG5cbiAgICAvKipcbiAgICAgKiBEaXNtaXNzZXMgYWxsIFRvYXN0cy5cbiAgICAgKi9cbiAgICBoaWRlQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90b2FzdHMuZm9yRWFjaCgodCkgPT4gdC5kaXNtaXNzKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYHRydWVgIGlmIHRoZXJlIGFyZSBzb21lIG1lc3NhZ2UgdG9hc3RzIGN1cnJlbnRseSBvcGVuLiBgRmFsc2VgIG90aGVyd2lzZS5cbiAgICAgKi9cbiAgICBoYXNPcGVuTWVzc2FnZVRvYXN0cygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RvYXN0cy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkLlxuICAgICAqIFVzZSBgaGlkZUFsbCgpYCBtZXRob2QgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBkaXNtaXNzQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVBbGwoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIG5ldyBwb3NpdGlvbiBzdHJhdGVneSBmb3IgYWxsIFRvYXN0IGl0ZW1zLlxuICAgICAqIEBwYXJhbSBuZXdTdHJhdGVneSBOZXcgUG9zaXRpb24gU3RyYXRlZ3lcbiAgICAgKi9cbiAgICBzZXROZXdQb3NpdGlvblN0cmF0ZWd5KG5ld1N0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvbik6IHZvaWQge1xuICAgICAgICBpZiAobmV3U3RyYXRlZ3kgPT09IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneSA9IG5ld1N0cmF0ZWd5O1xuXG4gICAgICAgIHRoaXMuX3JlZnJlc2hPdmVybGF5UG9zaXRpb25zKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBUb2FzdCBSZWZlcmVuY2UgZm9yIHByb3ZpZGVkIGNvbnRhaW5lciBhbmQgb3ZlcmxheS5cbiAgICAgKiBAcGFyYW0gY29udGFpbmVyUmVmIENvbnRhaW5lciByZWZlcmVuY2UuXG4gICAgICogQHBhcmFtIG92ZXJsYXlSZWYgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvYXN0UmVmPFQ+KFxuICAgICAgICBjb250YWluZXJSZWY6IEMsXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUGxhY2VzIGEgbmV3IGNvbXBvbmVudCBvciBhIHRlbXBsYXRlIGFzIHRoZSBjb250ZW50IG9mIHRoZSBUb2FzdCBjb250YWluZXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9hdHRhY2g8VD4oXG4gICAgICAgIGNvbnRlbnQ6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgdXNlckNvbmZpZz86IFBcbiAgICApOiBCYXNlVG9hc3RSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+LCBQPiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi51c2VyQ29uZmlnIH07XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjb25maWcucG9zaXRpb25TdHJhdGVneSB8fCB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclJlZiA9IHRoaXMuYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheVJlZiwgY29uZmlnKTtcbiAgICAgICAgY29uc3QgdG9hc3RSZWYgPSB0aGlzLmdldFRvYXN0UmVmPFQ+KGNvbnRhaW5lclJlZiwgb3ZlcmxheVJlZiwgcG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIHRvYXN0UmVmLl9kZWZhdWx0UG9zaXRpb25TdHJhdGVneSA9ICFjb25maWcucG9zaXRpb25TdHJhdGVneTtcblxuICAgICAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAvLyBUZW1wbGF0ZVBvcnRhbCByZXF1aXJlcyB2aWV3Q29udGFpbmVyIHJlZlxuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IG51bGwgYXMgYW55IGFzIFZpZXdDb250YWluZXJSZWY7XG4gICAgICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoY29udGVudCwgdmlld1JlZiwgeyAkaW1wbGljaXQ6IGNvbmZpZywgdG9hc3RSZWYgfSBhcyBhbnkpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5pbnN0YW5jZSA9IGNvbnRhaW5lclJlZi5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUNvbnRlbnRDb21wb25lbnRJbmplY3Rvcihjb25maWcsIHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gY29udGFpbmVyUmVmLmF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWwpO1xuXG4gICAgICAgICAgICAvLyBXZSBjYW4ndCBwYXNzIHRoaXMgdmlhIHRoZSBpbmplY3RvciwgYmVjYXVzZSB0aGUgaW5qZWN0b3IgaXMgY3JlYXRlZCBlYXJsaWVyLlxuICAgICAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UgPSBjb250ZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICAgICAgICBjb250ZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgIGFsbFRvYXN0cy5wdXNoKHRvYXN0UmVmKTtcbiAgICAgICAgdGhpcy5fdG9hc3RzLnB1c2godG9hc3RSZWYpO1xuICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG5cbiAgICAgICAgdGhpcy5hbmltYXRlVG9hc3Q8VD4odG9hc3RSZWYpO1xuXG4gICAgICAgIHJldHVybiB0b2FzdFJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2hlcyB0aGUgVG9hc3QgY29udGFpbmVyIGNvbXBvbmVudCB0byB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgY29uZmlnOiBQKTogQyB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogdGhpcy5nZXRDb250YWluZXJDb21wb25lbnRQcm92aWRlcnMoY29uZmlnKVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMudG9hc3RDb250YWluZXJDb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8Qz4gPSBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpO1xuXG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5jb25maWcgPSBjb25maWc7XG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5qZWN0b3IgdG8gYmUgdXNlZCBpbnNpZGUgYSBUb2FzdCBjb21wb25lbnQuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIFRvYXN0LlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBSZWZlcmVuY2UgdG8gdGhlIFRvYXN0ci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQ29udGVudENvbXBvbmVudEluamVjdG9yPFQ+KGNvbmZpZzogUCwgdG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUPik6IEluamVjdG9yIHtcbiAgICAgICAgcmV0dXJuIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuZ2V0Q29udGVudENvbXBvbmVudFByb3ZpZGVycyhjb25maWcsIHRvYXN0UmVmKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW5pbWF0ZXMgdGhlIG9sZCBUb2FzdCBvdXQgYW5kIHRoZSBuZXcgb25lIGluLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhbmltYXRlVG9hc3Q8VD4odG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUIHwgRW1iZWRkZWRWaWV3UmVmPGFueT4sIFA+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0b2FzdFJlZi5wb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICAvLyBXaGVuIHRoZSB0b2FzdCBpcyBkaXNtaXNzZWQsIGNsZWFyIHRoZSByZWZlcmVuY2UgdG8gaXQuXG4gICAgICAgIHRvYXN0UmVmXG4gICAgICAgICAgICAuYWZ0ZXJEaXNtaXNzZWQoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgICAgICAgICAgYWxsVG9hc3RzLnNwbGljZShhbGxUb2FzdHMuaW5kZXhPZih0b2FzdFJlZiksIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvYXN0cy5zcGxpY2UodGhpcy5fdG9hc3RzLmluZGV4T2YodG9hc3RSZWYpLCAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRvYXN0UmVmLmNvbnRhaW5lckluc3RhbmNlLmVudGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENyZWF0ZXMgYSBuZXcgb3ZlcmxheSBhbmQgcGxhY2VzIGl0IGluIHRoZSBjb3JyZWN0IGxvY2F0aW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG5cbiAgICAgICAgb3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgb3ZlcmxheUNvbmZpZy5wYW5lbENsYXNzID0gJ2ZkLXRvYXN0LW92ZXJsYXknO1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHJldHVybnMgSW5pdGlhbCBQb3NpdGlvbiBTdHJhdGVneSBvZiB0aGUgVG9hc3QgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvbik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBsYXN0T3ZlcmxheSA9IHRoaXMuX2dldExhc3RUb2FzdFdpdGhTYW1lUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICAgICAgY29uc3QgZ2xvYmFsT3ZlcmxheSA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSk/LmZpbmQoKHRvYXN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSB0b2FzdC5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgICAgICByZXR1cm4gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgaW5zdGFuY2VvZiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAobGFzdE92ZXJsYXkgJiYgZ2xvYmFsT3ZlcmxheSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKGxhc3RPdmVybGF5Lm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQsIHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIG5lZWRsZVBvc2l0aW9uXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXRMYXN0VG9hc3RXaXRoU2FtZVBvc2l0aW9uKG5lZWRsZVBvc2l0aW9uOiBCYXNlVG9hc3RQb3NpdGlvbik6IEJhc2VUb2FzdFJlZjxQLCBDPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBbLi4uKHRoaXMuX3RvYXN0c01hcC5nZXQobmVlZGxlUG9zaXRpb24pIHx8IFtdKV0/LnJldmVyc2UoKVswXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIGNvbm5lY3RlZEVsbSBlbGVtZW50IHRvIGNvbm5lY3Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyBGbGV4aWJsZSBDb25uZWN0ZWQgUG9zaXRpb24gU3RyYXRlZ3kgZm9yIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKFxuICAgICAgICBjb25uZWN0ZWRFbG06IEhUTUxFbGVtZW50LFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5IHx8IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oY29ubmVjdGVkRWxtKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3Bvc2l0aW9uU3RyYXRlZ3kuY29ubmVjdGVkXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEByZXR1cm5zIERlZmF1bHQgR2xvYmFsIFBvc2l0aW9uIGZvciBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgY29uc3QgZ2xvYmFsUG9zaXRpb24gPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcblxuICAgICAgICBjb25zdCBnbG9iYWxUb2FzdFBvc2l0aW9uU3RyYXRlZ3k6IFRvYXN0R2xvYmFsUG9zaXRpb24gPSBwb3NpdGlvblN0cmF0ZWd5Lmdsb2JhbDtcblxuICAgICAgICBmb3IgKGNvbnN0IFtwb3NpdGlvbiwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGdsb2JhbFRvYXN0UG9zaXRpb25TdHJhdGVneSkpIHtcbiAgICAgICAgICAgIHN3aXRjaCAocG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUG9zaXRpb24ubGVmdCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUG9zaXRpb24ucmlnaHQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxQb3NpdGlvbi5ib3R0b20odmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxQb3NpdGlvbi50b3AodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxQb3NpdGlvbi5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnY2VudGVyVmVydGljYWxseSc6XG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbFBvc2l0aW9uLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdsb2JhbFBvc2l0aW9uO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVmcmVzaE92ZXJsYXlQb3NpdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RvYXN0c01hcC5mb3JFYWNoKCh0b2FzdHMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KHRvYXN0cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdXBkYXRlT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kodG9hc3RzOiBCYXNlVG9hc3RSZWZbXSk6IHZvaWQge1xuICAgICAgICB0b2FzdHMuZm9yRWFjaCgodG9hc3RSZWYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl91cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0b2FzdFJlZi5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgICAgICBvdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSBwb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgYSBjdXJyZW50IE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqIEBwYXJhbSBvdmVybGF5IE92ZXJsYXkgcmVmZXJlbmNlIHdoaWNoIHBvc2l0aW9uIG5lZWRzIHRvIGJlIHVwZGF0ZWQuXG4gICAgICogQHJldHVybnMgTmV3IFBvc2l0aW9uIFN0cmF0ZWd5LlxuICAgICAqL1xuICAgIHByaXZhdGUgX3VwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodG9hc3Q6IEJhc2VUb2FzdFJlZik6IFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdG9hc3QuX2RlZmF1bHRQb3NpdGlvblN0cmF0ZWd5ID8gdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kgOiB0b2FzdC5wb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICBjb25zdCBjb25maWcgPSB0b2FzdC5vdmVybGF5UmVmLmdldENvbmZpZygpO1xuXG4gICAgICAgIGlmIChjb25maWcucG9zaXRpb25TdHJhdGVneSBpbnN0YW5jZW9mIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b2FzdHMgPSB0aGlzLl90b2FzdHNNYXAuZ2V0KHBvc2l0aW9uU3RyYXRlZ3kpIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGdsb2JhbE92ZXJsYXkgPSB0b2FzdHM/LmZpbmQoKHsgb3ZlcmxheVJlZiB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gb3ZlcmxheVJlZi5nZXRDb25maWcoKTtcblxuICAgICAgICAgICAgcmV0dXJuIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSBpbnN0YW5jZW9mIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghZ2xvYmFsT3ZlcmxheSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VHbG9iYWxQb3NpdGlvbihwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBQcmV2aW91cyBvdmVybGF5IGl0ZW0uXG4gICAgICAgIGNvbnN0IG92ZXJsYXlJdGVtSW5kZXggPSB0b2FzdHMuZmluZEluZGV4KCh0KSA9PiB0ID09PSB0b2FzdCk7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzT3ZlcmxheSA9IHRvYXN0c1tvdmVybGF5SXRlbUluZGV4IC0gMV07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKHByZXZpb3VzT3ZlcmxheS5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LCBwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICB9XG59XG4iXX0=
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi91dGlscy90b2FzdC9iYXNlLXRvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlILE9BQU8sRUFDUCxhQUFhLEVBR2hCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBR0gsVUFBVSxFQUVWLFFBQVEsRUFHUixXQUFXLEVBR2QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVEzQyxNQUFNLE9BQWdCLGdCQUFnQjtJQThCbEMsY0FBYztJQUNkLFlBQTZCLE9BQWdCLEVBQVMsUUFBa0I7UUFBM0MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFTLGFBQVEsR0FBUixRQUFRLENBQVU7UUFmeEU7OztXQUdHO1FBQ08sWUFBTyxHQUFtQixFQUFFLENBQUM7UUFFdkM7O1dBRUc7UUFDTyxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFFcEUsY0FBYztRQUNOLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBR21DLENBQUM7SUF5QzVFOztPQUVHO0lBQ0gsT0FBTztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJ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UyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDOUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELEtBQUssQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXhCLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVELGNBQWM7SUFDTixzQkFBc0IsQ0FBQyxRQUFhO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQzs7NkdBOVhpQixnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRUeXBlLFxuICAgIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgICBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5LFxuICAgIE92ZXJsYXksXG4gICAgT3ZlcmxheUNvbmZpZyxcbiAgICBPdmVybGF5UmVmLFxuICAgIFBvc2l0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIFN0YXRpY1Byb3ZpZGVyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VUb2FzdFBvc2l0aW9uLCBUb2FzdEdsb2JhbENvbm5lY3RlZFBvc2l0aW9uLCBUb2FzdEdsb2JhbFBvc2l0aW9uIH0gZnJvbSAnLi9iYXNlLXRvYXN0LXBvc2l0aW9ucyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RDb25maWcgfSBmcm9tICcuL2NsYXNzZXMvYmFzZS10b2FzdC1jb25maWcnO1xuaW1wb3J0IHsgQmFzZVRvYXN0UmVmIH0gZnJvbSAnLi9jbGFzc2VzL2Jhc2UtdG9hc3QtcmVmJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3RvYXN0LWNvbnRhaW5lci1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvYXN0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcy90b2FzdC10ZXh0LWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvYXN0U2VydmljZTxcbiAgICBQIGV4dGVuZHMgQmFzZVRvYXN0Q29uZmlnLFxuICAgIEMgZXh0ZW5kcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPiA9IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4+IGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gICAgLyoqIENvbXBvbmVudCBmb3Igc2ltcGxlIHRleHQgdG9hc3QuICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHRvYXN0VGV4dENvbXBvbmVudDogVHlwZTxUb2FzdFRleHRDb21wb25lbnQ+O1xuICAgIC8qKiBDb21wb25lbnQgZm9yIFRvYXN0IENvbnRhaW5lci4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3RDb250YWluZXJDb21wb25lbnQ6IFR5cGU8Qz47XG4gICAgLyoqIEluamVjdGlvbiB0b2tlbiBmb3IgVG9hc3QgRGF0YS4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdG9hc3REYXRhSW5qZWN0aW9uVG9rZW46IEluamVjdGlvblRva2VuPGFueT47XG4gICAgLyoqIFRvYXN0IFBvc2l0aW9uIFN0cmF0ZWd5LiAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB0b2FzdFBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uO1xuICAgIC8qKiBUb2FzdCBkZWZhdWx0IGNvbmZpZy4gKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZGVmYXVsdENvbmZpZzogUDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBcnJheSBvZiBhbGwgY3VycmVudCB0b2FzdHMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHM6IEJhc2VUb2FzdFJlZltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF90b2FzdHNNYXAgPSBuZXcgTWFwPEJhc2VUb2FzdFBvc2l0aW9uLCBCYXNlVG9hc3RSZWZbXT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHVibGljIG92ZXJsYXk6IE92ZXJsYXksIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIFRvYXN0IENvbnRhaW5lciBwcm92aWRlcnMuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBDb25maWcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbnRhaW5lckNvbXBvbmVudFByb3ZpZGVycyhjb25maWc6IFApOiBTdGF0aWNQcm92aWRlcltdO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyBUb2FzdCBDb250ZW50IHByb3ZpZGVycy5cbiAgICAgKiBAcGFyYW0gY29uZmlnIFRvYXN0IENvbmZpZy5cbiAgICAgKiBAcGFyYW0gdG9hc3RSZWYgVG9hc3QgUmVmZXJlbmNlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRDb250ZW50Q29tcG9uZW50UHJvdmlkZXJzPFQ+KGNvbmZpZzogUCwgdG9hc3RSZWY6IEJhc2VUb2FzdFJlZjxUPik6IFN0YXRpY1Byb3ZpZGVyW107XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIFRvYXN0IHdpdGggdGhlIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQHBhcmFtIHRvYXN0IGFjY2VwdHMgc3RyaW5nLCBDb21wb25lbnQgb3IgVGVtcGxhdGVSZWYuXG4gICAgICovXG4gICAgYWJzdHJhY3Qgb3BlbjxUPihcbiAgICAgICAgdG9hc3Q6IHN0cmluZyB8IFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPlxuICAgICk6IEJhc2VUb2FzdFJlZjxUb2FzdFRleHRDb21wb25lbnQgfCBUIHwgRW1iZWRkZWRWaWV3UmVmPFQ+LCBQPjtcblxuICAgIGFic3RyYWN0IG9wZW5Gcm9tU3RyaW5nKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnOiBQKTogQmFzZVRvYXN0UmVmPFRvYXN0VGV4dENvbXBvbmVudCwgUD47XG5cbiAgICAvKipcbiAgICAgKiBPcGVucyBhIFRvYXN0IHdpdGggcHJvdmlkZWQgY29tcG9uZW50IGluc2lkZS5cbiAgICAgKiBAcGFyYW0gY29tcG9uZW50IENvbXBvbmVudCB0byByZW5kZXIgaW5zaWRlIGEgVG9hc3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIFRvYXN0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuRnJvbUNvbXBvbmVudDxUPihjb21wb25lbnQ6IFR5cGU8VD4sIGNvbmZpZzogUCk6IEJhc2VUb2FzdFJlZjxULCBQPjtcblxuICAgIC8qKlxuICAgICAqIE9wZW5zIGEgVG9hc3Qgd2l0aCBwcm92aWRlZCBUZW1wbGF0ZSBSZWZlcmVuY2UuXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFRlbXBsYXRlIFJlZmVyZW5jZSB0byByZW5kZXIgaW5zaWRlIGEgVG9hc3QuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUb2FzdCBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIFRvYXN0IHJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBvcGVuRnJvbVRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LCBjb25maWc6IFApOiBCYXNlVG9hc3RSZWY8RW1iZWRkZWRWaWV3UmVmPGFueT4+O1xuXG4gICAgLyoqXG4gICAgICogRGlzbWlzc2VzIGFsbCBUb2FzdHMuXG4gICAgICovXG4gICAgaGlkZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9hc3RzLmZvckVhY2goKHQpID0+IHQuZGlzbWlzcygpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGB0cnVlYCBpZiB0aGVyZSBhcmUgc29tZSBtZXNzYWdlIHRvYXN0cyBjdXJyZW50bHkgb3Blbi4gYEZhbHNlYCBvdGhlcndpc2UuXG4gICAgICovXG4gICAgaGFzT3Blbk1lc3NhZ2VUb2FzdHMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90b2FzdHMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZC5cbiAgICAgKiBVc2UgYGhpZGVBbGwoKWAgbWV0aG9kIGluc3RlYWQuXG4gICAgICovXG4gICAgZGlzbWlzc0FsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oaWRlQWxsKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBuZXcgcG9zaXRpb24gc3RyYXRlZ3kgZm9yIGFsbCBUb2FzdCBpdGVtcy5cbiAgICAgKiBAcGFyYW0gbmV3U3RyYXRlZ3kgTmV3IFBvc2l0aW9uIFN0cmF0ZWd5XG4gICAgICovXG4gICAgc2V0TmV3UG9zaXRpb25TdHJhdGVneShuZXdTdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb24pOiB2b2lkIHtcbiAgICAgICAgaWYgKG5ld1N0cmF0ZWd5ID09PSB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b2FzdFBvc2l0aW9uU3RyYXRlZ3kgPSBuZXdTdHJhdGVneTtcblxuICAgICAgICB0aGlzLl9yZWZyZXNoT3ZlcmxheVBvc2l0aW9ucygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgVG9hc3QgUmVmZXJlbmNlIGZvciBwcm92aWRlZCBjb250YWluZXIgYW5kIG92ZXJsYXkuXG4gICAgICogQHBhcmFtIGNvbnRhaW5lclJlZiBDb250YWluZXIgcmVmZXJlbmNlLlxuICAgICAqIEBwYXJhbSBvdmVybGF5UmVmIE92ZXJsYXkgUmVmZXJlbmNlLlxuICAgICAqIEBwYXJhbSBwb3NpdGlvblN0cmF0ZWd5IFBvc2l0aW9uIFN0cmF0ZWd5XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvYXN0UmVmPFQ+KFxuICAgICAgICBjb250YWluZXJSZWY6IEMsXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKTogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUGxhY2VzIGEgbmV3IGNvbXBvbmVudCBvciBhIHRlbXBsYXRlIGFzIHRoZSBjb250ZW50IG9mIHRoZSBUb2FzdCBjb250YWluZXIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9hdHRhY2g8VD4oXG4gICAgICAgIGNvbnRlbnQ6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICAgICAgdXNlckNvbmZpZz86IFBcbiAgICApOiBCYXNlVG9hc3RSZWY8VCB8IEVtYmVkZGVkVmlld1JlZjxhbnk+LCBQPiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi51c2VyQ29uZmlnIH07XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBjb25maWcucG9zaXRpb25TdHJhdGVneSB8fCB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgY29uc3QgeyBvdmVybGF5LCBpc0FuY2hvciB9ID0gdGhpcy5fY3JlYXRlT3ZlcmxheShwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUmVmID0gdGhpcy5hdHRhY2hUb2FzdENvbnRhaW5lckNvbXBvbmVudChvdmVybGF5LCBjb25maWcpO1xuICAgICAgICBjb25zdCB0b2FzdFJlZiA9IHRoaXMuZ2V0VG9hc3RSZWY8VD4oY29udGFpbmVyUmVmLCBvdmVybGF5LCBwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgdG9hc3RSZWYuX2RlZmF1bHRQb3NpdGlvblN0cmF0ZWd5ID0gIWNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5O1xuICAgICAgICB0b2FzdFJlZi5faXNBbmNob3IgPSBpc0FuY2hvcjtcblxuICAgICAgICBpZiAoY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAvLyBUZW1wbGF0ZVBvcnRhbCByZXF1aXJlcyB2aWV3Q29udGFpbmVyIHJlZlxuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IG51bGwgYXMgYW55IGFzIFZpZXdDb250YWluZXJSZWY7XG4gICAgICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoY29udGVudCwgdmlld1JlZiwgeyAkaW1wbGljaXQ6IGNvbmZpZywgdG9hc3RSZWYgfSBhcyBhbnkpO1xuXG4gICAgICAgICAgICB0b2FzdFJlZi5pbnN0YW5jZSA9IGNvbnRhaW5lclJlZi5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLmNyZWF0ZUNvbnRlbnRDb21wb25lbnRJbmplY3Rvcihjb25maWcsIHRvYXN0UmVmKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoY29udGVudCwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50UmVmID0gY29udGFpbmVyUmVmLmF0dGFjaENvbXBvbmVudFBvcnRhbDxUPihwb3J0YWwpO1xuXG4gICAgICAgICAgICAvLyBXZSBjYW4ndCBwYXNzIHRoaXMgdmlhIHRoZSBpbmplY3RvciwgYmVjYXVzZSB0aGUgaW5qZWN0b3IgaXMgY3JlYXRlZCBlYXJsaWVyLlxuICAgICAgICAgICAgdG9hc3RSZWYuaW5zdGFuY2UgPSBjb250ZW50UmVmLmluc3RhbmNlO1xuXG4gICAgICAgICAgICBjb250ZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFsbFRvYXN0cyA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSkgfHwgW107XG4gICAgICAgIGFsbFRvYXN0cy5wdXNoKHRvYXN0UmVmKTtcbiAgICAgICAgdGhpcy5fdG9hc3RzLnB1c2godG9hc3RSZWYpO1xuICAgICAgICB0aGlzLl90b2FzdHNNYXAuc2V0KHBvc2l0aW9uU3RyYXRlZ3ksIGFsbFRvYXN0cyk7XG5cbiAgICAgICAgdGhpcy5hbmltYXRlVG9hc3Q8VD4odG9hc3RSZWYpO1xuXG4gICAgICAgIHJldHVybiB0b2FzdFJlZjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRhY2hlcyB0aGUgVG9hc3QgY29udGFpbmVyIGNvbXBvbmVudCB0byB0aGUgb3ZlcmxheS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXR0YWNoVG9hc3RDb250YWluZXJDb21wb25lbnQob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgY29uZmlnOiBQKTogQyB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogdGhpcy5nZXRDb250YWluZXJDb21wb25lbnRQcm92aWRlcnMoY29uZmlnKVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMudG9hc3RDb250YWluZXJDb21wb25lbnQsIG51bGwsIGluamVjdG9yKTtcbiAgICAgICAgY29uc3QgY29udGFpbmVyUmVmOiBDb21wb25lbnRSZWY8Qz4gPSBvdmVybGF5UmVmLmF0dGFjaChjb250YWluZXJQb3J0YWwpO1xuXG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5jb25maWcgPSBjb25maWc7XG4gICAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcblxuICAgICAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gaW5qZWN0b3IgdG8gYmUgdXNlZCBpbnNpZGUgYSBUb2FzdCBjb21wb25lbnQuXG4gICAgICogQHBhcmFtIGNvbmZpZyBDb25maWcgdGhhdCB3YXMgdXNlZCB0byBjcmVhdGUgdGhlIFRvYXN0LlxuICAgICAqIEBwYXJhbSB0b2FzdFJlZiBSZWZlcmVuY2UgdG8gdGhlIFRvYXN0LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjcmVhdGVDb250ZW50Q29tcG9uZW50SW5qZWN0b3I8VD4oY29uZmlnOiBQLCB0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQ+KTogSW5qZWN0b3Ige1xuICAgICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgICAgIHByb3ZpZGVyczogdGhpcy5nZXRDb250ZW50Q29tcG9uZW50UHJvdmlkZXJzKGNvbmZpZywgdG9hc3RSZWYpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbmltYXRlcyB0aGUgb2xkIFRvYXN0IG91dCBhbmQgdGhlIG5ldyBvbmUgaW4uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFuaW1hdGVUb2FzdDxUPih0b2FzdFJlZjogQmFzZVRvYXN0UmVmPFQgfCBFbWJlZGRlZFZpZXdSZWY8YW55PiwgUD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRvYXN0UmVmLnBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIC8vIFdoZW4gdGhlIHRvYXN0IGlzIGRpc21pc3NlZCwgY2xlYXIgdGhlIHJlZmVyZW5jZSB0byBpdC5cbiAgICAgICAgdG9hc3RSZWZcbiAgICAgICAgICAgIC5hZnRlckRpc21pc3NlZCgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxsVG9hc3RzID0gdGhpcy5fdG9hc3RzTWFwLmdldChwb3NpdGlvblN0cmF0ZWd5KSB8fCBbXTtcbiAgICAgICAgICAgICAgICBhbGxUb2FzdHMuc3BsaWNlKGFsbFRvYXN0cy5pbmRleE9mKHRvYXN0UmVmKSwgMSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdG9hc3RzLnNwbGljZSh0aGlzLl90b2FzdHMuaW5kZXhPZih0b2FzdFJlZiksIDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3RvYXN0c01hcC5zZXQocG9zaXRpb25TdHJhdGVneSwgYWxsVG9hc3RzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZWZyZXNoT3ZlcmxheVBvc2l0aW9ucygpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdG9hc3RSZWYuY29udGFpbmVySW5zdGFuY2UuZW50ZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQ3JlYXRlcyBhIG5ldyBvdmVybGF5IGFuZCBwbGFjZXMgaXQgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheShwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvbik6IHsgb3ZlcmxheTogT3ZlcmxheVJlZjsgaXNBbmNob3I6IGJvb2xlYW4gfSB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZygpO1xuICAgICAgICBvdmVybGF5Q29uZmlnLnNjcm9sbFN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneS5zY3JvbGxQb3NpdGlvbiB8fCB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgeyBwb3NpdGlvbiwgaXNBbmNob3IgfSA9IHRoaXMuX2dldFBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICAgICAgb3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb247XG4gICAgICAgIG92ZXJsYXlDb25maWcucGFuZWxDbGFzcyA9ICdmZC10b2FzdC1vdmVybGF5JztcbiAgICAgICAgcmV0dXJuIHsgb3ZlcmxheTogdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKSwgaXNBbmNob3IgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHJldHVybnMgSW5pdGlhbCBQb3NpdGlvbiBTdHJhdGVneSBvZiB0aGUgVG9hc3QgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvbik6IHtcbiAgICAgICAgcG9zaXRpb246IFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIGlzQW5jaG9yOiBib29sZWFuO1xuICAgIH0ge1xuICAgICAgICBjb25zdCBsYXN0T3ZlcmxheSA9IHRoaXMuX2dldExhc3RUb2FzdFdpdGhTYW1lUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICAgICAgY29uc3QgZ2xvYmFsT3ZlcmxheSA9IHRoaXMuX3RvYXN0c01hcC5nZXQocG9zaXRpb25TdHJhdGVneSk/LmZpbmQoKHsgX2lzQW5jaG9yIH0pID0+IF9pc0FuY2hvcik7XG5cbiAgICAgICAgaWYgKGxhc3RPdmVybGF5ICYmIGdsb2JhbE92ZXJsYXkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMuX2NvbXBvc2VGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uKFxuICAgICAgICAgICAgICAgICAgICBsYXN0T3ZlcmxheS5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5XG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBpc0FuY2hvcjogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBwb3NpdGlvbjogdGhpcy5fY29tcG9zZUdsb2JhbFBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kpLCBpc0FuY2hvcjogdHJ1ZSB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gbmVlZGxlUG9zaXRpb25cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldExhc3RUb2FzdFdpdGhTYW1lUG9zaXRpb24obmVlZGxlUG9zaXRpb246IEJhc2VUb2FzdFBvc2l0aW9uKTogQmFzZVRvYXN0UmVmPFAsIEM+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIFsuLi4odGhpcy5fdG9hc3RzTWFwLmdldChuZWVkbGVQb3NpdGlvbikgfHwgW10pXT8ucmV2ZXJzZSgpWzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gY29ubmVjdGVkRWxtIGVsZW1lbnQgdG8gY29ubmVjdCB3aXRoLlxuICAgICAqIEBwYXJhbSBwb3NpdGlvblN0cmF0ZWd5IFBvc2l0aW9uIFN0cmF0ZWd5XG4gICAgICogQHJldHVybnMgRmxleGlibGUgQ29ubmVjdGVkIFBvc2l0aW9uIFN0cmF0ZWd5IGZvciBPdmVybGF5IFJlZmVyZW5jZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb21wb3NlRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvbihcbiAgICAgICAgY29ubmVjdGVkRWxtOiBIVE1MRWxlbWVudCxcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneTogQmFzZVRvYXN0UG9zaXRpb25cbiAgICApOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneSB8fCB0aGlzLnRvYXN0UG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGNvbm5lY3RlZEVsbSlcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvblN0cmF0ZWd5LmNvbm5lY3RlZF0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcmV0dXJucyBEZWZhdWx0IEdsb2JhbCBQb3NpdGlvbiBmb3IgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29tcG9zZUdsb2JhbFBvc2l0aW9uKFxuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBCYXNlVG9hc3RQb3NpdGlvblxuICAgICk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBsZXQgcG9zaXRpb246IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB8IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIGlmICh0aGlzLl9pc0JvdW5kR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneS5nbG9iYWwpKSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8ocG9zaXRpb25TdHJhdGVneS5nbG9iYWwuYm91bmRUbylcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbcG9zaXRpb25TdHJhdGVneS5nbG9iYWxdKVxuICAgICAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpO1xuICAgICAgICAgICAgY29uc3QgZ2xvYmFsVG9hc3RQb3NpdGlvblN0cmF0ZWd5OiBUb2FzdEdsb2JhbFBvc2l0aW9uID0gcG9zaXRpb25TdHJhdGVneS5nbG9iYWw7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgW3BvcywgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGdsb2JhbFRvYXN0UG9zaXRpb25TdHJhdGVneSkpIHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHBvcykge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLmxlZnQodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLnJpZ2h0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24uYm90dG9tKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24udG9wKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24uY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY2VudGVyVmVydGljYWxseSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbi5jZW50ZXJWZXJ0aWNhbGx5KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcG9zaXRpb247XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWZyZXNoT3ZlcmxheVBvc2l0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9hc3RzTWFwLmZvckVhY2goKHRvYXN0cykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kodG9hc3RzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF91cGRhdGVPdmVybGF5UG9zaXRpb25TdHJhdGVneSh0b2FzdHM6IEJhc2VUb2FzdFJlZltdKTogdm9pZCB7XG4gICAgICAgIHRvYXN0cy5mb3JFYWNoKCh0b2FzdFJlZikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX3VwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodG9hc3RSZWYpO1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRvYXN0UmVmLm92ZXJsYXlSZWYuZ2V0Q29uZmlnKCk7XG5cbiAgICAgICAgICAgIHRvYXN0UmVmLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneShwb3NpdGlvblN0cmF0ZWd5KTtcbiAgICAgICAgICAgIG92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSA9IHBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBVcGRhdGVzIHRoZSBwb3NpdGlvbiBvZiBhIGN1cnJlbnQgT3ZlcmxheSBSZWZlcmVuY2UuXG4gICAgICogQHJldHVybnMgTmV3IFBvc2l0aW9uIFN0cmF0ZWd5LlxuICAgICAqIEBwYXJhbSB0b2FzdCBUb2FzdCBSZWZlcmVuY2VcbiAgICAgKi9cbiAgICBwcml2YXRlIF91cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRvYXN0OiBCYXNlVG9hc3RSZWYpOiBQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRvYXN0Ll9kZWZhdWx0UG9zaXRpb25TdHJhdGVneSA/IHRoaXMudG9hc3RQb3NpdGlvblN0cmF0ZWd5IDogdG9hc3QucG9zaXRpb25TdHJhdGVneTtcblxuICAgICAgICBpZiAodG9hc3QuX2lzQW5jaG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29tcG9zZUdsb2JhbFBvc2l0aW9uKHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG9hc3RzID0gdGhpcy5fdG9hc3RzTWFwLmdldChwb3NpdGlvblN0cmF0ZWd5KSB8fCBbXTtcblxuICAgICAgICBjb25zdCBnbG9iYWxPdmVybGF5ID0gdG9hc3RzPy5maW5kKCh7IF9pc0FuY2hvciB9KSA9PiBfaXNBbmNob3IpO1xuXG4gICAgICAgIGlmICghZ2xvYmFsT3ZlcmxheSkge1xuICAgICAgICAgICAgdG9hc3QuX2lzQW5jaG9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9jb21wb3NlR2xvYmFsUG9zaXRpb24ocG9zaXRpb25TdHJhdGVneSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZXQgUHJldmlvdXMgb3ZlcmxheSBpdGVtLlxuICAgICAgICBjb25zdCBvdmVybGF5SXRlbUluZGV4ID0gdG9hc3RzLmZpbmRJbmRleCgodCkgPT4gdCA9PT0gdG9hc3QpO1xuICAgICAgICBjb25zdCBwcmV2aW91c092ZXJsYXkgPSB0b2FzdHNbb3ZlcmxheUl0ZW1JbmRleCAtIDFdO1xuICAgICAgICB0b2FzdC5faXNBbmNob3IgPSBmYWxzZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fY29tcG9zZUZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb24ocHJldmlvdXNPdmVybGF5Lm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQsIHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNCb3VuZEdsb2JhbFBvc2l0aW9uKHBvc2l0aW9uOiBhbnkpOiBwb3NpdGlvbiBpcyBUb2FzdEdsb2JhbENvbm5lY3RlZFBvc2l0aW9uIHtcbiAgICAgICAgcmV0dXJuICEhcG9zaXRpb24uYm91bmRUbztcbiAgICB9XG59XG4iXX0=
|
|
@@ -7,6 +7,10 @@ export class BaseToastRef {
|
|
|
7
7
|
this.positionStrategy = positionStrategy;
|
|
8
8
|
/** @hidden */
|
|
9
9
|
this._defaultPositionStrategy = true;
|
|
10
|
+
/** @hidden
|
|
11
|
+
* Used for flagging the toast as an anchor for all next appearing toasts.
|
|
12
|
+
*/
|
|
13
|
+
this._isAnchor = false;
|
|
10
14
|
/**
|
|
11
15
|
* @hidden
|
|
12
16
|
* Subject for notifying the user that the Toast has been dismissed.
|
|
@@ -38,4 +42,4 @@ export class BaseToastRef {
|
|
|
38
42
|
this._afterDismissed$.complete();
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b2FzdC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL3V0aWxzL3RvYXN0L2NsYXNzZXMvYmFzZS10b2FzdC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUkzQyxNQUFNLE9BQWdCLFlBQVk7SUFzQjlCLGNBQWM7SUFDZCxZQUNXLGlCQUFvQixFQUNwQixVQUFzQixFQUN0QixnQkFBbUM7UUFGbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFHO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQWxCOUMsY0FBYztRQUNkLDZCQUF3QixHQUFHLElBQUksQ0FBQztRQUVoQzs7V0FFRztRQUNILGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEI7OztXQUdHO1FBQ2dCLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFRdEQsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsMkJBQTJCO0lBQzNCLE9BQU87UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtZQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRUQsOEVBQThFO0lBQzlFLGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlVG9hc3RQb3NpdGlvbiB9IGZyb20gJy4uL2Jhc2UtdG9hc3QtcG9zaXRpb25zJztcbmltcG9ydCB7IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90b2FzdC1jb250YWluZXItY29tcG9uZW50LmludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVG9hc3RSZWY8XG4gICAgVCA9IGFueSxcbiAgICBQID0gYW55LFxuICAgIEMgZXh0ZW5kcyBUb2FzdENvbnRhaW5lckNvbXBvbmVudDxQPiA9IFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PFA+XG4+IHtcbiAgICAvKiogVGhlIGluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQgaXMgbWFraW5nIHVwIHRoZSBjb250ZW50IG9mIHRoZSBUb2FzdC4gKi9cbiAgICBpbnN0YW5jZSE6IFQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9kZWZhdWx0UG9zaXRpb25TdHJhdGVneSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIFVzZWQgZm9yIGZsYWdnaW5nIHRoZSB0b2FzdCBhcyBhbiBhbmNob3IgZm9yIGFsbCBuZXh0IGFwcGVhcmluZyB0b2FzdHMuXG4gICAgICovXG4gICAgX2lzQW5jaG9yID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogU3ViamVjdCBmb3Igbm90aWZ5aW5nIHRoZSB1c2VyIHRoYXQgdGhlIFRvYXN0IGhhcyBiZWVuIGRpc21pc3NlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2FmdGVyRGlzbWlzc2VkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNvbnRhaW5lckluc3RhbmNlOiBDLFxuICAgICAgICBwdWJsaWMgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICAgICAgcHVibGljIHBvc2l0aW9uU3RyYXRlZ3k6IEJhc2VUb2FzdFBvc2l0aW9uXG4gICAgKSB7XG4gICAgICAgIGNvbnRhaW5lckluc3RhbmNlLm9uRXhpdCQuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2ZpbmlzaERpc21pc3MoKSk7XG4gICAgfVxuXG4gICAgLyoqIERpc21pc3NlcyB0aGUgVG9hc3QuICovXG4gICAgZGlzbWlzcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9hZnRlckRpc21pc3NlZCQuY2xvc2VkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmV4aXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXRzIGFuIG9ic2VydmFibGUgdGhhdCBpcyBub3RpZmllZCB3aGVuIHRoZSBUb2FzdCBpcyBmaW5pc2hlZCBjbG9zaW5nLiAqL1xuICAgIGFmdGVyRGlzbWlzc2VkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWZ0ZXJEaXNtaXNzZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8qKiBHZXRzIGFuIG9ic2VydmFibGUgdGhhdCBpcyBub3RpZmllZCB3aGVuIHRoZSBUb2FzdCBoYXMgb3BlbmVkIGFuZCBhcHBlYXJlZC4gKi9cbiAgICBhZnRlck9wZW5lZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVySW5zdGFuY2Uub25FbnRlciQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIENsZWFucyB1cCB0aGUgRE9NIGFmdGVyIGNsb3NpbmcuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9maW5pc2hEaXNtaXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuXG4gICAgICAgIHRoaXMuX2FmdGVyRGlzbWlzc2VkJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2FmdGVyRGlzbWlzc2VkJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -11,7 +11,7 @@ import { coerceBooleanProperty, coerceNumberProperty, coerceElement, coerceArray
|
|
|
11
11
|
import * as i1$1 from '@angular/cdk/a11y';
|
|
12
12
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
13
13
|
import * as i1$2 from '@angular/cdk/overlay';
|
|
14
|
-
import { ViewportRuler, OverlayConfig,
|
|
14
|
+
import { ViewportRuler, OverlayConfig, OverlayContainer } from '@angular/cdk/overlay';
|
|
15
15
|
import { __awaiter, __decorate, __metadata } from 'tslib';
|
|
16
16
|
import { createFocusTrap } from 'focus-trap';
|
|
17
17
|
import * as i1$3 from '@angular/cdk/observers';
|
|
@@ -6608,7 +6608,7 @@ class BaseToastService {
|
|
|
6608
6608
|
*/
|
|
6609
6609
|
this._toasts = [];
|
|
6610
6610
|
/**
|
|
6611
|
-
* @
|
|
6611
|
+
* @hidden
|
|
6612
6612
|
*/
|
|
6613
6613
|
this._toastsMap = new Map();
|
|
6614
6614
|
/** @hidden */
|
|
@@ -6651,10 +6651,11 @@ class BaseToastService {
|
|
|
6651
6651
|
_attach(content, userConfig) {
|
|
6652
6652
|
const config = Object.assign(Object.assign({}, this.defaultConfig), userConfig);
|
|
6653
6653
|
const positionStrategy = config.positionStrategy || this.toastPositionStrategy;
|
|
6654
|
-
const
|
|
6655
|
-
const containerRef = this.attachToastContainerComponent(
|
|
6656
|
-
const toastRef = this.getToastRef(containerRef,
|
|
6654
|
+
const { overlay, isAnchor } = this._createOverlay(positionStrategy);
|
|
6655
|
+
const containerRef = this.attachToastContainerComponent(overlay, config);
|
|
6656
|
+
const toastRef = this.getToastRef(containerRef, overlay, positionStrategy);
|
|
6657
6657
|
toastRef._defaultPositionStrategy = !config.positionStrategy;
|
|
6658
|
+
toastRef._isAnchor = isAnchor;
|
|
6658
6659
|
if (content instanceof TemplateRef) {
|
|
6659
6660
|
// TemplatePortal requires viewContainer ref
|
|
6660
6661
|
const viewRef = null;
|
|
@@ -6693,7 +6694,7 @@ class BaseToastService {
|
|
|
6693
6694
|
/**
|
|
6694
6695
|
* Creates an injector to be used inside a Toast component.
|
|
6695
6696
|
* @param config Config that was used to create the Toast.
|
|
6696
|
-
* @param toastRef Reference to the
|
|
6697
|
+
* @param toastRef Reference to the Toast.
|
|
6697
6698
|
*/
|
|
6698
6699
|
createContentComponentInjector(config, toastRef) {
|
|
6699
6700
|
return Injector.create({
|
|
@@ -6730,9 +6731,11 @@ class BaseToastService {
|
|
|
6730
6731
|
*/
|
|
6731
6732
|
_createOverlay(positionStrategy) {
|
|
6732
6733
|
const overlayConfig = new OverlayConfig();
|
|
6733
|
-
overlayConfig.
|
|
6734
|
+
overlayConfig.scrollStrategy = positionStrategy.scrollPosition || this.overlay.scrollStrategies.reposition();
|
|
6735
|
+
const { position, isAnchor } = this._getPositionStrategy(positionStrategy);
|
|
6736
|
+
overlayConfig.positionStrategy = position;
|
|
6734
6737
|
overlayConfig.panelClass = 'fd-toast-overlay';
|
|
6735
|
-
return this.overlay.create(overlayConfig);
|
|
6738
|
+
return { overlay: this.overlay.create(overlayConfig), isAnchor };
|
|
6736
6739
|
}
|
|
6737
6740
|
/**
|
|
6738
6741
|
* @hidden
|
|
@@ -6741,14 +6744,14 @@ class BaseToastService {
|
|
|
6741
6744
|
_getPositionStrategy(positionStrategy) {
|
|
6742
6745
|
var _a;
|
|
6743
6746
|
const lastOverlay = this._getLastToastWithSamePosition(positionStrategy);
|
|
6744
|
-
const globalOverlay = (_a = this._toastsMap.get(positionStrategy)) === null || _a === void 0 ? void 0 : _a.find((
|
|
6745
|
-
const config = toast.overlayRef.getConfig();
|
|
6746
|
-
return config.positionStrategy instanceof GlobalPositionStrategy;
|
|
6747
|
-
});
|
|
6747
|
+
const globalOverlay = (_a = this._toastsMap.get(positionStrategy)) === null || _a === void 0 ? void 0 : _a.find(({ _isAnchor }) => _isAnchor);
|
|
6748
6748
|
if (lastOverlay && globalOverlay) {
|
|
6749
|
-
return
|
|
6749
|
+
return {
|
|
6750
|
+
position: this._composeFlexibleConnectedPosition(lastOverlay.overlayRef.overlayElement, positionStrategy),
|
|
6751
|
+
isAnchor: false
|
|
6752
|
+
};
|
|
6750
6753
|
}
|
|
6751
|
-
return this._composeGlobalPosition(positionStrategy);
|
|
6754
|
+
return { position: this._composeGlobalPosition(positionStrategy), isAnchor: true };
|
|
6752
6755
|
}
|
|
6753
6756
|
/**
|
|
6754
6757
|
* @hidden
|
|
@@ -6762,6 +6765,7 @@ class BaseToastService {
|
|
|
6762
6765
|
/**
|
|
6763
6766
|
* @hidden
|
|
6764
6767
|
* @param connectedElm element to connect with.
|
|
6768
|
+
* @param positionStrategy Position Strategy
|
|
6765
6769
|
* @returns Flexible Connected Position Strategy for Overlay Reference.
|
|
6766
6770
|
*/
|
|
6767
6771
|
_composeFlexibleConnectedPosition(connectedElm, positionStrategy) {
|
|
@@ -6777,31 +6781,41 @@ class BaseToastService {
|
|
|
6777
6781
|
* @returns Default Global Position for Overlay Reference.
|
|
6778
6782
|
*/
|
|
6779
6783
|
_composeGlobalPosition(positionStrategy) {
|
|
6780
|
-
|
|
6781
|
-
|
|
6782
|
-
|
|
6783
|
-
|
|
6784
|
-
|
|
6785
|
-
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
|
|
6789
|
-
|
|
6790
|
-
|
|
6791
|
-
|
|
6792
|
-
|
|
6793
|
-
|
|
6794
|
-
|
|
6795
|
-
|
|
6796
|
-
|
|
6797
|
-
|
|
6798
|
-
|
|
6799
|
-
|
|
6800
|
-
|
|
6801
|
-
|
|
6784
|
+
let position;
|
|
6785
|
+
if (this._isBoundGlobalPosition(positionStrategy.global)) {
|
|
6786
|
+
position = this.overlay
|
|
6787
|
+
.position()
|
|
6788
|
+
.flexibleConnectedTo(positionStrategy.global.boundTo)
|
|
6789
|
+
.withPositions([positionStrategy.global])
|
|
6790
|
+
.withPush(false);
|
|
6791
|
+
}
|
|
6792
|
+
else {
|
|
6793
|
+
position = this.overlay.position().global();
|
|
6794
|
+
const globalToastPositionStrategy = positionStrategy.global;
|
|
6795
|
+
for (const [pos, value] of Object.entries(globalToastPositionStrategy)) {
|
|
6796
|
+
switch (pos) {
|
|
6797
|
+
case 'left':
|
|
6798
|
+
position.left(value);
|
|
6799
|
+
break;
|
|
6800
|
+
case 'right':
|
|
6801
|
+
position.right(value);
|
|
6802
|
+
break;
|
|
6803
|
+
case 'bottom':
|
|
6804
|
+
position.bottom(value);
|
|
6805
|
+
break;
|
|
6806
|
+
case 'top':
|
|
6807
|
+
position.top(value);
|
|
6808
|
+
break;
|
|
6809
|
+
case 'center':
|
|
6810
|
+
position.centerHorizontally();
|
|
6811
|
+
break;
|
|
6812
|
+
case 'centerVertically':
|
|
6813
|
+
position.centerVertically();
|
|
6814
|
+
break;
|
|
6815
|
+
}
|
|
6802
6816
|
}
|
|
6803
6817
|
}
|
|
6804
|
-
return
|
|
6818
|
+
return position;
|
|
6805
6819
|
}
|
|
6806
6820
|
/** @hidden */
|
|
6807
6821
|
_refreshOverlayPositions() {
|
|
@@ -6821,28 +6835,30 @@ class BaseToastService {
|
|
|
6821
6835
|
/**
|
|
6822
6836
|
* @hidden
|
|
6823
6837
|
* Updates the position of a current Overlay Reference.
|
|
6824
|
-
* @param overlay Overlay reference which position needs to be updated.
|
|
6825
6838
|
* @returns New Position Strategy.
|
|
6839
|
+
* @param toast Toast Reference
|
|
6826
6840
|
*/
|
|
6827
6841
|
_updatePositionStrategy(toast) {
|
|
6828
6842
|
const positionStrategy = toast._defaultPositionStrategy ? this.toastPositionStrategy : toast.positionStrategy;
|
|
6829
|
-
|
|
6830
|
-
if (config.positionStrategy instanceof GlobalPositionStrategy) {
|
|
6843
|
+
if (toast._isAnchor) {
|
|
6831
6844
|
return this._composeGlobalPosition(positionStrategy);
|
|
6832
6845
|
}
|
|
6833
6846
|
const toasts = this._toastsMap.get(positionStrategy) || [];
|
|
6834
|
-
const globalOverlay = toasts === null || toasts === void 0 ? void 0 : toasts.find(({
|
|
6835
|
-
const overlayConfig = overlayRef.getConfig();
|
|
6836
|
-
return overlayConfig.positionStrategy instanceof GlobalPositionStrategy;
|
|
6837
|
-
});
|
|
6847
|
+
const globalOverlay = toasts === null || toasts === void 0 ? void 0 : toasts.find(({ _isAnchor }) => _isAnchor);
|
|
6838
6848
|
if (!globalOverlay) {
|
|
6849
|
+
toast._isAnchor = true;
|
|
6839
6850
|
return this._composeGlobalPosition(positionStrategy);
|
|
6840
6851
|
}
|
|
6841
6852
|
// Get Previous overlay item.
|
|
6842
6853
|
const overlayItemIndex = toasts.findIndex((t) => t === toast);
|
|
6843
6854
|
const previousOverlay = toasts[overlayItemIndex - 1];
|
|
6855
|
+
toast._isAnchor = false;
|
|
6844
6856
|
return this._composeFlexibleConnectedPosition(previousOverlay.overlayRef.overlayElement, positionStrategy);
|
|
6845
6857
|
}
|
|
6858
|
+
/** @hidden */
|
|
6859
|
+
_isBoundGlobalPosition(position) {
|
|
6860
|
+
return !!position.boundTo;
|
|
6861
|
+
}
|
|
6846
6862
|
}
|
|
6847
6863
|
BaseToastService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService, deps: [{ token: i1$2.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6848
6864
|
BaseToastService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseToastService });
|
|
@@ -6975,6 +6991,10 @@ class BaseToastRef {
|
|
|
6975
6991
|
this.positionStrategy = positionStrategy;
|
|
6976
6992
|
/** @hidden */
|
|
6977
6993
|
this._defaultPositionStrategy = true;
|
|
6994
|
+
/** @hidden
|
|
6995
|
+
* Used for flagging the toast as an anchor for all next appearing toasts.
|
|
6996
|
+
*/
|
|
6997
|
+
this._isAnchor = false;
|
|
6978
6998
|
/**
|
|
6979
6999
|
* @hidden
|
|
6980
7000
|
* Subject for notifying the user that the Toast has been dismissed.
|