{
"version": 3,
"sources": ["../ui/app/mn.element.crane.js"],
"sourcesContent": ["/*\nCopyright 2020-Present Couchbase, Inc.\n\nUse of this software is governed by the Business Source License included in\nthe file licenses/BSL-Couchbase.txt. As of the Change Date specified in that\nfile, in accordance with the Business Source License, use of this software will\nbe governed by the Apache License, Version 2.0, included in the file\nlicenses/APL2.txt.\n*/\n\nimport {NgModule,\n Injectable,\n Component,\n ChangeDetectionStrategy,\n ElementRef,\n Renderer2} from '@angular/core';\n\nexport {MnElementCraneModule,\n MnElementCraneService,\n MnElementCargoComponent,\n MnElementDepotComponent};\n\nimport {singletonGuard} from './mn.core.js';\n\nclass MnElementCraneService {\n static get annotations() { return [\n new Injectable()\n ]}\n\n constructor() {\n singletonGuard(MnElementCraneService);\n this.depots = {};\n }\n\n register(element, name) {\n this.depots[name] = element;\n }\n\n unregister(name) {\n delete this.depots[name];\n }\n\n get(name) {\n return this.depots[name];\n }\n}\n\nclass MnElementCargoComponent {\n static get annotations() { return [\n new Component({\n selector: \"mn-element-cargo\",\n template: \"\",\n inputs: [\n \"depot\"\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n ]}\n\n static get parameters() { return [\n ElementRef,\n Renderer2,\n MnElementCraneService\n ]}\n\n constructor(el, renderer2, mnElementCraneService) {\n this.el = el;\n this.renderer = renderer2;\n this.mnElementCraneService = mnElementCraneService;\n }\n\n ngOnInit() {\n this.depotElement = this.mnElementCraneService.get(this.depot);\n this.renderer.appendChild(this.depotElement.nativeElement, this.el.nativeElement);\n }\n\n ngOnDestroy() {\n this.renderer.removeChild(this.depotElement.nativeElement, this.el.nativeElement);\n }\n}\n\nclass MnElementDepotComponent {\n static get annotations() { return [\n new Component({\n selector: \"mn-element-depot\",\n template: \"\",\n inputs: [\n \"name\"\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n ]}\n\n static get parameters() { return [\n ElementRef,\n MnElementCraneService\n ]}\n\n constructor(el, mnElementCraneService) {\n this.el = el;\n this.mnElementCraneService = mnElementCraneService;\n }\n\n ngOnInit() {\n this.mnElementCraneService.register(this.el, this.name);\n }\n\n ngOnDestroy() {\n this.mnElementCraneService.unregister(this.name);\n }\n}\n\nclass MnElementCraneModule {\n static get annotations() { return [\n new NgModule({\n declarations: [\n MnElementDepotComponent,\n MnElementCargoComponent\n ],\n exports: [\n MnElementDepotComponent,\n MnElementCargoComponent\n ],\n entryComponents: [\n MnElementCargoComponent,\n MnElementDepotComponent\n ],\n })\n ]}\n}\n"],
"mappings": "mKAwBA,+BAA4B,WACf,cAAc,CAAE,MAAO,CAChC,GAAI,aAGN,aAAc,CACZ,eAAe,uBACf,KAAK,OAAS,GAGhB,SAAS,QAAS,KAAM,CACtB,KAAK,OAAO,MAAQ,QAGtB,WAAW,KAAM,CACf,MAAO,MAAK,OAAO,MAGrB,IAAI,KAAM,CACR,MAAO,MAAK,OAAO,QAnBvB,sDAuBA,iCAA8B,WACjB,cAAc,CAAE,MAAO,CAChC,GAAI,WAAU,CACZ,SAAU,mBACV,SAAU,4BACV,OAAQ,CACN,SAEF,gBAAiB,wBAAwB,oBAIlC,aAAa,CAAE,MAAO,CAC/B,WACA,UACA,uBAGF,YAAY,GAAI,UAAW,sBAAuB,CAChD,KAAK,GAAK,GACV,KAAK,SAAW,UAChB,KAAK,sBAAwB,sBAG/B,UAAW,CACT,KAAK,aAAe,KAAK,sBAAsB,IAAI,KAAK,OACxD,KAAK,SAAS,YAAY,KAAK,aAAa,cAAe,KAAK,GAAG,eAGrE,aAAc,CACZ,KAAK,SAAS,YAAY,KAAK,aAAa,cAAe,KAAK,GAAG,iBA9BvE,0DAkCA,iCAA8B,WACjB,cAAc,CAAE,MAAO,CAChC,GAAI,WAAU,CACZ,SAAU,mBACV,SAAU,4BACV,OAAQ,CACN,QAEF,gBAAiB,wBAAwB,oBAIlC,aAAa,CAAE,MAAO,CAC/B,WACA,uBAGF,YAAY,GAAI,sBAAuB,CACrC,KAAK,GAAK,GACV,KAAK,sBAAwB,sBAG/B,UAAW,CACT,KAAK,sBAAsB,SAAS,KAAK,GAAI,KAAK,MAGpD,aAAc,CACZ,KAAK,sBAAsB,WAAW,KAAK,QA3B/C,0DA+BA,8BAA2B,WACd,cAAc,CAAE,MAAO,CAChC,GAAI,UAAS,CACX,aAAc,CACZ,wBACA,yBAEF,QAAS,CACP,wBACA,yBAEF,gBAAiB,CACf,wBACA,8BAbR",
"names": []
}