angular-xml-editor
Version:
XML editor component for Angular
77 lines (76 loc) • 6.14 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component } from '@angular/core';
var DomBreakcrumbComponent = /** @class */ (function () {
function DomBreakcrumbComponent() {
this.nodes = [];
}
/**
* @return {?}
*/
DomBreakcrumbComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @param {?} selection
* @return {?}
*/
DomBreakcrumbComponent.prototype.showSelection = /**
* @param {?} selection
* @return {?}
*/
function (selection) {
if (selection === undefined) {
this.nodes = ['none'];
}
else {
/** @type {?} */
var collectNodes = [];
/** @type {?} */
var node = selection.focusNode;
/** @type {?} */
var reachedTop = node === undefined || node === null;
while (!reachedTop) {
switch (node.nodeType) {
case Node.ELEMENT_NODE: // element node
/** @type {?} */
var asElement = /** @type {?} */ (node);
if (asElement !== undefined) {
/** @type {?} */
var name_1 = asElement.getAttribute('data-tagname');
if (asElement.className === 'sws-xml-editor-textarea') {
reachedTop = true;
}
else {
collectNodes.unshift(name_1);
}
}
}
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 = function () { return []; };
return DomBreakcrumbComponent;
}());
export { DomBreakcrumbComponent };
if (false) {
/** @type {?} */
DomBreakcrumbComponent.prototype.nodes;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLWJyZWFrY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci14bWwtZWRpdG9yLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZG9tLWJyZWFrY3J1bWIvZG9tLWJyZWFrY3J1bWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOztJQVVoRDtxQkFGa0IsRUFBRTtLQUVKOzs7O0lBRWhCLHlDQUFROzs7SUFBUixlQUFhOzs7OztJQUViLDhDQUFhOzs7O0lBQWIsVUFBYyxTQUFvQjtRQUNoQyxJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZCO2FBQU07O1lBQ0wsSUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDOztZQUN4QixJQUFJLElBQUksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDOztZQUMvQixJQUFJLFVBQVUsR0FBRyxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUM7WUFDckQsT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDbEIsUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNyQixLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsZUFBZTs7d0JBQ3JDLElBQU0sU0FBUyxxQkFBRyxJQUFlLEVBQUM7d0JBQ2xDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTs7NEJBQzNCLElBQU0sTUFBSSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7NEJBQ3BELElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyx5QkFBeUIsRUFBRTtnQ0FDckQsVUFBVSxHQUFHLElBQUksQ0FBQzs2QkFDbkI7aUNBQU07Z0NBQ0wsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFJLENBQUMsQ0FBQzs2QkFDNUI7eUJBQ0Y7aUJBQ0o7Z0JBQ0QsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQzFCLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO29CQUN0QyxVQUFVLEdBQUcsSUFBSSxDQUFDO2lCQUNuQjthQUNGO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7U0FDM0I7S0FDRjs7Z0JBdkNGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQix1R0FBOEM7O2lCQUUvQzs7OztpQ0FORDs7U0FPYSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheGVkLWRvbS1icmVha2NydW1iJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZG9tLWJyZWFrY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RvbS1icmVha2NydW1iLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9tQnJlYWtjcnVtYkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgbm9kZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBzaG93U2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uKSB7XHJcbiAgICBpZiAoc2VsZWN0aW9uID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5ub2RlcyA9IFsnbm9uZSddO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgY29sbGVjdE5vZGVzID0gW107XHJcbiAgICAgIGxldCBub2RlID0gc2VsZWN0aW9uLmZvY3VzTm9kZTtcclxuICAgICAgbGV0IHJlYWNoZWRUb3AgPSBub2RlID09PSB1bmRlZmluZWQgfHwgbm9kZSA9PT0gbnVsbDtcclxuICAgICAgd2hpbGUgKCFyZWFjaGVkVG9wKSB7XHJcbiAgICAgICAgc3dpdGNoIChub2RlLm5vZGVUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIE5vZGUuRUxFTUVOVF9OT0RFOiAvLyBlbGVtZW50IG5vZGVcclxuICAgICAgICAgICAgY29uc3QgYXNFbGVtZW50ID0gbm9kZSBhcyBFbGVtZW50O1xyXG4gICAgICAgICAgICBpZiAoYXNFbGVtZW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBuYW1lID0gYXNFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10YWduYW1lJyk7XHJcbiAgICAgICAgICAgICAgaWYgKGFzRWxlbWVudC5jbGFzc05hbWUgPT09ICdzd3MteG1sLWVkaXRvci10ZXh0YXJlYScpIHtcclxuICAgICAgICAgICAgICAgIHJlYWNoZWRUb3AgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xsZWN0Tm9kZXMudW5zaGlmdChuYW1lKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbm9kZSA9IG5vZGUucGFyZW50RWxlbWVudDtcclxuICAgICAgICBpZiAobm9kZSA9PT0gdW5kZWZpbmVkIHx8IG5vZGUgPT0gbnVsbCkge1xyXG4gICAgICAgICAgcmVhY2hlZFRvcCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubm9kZXMgPSBjb2xsZWN0Tm9kZXM7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==