angular-xml-editor
Version:
XML editor component for Angular
80 lines (79 loc) • 5.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import { XmlEditorContext } from './code/xmlEditorContext.class';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
/**
* \@dynamic
*/
var AngularXmlEditorService = /** @class */ (function () {
function AngularXmlEditorService(_document) {
this._document = _document;
this.contexts = new Map();
}
/**
* @return {?}
*/
AngularXmlEditorService.prototype.getNewEditorContextId = /**
* @return {?}
*/
function () {
/** @type {?} */
var no = 0;
while (this.contexts.has(no.toString())) {
no++;
}
return no.toString();
};
/**
* @param {?} contextId
* @return {?}
*/
AngularXmlEditorService.prototype.getEditorContext = /**
* @param {?} contextId
* @return {?}
*/
function (contextId) {
/** @type {?} */
var context = this.contexts.get(contextId);
if (context === undefined) {
context = new XmlEditorContext(this._document);
this.contexts.set(contextId, context);
}
return context;
};
/**
* @param {?} contextId
* @return {?}
*/
AngularXmlEditorService.prototype.disposeEditorContext = /**
* @param {?} contextId
* @return {?}
*/
function (contextId) {
this.contexts.delete(contextId);
};
AngularXmlEditorService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] }
];
/** @nocollapse */
AngularXmlEditorService.ctorParameters = function () { return [
{ type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
]; };
/** @nocollapse */ AngularXmlEditorService.ngInjectableDef = i0.defineInjectable({ factory: function AngularXmlEditorService_Factory() { return new AngularXmlEditorService(i0.inject(i1.DOCUMENT)); }, token: AngularXmlEditorService, providedIn: "root" });
return AngularXmlEditorService;
}());
export { AngularXmlEditorService };
if (false) {
/** @type {?} */
AngularXmlEditorService.prototype.contexts;
/** @type {?} */
AngularXmlEditorService.prototype._document;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci14bWwtZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXhtbC1lZGl0b3IvIiwic291cmNlcyI6WyJsaWIvYW5ndWxhci14bWwtZWRpdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7OztJQVMvRCxpQ0FBc0MsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTt3QkFGdEMsSUFBSSxHQUFHLEVBQTRCO0tBRU87Ozs7SUFFN0QsdURBQXFCOzs7SUFBckI7O1FBQ0UsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRTtZQUN2QyxFQUFFLEVBQUUsQ0FBQztTQUNOO1FBQ0QsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDdEI7Ozs7O0lBRUQsa0RBQWdCOzs7O0lBQWhCLFVBQWlCLFNBQWlCOztRQUNoQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQyxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsT0FBTyxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sT0FBTyxDQUFDO0tBQ2hCOzs7OztJQUVELHNEQUFvQjs7OztJQUFwQixVQUFxQixTQUFpQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUNqQzs7Z0JBM0JGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBSWtELFFBQVEsdUJBQTVDLE1BQU0sU0FBQyxRQUFROzs7a0NBWDlCOztTQVFhLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhtbEVkaXRvckNvbnRleHQgfSBmcm9tICcuL2NvZGUveG1sRWRpdG9yQ29udGV4dC5jbGFzcyc7XHJcblxyXG4vKiogQGR5bmFtaWMgKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhclhtbEVkaXRvclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgY29udGV4dHMgPSBuZXcgTWFwPHN0cmluZywgWG1sRWRpdG9yQ29udGV4dD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50KSB7fVxyXG5cclxuICBnZXROZXdFZGl0b3JDb250ZXh0SWQoKTogc3RyaW5nIHtcclxuICAgIGxldCBubyA9IDA7XHJcbiAgICB3aGlsZSAodGhpcy5jb250ZXh0cy5oYXMobm8udG9TdHJpbmcoKSkpIHtcclxuICAgICAgbm8rKztcclxuICAgIH1cclxuICAgIHJldHVybiBuby50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWRpdG9yQ29udGV4dChjb250ZXh0SWQ6IHN0cmluZyk6IFhtbEVkaXRvckNvbnRleHQge1xyXG4gICAgbGV0IGNvbnRleHQgPSB0aGlzLmNvbnRleHRzLmdldChjb250ZXh0SWQpO1xyXG4gICAgaWYgKGNvbnRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb250ZXh0ID0gbmV3IFhtbEVkaXRvckNvbnRleHQodGhpcy5fZG9jdW1lbnQpO1xyXG4gICAgICB0aGlzLmNvbnRleHRzLnNldChjb250ZXh0SWQsIGNvbnRleHQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNvbnRleHQ7XHJcbiAgfVxyXG5cclxuICBkaXNwb3NlRWRpdG9yQ29udGV4dChjb250ZXh0SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb250ZXh0cy5kZWxldGUoY29udGV4dElkKTtcclxuICB9XHJcbn1cclxuIl19