UNPKG

angular-xml-editor

Version:
68 lines (67 loc) 5.74 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component } from '@angular/core'; export class DomBreakcrumbComponent { constructor() { this.nodes = []; } /** * @return {?} */ ngOnInit() { } /** * @param {?} selection * @return {?} */ showSelection(selection) { if (selection === undefined) { this.nodes = ['none']; } else { /** @type {?} */ const collectNodes = []; /** @type {?} */ let node = selection.focusNode; /** @type {?} */ let reachedTop = node === undefined || node === null; while (!reachedTop) { switch (node.nodeType) { case Node.ELEMENT_NODE: // element node /** @type {?} */ const asElement = /** @type {?} */ (node); if (asElement !== undefined) { /** @type {?} */ const name = asElement.getAttribute('data-tagname'); if (asElement.className === 'sws-xml-editor-textarea') { reachedTop = true; } else { collectNodes.unshift(name); } } } node = node.parentElement; if (node === undefined || node == null) { reachedTop = true; } } this.nodes = collectNodes; } } } DomBreakcrumbComponent.decorators = [ { type: Component, args: [{ selector: 'axed-dom-breakcrumb', template: "<ul>\r\n <li *ngFor=\"let element of nodes\">\r\n {{ element }}\r\n </li>\r\n</ul>\r\n", styles: ["ul{list-style-type:none;margin:0;padding:0}ul li{display:inline-block;zoom:1;padding-right:10px}ul li::before{content:'>';color:#d3d3d3}"] }] } ]; /** @nocollapse */ DomBreakcrumbComponent.ctorParameters = () => []; if (false) { /** @type {?} */ DomBreakcrumbComponent.prototype.nodes; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLWJyZWFrY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci14bWwtZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZG9tLWJyZWFrY3J1bWIvZG9tLWJyZWFrY3J1bWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBT2xELE1BQU07SUFHSjtxQkFGa0IsRUFBRTtLQUVKOzs7O0lBRWhCLFFBQVEsTUFBSzs7Ozs7SUFFYixhQUFhLENBQUMsU0FBb0I7UUFDaEMsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QjthQUFNOztZQUNMLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQzs7WUFDeEIsSUFBSSxJQUFJLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQzs7WUFDL0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ2xCLFFBQVEsSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDckIsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLGVBQWU7O3dCQUNyQyxNQUFNLFNBQVMscUJBQUcsSUFBZSxFQUFDO3dCQUNsQyxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7OzRCQUMzQixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDOzRCQUNwRCxJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUsseUJBQXlCLEVBQUU7Z0NBQ3JELFVBQVUsR0FBRyxJQUFJLENBQUM7NkJBQ25CO2lDQUFNO2dDQUNMLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7NkJBQzVCO3lCQUNGO2lCQUNKO2dCQUNELElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUMxQixJQUFJLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtvQkFDdEMsVUFBVSxHQUFHLElBQUksQ0FBQztpQkFDbkI7YUFDRjtZQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1NBQzNCO0tBQ0Y7OztZQXZDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsdUdBQThDOzthQUUvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4ZWQtZG9tLWJyZWFrY3J1bWInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb20tYnJlYWtjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZG9tLWJyZWFrY3J1bWIuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb21CcmVha2NydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBub2Rlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcblxyXG4gIHNob3dTZWxlY3Rpb24oc2VsZWN0aW9uOiBTZWxlY3Rpb24pIHtcclxuICAgIGlmIChzZWxlY3Rpb24gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLm5vZGVzID0gWydub25lJ107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBjb2xsZWN0Tm9kZXMgPSBbXTtcclxuICAgICAgbGV0IG5vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlO1xyXG4gICAgICBsZXQgcmVhY2hlZFRvcCA9IG5vZGUgPT09IHVuZGVmaW5lZCB8fCBub2RlID09PSBudWxsO1xyXG4gICAgICB3aGlsZSAoIXJlYWNoZWRUb3ApIHtcclxuICAgICAgICBzd2l0Y2ggKG5vZGUubm9kZVR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgTm9kZS5FTEVNRU5UX05PREU6IC8vIGVsZW1lbnQgbm9kZVxyXG4gICAgICAgICAgICBjb25zdCBhc0VsZW1lbnQgPSBub2RlIGFzIEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChhc0VsZW1lbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBhc0VsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXRhZ25hbWUnKTtcclxuICAgICAgICAgICAgICBpZiAoYXNFbGVtZW50LmNsYXNzTmFtZSA9PT0gJ3N3cy14bWwtZWRpdG9yLXRleHRhcmVhJykge1xyXG4gICAgICAgICAgICAgICAgcmVhY2hlZFRvcCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbGxlY3ROb2Rlcy51bnNoaWZ0KG5hbWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBub2RlID0gbm9kZS5wYXJlbnRFbGVtZW50O1xyXG4gICAgICAgIGlmIChub2RlID09PSB1bmRlZmluZWQgfHwgbm9kZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICByZWFjaGVkVG9wID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ub2RlcyA9IGNvbGxlY3ROb2RlcztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19