1234567891011121314151617181920212223242526272829303132333435 |
- 'use strict';
- const Mixin = require('../../utils/mixin');
- class LocationInfoOpenElementStackMixin extends Mixin {
- constructor(stack, opts) {
- super(stack);
- this.onItemPop = opts.onItemPop;
- }
- _getOverriddenMethods(mxn, orig) {
- return {
- pop() {
- mxn.onItemPop(this.current);
- orig.pop.call(this);
- },
- popAllUpToHtmlElement() {
- for (let i = this.stackTop; i > 0; i--) {
- mxn.onItemPop(this.items[i]);
- }
- orig.popAllUpToHtmlElement.call(this);
- },
- remove(element) {
- mxn.onItemPop(this.current);
- orig.remove.call(this, element);
- }
- };
- }
- }
- module.exports = LocationInfoOpenElementStackMixin;
|