17.82bbf60e16d46d39aea0.js 147 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342
  1. (window.webpackJsonpNVIV = window.webpackJsonpNVIV || []).push([[17], {
  2. 1674: function(e, t, n) {
  3. "use strict";
  4. Object.defineProperty(t, "__esModule", {
  5. value: !0
  6. });
  7. var o = n(0)
  8. , r = n(2048)
  9. , i = n(1887)
  10. , a = n(1939)
  11. , s = n(1938)
  12. , l = n(1940)
  13. , c = n(1941)
  14. , u = n(3)
  15. , p = n(1942)
  16. , d = n(168)
  17. , m = n(1711)
  18. , g = n(1943)
  19. , f = n(440)
  20. , v = n(625)
  21. , h = n(1707)
  22. , M = n(1908)
  23. , C = n(1861)
  24. , x = n(1709)
  25. , y = n(0)
  26. , S = function() {
  27. function e() {}
  28. return e.ɵmod = y.ɵɵdefineNgModule({
  29. type: e
  30. }),
  31. e.ɵinj = y.ɵɵdefineInjector({
  32. factory: function(t) {
  33. return new (t || e)
  34. },
  35. providers: [{
  36. provide: i.MEASUREMENTS_COMPONENT,
  37. useValue: r.MeasurementsComponent
  38. }],
  39. imports: [[u.CommonModule, d.TranslocoModule, m.SharedModule, f.MatDialogModule, v.MatButtonModule, h.FlexModule, x.MatIconModule, C.MatProgressSpinnerModule]]
  40. }),
  41. e
  42. }();
  43. t.MeasurementsModule = S,
  44. ("undefined" == typeof ngJitMode || ngJitMode) && y.ɵɵsetNgModuleScope(S, {
  45. declarations: [r.MeasurementsComponent, s.MeasurementToolSelectionComponent, a.MeasurementToolComponent, l.MeasurementListComponent, c.MeasurementListToolbarComponent, p.MeasurementDetailsComponent, g.DepthMapWarnButtonComponent, g.DepthMapWarnButtonComponent, M.MeasurementExportModalComponent],
  46. imports: [u.CommonModule, d.TranslocoModule, m.SharedModule, f.MatDialogModule, v.MatButtonModule, h.FlexModule, x.MatIconModule, C.MatProgressSpinnerModule]
  47. }),
  48. y.ɵsetClassMetadata(S, [{
  49. type: o.NgModule,
  50. args: [{
  51. imports: [u.CommonModule, d.TranslocoModule, m.SharedModule, f.MatDialogModule, v.MatButtonModule, h.FlexModule, x.MatIconModule, C.MatProgressSpinnerModule],
  52. declarations: [r.MeasurementsComponent, s.MeasurementToolSelectionComponent, a.MeasurementToolComponent, l.MeasurementListComponent, c.MeasurementListToolbarComponent, p.MeasurementDetailsComponent, g.DepthMapWarnButtonComponent, g.DepthMapWarnButtonComponent, M.MeasurementExportModalComponent],
  53. entryComponents: [r.MeasurementsComponent],
  54. providers: [{
  55. provide: i.MEASUREMENTS_COMPONENT,
  56. useValue: r.MeasurementsComponent
  57. }]
  58. }]
  59. }], null, null)
  60. },
  61. 1692: function(e, t, n) {
  62. "use strict";
  63. Object.defineProperty(t, "__esModule", {
  64. value: !0
  65. });
  66. var o = n(0)
  67. , r = n(210)
  68. , i = n(0)
  69. , a = function() {
  70. function e(e, t) {
  71. this.renderer = e,
  72. this.el = t
  73. }
  74. return e.prototype.ngAfterViewInit = function() {
  75. var e = this.el.nativeElement.attributes.getNamedItem("src").value
  76. , t = r.makeUrlAbsolute(e);
  77. this.renderer.setAttribute(this.el.nativeElement, "src", t)
  78. }
  79. ,
  80. e.ɵfac = function(t) {
  81. return new (t || e)(i.ɵɵdirectiveInject(i.Renderer2),i.ɵɵdirectiveInject(i.ElementRef))
  82. }
  83. ,
  84. e.ɵdir = i.ɵɵdefineDirective({
  85. type: e,
  86. selectors: [["img"]]
  87. }),
  88. e
  89. }();
  90. t.AddBaseUrlDirective = a,
  91. i.ɵsetClassMetadata(a, [{
  92. type: o.Directive,
  93. args: [{
  94. selector: "img"
  95. }]
  96. }], (function() {
  97. return [{
  98. type: i.Renderer2
  99. }, {
  100. type: i.ElementRef
  101. }]
  102. }
  103. ), null)
  104. },
  105. 1693: function(e, t, n) {
  106. "use strict";
  107. Object.defineProperty(t, "__esModule", {
  108. value: !0
  109. });
  110. var o = n(8)
  111. , r = n(230)
  112. , i = n(0)
  113. , a = function() {
  114. function e(e, t, n) {
  115. this.loader = e,
  116. this.injector = t,
  117. this.vcr = n
  118. }
  119. return e.prototype.ngOnInit = function() {
  120. this.loadComponent().catch(o.handleWarning)
  121. }
  122. ,
  123. e.prototype.loadComponent = function() {
  124. var e = this;
  125. return r.runWithBaseHref((function() {
  126. return e.loader.load(e.modulePath).then((function(t) {
  127. var n = t.create(e.injector)
  128. , o = n.injector.get(e.componentId)
  129. , r = n.componentFactoryResolver.resolveComponentFactory(o);
  130. return e.vcr.createComponent(r)
  131. }
  132. ))
  133. }
  134. ))
  135. }
  136. ,
  137. e.ɵfac = function(t) {
  138. return new (t || e)(i.ɵɵdirectiveInject(i.NgModuleFactoryLoader),i.ɵɵdirectiveInject(i.Injector),i.ɵɵdirectiveInject(i.ViewContainerRef))
  139. }
  140. ,
  141. e.ɵdir = i.ɵɵdefineDirective({
  142. type: e
  143. }),
  144. e
  145. }();
  146. t.AbstractLazyComponent = a
  147. },
  148. 1696: function(e, t, n) {
  149. "use strict";
  150. Object.defineProperty(t, "__esModule", {
  151. value: !0
  152. });
  153. var o, r = n(0), i = n(168), a = n(440), s = n(3), l = n(625), c = n(1707), u = n(0), p = n(440), d = n(3), m = n(1689), g = n(625);
  154. function f(e, t) {
  155. if (1 & e && (u.ɵɵelementStart(0, "p"),
  156. u.ɵɵtext(1),
  157. u.ɵɵelementEnd()),
  158. 2 & e) {
  159. var n = u.ɵɵnextContext();
  160. u.ɵɵadvance(1),
  161. u.ɵɵtextInterpolate(n.bodyText)
  162. }
  163. }
  164. function v(e, t) {
  165. 1 & e && u.ɵɵelementContainer(0)
  166. }
  167. function h(e, t) {
  168. if (1 & e) {
  169. var n = u.ɵɵgetCurrentView();
  170. u.ɵɵelementStart(0, "button", 6),
  171. u.ɵɵlistener("click", (function() {
  172. return u.ɵɵrestoreView(n),
  173. u.ɵɵnextContext().cancel()
  174. }
  175. )),
  176. u.ɵɵtext(1),
  177. u.ɵɵelementEnd()
  178. }
  179. if (2 & e) {
  180. var o = u.ɵɵnextContext();
  181. u.ɵɵadvance(1),
  182. u.ɵɵtextInterpolate1(" ", o.cancelButtonText, " ")
  183. }
  184. }
  185. function M(e, t) {
  186. if (1 & e) {
  187. var n = u.ɵɵgetCurrentView();
  188. u.ɵɵelementStart(0, "button", 6),
  189. u.ɵɵlistener("click", (function() {
  190. return u.ɵɵrestoreView(n),
  191. u.ɵɵnextContext().decline()
  192. }
  193. )),
  194. u.ɵɵtext(1),
  195. u.ɵɵelementEnd()
  196. }
  197. if (2 & e) {
  198. var o = u.ɵɵnextContext();
  199. u.ɵɵadvance(1),
  200. u.ɵɵtextInterpolate1(" ", o.declineButtonText, " ")
  201. }
  202. }
  203. function C(e, t) {
  204. if (1 & e) {
  205. var n = u.ɵɵgetCurrentView();
  206. u.ɵɵelementStart(0, "button", 7),
  207. u.ɵɵlistener("click", (function() {
  208. return u.ɵɵrestoreView(n),
  209. u.ɵɵnextContext().confirm()
  210. }
  211. )),
  212. u.ɵɵtext(1),
  213. u.ɵɵelementEnd()
  214. }
  215. if (2 & e) {
  216. var o = u.ɵɵnextContext();
  217. u.ɵɵproperty("color", o.confirmButtonColor),
  218. u.ɵɵadvance(1),
  219. u.ɵɵtextInterpolate1(" ", o.confirmButtonText, " ")
  220. }
  221. }
  222. !function(e) {
  223. e[e.CONFIRMED = 0] = "CONFIRMED",
  224. e[e.DECLINED = 1] = "DECLINED",
  225. e[e.CANCELLED = 2] = "CANCELLED"
  226. }(o = t.AlertDialogResult || (t.AlertDialogResult = {}));
  227. var x = function() {
  228. function e(e, t) {
  229. var n;
  230. this.dialogRef = e,
  231. this.data = t,
  232. this.confirmButtonColor = "primary",
  233. this.data && (this.title = t.title,
  234. this.confirmButtonColor = null !== (n = t.confirmButtonColor) && void 0 !== n ? n : "primary",
  235. t.body instanceof r.TemplateRef ? this.bodyTemplate = t.body : "string" == typeof t.body && (this.bodyText = t.body),
  236. !1 !== t.cancelButton && (this.cancelButtonText = t.cancelButton ? "" + t.cancelButton : i.translate("Cancel")),
  237. !1 !== t.declineButton && (this.declineButtonText = t.declineButton ? "" + t.declineButton : i.translate("Decline")),
  238. !1 !== t.confirmButton && (this.confirmButtonText = t.confirmButton ? "" + t.confirmButton : i.translate("Confirm")))
  239. }
  240. return e.prototype.beforeUnload = function(e) {
  241. e.returnValue = i.translate("Do you want to navigate away from the current page?")
  242. }
  243. ,
  244. e.prototype.confirm = function() {
  245. this.dialogRef.close(o.CONFIRMED)
  246. }
  247. ,
  248. e.prototype.decline = function() {
  249. this.dialogRef.close(o.DECLINED)
  250. }
  251. ,
  252. e.prototype.cancel = function() {
  253. this.dialogRef.close(o.CANCELLED)
  254. }
  255. ,
  256. e.ɵfac = function(t) {
  257. return new (t || e)(u.ɵɵdirectiveInject(p.MatDialogRef),u.ɵɵdirectiveInject(a.MAT_DIALOG_DATA))
  258. }
  259. ,
  260. e.ɵcmp = u.ɵɵdefineComponent({
  261. type: e,
  262. selectors: [["alert-dialog"]],
  263. hostBindings: function(e, t) {
  264. 1 & e && u.ɵɵlistener("beforeunload", (function(e) {
  265. return t.beforeUnload(e)
  266. }
  267. ), !1, u.ɵɵresolveWindow)
  268. },
  269. decls: 10,
  270. vars: 6,
  271. consts: [["mat-dialog-title", ""], [4, "ngIf"], [4, "ngTemplateOutlet"], ["mat-stroked-button", "", 3, "click", 4, "ngIf"], ["fxFlex", "1 1 auto"], ["mat-flat-button", "", 3, "color", "click", 4, "ngIf"], ["mat-stroked-button", "", 3, "click"], ["mat-flat-button", "", 3, "color", "click"]],
  272. template: function(e, t) {
  273. 1 & e && (u.ɵɵelementStart(0, "h4", 0),
  274. u.ɵɵtext(1),
  275. u.ɵɵelementEnd(),
  276. u.ɵɵelementStart(2, "mat-dialog-content"),
  277. u.ɵɵtemplate(3, f, 2, 1, "p", 1),
  278. u.ɵɵtemplate(4, v, 1, 0, "ng-container", 2),
  279. u.ɵɵelementEnd(),
  280. u.ɵɵelementStart(5, "mat-dialog-actions"),
  281. u.ɵɵtemplate(6, h, 2, 1, "button", 3),
  282. u.ɵɵelement(7, "div", 4),
  283. u.ɵɵtemplate(8, M, 2, 1, "button", 3),
  284. u.ɵɵtemplate(9, C, 2, 2, "button", 5),
  285. u.ɵɵelementEnd()),
  286. 2 & e && (u.ɵɵadvance(1),
  287. u.ɵɵtextInterpolate(t.title),
  288. u.ɵɵadvance(2),
  289. u.ɵɵproperty("ngIf", t.bodyText),
  290. u.ɵɵadvance(1),
  291. u.ɵɵproperty("ngTemplateOutlet", t.bodyTemplate),
  292. u.ɵɵadvance(2),
  293. u.ɵɵproperty("ngIf", t.cancelButtonText),
  294. u.ɵɵadvance(2),
  295. u.ɵɵproperty("ngIf", t.declineButtonText),
  296. u.ɵɵadvance(1),
  297. u.ɵɵproperty("ngIf", t.confirmButtonText))
  298. },
  299. directives: [p.MatDialogTitle, p.MatDialogContent, d.NgIf, d.NgTemplateOutlet, p.MatDialogActions, m.DefaultFlexDirective, g.MatButton],
  300. encapsulation: 2
  301. }),
  302. e
  303. }();
  304. t.AlertDialogComponent = x,
  305. u.ɵsetClassMetadata(x, [{
  306. type: r.Component,
  307. args: [{
  308. selector: "alert-dialog",
  309. templateUrl: "./AlertDialog.ng.html"
  310. }]
  311. }], (function() {
  312. return [{
  313. type: p.MatDialogRef
  314. }, {
  315. type: void 0,
  316. decorators: [{
  317. type: r.Inject,
  318. args: [a.MAT_DIALOG_DATA]
  319. }]
  320. }]
  321. }
  322. ), {
  323. beforeUnload: [{
  324. type: r.HostListener,
  325. args: ["window:beforeunload", ["$event"]]
  326. }]
  327. });
  328. var y = function() {
  329. function e() {}
  330. return e.ɵmod = u.ɵɵdefineNgModule({
  331. type: e
  332. }),
  333. e.ɵinj = u.ɵɵdefineInjector({
  334. factory: function(t) {
  335. return new (t || e)
  336. },
  337. imports: [[s.CommonModule, c.FlexLayoutModule, a.MatDialogModule, l.MatButtonModule]]
  338. }),
  339. e
  340. }();
  341. t.AlertDialogModule = y,
  342. ("undefined" == typeof ngJitMode || ngJitMode) && u.ɵɵsetNgModuleScope(y, {
  343. declarations: [x],
  344. imports: [s.CommonModule, c.FlexLayoutModule, a.MatDialogModule, l.MatButtonModule],
  345. exports: [x]
  346. }),
  347. u.ɵsetClassMetadata(y, [{
  348. type: r.NgModule,
  349. args: [{
  350. imports: [s.CommonModule, c.FlexLayoutModule, a.MatDialogModule, l.MatButtonModule],
  351. declarations: [x],
  352. exports: [x]
  353. }]
  354. }], null, null)
  355. },
  356. 1697: function(e, t, n) {
  357. "use strict";
  358. Object.defineProperty(t, "__esModule", {
  359. value: !0
  360. });
  361. var o = n(0)
  362. , r = n(624)
  363. , i = n(2)
  364. , a = n(6)
  365. , s = n(3)
  366. , l = n(0)
  367. , c = function() {
  368. function e(e) {
  369. this.ElementRef = e,
  370. this.valueChange = new o.EventEmitter,
  371. this.disabled = !1,
  372. this.ident = void 0
  373. }
  374. return e.prototype.ngOnInit = function() {
  375. this.ident = this.ElementRef.nativeElement.getAttribute("id"),
  376. this.ElementRef.nativeElement.setAttribute("id", void 0)
  377. }
  378. ,
  379. e.prototype.registerOnChange = function(e) {
  380. this.changeFn = e
  381. }
  382. ,
  383. e.prototype.registerOnTouched = function(e) {
  384. this.touchFn = e
  385. }
  386. ,
  387. e.prototype.setDisabledState = function(e) {
  388. this.disabled = e
  389. }
  390. ,
  391. e.prototype.writeValue = function(e) {
  392. this.value = e,
  393. this.valueChange.emit(this.value),
  394. this.changeFn && this.changeFn(this.value)
  395. }
  396. ,
  397. e.prototype.onInputTouched = function() {
  398. this.disabled || (this.touchFn && this.touchFn(),
  399. this.writeValue(!this.value))
  400. }
  401. ,
  402. e.ɵfac = function(t) {
  403. return new (t || e)(l.ɵɵdirectiveInject(l.ElementRef))
  404. }
  405. ,
  406. e.ɵcmp = l.ɵɵdefineComponent({
  407. type: e,
  408. selectors: [["toggle-switch"]],
  409. inputs: {
  410. title: "title",
  411. value: "value"
  412. },
  413. outputs: {
  414. valueChange: "valueChange"
  415. },
  416. features: [l.ɵɵProvidersFeature([{
  417. provide: r.NG_VALUE_ACCESSOR,
  418. useExisting: o.forwardRef((function() {
  419. return e
  420. }
  421. )),
  422. multi: !0
  423. }])],
  424. decls: 3,
  425. vars: 3,
  426. consts: [[1, "toggle-switch", 3, "title"], ["type", "checkbox", 3, "id", "checked", "click"], [1, "slider"]],
  427. template: function(e, t) {
  428. 1 & e && (l.ɵɵelementStart(0, "label", 0),
  429. l.ɵɵelementStart(1, "input", 1),
  430. l.ɵɵlistener("click", (function() {
  431. return t.onInputTouched()
  432. }
  433. )),
  434. l.ɵɵelementEnd(),
  435. l.ɵɵelement(2, "span", 2),
  436. l.ɵɵelementEnd()),
  437. 2 & e && (l.ɵɵproperty("title", t.title),
  438. l.ɵɵadvance(1),
  439. l.ɵɵproperty("id", t.ident)("checked", t.value))
  440. },
  441. styles: ['[_nghost-%COMP%]{display:flex;justify-content:center;align-items:center}.toggle-switch[_ngcontent-%COMP%], [_nghost-%COMP%]{width:30px;height:17px}.toggle-switch[_ngcontent-%COMP%]{position:relative;display:inline-block;margin:0}.toggle-switch[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{opacity:0;width:0;height:0}.toggle-switch[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:checked + .slider[_ngcontent-%COMP%]{background-color:#3398c7}.toggle-switch[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:focus + .slider[_ngcontent-%COMP%]{box-shadow:0 0 1px #3398c7}.toggle-switch[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:checked + .slider[_ngcontent-%COMP%]:before{-webkit-transform:translateX(13px);-ms-transform:translateX(13px);transform:translateX(13px)}.toggle-switch[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;border-radius:17px}.toggle-switch[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%], .toggle-switch[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:before{position:absolute;-webkit-transition:.4s;transition:.4s}.toggle-switch[_ngcontent-%COMP%] .slider[_ngcontent-%COMP%]:before{content:"";height:13px;width:13px;left:2px;bottom:2px;background-color:#fff;border-radius:50%}']
  442. }),
  443. e
  444. }();
  445. t.ToggleSwitchComponent = c,
  446. l.ɵsetClassMetadata(c, [{
  447. type: o.Component,
  448. args: [{
  449. selector: "toggle-switch",
  450. templateUrl: "./ToggleSwitch.ng.html",
  451. styleUrls: ["./ToggleSwitch.ng.scss"],
  452. providers: [{
  453. provide: r.NG_VALUE_ACCESSOR,
  454. useExisting: o.forwardRef((function() {
  455. return c
  456. }
  457. )),
  458. multi: !0
  459. }]
  460. }]
  461. }], (function() {
  462. return [{
  463. type: l.ElementRef
  464. }]
  465. }
  466. ), {
  467. title: [{
  468. type: o.Input
  469. }],
  470. value: [{
  471. type: o.Input
  472. }],
  473. valueChange: [{
  474. type: o.Output
  475. }]
  476. }),
  477. i.module("IVWebApp").directive("toggleSwitch", a.downgradeComponent({
  478. component: c
  479. }));
  480. var u = function() {
  481. function e() {}
  482. return e.ɵmod = l.ɵɵdefineNgModule({
  483. type: e
  484. }),
  485. e.ɵinj = l.ɵɵdefineInjector({
  486. factory: function(t) {
  487. return new (t || e)
  488. },
  489. imports: [[s.CommonModule]]
  490. }),
  491. e
  492. }();
  493. t.ToggleSwitchModule = u,
  494. ("undefined" == typeof ngJitMode || ngJitMode) && l.ɵɵsetNgModuleScope(u, {
  495. declarations: [c],
  496. imports: [s.CommonModule],
  497. exports: [c]
  498. }),
  499. l.ɵsetClassMetadata(u, [{
  500. type: o.NgModule,
  501. args: [{
  502. imports: [s.CommonModule],
  503. declarations: [c],
  504. exports: [c]
  505. }]
  506. }], null, null)
  507. },
  508. 1700: function(e, t, n) {
  509. "use strict";
  510. Object.defineProperty(t, "__esModule", {
  511. value: !0
  512. });
  513. var o = n(0)
  514. , r = (n(130),
  515. n(0))
  516. , i = n(130)
  517. , a = function() {
  518. function e(e) {
  519. this.UoMService = e
  520. }
  521. return e.prototype.transform = function(e, t, n, o, r) {
  522. return void 0 === n && (n = 2),
  523. void 0 === o && (o = 0),
  524. void 0 === r && (r = !1),
  525. this.UoMService.convert(e, t, n, void 0, o, r)
  526. }
  527. ,
  528. e.ɵfac = function(t) {
  529. return new (t || e)(r.ɵɵdirectiveInject(i.UoMService))
  530. }
  531. ,
  532. e.ɵpipe = r.ɵɵdefinePipe({
  533. name: "uom",
  534. type: e,
  535. pure: !0
  536. }),
  537. e
  538. }();
  539. t.UoMPipe = a,
  540. r.ɵsetClassMetadata(a, [{
  541. type: o.Pipe,
  542. args: [{
  543. name: "uom"
  544. }]
  545. }], (function() {
  546. return [{
  547. type: i.UoMService
  548. }]
  549. }
  550. ), null)
  551. },
  552. 1704: function(e, t, n) {
  553. "use strict";
  554. Object.defineProperty(t, "__esModule", {
  555. value: !0
  556. });
  557. var o = n(0)
  558. , r = (n(17),
  559. n(0))
  560. , i = n(17)
  561. , a = function() {
  562. function e(e) {
  563. this.ViewService = e,
  564. this.focusWhitelist = ["input", "select", "textarea"]
  565. }
  566. return e.prototype.ngDoCheck = function() {
  567. var e = document.activeElement
  568. , t = this.ViewService.mainView.divContainer.container;
  569. e !== t && -1 === this.focusWhitelist.indexOf(e.localName) && t.focus()
  570. }
  571. ,
  572. e.ɵfac = function(t) {
  573. return new (t || e)(r.ɵɵdirectiveInject(i.ViewService))
  574. }
  575. ,
  576. e.ɵdir = r.ɵɵdefineDirective({
  577. type: e,
  578. selectors: [["", "redirectFocusToScene", ""]]
  579. }),
  580. e
  581. }();
  582. t.RedirectFocusToMainViewDirective = a,
  583. r.ɵsetClassMetadata(a, [{
  584. type: o.Directive,
  585. args: [{
  586. selector: "[redirectFocusToScene]"
  587. }]
  588. }], (function() {
  589. return [{
  590. type: i.ViewService
  591. }]
  592. }
  593. ), null)
  594. },
  595. 1705: function(e, t, n) {
  596. "use strict";
  597. Object.defineProperty(t, "__esModule", {
  598. value: !0
  599. });
  600. var o = n(0)
  601. , r = n(2)
  602. , i = n(6)
  603. , a = n(0)
  604. , s = function() {
  605. function e() {
  606. this.zoomIn = new o.EventEmitter,
  607. this.zoomOut = new o.EventEmitter
  608. }
  609. return e.prototype.fireZoomIn = function(e) {
  610. this.zoomIn.emit()
  611. }
  612. ,
  613. e.prototype.fireZoomOut = function(e) {
  614. this.zoomOut.emit()
  615. }
  616. ,
  617. e.ɵfac = function(t) {
  618. return new (t || e)
  619. }
  620. ,
  621. e.ɵcmp = a.ɵɵdefineComponent({
  622. type: e,
  623. selectors: [["zoom-control"]],
  624. outputs: {
  625. zoomIn: "zoomIn",
  626. zoomOut: "zoomOut"
  627. },
  628. decls: 5,
  629. vars: 0,
  630. consts: [[1, "btn-group-vertical", 3, "dblclick"], ["type", "button", 1, "btn", "btn-default", 3, "click"], [1, "fa", "fa-plus"], [1, "fa", "fa-minus"]],
  631. template: function(e, t) {
  632. 1 & e && (a.ɵɵelementStart(0, "div", 0),
  633. a.ɵɵlistener("dblclick", (function(e) {
  634. return e.stopPropagation()
  635. }
  636. )),
  637. a.ɵɵelementStart(1, "button", 1),
  638. a.ɵɵlistener("click", (function(e) {
  639. return t.fireZoomIn(e)
  640. }
  641. )),
  642. a.ɵɵelement(2, "i", 2),
  643. a.ɵɵelementEnd(),
  644. a.ɵɵelementStart(3, "button", 1),
  645. a.ɵɵlistener("click", (function(e) {
  646. return t.fireZoomOut(e)
  647. }
  648. )),
  649. a.ɵɵelement(4, "i", 3),
  650. a.ɵɵelementEnd(),
  651. a.ɵɵelementEnd())
  652. },
  653. styles: ["div[_ngcontent-%COMP%]{width:100%}div[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{border:none}"]
  654. }),
  655. e
  656. }();
  657. t.ZoomControlComponent = s,
  658. a.ɵsetClassMetadata(s, [{
  659. type: o.Component,
  660. args: [{
  661. selector: "zoom-control",
  662. templateUrl: "ZoomControl.ng.html",
  663. styleUrls: ["ZoomControl.ng.scss"]
  664. }]
  665. }], null, {
  666. zoomIn: [{
  667. type: o.Output
  668. }],
  669. zoomOut: [{
  670. type: o.Output
  671. }]
  672. }),
  673. r.module("IVWebApp").directive("zoomControl", i.downgradeComponent({
  674. component: s
  675. }))
  676. },
  677. 1711: function(e, t, n) {
  678. "use strict";
  679. Object.defineProperty(t, "__esModule", {
  680. value: !0
  681. });
  682. var o = n(0)
  683. , r = n(1692)
  684. , i = n(3)
  685. , a = n(1700)
  686. , s = n(1704)
  687. , l = n(1697)
  688. , c = n(1696)
  689. , u = n(1705)
  690. , p = n(0)
  691. , d = function() {
  692. function e() {}
  693. return e.ɵmod = p.ɵɵdefineNgModule({
  694. type: e
  695. }),
  696. e.ɵinj = p.ɵɵdefineInjector({
  697. factory: function(t) {
  698. return new (t || e)
  699. },
  700. providers: [],
  701. imports: [[i.CommonModule, l.ToggleSwitchModule, c.AlertDialogModule]]
  702. }),
  703. e
  704. }();
  705. t.SharedModule = d,
  706. ("undefined" == typeof ngJitMode || ngJitMode) && p.ɵɵsetNgModuleScope(d, {
  707. declarations: [r.AddBaseUrlDirective, s.RedirectFocusToMainViewDirective, a.UoMPipe, u.ZoomControlComponent],
  708. imports: [i.CommonModule, l.ToggleSwitchModule, c.AlertDialogModule],
  709. exports: [r.AddBaseUrlDirective, s.RedirectFocusToMainViewDirective, a.UoMPipe, u.ZoomControlComponent]
  710. }),
  711. p.ɵsetClassMetadata(d, [{
  712. type: o.NgModule,
  713. args: [{
  714. imports: [i.CommonModule, l.ToggleSwitchModule, c.AlertDialogModule],
  715. declarations: [r.AddBaseUrlDirective, s.RedirectFocusToMainViewDirective, a.UoMPipe, u.ZoomControlComponent],
  716. entryComponents: [u.ZoomControlComponent],
  717. exports: [r.AddBaseUrlDirective, s.RedirectFocusToMainViewDirective, a.UoMPipe, u.ZoomControlComponent],
  718. providers: []
  719. }]
  720. }], null, null)
  721. },
  722. 1887: function(e, t, n) {
  723. "use strict";
  724. var o, r = this && this.__extends || (o = function(e, t) {
  725. return (o = Object.setPrototypeOf || {
  726. __proto__: []
  727. }instanceof Array && function(e, t) {
  728. e.__proto__ = t
  729. }
  730. || function(e, t) {
  731. for (var n in t)
  732. t.hasOwnProperty(n) && (e[n] = t[n])
  733. }
  734. )(e, t)
  735. }
  736. ,
  737. function(e, t) {
  738. function n() {
  739. this.constructor = e
  740. }
  741. o(e, t),
  742. e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype,
  743. new n)
  744. }
  745. );
  746. Object.defineProperty(t, "__esModule", {
  747. value: !0
  748. });
  749. var i = n(0)
  750. , a = n(2)
  751. , s = n(6)
  752. , l = n(1693)
  753. , c = n(0);
  754. t.MEASUREMENTS_COMPONENT = "MEASUREMENTS_COMPONENT";
  755. var u = function(e) {
  756. function n(n, o, r) {
  757. var i = e.call(this, n, o, r) || this;
  758. return i.modulePath = "./MeasurementsModule#MeasurementsModule",
  759. i.componentId = t.MEASUREMENTS_COMPONENT,
  760. i
  761. }
  762. return r(n, e),
  763. n.ɵfac = function(e) {
  764. return new (e || n)(c.ɵɵdirectiveInject(c.NgModuleFactoryLoader),c.ɵɵdirectiveInject(c.Injector),c.ɵɵdirectiveInject(c.ViewContainerRef))
  765. }
  766. ,
  767. n.ɵcmp = c.ɵɵdefineComponent({
  768. type: n,
  769. selectors: [["measurements-lazy"]],
  770. features: [c.ɵɵInheritDefinitionFeature],
  771. decls: 0,
  772. vars: 0,
  773. template: function(e, t) {},
  774. encapsulation: 2
  775. }),
  776. n
  777. }(l.AbstractLazyComponent);
  778. t.MeasurementsLazyComponent = u,
  779. c.ɵsetClassMetadata(u, [{
  780. type: i.Component,
  781. args: [{
  782. selector: "measurements-lazy",
  783. template: ""
  784. }]
  785. }], (function() {
  786. return [{
  787. type: c.NgModuleFactoryLoader
  788. }, {
  789. type: c.Injector
  790. }, {
  791. type: c.ViewContainerRef
  792. }]
  793. }
  794. ), null),
  795. a.module("IVWebApp").directive("measurementsLazy", s.downgradeComponent({
  796. component: u
  797. }))
  798. },
  799. 1908: function(e, t, n) {
  800. "use strict";
  801. (function(e) {
  802. Object.defineProperty(t, "__esModule", {
  803. value: !0
  804. });
  805. var o = n(0)
  806. , r = n(168)
  807. , i = n(85)
  808. , a = (n(626),
  809. n(440),
  810. n(641),
  811. n(107))
  812. , s = n(8)
  813. , l = n(0)
  814. , c = n(440)
  815. , u = n(626)
  816. , p = n(168)
  817. , d = n(3)
  818. , m = n(625)
  819. , g = n(1692)
  820. , f = n(1709)
  821. , v = n(1861)
  822. , h = n(1700)
  823. , M = ["exportableMeasurementsDialog"];
  824. function C(e, t) {
  825. if (1 & e && (l.ɵɵelementStart(0, "span"),
  826. l.ɵɵtext(1),
  827. l.ɵɵelementEnd()),
  828. 2 & e) {
  829. var n = l.ɵɵnextContext(3).$implicit;
  830. l.ɵɵadvance(1),
  831. l.ɵɵtextInterpolate1("", n("Import all measurements"), ": ")
  832. }
  833. }
  834. function x(e, t) {
  835. if (1 & e && (l.ɵɵelementStart(0, "a", 15),
  836. l.ɵɵtext(1),
  837. l.ɵɵelementEnd()),
  838. 2 & e) {
  839. var n = l.ɵɵnextContext(4);
  840. l.ɵɵproperty("href", n.exportAllMeasurementLink.value, l.ɵɵsanitizeUrl),
  841. l.ɵɵadvance(1),
  842. l.ɵɵtextInterpolate(n.exportAllMeasurementLink.value)
  843. }
  844. }
  845. function y(e, t) {
  846. if (1 & e && (l.ɵɵelementStart(0, "span"),
  847. l.ɵɵtext(1),
  848. l.ɵɵelementEnd()),
  849. 2 & e) {
  850. var n = l.ɵɵnextContext(3).$implicit;
  851. l.ɵɵadvance(1),
  852. l.ɵɵtextInterpolate1(" ", n("The measurement share link to import all measurements at once could not be generated for the selected measurements because the link is too long. Please deselect some measurements and try again or use the share link of each measurement to import them separately."), "")
  853. }
  854. }
  855. function S(e, t) {
  856. if (1 & e) {
  857. var n = l.ɵɵgetCurrentView();
  858. l.ɵɵelementStart(0, "div", 16),
  859. l.ɵɵelementStart(1, "i", 17),
  860. l.ɵɵlistener("click", (function(e) {
  861. l.ɵɵrestoreView(n);
  862. var t = l.ɵɵnextContext(4);
  863. return t.copyToClipboard(t.exportAllMeasurementLink.value, e)
  864. }
  865. ))("mouseout", (function(e) {
  866. return l.ɵɵrestoreView(n),
  867. l.ɵɵnextContext(4).removeTooltip(e)
  868. }
  869. )),
  870. l.ɵɵtext(2, "file_copy"),
  871. l.ɵɵelementEnd(),
  872. l.ɵɵelementEnd()
  873. }
  874. if (2 & e) {
  875. var o = l.ɵɵnextContext(3).$implicit;
  876. l.ɵɵadvance(1),
  877. l.ɵɵproperty("title", o("Copy to clipboard"))
  878. }
  879. }
  880. function b(e, t) {
  881. if (1 & e && (l.ɵɵelementStart(0, "div", 10),
  882. l.ɵɵelementStart(1, "div", 11),
  883. l.ɵɵelementStart(2, "div", 12),
  884. l.ɵɵtemplate(3, C, 2, 1, "span", 9),
  885. l.ɵɵtemplate(4, x, 2, 2, "a", 13),
  886. l.ɵɵelementEnd(),
  887. l.ɵɵtemplate(5, y, 2, 1, "span", 9),
  888. l.ɵɵelementEnd(),
  889. l.ɵɵtemplate(6, S, 3, 1, "div", 14),
  890. l.ɵɵelementEnd()),
  891. 2 & e) {
  892. var n = l.ɵɵnextContext(3);
  893. l.ɵɵadvance(3),
  894. l.ɵɵproperty("ngIf", n.exportAllMeasurementLink.isValidLengthForAllBrowsers),
  895. l.ɵɵadvance(1),
  896. l.ɵɵproperty("ngIf", n.exportAllMeasurementLink.isValidLengthForAllBrowsers),
  897. l.ɵɵadvance(1),
  898. l.ɵɵproperty("ngIf", !n.exportAllMeasurementLink.isValidLengthForAllBrowsers),
  899. l.ɵɵadvance(1),
  900. l.ɵɵproperty("ngIf", n.exportAllMeasurementLink.isValidLengthForAllBrowsers)
  901. }
  902. }
  903. var E = function(e) {
  904. return [e, "distance", 2, .1, !0]
  905. };
  906. function w(e, t) {
  907. if (1 & e && (l.ɵɵelementStart(0, "span", 29),
  908. l.ɵɵtext(1),
  909. l.ɵɵpipe(2, "uom"),
  910. l.ɵɵelementEnd()),
  911. 2 & e) {
  912. var n = l.ɵɵnextContext().$implicit;
  913. l.ɵɵadvance(1),
  914. l.ɵɵtextInterpolate1(" ", l.ɵɵpipeBindV(2, 1, l.ɵɵpureFunction1(7, E, n.measurement.value)), " ")
  915. }
  916. }
  917. function I(e, t) {
  918. if (1 & e && (l.ɵɵelementStart(0, "span", 30),
  919. l.ɵɵtext(1),
  920. l.ɵɵpipe(2, "uom"),
  921. l.ɵɵelementEnd()),
  922. 2 & e) {
  923. var n = l.ɵɵnextContext().$implicit;
  924. l.ɵɵadvance(1),
  925. l.ɵɵtextInterpolate1(" ", l.ɵɵpipeBind2(2, 1, n.measurement.value, "area"), " ")
  926. }
  927. }
  928. function P(e, t) {
  929. if (1 & e && (l.ɵɵelementStart(0, "div", 34),
  930. l.ɵɵelement(1, "img", 32),
  931. l.ɵɵelementStart(2, "span"),
  932. l.ɵɵtext(3),
  933. l.ɵɵelementEnd(),
  934. l.ɵɵelementEnd()),
  935. 2 & e) {
  936. var n = l.ɵɵnextContext(2).$implicit
  937. , o = l.ɵɵnextContext(3);
  938. l.ɵɵadvance(1),
  939. l.ɵɵproperty("src", o.floorIcon, l.ɵɵsanitizeUrl),
  940. l.ɵɵadvance(2),
  941. l.ɵɵtextInterpolate1("", n.location.floor, " ")
  942. }
  943. }
  944. function O(e, t) {
  945. if (1 & e && (l.ɵɵelementStart(0, "div", 34),
  946. l.ɵɵelement(1, "img", 32),
  947. l.ɵɵelementStart(2, "span"),
  948. l.ɵɵtext(3),
  949. l.ɵɵelementEnd(),
  950. l.ɵɵelementEnd()),
  951. 2 & e) {
  952. var n = l.ɵɵnextContext(2).$implicit
  953. , o = l.ɵɵnextContext(3);
  954. l.ɵɵadvance(1),
  955. l.ɵɵproperty("src", o.roomIcon, l.ɵɵsanitizeUrl),
  956. l.ɵɵadvance(2),
  957. l.ɵɵtextInterpolate1("", n.location.room, " ")
  958. }
  959. }
  960. function _(e, t) {
  961. if (1 & e && (l.ɵɵelementStart(0, "div", 19),
  962. l.ɵɵelementStart(1, "div", 31),
  963. l.ɵɵelementStart(2, "div"),
  964. l.ɵɵelement(3, "img", 32),
  965. l.ɵɵelementStart(4, "span"),
  966. l.ɵɵtext(5),
  967. l.ɵɵelementEnd(),
  968. l.ɵɵelementEnd(),
  969. l.ɵɵtemplate(6, P, 4, 2, "div", 33),
  970. l.ɵɵtemplate(7, O, 4, 2, "div", 33),
  971. l.ɵɵelementEnd(),
  972. l.ɵɵelementEnd()),
  973. 2 & e) {
  974. var n = l.ɵɵnextContext().$implicit
  975. , o = l.ɵɵnextContext(3);
  976. l.ɵɵadvance(3),
  977. l.ɵɵproperty("src", o.buildingIcon, l.ɵɵsanitizeUrl),
  978. l.ɵɵadvance(2),
  979. l.ɵɵtextInterpolate1("", n.location.building, " "),
  980. l.ɵɵadvance(1),
  981. l.ɵɵproperty("ngIf", n.location.floor),
  982. l.ɵɵadvance(1),
  983. l.ɵɵproperty("ngIf", n.location.room)
  984. }
  985. }
  986. function T(e, t) {
  987. if (1 & e && (l.ɵɵelementStart(0, "div", 25),
  988. l.ɵɵelementStart(1, "div", 35),
  989. l.ɵɵelementStart(2, "div", 36),
  990. l.ɵɵtext(3),
  991. l.ɵɵelementEnd(),
  992. l.ɵɵelementEnd(),
  993. l.ɵɵelementEnd()),
  994. 2 & e) {
  995. var n = l.ɵɵnextContext().$implicit;
  996. l.ɵɵadvance(3),
  997. l.ɵɵtextInterpolate1(" ", n.measurement.note, " ")
  998. }
  999. }
  1000. function A(e, t) {
  1001. if (1 & e) {
  1002. var n = l.ɵɵgetCurrentView();
  1003. l.ɵɵelementStart(0, "div"),
  1004. l.ɵɵelementStart(1, "div", 18),
  1005. l.ɵɵelementStart(2, "div", 19),
  1006. l.ɵɵelementStart(3, "div", 20),
  1007. l.ɵɵtext(4),
  1008. l.ɵɵelementEnd(),
  1009. l.ɵɵelementStart(5, "div", 21),
  1010. l.ɵɵtemplate(6, w, 3, 9, "span", 22),
  1011. l.ɵɵtemplate(7, I, 3, 4, "span", 23),
  1012. l.ɵɵelementEnd(),
  1013. l.ɵɵelementEnd(),
  1014. l.ɵɵtemplate(8, _, 8, 4, "div", 24),
  1015. l.ɵɵelementStart(9, "div", 25),
  1016. l.ɵɵelementStart(10, "div", 11),
  1017. l.ɵɵelementStart(11, "div", 12),
  1018. l.ɵɵelementStart(12, "a", 15),
  1019. l.ɵɵtext(13),
  1020. l.ɵɵelementEnd(),
  1021. l.ɵɵelementEnd(),
  1022. l.ɵɵelementEnd(),
  1023. l.ɵɵelementStart(14, "div", 16),
  1024. l.ɵɵelementStart(15, "i", 17),
  1025. l.ɵɵlistener("click", (function(e) {
  1026. l.ɵɵrestoreView(n);
  1027. var o = t.$implicit;
  1028. return l.ɵɵnextContext(3).copyToClipboard(o.url.value, e)
  1029. }
  1030. ))("mouseout", (function(e) {
  1031. return l.ɵɵrestoreView(n),
  1032. l.ɵɵnextContext(3).removeTooltip(e)
  1033. }
  1034. )),
  1035. l.ɵɵtext(16, "file_copy"),
  1036. l.ɵɵelementEnd(),
  1037. l.ɵɵelementEnd(),
  1038. l.ɵɵelementEnd(),
  1039. l.ɵɵelementStart(17, "div", 26),
  1040. l.ɵɵelement(18, "img", 27),
  1041. l.ɵɵelementEnd(),
  1042. l.ɵɵtemplate(19, T, 4, 1, "div", 28),
  1043. l.ɵɵelementEnd(),
  1044. l.ɵɵelementEnd()
  1045. }
  1046. if (2 & e) {
  1047. var o = t.$implicit
  1048. , r = l.ɵɵnextContext(2).$implicit
  1049. , i = l.ɵɵnextContext();
  1050. l.ɵɵadvance(4),
  1051. l.ɵɵtextInterpolate1(" ", o.measurement.name, " "),
  1052. l.ɵɵadvance(2),
  1053. l.ɵɵproperty("ngIf", i.isDistance(o.measurement)),
  1054. l.ɵɵadvance(1),
  1055. l.ɵɵproperty("ngIf", i.isArea(o.measurement)),
  1056. l.ɵɵadvance(1),
  1057. l.ɵɵproperty("ngIf", o.location),
  1058. l.ɵɵadvance(4),
  1059. l.ɵɵproperty("href", o.url.value, l.ɵɵsanitizeUrl),
  1060. l.ɵɵadvance(1),
  1061. l.ɵɵtextInterpolate(o.url.value),
  1062. l.ɵɵadvance(2),
  1063. l.ɵɵproperty("title", r("Copy to clipboard")),
  1064. l.ɵɵadvance(3),
  1065. l.ɵɵproperty("src", o.screenshot.data, l.ɵɵsanitizeUrl),
  1066. l.ɵɵadvance(1),
  1067. l.ɵɵproperty("ngIf", o.measurement.note)
  1068. }
  1069. }
  1070. function D(e, t) {
  1071. 1 & e && (l.ɵɵelementStart(0, "mat-icon"),
  1072. l.ɵɵelement(1, "mat-spinner", 37),
  1073. l.ɵɵelementEnd())
  1074. }
  1075. function V(e, t) {
  1076. if (1 & e) {
  1077. var n = l.ɵɵgetCurrentView();
  1078. l.ɵɵelementStart(0, "h4", 2),
  1079. l.ɵɵtext(1),
  1080. l.ɵɵelementEnd(),
  1081. l.ɵɵelementStart(2, "mat-dialog-content"),
  1082. l.ɵɵelementStart(3, "div", 3),
  1083. l.ɵɵtemplate(4, b, 7, 4, "div", 4),
  1084. l.ɵɵtemplate(5, A, 20, 9, "div", 5),
  1085. l.ɵɵelementEnd(),
  1086. l.ɵɵelementEnd(),
  1087. l.ɵɵelementStart(6, "mat-dialog-actions", 6),
  1088. l.ɵɵelementStart(7, "button", 7),
  1089. l.ɵɵtext(8),
  1090. l.ɵɵelementEnd(),
  1091. l.ɵɵelementStart(9, "button", 8),
  1092. l.ɵɵlistener("click", (function() {
  1093. return l.ɵɵrestoreView(n),
  1094. l.ɵɵnextContext(2).exportPdf()
  1095. }
  1096. )),
  1097. l.ɵɵtext(10),
  1098. l.ɵɵtemplate(11, D, 2, 0, "mat-icon", 9),
  1099. l.ɵɵelementEnd(),
  1100. l.ɵɵelementEnd()
  1101. }
  1102. if (2 & e) {
  1103. var o = l.ɵɵnextContext().$implicit
  1104. , r = l.ɵɵnextContext();
  1105. l.ɵɵadvance(1),
  1106. l.ɵɵtextInterpolate(o("Export Measurements")),
  1107. l.ɵɵadvance(3),
  1108. l.ɵɵproperty("ngIf", r.exportMeasurementList && r.exportMeasurementList.length > 1),
  1109. l.ɵɵadvance(1),
  1110. l.ɵɵproperty("ngForOf", r.exportMeasurementList),
  1111. l.ɵɵadvance(3),
  1112. l.ɵɵtextInterpolate(o("Cancel")),
  1113. l.ɵɵadvance(1),
  1114. l.ɵɵproperty("disabled", r.isPdfExportInProgress),
  1115. l.ɵɵadvance(1),
  1116. l.ɵɵtextInterpolate1(" ", o("Export as PDF"), " "),
  1117. l.ɵɵadvance(1),
  1118. l.ɵɵproperty("ngIf", r.isPdfExportInProgress)
  1119. }
  1120. }
  1121. function k(e, t) {
  1122. 1 & e && (l.ɵɵelementContainerStart(0),
  1123. l.ɵɵtemplate(1, V, 12, 7, "ng-template", null, 1, l.ɵɵtemplateRefExtractor),
  1124. l.ɵɵelementContainerEnd())
  1125. }
  1126. var R = function() {
  1127. function t(e, t) {
  1128. this.MatDialog = e,
  1129. this.MeasurementPdfExportService = t,
  1130. this.isPdfExportInProgress = !1,
  1131. this.buildingIcon = n(633),
  1132. this.roomIcon = n(635),
  1133. this.floorIcon = n(634)
  1134. }
  1135. return t.prototype.copyToClipboard = function(t, n) {
  1136. var o = document.createElement("textarea");
  1137. o.style.position = "fixed",
  1138. o.style.left = "0",
  1139. o.style.opacity = "0",
  1140. o.style.top = "0",
  1141. o.innerText = t,
  1142. document.body.appendChild(o),
  1143. o.focus(),
  1144. o.select(),
  1145. document.execCommand("copy"),
  1146. document.body.removeChild(o),
  1147. e(n.target).attr("title", r.translate("Copied link to clipboard")).tooltip("show")
  1148. }
  1149. ,
  1150. t.prototype.showModal = function() {
  1151. this.MatDialog.open(this.exportModal, {
  1152. panelClass: "modal-lg"
  1153. })
  1154. }
  1155. ,
  1156. t.prototype.exportPdf = function() {
  1157. var e = this;
  1158. this.isPdfExportInProgress = !0;
  1159. var t = this.exportAllMeasurementLink.isValidLengthForAllBrowsers ? this.exportAllMeasurementLink.value : "";
  1160. a.promiseFinally(this.MeasurementPdfExportService.exportMeasurements(this.exportMeasurementList, t), (function() {
  1161. return e.isPdfExportInProgress = !1
  1162. }
  1163. )).catch(s.handleWarning)
  1164. }
  1165. ,
  1166. t.prototype.isArea = function(e) {
  1167. return i.ToolSpec.of(e.type).type === i.ToolType.AREA
  1168. }
  1169. ,
  1170. t.prototype.isDistance = function(e) {
  1171. return i.ToolSpec.of(e.type).type === i.ToolType.DISTANCE
  1172. }
  1173. ,
  1174. t.prototype.removeTooltip = function(t) {
  1175. e(t.target).tooltip("destroy"),
  1176. e(t.target).attr("title", r.translate("Copy to clipboard"))
  1177. }
  1178. ,
  1179. t.ɵfac = function(e) {
  1180. return new (e || t)(l.ɵɵdirectiveInject(c.MatDialog),l.ɵɵdirectiveInject(u.MeasurementPdfExportService))
  1181. }
  1182. ,
  1183. t.ɵcmp = l.ɵɵdefineComponent({
  1184. type: t,
  1185. selectors: [["measurement-export"]],
  1186. viewQuery: function(e, t) {
  1187. var n;
  1188. (1 & e && l.ɵɵviewQuery(M, !0),
  1189. 2 & e) && (l.ɵɵqueryRefresh(n = l.ɵɵloadQuery()) && (t.exportModal = n.first))
  1190. },
  1191. inputs: {
  1192. exportAllMeasurementLink: "exportAllMeasurementLink",
  1193. exportMeasurementList: "exportMeasurementList"
  1194. },
  1195. decls: 1,
  1196. vars: 0,
  1197. consts: [[4, "transloco"], ["exportableMeasurementsDialog", ""], ["mat-dialog-title", ""], [1, "body-container"], ["class", "flex-row padding-top-custom", 4, "ngIf"], [4, "ngFor", "ngForOf"], ["align", "end"], ["mat-flat-button", "", "mat-dialog-close", ""], ["mat-flat-button", "", "color", "primary", 3, "disabled", "click"], [4, "ngIf"], [1, "flex-row", "padding-top-custom"], [1, "flex-column-90"], [1, "link-ellipses"], [3, "href", 4, "ngIf"], ["class", "flex-column-no-left-padding", 4, "ngIf"], [3, "href"], [1, "flex-column-no-left-padding"], [1, "material-icons", "icn-small", "clickable", 3, "title", "click", "mouseout"], [1, "measurement-container"], [1, "flex-row", "padding-left"], [1, "subtitle"], [1, "flex-right", "subtitle"], ["class", "measurement-value-distance", 4, "ngIf"], ["class", "measurement-value-area", 4, "ngIf"], ["class", "flex-row padding-left", 4, "ngIf"], [1, "flex-row", "padding-top-sm"], [1, "flex-row", "padding-left", "padding-top-custom"], [1, "screenshot", 3, "src"], ["class", "flex-row padding-top-sm", 4, "ngIf"], [1, "measurement-value-distance"], [1, "measurement-value-area"], [1, "location"], [1, "location-icn", 3, "src"], ["class", "padding-left", 4, "ngIf"], [1, "padding-left"], [1, "flex-column"], [1, "note"], ["color", "accent", "diameter", "20"]],
  1198. template: function(e, t) {
  1199. 1 & e && l.ɵɵtemplate(0, k, 3, 0, "ng-container", 0)
  1200. },
  1201. directives: [p.TranslocoDirective, c.MatDialogTitle, c.MatDialogContent, d.NgIf, d.NgForOf, c.MatDialogActions, m.MatButton, c.MatDialogClose, g.AddBaseUrlDirective, f.MatIcon, v.MatSpinner],
  1202. pipes: [h.UoMPipe],
  1203. styles: [".z-index-1[_ngcontent-%COMP%]{box-shadow:none;position:relative;z-index:1}.z-index-2[_ngcontent-%COMP%]{box-shadow:0 1.5px 4px rgba(0,0,0,.24),0 1.5px 6px rgba(0,0,0,.12);position:relative;z-index:5}.z-index-3[_ngcontent-%COMP%]{box-shadow:0 3px 12px rgba(0,0,0,.23),0 3px 12px rgba(0,0,0,.16);position:relative;z-index:10}.z-index-4[_ngcontent-%COMP%]{box-shadow:0 6px 12px rgba(0,0,0,.23),0 10px 40px rgba(0,0,0,.19);position:relative;z-index:15}.z-index-5[_ngcontent-%COMP%]{box-shadow:0 10px 20px rgba(0,0,0,.22),0 14px 56px rgba(0,0,0,.25);position:relative;z-index:20}.front-element[_ngcontent-%COMP%]{z-index:1031}.full-window[_ngcontent-%COMP%]{position:fixed;margin:0;padding:0;left:0;right:0;top:0;bottom:0;z-index:1029;border-radius:0}.full-window-scroll[_ngcontent-%COMP%]{max-height:100vh}.full-window-scroll[_ngcontent-%COMP%], .panel-autoscroll[_ngcontent-%COMP%]{overflow-y:auto;-webkit-overflow-scrolling:touch}.panel-autoscroll[_ngcontent-%COMP%]{max-height:80vh}.autoscroll[_ngcontent-%COMP%]{overflow-y:auto;-webkit-overflow-scrolling:touch}.fixed-top-right[_ngcontent-%COMP%]{position:fixed;top:10px;right:0}.center-vertical[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%)}.float-left[_ngcontent-%COMP%]{float:left}.float-right[_ngcontent-%COMP%]{float:right}.margin-top-small[_ngcontent-%COMP%]{margin-top:5px!important}.margin-left-small[_ngcontent-%COMP%]{margin-left:5px!important}.margin-right-small[_ngcontent-%COMP%]{margin-right:5px!important}.margin-bottom-small[_ngcontent-%COMP%]{margin-bottom:5px!important}.margin-top[_ngcontent-%COMP%]{margin-top:15px!important}.margin-left[_ngcontent-%COMP%]{margin-left:15px!important}.margin-right[_ngcontent-%COMP%]{margin-right:15px!important}.margin-bottom[_ngcontent-%COMP%]{margin-bottom:15px!important}.margin-top-big[_ngcontent-%COMP%]{margin-top:25px!important}.margin-bottom-big[_ngcontent-%COMP%]{margin-bottom:25px!important}.no-margin[_ngcontent-%COMP%]{margin:0!important}.no-margin-bottom[_ngcontent-%COMP%]{margin-bottom:0!important}.padding-horizontal[_ngcontent-%COMP%]{padding-left:15px!important;padding-right:15px!important}.padding-top[_ngcontent-%COMP%], .padding-vertical[_ngcontent-%COMP%]{padding-top:15px!important}.padding-bottom[_ngcontent-%COMP%], .padding-vertical[_ngcontent-%COMP%], .screenshot[_ngcontent-%COMP%]{padding-bottom:15px!important}.no-padding-top[_ngcontent-%COMP%]{padding-top:0!important}.no-padding-bottom[_ngcontent-%COMP%]{padding-bottom:0!important}.no-padding-horizontal[_ngcontent-%COMP%], .no-padding-left[_ngcontent-%COMP%]{padding-left:0!important}.no-padding-horizontal[_ngcontent-%COMP%], .no-padding-right[_ngcontent-%COMP%]{padding-right:0!important}.no-padding[_ngcontent-%COMP%]{padding:0!important}.border[_ngcontent-%COMP%]{border:1px solid #e6e6e6}.border-top[_ngcontent-%COMP%]{border-top:1px solid #e6e6e6}.border-bottom[_ngcontent-%COMP%]{border-bottom:1px solid #e6e6e6}.border-left[_ngcontent-%COMP%]{border-left:1px solid #e6e6e6}.border-right[_ngcontent-%COMP%]{border-right:1px solid #e6e6e6}.no-border[_ngcontent-%COMP%]{border:none;border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.no-border-width[_ngcontent-%COMP%]{border:none}.border-radius[_ngcontent-%COMP%]{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.border-radius[_ngcontent-%COMP%], .border-radius-top[_ngcontent-%COMP%]{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.border-radius-bottom[_ngcontent-%COMP%]{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.no-border-radius[_ngcontent-%COMP%]{border-top-left-radius:0!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.indoorViewer.ios[_ngcontent-%COMP%] .no-hover-ios[_ngcontent-%COMP%]:hover{background-color:inherit!important}.no-shadow[_ngcontent-%COMP%]{box-shadow:none!important}.clear-background[_ngcontent-%COMP%]{border:0}.clear-background[_ngcontent-%COMP%], .no-background[_ngcontent-%COMP%]{background:none!important}.no-overflow[_ngcontent-%COMP%]{overflow:hidden}.clickable[_ngcontent-%COMP%], .clickable[_ngcontent-%COMP%]:hover{cursor:pointer}.body-container[_ngcontent-%COMP%]{padding-left:24px;max-height:calc(100vh - 250px);margin:-15px}.measurement-container[_ngcontent-%COMP%]{background-color:#f0f0f0;margin-top:24px;margin-right:24px;padding-top:24px;padding-bottom:24px;padding-left:24px;border-radius:4px}.flex-row[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;width:100%;margin-left:-24px}.flex-column[_ngcontent-%COMP%], .flex-column-90[_ngcontent-%COMP%], .flex-column-no-left-padding[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;padding:0 24px;overflow:hidden}.flex-column-no-left-padding[_ngcontent-%COMP%]{padding-left:0}.flex-column-90[_ngcontent-%COMP%]{flex-basis:90%;padding-right:0}.link-ellipses[_ngcontent-%COMP%]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.flex-right[_ngcontent-%COMP%]{margin-left:auto}.screenshot[_ngcontent-%COMP%]{flex-flow:row nowrap;align-items:center;display:flex;max-width:100%;flex-shrink:0}.note[_ngcontent-%COMP%]{white-space:pre-wrap}.icn-small[_ngcontent-%COMP%]{font-size:16px;vertical-align:middle}.subtitle[_ngcontent-%COMP%]{font-size:16px;line-height:22px}.location[_ngcontent-%COMP%], .subtitle[_ngcontent-%COMP%]{font-family:Open Sans,sans-serif;font-style:normal;font-weight:600;display:flex;align-items:center;letter-spacing:.01em;color:#333332}.location[_ngcontent-%COMP%]{font-size:12px;line-height:16px;margin-left:-8px}.location-icn[_ngcontent-%COMP%]{width:40px;height:40px}.padding-top-custom[_ngcontent-%COMP%]{padding-top:24px}.padding-left[_ngcontent-%COMP%]{padding-left:24px}.icn-small[_ngcontent-%COMP%], .padding-left-sm[_ngcontent-%COMP%]{padding-left:6px}.padding-top-sm[_ngcontent-%COMP%]{padding-top:6px}"]
  1204. }),
  1205. t
  1206. }();
  1207. t.MeasurementExportModalComponent = R,
  1208. l.ɵsetClassMetadata(R, [{
  1209. type: o.Component,
  1210. args: [{
  1211. selector: "measurement-export",
  1212. templateUrl: "MeasurementExportModal.ng.html",
  1213. styleUrls: ["MeasurementExportModal.ng.scss"]
  1214. }]
  1215. }], (function() {
  1216. return [{
  1217. type: c.MatDialog
  1218. }, {
  1219. type: u.MeasurementPdfExportService
  1220. }]
  1221. }
  1222. ), {
  1223. exportAllMeasurementLink: [{
  1224. type: o.Input
  1225. }],
  1226. exportMeasurementList: [{
  1227. type: o.Input
  1228. }],
  1229. exportModal: [{
  1230. type: o.ViewChild,
  1231. args: ["exportableMeasurementsDialog"]
  1232. }]
  1233. })
  1234. }
  1235. ).call(this, n(19))
  1236. },
  1237. 1938: function(e, t, n) {
  1238. "use strict";
  1239. Object.defineProperty(t, "__esModule", {
  1240. value: !0
  1241. });
  1242. var o = n(0)
  1243. , r = n(85)
  1244. , i = (n(447),
  1245. n(0))
  1246. , a = n(447)
  1247. , s = n(168)
  1248. , l = n(3)
  1249. , c = n(1939);
  1250. function u(e, t) {
  1251. if (1 & e && (i.ɵɵelementStart(0, "h4", 4),
  1252. i.ɵɵelementStart(1, "strong"),
  1253. i.ɵɵtext(2),
  1254. i.ɵɵelementEnd(),
  1255. i.ɵɵelementEnd()),
  1256. 2 & e) {
  1257. var n = i.ɵɵnextContext().$implicit;
  1258. i.ɵɵadvance(2),
  1259. i.ɵɵtextInterpolate(n("Free"))
  1260. }
  1261. }
  1262. function p(e, t) {
  1263. if (1 & e && (i.ɵɵelementStart(0, "h4", 4),
  1264. i.ɵɵelementStart(1, "strong"),
  1265. i.ɵɵtext(2),
  1266. i.ɵɵelementEnd(),
  1267. i.ɵɵelementEnd()),
  1268. 2 & e) {
  1269. var n = i.ɵɵnextContext().$implicit;
  1270. i.ɵɵadvance(2),
  1271. i.ɵɵtextInterpolate(n("Horizontal"))
  1272. }
  1273. }
  1274. function d(e, t) {
  1275. if (1 & e && (i.ɵɵelementStart(0, "h4", 4),
  1276. i.ɵɵelementStart(1, "strong"),
  1277. i.ɵɵtext(2),
  1278. i.ɵɵelementEnd(),
  1279. i.ɵɵelementEnd()),
  1280. 2 & e) {
  1281. var n = i.ɵɵnextContext().$implicit;
  1282. i.ɵɵadvance(2),
  1283. i.ɵɵtextInterpolate(n("Vertical"))
  1284. }
  1285. }
  1286. function m(e, t) {
  1287. if (1 & e) {
  1288. var n = i.ɵɵgetCurrentView();
  1289. i.ɵɵelementContainerStart(0),
  1290. i.ɵɵtemplate(1, u, 3, 1, "h4", 1),
  1291. i.ɵɵelementStart(2, "span", 2),
  1292. i.ɵɵelementStart(3, "measurement-tool", 3),
  1293. i.ɵɵlistener("onClick", (function() {
  1294. i.ɵɵrestoreView(n);
  1295. var e = i.ɵɵnextContext();
  1296. return e.toggleTool(e.Tool.DISTANCE_FREE_MEASUREMENT)
  1297. }
  1298. )),
  1299. i.ɵɵelementEnd(),
  1300. i.ɵɵelementStart(4, "measurement-tool", 3),
  1301. i.ɵɵlistener("onClick", (function() {
  1302. i.ɵɵrestoreView(n);
  1303. var e = i.ɵɵnextContext();
  1304. return e.toggleTool(e.Tool.AREA_FREE_MEASUREMENT)
  1305. }
  1306. )),
  1307. i.ɵɵelementEnd(),
  1308. i.ɵɵelementEnd(),
  1309. i.ɵɵtemplate(5, p, 3, 1, "h4", 1),
  1310. i.ɵɵelementStart(6, "span", 2),
  1311. i.ɵɵelementStart(7, "measurement-tool", 3),
  1312. i.ɵɵlistener("onClick", (function() {
  1313. i.ɵɵrestoreView(n);
  1314. var e = i.ɵɵnextContext();
  1315. return e.toggleTool(e.Tool.DISTANCE_HORIZONTAL_MEASUREMENT)
  1316. }
  1317. )),
  1318. i.ɵɵelementEnd(),
  1319. i.ɵɵelementStart(8, "measurement-tool", 3),
  1320. i.ɵɵlistener("onClick", (function() {
  1321. i.ɵɵrestoreView(n);
  1322. var e = i.ɵɵnextContext();
  1323. return e.toggleTool(e.Tool.AREA_HORIZONTAL_MEASUREMENT)
  1324. }
  1325. )),
  1326. i.ɵɵelementEnd(),
  1327. i.ɵɵelementStart(9, "measurement-tool", 3),
  1328. i.ɵɵlistener("onClick", (function() {
  1329. i.ɵɵrestoreView(n);
  1330. var e = i.ɵɵnextContext();
  1331. return e.toggleTool(e.Tool.RECTANGLE_HORIZONTAL_MEASUREMENT)
  1332. }
  1333. )),
  1334. i.ɵɵelementEnd(),
  1335. i.ɵɵelementEnd(),
  1336. i.ɵɵtemplate(10, d, 3, 1, "h4", 1),
  1337. i.ɵɵelementStart(11, "span", 2),
  1338. i.ɵɵelementStart(12, "measurement-tool", 3),
  1339. i.ɵɵlistener("onClick", (function() {
  1340. i.ɵɵrestoreView(n);
  1341. var e = i.ɵɵnextContext();
  1342. return e.toggleTool(e.Tool.DISTANCE_VERTICAL_MEASUREMENT)
  1343. }
  1344. )),
  1345. i.ɵɵelementEnd(),
  1346. i.ɵɵelementStart(13, "measurement-tool", 3),
  1347. i.ɵɵlistener("onClick", (function() {
  1348. i.ɵɵrestoreView(n);
  1349. var e = i.ɵɵnextContext();
  1350. return e.toggleTool(e.Tool.AREA_VERTICAL_MEASUREMENT)
  1351. }
  1352. )),
  1353. i.ɵɵelementEnd(),
  1354. i.ɵɵelementStart(14, "measurement-tool", 3),
  1355. i.ɵɵlistener("onClick", (function() {
  1356. i.ɵɵrestoreView(n);
  1357. var e = i.ɵɵnextContext();
  1358. return e.toggleTool(e.Tool.RECTANGLE_VERTICAL_MEASUREMENT)
  1359. }
  1360. )),
  1361. i.ɵɵelementEnd(),
  1362. i.ɵɵelementEnd(),
  1363. i.ɵɵelementContainerEnd()
  1364. }
  1365. if (2 & e) {
  1366. var o = t.$implicit
  1367. , r = i.ɵɵnextContext();
  1368. i.ɵɵadvance(1),
  1369. i.ɵɵproperty("ngIf", !r.isCollapsedView),
  1370. i.ɵɵadvance(2),
  1371. i.ɵɵproperty("description", o("Distance"))("altText", o("Free Distance"))("icon", r.freeDistanceMeasurementIcon)("selected", r.currentTool === r.Tool.DISTANCE_FREE_MEASUREMENT)("isCollapsedView", r.isCollapsedView),
  1372. i.ɵɵadvance(1),
  1373. i.ɵɵproperty("description", o("Polygon"))("altText", o("Free Area"))("icon", r.freeAreaMeasurementIcon)("selected", r.currentTool === r.Tool.AREA_FREE_MEASUREMENT)("isCollapsedView", r.isCollapsedView),
  1374. i.ɵɵadvance(1),
  1375. i.ɵɵproperty("ngIf", !r.isCollapsedView),
  1376. i.ɵɵadvance(2),
  1377. i.ɵɵproperty("description", o("Distance"))("altText", o("Horizontal Distance"))("icon", r.horizontalDistanceMeasurementIcon)("selected", r.currentTool === r.Tool.DISTANCE_HORIZONTAL_MEASUREMENT)("isCollapsedView", r.isCollapsedView),
  1378. i.ɵɵadvance(1),
  1379. i.ɵɵproperty("description", o("Polygon"))("altText", o("Horizontal Area"))("icon", r.horizontalAreaPolygonMeasurementIcon)("selected", r.currentTool === r.Tool.AREA_HORIZONTAL_MEASUREMENT)("isCollapsedView", r.isCollapsedView),
  1380. i.ɵɵadvance(1),
  1381. i.ɵɵproperty("description", o("Rectangle"))("altText", o("Horizontal Rectangle"))("icon", r.horizontalAreaRectangleMeasurementIcon)("selected", r.currentTool === r.Tool.RECTANGLE_HORIZONTAL_MEASUREMENT)("isCollapsedView", r.isCollapsedView),
  1382. i.ɵɵadvance(1),
  1383. i.ɵɵproperty("ngIf", !r.isCollapsedView),
  1384. i.ɵɵadvance(2),
  1385. i.ɵɵproperty("description", o("Distance"))("altText", o("Vertical Distance"))("icon", r.verticalDistanceMeasurementIcon)("selected", r.currentTool === r.Tool.DISTANCE_VERTICAL_MEASUREMENT)("isCollapsedView", r.isCollapsedView),
  1386. i.ɵɵadvance(1),
  1387. i.ɵɵproperty("description", o("Polygon"))("altText", o("Vertical Area"))("icon", r.verticalAreaPolygonMeasurementIcon)("selected", r.currentTool === r.Tool.AREA_VERTICAL_MEASUREMENT)("isCollapsedView", r.isCollapsedView),
  1388. i.ɵɵadvance(1),
  1389. i.ɵɵproperty("description", o("Rectangle"))("altText", o("Vertical Rectangle"))("icon", r.verticalAreaRectangleMeasurementIcon)("selected", r.currentTool === r.Tool.RECTANGLE_VERTICAL_MEASUREMENT)("isCollapsedView", r.isCollapsedView)
  1390. }
  1391. }
  1392. var g = function() {
  1393. function e(e) {
  1394. this.MeasurementToolChanger = e,
  1395. this.Tool = r.Tool,
  1396. this.freeDistanceMeasurementIcon = r.ToolSpec.of(r.Tool.DISTANCE_FREE_MEASUREMENT).iconSrc,
  1397. this.freeAreaMeasurementIcon = r.ToolSpec.of(r.Tool.AREA_FREE_MEASUREMENT).iconSrc,
  1398. this.horizontalDistanceMeasurementIcon = r.ToolSpec.of(r.Tool.DISTANCE_HORIZONTAL_MEASUREMENT).iconSrc,
  1399. this.horizontalAreaPolygonMeasurementIcon = r.ToolSpec.of(r.Tool.AREA_HORIZONTAL_MEASUREMENT).iconSrc,
  1400. this.horizontalAreaRectangleMeasurementIcon = r.ToolSpec.of(r.Tool.RECTANGLE_HORIZONTAL_MEASUREMENT).iconSrc,
  1401. this.verticalDistanceMeasurementIcon = r.ToolSpec.of(r.Tool.DISTANCE_VERTICAL_MEASUREMENT).iconSrc,
  1402. this.verticalAreaPolygonMeasurementIcon = r.ToolSpec.of(r.Tool.AREA_VERTICAL_MEASUREMENT).iconSrc,
  1403. this.verticalAreaRectangleMeasurementIcon = r.ToolSpec.of(r.Tool.RECTANGLE_VERTICAL_MEASUREMENT).iconSrc,
  1404. this.selectedTool = this.MeasurementToolChanger.selectedTool
  1405. }
  1406. return Object.defineProperty(e.prototype, "isCollapsed", {
  1407. get: function() {
  1408. return this.isCollapsedView
  1409. },
  1410. enumerable: !0,
  1411. configurable: !0
  1412. }),
  1413. e.prototype.toggleTool = function(e) {
  1414. this.MeasurementToolChanger.toggleTool(e, r.EventSource.MEASUREMENT_TOOL_SELECTION)
  1415. }
  1416. ,
  1417. e.ɵfac = function(t) {
  1418. return new (t || e)(i.ɵɵdirectiveInject(a.MeasurementToolChanger))
  1419. }
  1420. ,
  1421. e.ɵcmp = i.ɵɵdefineComponent({
  1422. type: e,
  1423. selectors: [["measurement-tool-selection"]],
  1424. hostVars: 2,
  1425. hostBindings: function(e, t) {
  1426. 2 & e && i.ɵɵclassProp("collapsed-view", t.isCollapsed)
  1427. },
  1428. inputs: {
  1429. currentTool: "currentTool",
  1430. isCollapsedView: "isCollapsedView"
  1431. },
  1432. outputs: {
  1433. selectedTool: "selectedTool"
  1434. },
  1435. decls: 1,
  1436. vars: 0,
  1437. consts: [[4, "transloco"], ["class", "heading", 4, "ngIf"], [1, "spaced"], [3, "description", "altText", "icon", "selected", "isCollapsedView", "onClick"], [1, "heading"]],
  1438. template: function(e, t) {
  1439. 1 & e && i.ɵɵtemplate(0, m, 15, 43, "ng-container", 0)
  1440. },
  1441. directives: [s.TranslocoDirective, l.NgIf, c.MeasurementToolComponent],
  1442. styles: [".collapsed-view[_nghost-%COMP%] .spaced[_ngcontent-%COMP%]{display:inherit;justify-content:left;padding:0}.spaced[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;padding:20px 18px}.heading[_ngcontent-%COMP%]{font-size:1.14em;margin:0}.rectangle-tools[_ngcontent-%COMP%]{display:flex;flex-flow:row nowrap;justify-content:flex-end;padding:0 18px 15px}"]
  1443. }),
  1444. e
  1445. }();
  1446. t.MeasurementToolSelectionComponent = g,
  1447. i.ɵsetClassMetadata(g, [{
  1448. type: o.Component,
  1449. args: [{
  1450. selector: "measurement-tool-selection",
  1451. templateUrl: "./MeasurementToolSelection.ng.html",
  1452. styleUrls: ["./MeasurementToolSelection.ng.scss"]
  1453. }]
  1454. }], (function() {
  1455. return [{
  1456. type: a.MeasurementToolChanger
  1457. }]
  1458. }
  1459. ), {
  1460. isCollapsed: [{
  1461. type: o.HostBinding,
  1462. args: ["class.collapsed-view"]
  1463. }],
  1464. selectedTool: [{
  1465. type: o.Output
  1466. }],
  1467. currentTool: [{
  1468. type: o.Input
  1469. }],
  1470. isCollapsedView: [{
  1471. type: o.Input
  1472. }]
  1473. })
  1474. },
  1475. 1939: function(e, t, n) {
  1476. "use strict";
  1477. Object.defineProperty(t, "__esModule", {
  1478. value: !0
  1479. });
  1480. var o = n(0)
  1481. , r = n(0)
  1482. , i = n(1692)
  1483. , a = n(3);
  1484. function s(e, t) {
  1485. if (1 & e && (r.ɵɵelementStart(0, "p", 3),
  1486. r.ɵɵtext(1),
  1487. r.ɵɵelementEnd()),
  1488. 2 & e) {
  1489. var n = r.ɵɵnextContext();
  1490. r.ɵɵadvance(1),
  1491. r.ɵɵtextInterpolate(n.description)
  1492. }
  1493. }
  1494. var l = function() {
  1495. function e() {
  1496. this.isCollapsedView = !1,
  1497. this.onClick = new o.EventEmitter
  1498. }
  1499. return Object.defineProperty(e.prototype, "isCollapsed", {
  1500. get: function() {
  1501. return this.isCollapsedView
  1502. },
  1503. enumerable: !0,
  1504. configurable: !0
  1505. }),
  1506. Object.defineProperty(e.prototype, "alt", {
  1507. get: function() {
  1508. return this.altText
  1509. },
  1510. enumerable: !0,
  1511. configurable: !0
  1512. }),
  1513. e.ɵfac = function(t) {
  1514. return new (t || e)
  1515. }
  1516. ,
  1517. e.ɵcmp = r.ɵɵdefineComponent({
  1518. type: e,
  1519. selectors: [["measurement-tool"]],
  1520. hostVars: 2,
  1521. hostBindings: function(e, t) {
  1522. 2 & e && r.ɵɵclassProp("collapsed-view", t.isCollapsed)
  1523. },
  1524. inputs: {
  1525. icon: "icon",
  1526. description: "description",
  1527. altText: "altText",
  1528. selected: "selected",
  1529. isCollapsedView: "isCollapsedView"
  1530. },
  1531. outputs: {
  1532. onClick: "onClick"
  1533. },
  1534. decls: 3,
  1535. vars: 8,
  1536. consts: [[1, "tool-container"], [1, "tool-image", 3, "src", "alt", "title", "click"], ["class", "text-center description", 4, "ngIf"], [1, "text-center", "description"]],
  1537. template: function(e, t) {
  1538. 1 & e && (r.ɵɵelementStart(0, "span", 0),
  1539. r.ɵɵelementStart(1, "img", 1),
  1540. r.ɵɵlistener("click", (function() {
  1541. return t.onClick.emit()
  1542. }
  1543. )),
  1544. r.ɵɵelementEnd(),
  1545. r.ɵɵtemplate(2, s, 2, 1, "p", 2),
  1546. r.ɵɵelementEnd()),
  1547. 2 & e && (r.ɵɵclassProp("collapsed-view", t.isCollapsedView),
  1548. r.ɵɵadvance(1),
  1549. r.ɵɵclassProp("selected", t.selected),
  1550. r.ɵɵproperty("src", t.icon, r.ɵɵsanitizeUrl)("alt", t.altText)("title", t.altText),
  1551. r.ɵɵadvance(1),
  1552. r.ɵɵproperty("ngIf", !t.isCollapsedView))
  1553. },
  1554. directives: [i.AddBaseUrlDirective, a.NgIf],
  1555. styles: ["[_nghost-%COMP%]{display:inline-block;width:100px;flex:0 1 33.3%}.collapsed-view[_nghost-%COMP%]{display:block;width:60px;margin-top:25px;margin-bottom:25px}@media (max-height:720px){.collapsed-view[_nghost-%COMP%]{margin-top:12px;margin-bottom:12px}}.collapsed-view[_nghost-%COMP%] img[_ngcontent-%COMP%]{border:none}img[_ngcontent-%COMP%]{width:36px;height:36px;padding:6px;border:1px solid grey;border-radius:7px;display:block;margin-left:auto;margin-right:auto}img[_ngcontent-%COMP%]:hover{cursor:pointer}img.selected[_ngcontent-%COMP%], img[_ngcontent-%COMP%]:hover{background-color:#d3d3d3}.tool-image[_ngcontent-%COMP%]{margin-bottom:.35em}.description[_ngcontent-%COMP%]{font-size:14px;overflow-wrap:break-word;margin:0}"]
  1556. }),
  1557. e
  1558. }();
  1559. t.MeasurementToolComponent = l,
  1560. r.ɵsetClassMetadata(l, [{
  1561. type: o.Component,
  1562. args: [{
  1563. selector: "measurement-tool",
  1564. templateUrl: "./MeasurementTool.ng.html",
  1565. styleUrls: ["./MeasurementTool.ng.scss"]
  1566. }]
  1567. }], (function() {
  1568. return []
  1569. }
  1570. ), {
  1571. isCollapsed: [{
  1572. type: o.HostBinding,
  1573. args: ["class.collapsed-view"]
  1574. }],
  1575. icon: [{
  1576. type: o.Input
  1577. }],
  1578. description: [{
  1579. type: o.Input
  1580. }],
  1581. altText: [{
  1582. type: o.Input
  1583. }],
  1584. selected: [{
  1585. type: o.Input
  1586. }],
  1587. isCollapsedView: [{
  1588. type: o.Input
  1589. }],
  1590. onClick: [{
  1591. type: o.Output
  1592. }]
  1593. })
  1594. },
  1595. 1940: function(e, t, n) {
  1596. "use strict";
  1597. var o = this && this.__spreadArrays || function() {
  1598. for (var e = 0, t = 0, n = arguments.length; t < n; t++)
  1599. e += arguments[t].length;
  1600. var o = Array(e)
  1601. , r = 0;
  1602. for (t = 0; t < n; t++)
  1603. for (var i = arguments[t], a = 0, s = i.length; a < s; a++,
  1604. r++)
  1605. o[r] = i[a];
  1606. return o
  1607. }
  1608. ;
  1609. Object.defineProperty(t, "__esModule", {
  1610. value: !0
  1611. });
  1612. var r = n(0)
  1613. , i = (n(171),
  1614. n(21),
  1615. n(644))
  1616. , a = n(627)
  1617. , s = n(454)
  1618. , l = n(347)
  1619. , c = n(40)
  1620. , u = n(645)
  1621. , p = n(628)
  1622. , d = n(0)
  1623. , m = n(171)
  1624. , g = n(21)
  1625. , f = n(3)
  1626. , v = n(1941)
  1627. , h = n(168)
  1628. , M = n(1942);
  1629. function C(e, t) {
  1630. if (1 & e && (d.ɵɵelementStart(0, "div", 11),
  1631. d.ɵɵelementStart(1, "span"),
  1632. d.ɵɵtext(2),
  1633. d.ɵɵelementEnd(),
  1634. d.ɵɵelementEnd()),
  1635. 2 & e) {
  1636. var n = d.ɵɵnextContext().$implicit;
  1637. d.ɵɵadvance(2),
  1638. d.ɵɵtextInterpolate(n("No measurements taken yet"))
  1639. }
  1640. }
  1641. function x(e, t) {
  1642. if (1 & e && (d.ɵɵelementContainerStart(0),
  1643. d.ɵɵtemplate(1, C, 3, 1, "div", 10),
  1644. d.ɵɵelementContainerEnd()),
  1645. 2 & e) {
  1646. var n = d.ɵɵnextContext(3);
  1647. d.ɵɵadvance(1),
  1648. d.ɵɵproperty("ngIf", 0 === n.measurementsList.length)
  1649. }
  1650. }
  1651. function y(e, t) {
  1652. if (1 & e) {
  1653. var n = d.ɵɵgetCurrentView();
  1654. d.ɵɵelementStart(0, "div"),
  1655. d.ɵɵelementStart(1, "measurement-details", 12),
  1656. d.ɵɵlistener("onItemToggleSelection", (function(e) {
  1657. return d.ɵɵrestoreView(n),
  1658. d.ɵɵnextContext(3).handleItemToggleSelection(e)
  1659. }
  1660. )),
  1661. d.ɵɵelementEnd(),
  1662. d.ɵɵelement(2, "hr", 13),
  1663. d.ɵɵelementEnd()
  1664. }
  1665. if (2 & e) {
  1666. var o = t.$implicit;
  1667. d.ɵɵadvance(1),
  1668. d.ɵɵproperty("measurement", o)
  1669. }
  1670. }
  1671. function S(e, t) {
  1672. if (1 & e) {
  1673. var n = d.ɵɵgetCurrentView();
  1674. d.ɵɵelementStart(0, "span", 4),
  1675. d.ɵɵelementStart(1, "measurement-list-toolbar", 5),
  1676. d.ɵɵlistener("onSelectAll", (function() {
  1677. return d.ɵɵrestoreView(n),
  1678. d.ɵɵnextContext(2).toggleItemSelection()
  1679. }
  1680. ))("onDelete", (function() {
  1681. return d.ɵɵrestoreView(n),
  1682. d.ɵɵnextContext(2).deleteSelectedMeasurements()
  1683. }
  1684. ))("onSave", (function() {
  1685. return d.ɵɵrestoreView(n),
  1686. d.ɵɵnextContext(2).saveSelectedMeasurements()
  1687. }
  1688. ))("onShare", (function() {
  1689. return d.ɵɵrestoreView(n),
  1690. d.ɵɵnextContext(2).shareSelectedMeasurements()
  1691. }
  1692. ))("onVisibilityChange", (function() {
  1693. return d.ɵɵrestoreView(n),
  1694. d.ɵɵnextContext(2).toggleSelectedMeasurementsVisibility()
  1695. }
  1696. )),
  1697. d.ɵɵelementEnd(),
  1698. d.ɵɵelement(2, "hr", 6),
  1699. d.ɵɵtemplate(3, x, 2, 1, "ng-container", 7),
  1700. d.ɵɵelementStart(4, "div", 8),
  1701. d.ɵɵtemplate(5, y, 3, 1, "div", 9),
  1702. d.ɵɵelementEnd(),
  1703. d.ɵɵelementEnd()
  1704. }
  1705. if (2 & e) {
  1706. var o = d.ɵɵnextContext(2);
  1707. d.ɵɵadvance(1),
  1708. d.ɵɵproperty("isAnythingSelected", o.isAnythingSelected())("areAllItemsSelected", o.areAllItemSelected())("isEverythingHidden", o.isEverythingHidden())("isAsyncOperationInProgress", o.isAsyncOperationInProgress),
  1709. d.ɵɵadvance(4),
  1710. d.ɵɵproperty("ngForOf", o.measurementsList)
  1711. }
  1712. }
  1713. function b(e, t) {
  1714. if (1 & e && (d.ɵɵelementStart(0, "span", 18),
  1715. d.ɵɵtext(1),
  1716. d.ɵɵelementEnd()),
  1717. 2 & e) {
  1718. var n = d.ɵɵnextContext(3);
  1719. d.ɵɵadvance(1),
  1720. d.ɵɵtextInterpolate1(" ", n.measurementsList.length, " ")
  1721. }
  1722. }
  1723. function E(e, t) {
  1724. if (1 & e) {
  1725. var n = d.ɵɵgetCurrentView();
  1726. d.ɵɵelementStart(0, "span", 14),
  1727. d.ɵɵelementStart(1, "div", 15),
  1728. d.ɵɵelementStart(2, "i", 16),
  1729. d.ɵɵlistener("click", (function() {
  1730. return d.ɵɵrestoreView(n),
  1731. d.ɵɵnextContext(2).expandMenu()
  1732. }
  1733. )),
  1734. d.ɵɵtext(3, "list"),
  1735. d.ɵɵelementEnd(),
  1736. d.ɵɵtemplate(4, b, 2, 1, "span", 17),
  1737. d.ɵɵelementEnd(),
  1738. d.ɵɵelementEnd()
  1739. }
  1740. if (2 & e) {
  1741. var o = d.ɵɵnextContext(2);
  1742. d.ɵɵadvance(4),
  1743. d.ɵɵproperty("ngIf", o.measurementsList.length > 0)
  1744. }
  1745. }
  1746. function w(e, t) {
  1747. if (1 & e && (d.ɵɵelementContainerStart(0),
  1748. d.ɵɵelement(1, "hr", 1),
  1749. d.ɵɵtemplate(2, S, 6, 5, "span", 2),
  1750. d.ɵɵtemplate(3, E, 5, 1, "span", 3),
  1751. d.ɵɵelementContainerEnd()),
  1752. 2 & e) {
  1753. var n = d.ɵɵnextContext();
  1754. d.ɵɵadvance(2),
  1755. d.ɵɵproperty("ngIf", !n.isCollapsedView),
  1756. d.ɵɵadvance(1),
  1757. d.ɵɵproperty("ngIf", n.isCollapsedView)
  1758. }
  1759. }
  1760. var I = function() {
  1761. function e(e, t) {
  1762. var n = this;
  1763. this.MeasurementsService = e,
  1764. this.TrackingService = t,
  1765. this.measurementsList = [],
  1766. this.deleteSelected = new r.EventEmitter,
  1767. this.saveSelected = new r.EventEmitter,
  1768. this.shareSelected = new r.EventEmitter,
  1769. this.selectedMeasurements = [],
  1770. this.hasUserDeletedSomeMeasurements = !1,
  1771. this.measurementUpdateConnection = this.MeasurementsService.measurementsUpdated.connect((function() {
  1772. return n.updateSelectedMeasurements()
  1773. }
  1774. )),
  1775. this.measurementDeletedConnection = this.MeasurementsService.measurementDeleted.connect((function() {
  1776. return n.hasUserDeletedSomeMeasurements = !0
  1777. }
  1778. ))
  1779. }
  1780. return e.prototype.ngOnInit = function() {
  1781. this.updateSelectedMeasurements()
  1782. }
  1783. ,
  1784. e.prototype.ngOnDestroy = function() {
  1785. this.measurementUpdateConnection && this.measurementUpdateConnection.disconnect(),
  1786. this.measurementDeletedConnection && this.measurementDeletedConnection.disconnect()
  1787. }
  1788. ,
  1789. e.prototype.updateSelectedMeasurements = function() {
  1790. this.selectedMeasurements = this.measurementsList.filter((function(e) {
  1791. return e.selected
  1792. }
  1793. ))
  1794. }
  1795. ,
  1796. e.prototype.areAllItemSelected = function() {
  1797. return this.measurementsList.length > 0 && this.measurementsList.every((function(e) {
  1798. return e.selected
  1799. }
  1800. ))
  1801. }
  1802. ,
  1803. e.prototype.isAnythingSelected = function() {
  1804. return this.measurementsList.some((function(e) {
  1805. return e.selected
  1806. }
  1807. ))
  1808. }
  1809. ,
  1810. e.prototype.toggleItemSelection = function() {
  1811. if (this.areAllItemSelected())
  1812. return this.measurementsList.forEach((function(e) {
  1813. return e.selected = !1
  1814. }
  1815. )),
  1816. void (this.selectedMeasurements = []);
  1817. this.measurementsList.forEach((function(e) {
  1818. return e.selected = !0
  1819. }
  1820. )),
  1821. this.selectedMeasurements = o(this.measurementsList)
  1822. }
  1823. ,
  1824. e.prototype.handleItemToggleSelection = function(e) {
  1825. if (e.selected)
  1826. this.selectedMeasurements.push(e);
  1827. else {
  1828. var t = this.selectedMeasurements.indexOf(e);
  1829. t > -1 && this.selectedMeasurements.splice(t, 1)
  1830. }
  1831. }
  1832. ,
  1833. e.prototype.deleteSelectedMeasurements = function() {
  1834. this.TrackingService.trackPreDefinedEvent((new i.MeasurementsDeletedEvent).numberOfMeasurements(this.selectedMeasurements.length).interactionArea(p.InteractionArea.SideMenu)),
  1835. this.deleteSelected.emit(this.selectedMeasurements)
  1836. }
  1837. ,
  1838. e.prototype.saveSelectedMeasurements = function() {
  1839. this.TrackingService.trackPreDefinedEvent((new a.MeasurementsSavedEvent).numberOfMeasurements(this.selectedMeasurements.length).interactionArea(p.InteractionArea.SideMenu)),
  1840. this.saveSelected.emit(this.selectedMeasurements)
  1841. }
  1842. ,
  1843. e.prototype.toggleSelectedMeasurementsVisibility = function() {
  1844. var e = this.selectedMeasurements.reduce((function(e, t) {
  1845. return e + (t.visible ? 1 : 0)
  1846. }
  1847. ), 0);
  1848. this.MeasurementsService.toggleVisibility(this.selectedMeasurements),
  1849. this.TrackingService.trackPreDefinedEvent((new u.MeasurementsHiddenEvent).numberOfMeasurements(e).interactionArea(p.InteractionArea.SideMenu))
  1850. }
  1851. ,
  1852. e.prototype.isEverythingHidden = function() {
  1853. return this.selectedMeasurements.every((function(e) {
  1854. return !1 === e.visible
  1855. }
  1856. ))
  1857. }
  1858. ,
  1859. e.prototype.expandMenu = function() {
  1860. var e = c.isMobileLayout() ? window.innerWidth - s.ToolboxMenuController.mobileCollapserWidth : s.ToolboxMenuController.menuDefaultWidth;
  1861. this.TrackingService.trackPreDefinedEvent((new l.ToolbarVisibilityChangedEvent).withNewWidth(e).visible(!0)),
  1862. document.getElementById(s.ToolboxMenuController.verticalToolboxMenuId).style.width = e + "px"
  1863. }
  1864. ,
  1865. e.prototype.showMeasurementList = function() {
  1866. return 0 === this.measurementsList.length ? this.hasUserDeletedSomeMeasurements : this.measurementsList.length > 0
  1867. }
  1868. ,
  1869. e.prototype.shareSelectedMeasurements = function() {
  1870. this.shareSelected.emit(this.selectedMeasurements)
  1871. }
  1872. ,
  1873. e.ɵfac = function(t) {
  1874. return new (t || e)(d.ɵɵdirectiveInject(m.MeasurementsService),d.ɵɵdirectiveInject(g.TrackingService))
  1875. }
  1876. ,
  1877. e.ɵcmp = d.ɵɵdefineComponent({
  1878. type: e,
  1879. selectors: [["measurement-list"]],
  1880. inputs: {
  1881. measurementsList: "measurementsList",
  1882. isCollapsedView: "isCollapsedView",
  1883. isAsyncOperationInProgress: "isAsyncOperationInProgress"
  1884. },
  1885. outputs: {
  1886. deleteSelected: "deleteSelected",
  1887. saveSelected: "saveSelected",
  1888. shareSelected: "shareSelected"
  1889. },
  1890. decls: 1,
  1891. vars: 1,
  1892. consts: [[4, "ngIf"], [1, "list-separator"], ["class", "toolbar-list-wrapper", 4, "ngIf"], ["class", "collapsed-list", 4, "ngIf"], [1, "toolbar-list-wrapper"], [3, "isAnythingSelected", "areAllItemsSelected", "isEverythingHidden", "isAsyncOperationInProgress", "onSelectAll", "onDelete", "onSave", "onShare", "onVisibilityChange"], [1, "toolbar-separator"], [4, "transloco"], [1, "measurement-list-items"], [4, "ngFor", "ngForOf"], ["class", "no-measurements-info", 4, "ngIf"], [1, "no-measurements-info"], [3, "measurement", "onItemToggleSelection"], [1, "measurements-separator"], [1, "collapsed-list"], [1, "list-icon-wrapper"], [1, "material-icons", "list-icon", 3, "click"], ["class", "badge", 4, "ngIf"], [1, "badge"]],
  1893. template: function(e, t) {
  1894. 1 & e && d.ɵɵtemplate(0, w, 4, 2, "ng-container", 0),
  1895. 2 & e && d.ɵɵproperty("ngIf", t.showMeasurementList())
  1896. },
  1897. directives: [f.NgIf, v.MeasurementListToolbarComponent, h.TranslocoDirective, f.NgForOf, M.MeasurementDetailsComponent],
  1898. styles: ["[_nghost-%COMP%]{min-height:210px;overflow:hidden}.toolbar-list-wrapper[_ngcontent-%COMP%], [_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}measurement-list-toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;min-height:60px;margin:0 20px}.no-measurements-info[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%}.measurements-separator[_ngcontent-%COMP%], .toolbar-separator[_ngcontent-%COMP%]{margin:0;border:.5px solid #eee}.measurement-list-items[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto}.collapsed-list[_ngcontent-%COMP%]{position:relative}.list-icon-wrapper[_ngcontent-%COMP%]{top:0;position:absolute}i.list-icon[_ngcontent-%COMP%]{margin:25px 12px;padding:6px;cursor:pointer;border-radius:7px}i.list-icon.selected[_ngcontent-%COMP%], i.list-icon[_ngcontent-%COMP%]:hover{background-color:#d3d3d3}.badge[_ngcontent-%COMP%]{position:absolute;right:6px;margin-top:20px;background-color:#3398c7}.list-separator[_ngcontent-%COMP%]{width:calc(100% + 40px);margin:0 -20px;border:.5px solid #eee}"]
  1899. }),
  1900. e
  1901. }();
  1902. t.MeasurementListComponent = I,
  1903. d.ɵsetClassMetadata(I, [{
  1904. type: r.Component,
  1905. args: [{
  1906. selector: "measurement-list",
  1907. templateUrl: "MeasurementList.ng.html",
  1908. styleUrls: ["MeasurementList.ng.scss"]
  1909. }]
  1910. }], (function() {
  1911. return [{
  1912. type: m.MeasurementsService
  1913. }, {
  1914. type: g.TrackingService
  1915. }]
  1916. }
  1917. ), {
  1918. measurementsList: [{
  1919. type: r.Input
  1920. }],
  1921. isCollapsedView: [{
  1922. type: r.Input
  1923. }],
  1924. isAsyncOperationInProgress: [{
  1925. type: r.Input
  1926. }],
  1927. deleteSelected: [{
  1928. type: r.Output
  1929. }],
  1930. saveSelected: [{
  1931. type: r.Output
  1932. }],
  1933. shareSelected: [{
  1934. type: r.Output
  1935. }]
  1936. })
  1937. },
  1938. 1941: function(e, t, n) {
  1939. "use strict";
  1940. Object.defineProperty(t, "__esModule", {
  1941. value: !0
  1942. });
  1943. var o = n(0)
  1944. , r = n(168)
  1945. , i = (n(27),
  1946. n(0))
  1947. , a = n(27)
  1948. , s = n(168)
  1949. , l = n(3);
  1950. function c(e, t) {
  1951. if (1 & e) {
  1952. var n = i.ɵɵgetCurrentView();
  1953. i.ɵɵelementStart(0, "button", 4),
  1954. i.ɵɵlistener("click", (function() {
  1955. return i.ɵɵrestoreView(n),
  1956. i.ɵɵnextContext(2).onSave.emit()
  1957. }
  1958. )),
  1959. i.ɵɵelementStart(1, "i", 5),
  1960. i.ɵɵtext(2, "save"),
  1961. i.ɵɵelementEnd(),
  1962. i.ɵɵelementEnd()
  1963. }
  1964. if (2 & e) {
  1965. var o = i.ɵɵnextContext().$implicit
  1966. , r = i.ɵɵnextContext();
  1967. i.ɵɵproperty("disabled", !r.isAnythingSelected || r.isAsyncOperationInProgress)("title", o("Save Selected"))
  1968. }
  1969. }
  1970. function u(e, t) {
  1971. if (1 & e) {
  1972. var n = i.ɵɵgetCurrentView();
  1973. i.ɵɵelementContainerStart(0),
  1974. i.ɵɵelementStart(1, "button", 1),
  1975. i.ɵɵlistener("click", (function() {
  1976. return i.ɵɵrestoreView(n),
  1977. i.ɵɵnextContext().onSelectAll.emit()
  1978. }
  1979. )),
  1980. i.ɵɵelement(2, "i", 2),
  1981. i.ɵɵelementEnd(),
  1982. i.ɵɵelementStart(3, "div", 3),
  1983. i.ɵɵelementStart(4, "button", 4),
  1984. i.ɵɵlistener("click", (function() {
  1985. return i.ɵɵrestoreView(n),
  1986. i.ɵɵnextContext().onVisibilityChange.emit()
  1987. }
  1988. )),
  1989. i.ɵɵelementStart(5, "i", 5),
  1990. i.ɵɵtext(6, "visibility_off"),
  1991. i.ɵɵelementEnd(),
  1992. i.ɵɵelementEnd(),
  1993. i.ɵɵelementStart(7, "button", 4),
  1994. i.ɵɵlistener("click", (function() {
  1995. return i.ɵɵrestoreView(n),
  1996. i.ɵɵnextContext().onShare.emit()
  1997. }
  1998. )),
  1999. i.ɵɵelementStart(8, "i", 5),
  2000. i.ɵɵtext(9, "share"),
  2001. i.ɵɵelementEnd(),
  2002. i.ɵɵelementEnd(),
  2003. i.ɵɵelementStart(10, "button", 4),
  2004. i.ɵɵlistener("click", (function() {
  2005. return i.ɵɵrestoreView(n),
  2006. i.ɵɵnextContext().onDelete.emit()
  2007. }
  2008. )),
  2009. i.ɵɵelementStart(11, "i", 5),
  2010. i.ɵɵtext(12, "delete"),
  2011. i.ɵɵelementEnd(),
  2012. i.ɵɵelementEnd(),
  2013. i.ɵɵtemplate(13, c, 3, 2, "button", 6),
  2014. i.ɵɵelementEnd(),
  2015. i.ɵɵelementContainerEnd()
  2016. }
  2017. if (2 & e) {
  2018. var o = t.$implicit
  2019. , r = i.ɵɵnextContext();
  2020. i.ɵɵadvance(1),
  2021. i.ɵɵproperty("title", o("Select All")),
  2022. i.ɵɵadvance(1),
  2023. i.ɵɵclassProp("fa-square-o", !r.areAllItemsSelected)("fa-check-square-o", r.areAllItemsSelected),
  2024. i.ɵɵadvance(2),
  2025. i.ɵɵproperty("disabled", !r.isAnythingSelected || r.isAsyncOperationInProgress)("title", r.getVisibilityTooltipText()),
  2026. i.ɵɵadvance(3),
  2027. i.ɵɵproperty("disabled", !r.isAnythingSelected || r.isAsyncOperationInProgress)("title", o("Share Selected")),
  2028. i.ɵɵadvance(3),
  2029. i.ɵɵproperty("disabled", !r.isAnythingSelected || r.isAsyncOperationInProgress)("title", o("Delete Selected")),
  2030. i.ɵɵadvance(3),
  2031. i.ɵɵproperty("ngIf", r.canUserSaveMeasurements())
  2032. }
  2033. }
  2034. var p = function() {
  2035. function e(e) {
  2036. this.UserService = e,
  2037. this.onSelectAll = new o.EventEmitter,
  2038. this.onDelete = new o.EventEmitter,
  2039. this.onSave = new o.EventEmitter,
  2040. this.onVisibilityChange = new o.EventEmitter,
  2041. this.onShare = new o.EventEmitter
  2042. }
  2043. return e.prototype.getVisibilityTooltipText = function() {
  2044. return this.isEverythingHidden && this.isAnythingSelected ? r.translate("Show Selected") : r.translate("Hide Selected")
  2045. }
  2046. ,
  2047. e.prototype.canUserSaveMeasurements = function() {
  2048. return this.UserService.canSaveMeasurements()
  2049. }
  2050. ,
  2051. e.ɵfac = function(t) {
  2052. return new (t || e)(i.ɵɵdirectiveInject(a.UserService))
  2053. }
  2054. ,
  2055. e.ɵcmp = i.ɵɵdefineComponent({
  2056. type: e,
  2057. selectors: [["measurement-list-toolbar"]],
  2058. inputs: {
  2059. isAnythingSelected: "isAnythingSelected",
  2060. isEverythingHidden: "isEverythingHidden",
  2061. areAllItemsSelected: "areAllItemsSelected",
  2062. isAsyncOperationInProgress: "isAsyncOperationInProgress"
  2063. },
  2064. outputs: {
  2065. onSelectAll: "onSelectAll",
  2066. onDelete: "onDelete",
  2067. onSave: "onSave",
  2068. onVisibilityChange: "onVisibilityChange",
  2069. onShare: "onShare"
  2070. },
  2071. decls: 1,
  2072. vars: 0,
  2073. consts: [[4, "transloco"], [1, "button-fa-material-align", "btn", "btn-default", "btn-borderless", 3, "title", "click"], [1, "fa"], [1, "operations", "float-right"], [1, "btn", "btn-default", "btn-borderless", "center-icon", 3, "disabled", "title", "click"], [1, "material-icons"], ["class", "btn btn-default btn-borderless center-icon", 3, "disabled", "title", "click", 4, "ngIf"]],
  2074. template: function(e, t) {
  2075. 1 & e && i.ɵɵtemplate(0, u, 14, 12, "ng-container", 0)
  2076. },
  2077. directives: [s.TranslocoDirective, l.NgIf],
  2078. styles: [".operations[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.operations[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:3px}.operations[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:24px;height:24px}.button-fa-material-align[_ngcontent-%COMP%]{margin-top:1px}button[_ngcontent-%COMP%]{min-width:39px;max-width:39px}.center-icon[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.material-icons[_ngcontent-%COMP%]{font-size:20px}"]
  2079. }),
  2080. e
  2081. }();
  2082. t.MeasurementListToolbarComponent = p,
  2083. i.ɵsetClassMetadata(p, [{
  2084. type: o.Component,
  2085. args: [{
  2086. selector: "measurement-list-toolbar",
  2087. templateUrl: "MeasurementListToolbar.ng.html",
  2088. styleUrls: ["MeasurementListToolbar.ng.scss"]
  2089. }]
  2090. }], (function() {
  2091. return [{
  2092. type: a.UserService
  2093. }]
  2094. }
  2095. ), {
  2096. isAnythingSelected: [{
  2097. type: o.Input
  2098. }],
  2099. isEverythingHidden: [{
  2100. type: o.Input
  2101. }],
  2102. areAllItemsSelected: [{
  2103. type: o.Input
  2104. }],
  2105. isAsyncOperationInProgress: [{
  2106. type: o.Input
  2107. }],
  2108. onSelectAll: [{
  2109. type: o.Output
  2110. }],
  2111. onDelete: [{
  2112. type: o.Output
  2113. }],
  2114. onSave: [{
  2115. type: o.Output
  2116. }],
  2117. onVisibilityChange: [{
  2118. type: o.Output
  2119. }],
  2120. onShare: [{
  2121. type: o.Output
  2122. }]
  2123. })
  2124. },
  2125. 1942: function(e, t, n) {
  2126. "use strict";
  2127. Object.defineProperty(t, "__esModule", {
  2128. value: !0
  2129. });
  2130. var o = n(0)
  2131. , r = (n(453),
  2132. n(85))
  2133. , i = (n(171),
  2134. n(8))
  2135. , a = (n(27),
  2136. n(349))
  2137. , s = (n(21),
  2138. n(643))
  2139. , l = n(168)
  2140. , c = n(0)
  2141. , u = n(171)
  2142. , p = n(27)
  2143. , d = n(21)
  2144. , m = n(3)
  2145. , g = n(168)
  2146. , f = n(1692)
  2147. , v = n(1700)
  2148. , h = ["measurementNameInput"]
  2149. , M = ["measurementNoteInput"];
  2150. function C(e, t) {
  2151. if (1 & e && c.ɵɵelement(0, "img", 15),
  2152. 2 & e) {
  2153. var n = c.ɵɵnextContext();
  2154. c.ɵɵclassProp("measurement-invisible", !n.measurement.visible),
  2155. c.ɵɵproperty("src", n.measurementIcon, c.ɵɵsanitizeUrl)
  2156. }
  2157. }
  2158. function x(e, t) {
  2159. if (1 & e && c.ɵɵelement(0, "img", 16),
  2160. 2 & e) {
  2161. var n = c.ɵɵnextContext();
  2162. c.ɵɵclassProp("measurement-invisible", !n.measurement.visible),
  2163. c.ɵɵproperty("src", n.measurementIcon, c.ɵɵsanitizeUrl)
  2164. }
  2165. }
  2166. function y(e, t) {
  2167. if (1 & e) {
  2168. var n = c.ɵɵgetCurrentView();
  2169. c.ɵɵelementStart(0, "div", 17),
  2170. c.ɵɵlistener("dblclick", (function() {
  2171. return c.ɵɵrestoreView(n),
  2172. c.ɵɵnextContext().startModifyingTitle()
  2173. }
  2174. )),
  2175. c.ɵɵtext(1),
  2176. c.ɵɵelementEnd()
  2177. }
  2178. if (2 & e) {
  2179. var o = c.ɵɵnextContext();
  2180. c.ɵɵclassProp("measurement-invisible", !o.measurement.visible),
  2181. c.ɵɵadvance(1),
  2182. c.ɵɵtextInterpolate1(" ", o.measurement.name, " ")
  2183. }
  2184. }
  2185. function S(e, t) {
  2186. if (1 & e && (c.ɵɵelementStart(0, "span", 19),
  2187. c.ɵɵtext(1),
  2188. c.ɵɵelementEnd()),
  2189. 2 & e) {
  2190. var n = c.ɵɵnextContext().$implicit;
  2191. c.ɵɵadvance(1),
  2192. c.ɵɵtextInterpolate1(" ", n("unsaved"), " ")
  2193. }
  2194. }
  2195. function b(e, t) {
  2196. if (1 & e && (c.ɵɵelementContainerStart(0),
  2197. c.ɵɵtemplate(1, S, 2, 1, "span", 18),
  2198. c.ɵɵelementContainerEnd()),
  2199. 2 & e) {
  2200. var n = c.ɵɵnextContext();
  2201. c.ɵɵadvance(1),
  2202. c.ɵɵproperty("ngIf", n.canUserSaveMeasurements() && !n.isMeasurementSaved(n.measurement))
  2203. }
  2204. }
  2205. var E = function(e) {
  2206. return [e, "distance", 2, .1, !0]
  2207. };
  2208. function w(e, t) {
  2209. if (1 & e && (c.ɵɵelementStart(0, "span", 20),
  2210. c.ɵɵtext(1),
  2211. c.ɵɵpipe(2, "uom"),
  2212. c.ɵɵelementEnd()),
  2213. 2 & e) {
  2214. var n = c.ɵɵnextContext();
  2215. c.ɵɵadvance(1),
  2216. c.ɵɵtextInterpolate1(" ", c.ɵɵpipeBindV(2, 1, c.ɵɵpureFunction1(7, E, n.measurement.value)), "")
  2217. }
  2218. }
  2219. function I(e, t) {
  2220. if (1 & e && (c.ɵɵelementStart(0, "span", 21),
  2221. c.ɵɵtext(1),
  2222. c.ɵɵpipe(2, "uom"),
  2223. c.ɵɵelementEnd()),
  2224. 2 & e) {
  2225. var n = c.ɵɵnextContext();
  2226. c.ɵɵadvance(1),
  2227. c.ɵɵtextInterpolate1(" ", c.ɵɵpipeBind2(2, 1, n.measurement.value, "area"), "")
  2228. }
  2229. }
  2230. function P(e, t) {
  2231. 1 & e && (c.ɵɵelementStart(0, "i", 25),
  2232. c.ɵɵtext(1, "expand_more"),
  2233. c.ɵɵelementEnd())
  2234. }
  2235. function O(e, t) {
  2236. 1 & e && (c.ɵɵelementStart(0, "i", 25),
  2237. c.ɵɵtext(1, "expand_less"),
  2238. c.ɵɵelementEnd())
  2239. }
  2240. function _(e, t) {
  2241. if (1 & e) {
  2242. var n = c.ɵɵgetCurrentView();
  2243. c.ɵɵelementStart(0, "button", 23),
  2244. c.ɵɵlistener("click", (function(e) {
  2245. return c.ɵɵrestoreView(n),
  2246. c.ɵɵnextContext(2).toggleNote(e)
  2247. }
  2248. )),
  2249. c.ɵɵtemplate(1, P, 2, 0, "i", 24),
  2250. c.ɵɵtemplate(2, O, 2, 0, "i", 24),
  2251. c.ɵɵelementEnd()
  2252. }
  2253. if (2 & e) {
  2254. var o = c.ɵɵnextContext().$implicit
  2255. , r = c.ɵɵnextContext();
  2256. c.ɵɵproperty("title", o("expand")),
  2257. c.ɵɵadvance(1),
  2258. c.ɵɵproperty("ngIf", !r.noteExpanded),
  2259. c.ɵɵadvance(1),
  2260. c.ɵɵproperty("ngIf", r.noteExpanded)
  2261. }
  2262. }
  2263. function T(e, t) {
  2264. if (1 & e && (c.ɵɵelementContainerStart(0),
  2265. c.ɵɵtemplate(1, _, 3, 3, "button", 22),
  2266. c.ɵɵelementContainerEnd()),
  2267. 2 & e) {
  2268. var n = c.ɵɵnextContext();
  2269. c.ɵɵadvance(1),
  2270. c.ɵɵproperty("ngIf", n.canUserSaveMeasurements())
  2271. }
  2272. }
  2273. function A(e, t) {
  2274. if (1 & e && (c.ɵɵelementStart(0, "div", 31),
  2275. c.ɵɵtext(1),
  2276. c.ɵɵelementEnd()),
  2277. 2 & e) {
  2278. var n = c.ɵɵnextContext(3);
  2279. c.ɵɵadvance(1),
  2280. c.ɵɵtextInterpolate(n.measurement.note)
  2281. }
  2282. }
  2283. function D(e, t) {
  2284. if (1 & e && (c.ɵɵelementStart(0, "div", 32),
  2285. c.ɵɵtext(1),
  2286. c.ɵɵelementEnd()),
  2287. 2 & e) {
  2288. var n = c.ɵɵnextContext(2).$implicit;
  2289. c.ɵɵadvance(1),
  2290. c.ɵɵtextInterpolate(n("Double click to add a description"))
  2291. }
  2292. }
  2293. function V(e, t) {
  2294. if (1 & e) {
  2295. var n = c.ɵɵgetCurrentView();
  2296. c.ɵɵelementStart(0, "div", 17),
  2297. c.ɵɵlistener("dblclick", (function() {
  2298. return c.ɵɵrestoreView(n),
  2299. c.ɵɵnextContext(2).editNote()
  2300. }
  2301. )),
  2302. c.ɵɵtemplate(1, A, 2, 1, "div", 29),
  2303. c.ɵɵtemplate(2, D, 2, 1, "div", 30),
  2304. c.ɵɵelementEnd()
  2305. }
  2306. if (2 & e) {
  2307. var o = c.ɵɵnextContext(2);
  2308. c.ɵɵclassProp("measurement-invisible", !o.measurement.visible),
  2309. c.ɵɵadvance(1),
  2310. c.ɵɵproperty("ngIf", o.measurement.note),
  2311. c.ɵɵadvance(1),
  2312. c.ɵɵproperty("ngIf", !o.measurement.note)
  2313. }
  2314. }
  2315. function k(e, t) {
  2316. if (1 & e) {
  2317. var n = c.ɵɵgetCurrentView();
  2318. c.ɵɵelementContainerStart(0),
  2319. c.ɵɵelementStart(1, "div", 26),
  2320. c.ɵɵtemplate(2, V, 3, 4, "div", 7),
  2321. c.ɵɵelementStart(3, "textarea", 27, 28),
  2322. c.ɵɵlistener("focusout", (function() {
  2323. return c.ɵɵrestoreView(n),
  2324. c.ɵɵnextContext().saveNote()
  2325. }
  2326. ))("keydown.enter", (function() {
  2327. return c.ɵɵrestoreView(n),
  2328. c.ɵɵnextContext().saveNote()
  2329. }
  2330. ))("keyup.escape", (function() {
  2331. return c.ɵɵrestoreView(n),
  2332. c.ɵɵnextContext().discardChanges()
  2333. }
  2334. )),
  2335. c.ɵɵelementEnd(),
  2336. c.ɵɵelementEnd(),
  2337. c.ɵɵelementContainerEnd()
  2338. }
  2339. if (2 & e) {
  2340. var o = t.$implicit
  2341. , r = c.ɵɵnextContext();
  2342. c.ɵɵadvance(2),
  2343. c.ɵɵproperty("ngIf", !r.modifyingNote),
  2344. c.ɵɵadvance(1),
  2345. c.ɵɵproperty("placeholder", o("Double click to add a description"))("hidden", !r.modifyingNote)
  2346. }
  2347. }
  2348. var R = function(e) {
  2349. return {
  2350. hovered: e
  2351. }
  2352. }
  2353. , N = function() {
  2354. function e(e, t, n) {
  2355. this.MeasurementsService = e,
  2356. this.UserService = t,
  2357. this.TrackingService = n,
  2358. this.onItemToggleSelection = new o.EventEmitter,
  2359. this.modifyingTitle = !1,
  2360. this.modifyingNote = !1,
  2361. this.noteExpanded = !1,
  2362. this.discardNameChanges = !1,
  2363. this.preventSingleClick = !1
  2364. }
  2365. return e.prototype.ngOnInit = function() {
  2366. this.measurementIcon = this.getMeasurementIcon()
  2367. }
  2368. ,
  2369. e.prototype.navigateToMeasurement = function() {
  2370. var e = this;
  2371. this.preventSingleClick = !1,
  2372. this.singleClickTimeout = window.setTimeout((function() {
  2373. e.preventSingleClick || e.MeasurementsService.navigateToMeasurement(e.measurement).catch(i.handleWarning)
  2374. }
  2375. ), a.InputHandler.DOUBLE_CLICK_INTERVAL)
  2376. }
  2377. ,
  2378. e.prototype.toggleSelection = function(e) {
  2379. this.measurement.selected = !this.measurement.selected,
  2380. this.onItemToggleSelection.emit(this.measurement),
  2381. e.stopPropagation()
  2382. }
  2383. ,
  2384. e.prototype.isArea = function() {
  2385. return r.ToolSpec.of(this.measurement.type).type === r.ToolType.AREA
  2386. }
  2387. ,
  2388. e.prototype.isDistance = function() {
  2389. return r.ToolSpec.of(this.measurement.type).type === r.ToolType.DISTANCE
  2390. }
  2391. ,
  2392. e.prototype.startHover = function() {
  2393. this.MeasurementsService.setMeasurementHovered(this.measurement, !0)
  2394. }
  2395. ,
  2396. e.prototype.endHover = function() {
  2397. this.MeasurementsService.setMeasurementHovered(this.measurement, !1)
  2398. }
  2399. ,
  2400. e.prototype.isMeasurementSaved = function(e) {
  2401. return e.isSaved()
  2402. }
  2403. ,
  2404. e.prototype.canUserSaveMeasurements = function() {
  2405. return this.UserService.canSaveMeasurements()
  2406. }
  2407. ,
  2408. e.prototype.startModifyingTitle = function() {
  2409. var e = this;
  2410. this.toggleDoubleClickEdit((function() {
  2411. e.modifyingTitle = !0
  2412. }
  2413. ), this.measurementNameInput, this.measurement.name)
  2414. }
  2415. ,
  2416. e.prototype.finishModifyingTitle = function() {
  2417. var e = this;
  2418. this.modifyingTitle = this.finishEdit((function(t) {
  2419. e.measurement.name = t
  2420. }
  2421. ), l.translate(this.measurement.nameIfEmpty), this.measurementNameInput, this.modifyingTitle, s.ModificationType.RENAME)
  2422. }
  2423. ,
  2424. e.prototype.discardChanges = function() {
  2425. this.discardNameChanges = !0,
  2426. this.modifyingTitle = !1,
  2427. this.modifyingNote = !1
  2428. }
  2429. ,
  2430. e.prototype.saveNote = function() {
  2431. var e = this;
  2432. this.modifyingNote = this.finishEdit((function(t) {
  2433. e.measurement.note = t
  2434. }
  2435. ), "", this.measurementNoteInput, this.modifyingNote, s.ModificationType.ANNOTATED)
  2436. }
  2437. ,
  2438. e.prototype.editNote = function() {
  2439. var e = this;
  2440. this.toggleDoubleClickEdit((function() {
  2441. e.modifyingNote = !0
  2442. }
  2443. ), this.measurementNoteInput, this.measurement.note)
  2444. }
  2445. ,
  2446. e.prototype.toggleNote = function(e) {
  2447. this.noteExpanded = !this.noteExpanded,
  2448. e.stopPropagation()
  2449. }
  2450. ,
  2451. e.prototype.getMeasurementIcon = function() {
  2452. return r.ToolSpec.of(this.measurement.type).iconSrc
  2453. }
  2454. ,
  2455. e.prototype.toggleDoubleClickEdit = function(e, t, n) {
  2456. this.preventSingleClick = !0,
  2457. clearTimeout(this.singleClickTimeout),
  2458. e(),
  2459. t.nativeElement.value = n,
  2460. t.nativeElement.select(),
  2461. setTimeout((function() {
  2462. t.nativeElement.focus(),
  2463. t.nativeElement.select()
  2464. }
  2465. ))
  2466. }
  2467. ,
  2468. e.prototype.finishEdit = function(e, t, n, o, r) {
  2469. o && this.TrackingService.trackPreDefinedEvent((new s.MeasurementModifiedEvent).withModification(r));
  2470. var i = n.nativeElement.value.trim() ? n.nativeElement.value.trim() : t;
  2471. return this.discardNameChanges ? (this.discardNameChanges = !1,
  2472. !1) : (e(i),
  2473. !1)
  2474. }
  2475. ,
  2476. e.ɵfac = function(t) {
  2477. return new (t || e)(c.ɵɵdirectiveInject(u.MeasurementsService),c.ɵɵdirectiveInject(p.UserService),c.ɵɵdirectiveInject(d.TrackingService))
  2478. }
  2479. ,
  2480. e.ɵcmp = c.ɵɵdefineComponent({
  2481. type: e,
  2482. selectors: [["measurement-details"]],
  2483. viewQuery: function(e, t) {
  2484. var n;
  2485. (1 & e && (c.ɵɵviewQuery(h, !0),
  2486. c.ɵɵviewQuery(M, !0)),
  2487. 2 & e) && (c.ɵɵqueryRefresh(n = c.ɵɵloadQuery()) && (t.measurementNameInput = n.first),
  2488. c.ɵɵqueryRefresh(n = c.ɵɵloadQuery()) && (t.measurementNoteInput = n.first))
  2489. },
  2490. inputs: {
  2491. measurement: "measurement"
  2492. },
  2493. outputs: {
  2494. onItemToggleSelection: "onItemToggleSelection"
  2495. },
  2496. decls: 17,
  2497. vars: 18,
  2498. consts: [[1, "clickable", "measurement-details", 3, "ngClass", "click", "mouseenter", "mouseleave"], [1, "measurement-details-row"], [1, "btn", "btn-default", "btn-borderless", 3, "click"], [1, "fa"], ["alt", "distance_icon", "class", "measurement-icon", 3, "src", "measurement-invisible", 4, "ngIf"], ["alt", "area_icon", "class", "measurement-icon", 3, "src", "measurement-invisible", 4, "ngIf"], [1, "measurement-name"], [3, "measurement-invisible", "dblclick", 4, "ngIf"], ["type", "text", "maxlength", "100", 1, "form-control", 3, "hidden", "focusout", "keyup.enter", "keyup.escape"], ["measurementNameInput", ""], [4, "transloco"], [1, "measurement-value"], ["class", "measurement-value-distance", 4, "ngIf"], ["class", "measurement-value-area", 4, "ngIf"], [1, "measurement-details-row", "measurement-note-row", 3, "hidden"], ["alt", "distance_icon", 1, "measurement-icon", 3, "src"], ["alt", "area_icon", 1, "measurement-icon", 3, "src"], [3, "dblclick"], ["class", "unsaved-label", 4, "ngIf"], [1, "unsaved-label"], [1, "measurement-value-distance"], [1, "measurement-value-area"], ["class", "btn btn-default btn-borderless center-icon expand-button", 3, "title", "click", 4, "ngIf"], [1, "btn", "btn-default", "btn-borderless", "center-icon", "expand-button", 3, "title", "click"], ["class", "material-icons", 4, "ngIf"], [1, "material-icons"], [1, "measurement-note-container"], ["maxlength", "255", "rows", "2", 1, "form-control", "note", 3, "placeholder", "hidden", "focusout", "keydown.enter", "keyup.escape"], ["measurementNoteInput", ""], ["class", "measurement-note", 4, "ngIf"], ["class", "measurement-note-placeholder", 4, "ngIf"], [1, "measurement-note"], [1, "measurement-note-placeholder"]],
  2499. template: function(e, t) {
  2500. 1 & e && (c.ɵɵelementStart(0, "div", 0),
  2501. c.ɵɵlistener("click", (function() {
  2502. return t.navigateToMeasurement()
  2503. }
  2504. ))("mouseenter", (function() {
  2505. return t.startHover()
  2506. }
  2507. ))("mouseleave", (function() {
  2508. return t.endHover()
  2509. }
  2510. )),
  2511. c.ɵɵelementStart(1, "div", 1),
  2512. c.ɵɵelementStart(2, "button", 2),
  2513. c.ɵɵlistener("click", (function(e) {
  2514. return t.toggleSelection(e)
  2515. }
  2516. )),
  2517. c.ɵɵelement(3, "i", 3),
  2518. c.ɵɵelementEnd(),
  2519. c.ɵɵtemplate(4, C, 1, 3, "img", 4),
  2520. c.ɵɵtemplate(5, x, 1, 3, "img", 5),
  2521. c.ɵɵelementStart(6, "div", 6),
  2522. c.ɵɵtemplate(7, y, 2, 3, "div", 7),
  2523. c.ɵɵelementStart(8, "input", 8, 9),
  2524. c.ɵɵlistener("focusout", (function() {
  2525. return t.finishModifyingTitle()
  2526. }
  2527. ))("keyup.enter", (function() {
  2528. return t.finishModifyingTitle()
  2529. }
  2530. ))("keyup.escape", (function() {
  2531. return t.discardChanges()
  2532. }
  2533. )),
  2534. c.ɵɵelementEnd(),
  2535. c.ɵɵelementEnd(),
  2536. c.ɵɵtemplate(10, b, 2, 1, "ng-container", 10),
  2537. c.ɵɵelementStart(11, "span", 11),
  2538. c.ɵɵtemplate(12, w, 3, 9, "span", 12),
  2539. c.ɵɵtemplate(13, I, 3, 4, "span", 13),
  2540. c.ɵɵelementEnd(),
  2541. c.ɵɵtemplate(14, T, 2, 1, "ng-container", 10),
  2542. c.ɵɵelementEnd(),
  2543. c.ɵɵelementStart(15, "div", 14),
  2544. c.ɵɵtemplate(16, k, 5, 3, "ng-container", 10),
  2545. c.ɵɵelementEnd(),
  2546. c.ɵɵelementEnd()),
  2547. 2 & e && (c.ɵɵproperty("ngClass", c.ɵɵpureFunction1(16, R, t.measurement.isHovered)),
  2548. c.ɵɵadvance(3),
  2549. c.ɵɵclassProp("fa-square-o", !t.measurement.selected)("fa-check-square-o", t.measurement.selected),
  2550. c.ɵɵadvance(1),
  2551. c.ɵɵproperty("ngIf", t.isDistance()),
  2552. c.ɵɵadvance(1),
  2553. c.ɵɵproperty("ngIf", t.isArea()),
  2554. c.ɵɵadvance(2),
  2555. c.ɵɵproperty("ngIf", !t.modifyingTitle),
  2556. c.ɵɵadvance(1),
  2557. c.ɵɵproperty("hidden", !t.modifyingTitle),
  2558. c.ɵɵadvance(3),
  2559. c.ɵɵclassProp("measurement-invisible", !t.measurement.visible),
  2560. c.ɵɵadvance(1),
  2561. c.ɵɵproperty("ngIf", t.isDistance()),
  2562. c.ɵɵadvance(1),
  2563. c.ɵɵproperty("ngIf", t.isArea()),
  2564. c.ɵɵadvance(2),
  2565. c.ɵɵclassProp("measurement-note-edit", t.modifyingNote),
  2566. c.ɵɵproperty("hidden", !t.noteExpanded))
  2567. },
  2568. directives: [m.NgClass, m.NgIf, g.TranslocoDirective, f.AddBaseUrlDirective],
  2569. pipes: [v.UoMPipe],
  2570. styles: [".hovered[_ngcontent-%COMP%]{background-color:#e6e6e6}.measurement-details[_ngcontent-%COMP%]{flex-direction:column;padding:10px 20px}.measurement-details[_ngcontent-%COMP%], .measurement-details-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-end}.measurement-details-row[_ngcontent-%COMP%]{flex-grow:1;flex-direction:row;height:20px;width:100%;margin:10px 0}.measurement-details-row.measurement-note-edit[_ngcontent-%COMP%]{height:54px;overflow:hidden}.measurement-details-row.measurement-note-row[_ngcontent-%COMP%]{height:auto;max-height:54px;overflow:auto}button[_ngcontent-%COMP%]{min-width:39px}.expand-button[_ngcontent-%COMP%]{min-width:50px}.measurement-icon[_ngcontent-%COMP%]{margin:0 1.7em 0 .3em;flex-shrink:0}.measurement-name[_ngcontent-%COMP%], .measurement-note-container[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden}.measurement-name[_ngcontent-%COMP%] div[_ngcontent-%COMP%], .measurement-note-container[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.measurement-name[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .measurement-name[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%], .measurement-note-container[_ngcontent-%COMP%] input[_ngcontent-%COMP%], .measurement-note-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%;border-radius:4px;resize:none}.measurement-name[_ngcontent-%COMP%] div.measurement-note-placeholder[_ngcontent-%COMP%], .measurement-note-container[_ngcontent-%COMP%] div.measurement-note-placeholder[_ngcontent-%COMP%]{font-style:italic}.measurement-name[_ngcontent-%COMP%] div.measurement-note[_ngcontent-%COMP%], .measurement-note-container[_ngcontent-%COMP%] div.measurement-note[_ngcontent-%COMP%]{white-space:pre-wrap}.measurement-note-container[_ngcontent-%COMP%]{margin-left:92px;padding-right:44px;max-height:54px;overflow-y:auto}.measurement-value[_ngcontent-%COMP%]{line-height:40px;min-width:110px;text-align:right}.measurement-value[_ngcontent-%COMP%] .measurement-value-distance[_ngcontent-%COMP%]{padding-right:20px}.measurement-value[_ngcontent-%COMP%] .measurement-value-area[_ngcontent-%COMP%]{padding-right:15px}.unsaved-label[_ngcontent-%COMP%]{color:#d3d3d3;padding-left:10px}.measurement-invisible[_ngcontent-%COMP%]{opacity:.3}[hidden][_ngcontent-%COMP%]{display:none!important}"]
  2571. }),
  2572. e
  2573. }();
  2574. t.MeasurementDetailsComponent = N,
  2575. c.ɵsetClassMetadata(N, [{
  2576. type: o.Component,
  2577. args: [{
  2578. selector: "measurement-details",
  2579. templateUrl: "MeasurementDetails.ng.html",
  2580. styleUrls: ["MeasurementDetails.ng.scss"]
  2581. }]
  2582. }], (function() {
  2583. return [{
  2584. type: u.MeasurementsService
  2585. }, {
  2586. type: p.UserService
  2587. }, {
  2588. type: d.TrackingService
  2589. }]
  2590. }
  2591. ), {
  2592. measurement: [{
  2593. type: o.Input
  2594. }],
  2595. onItemToggleSelection: [{
  2596. type: o.Output
  2597. }],
  2598. measurementNameInput: [{
  2599. type: o.ViewChild,
  2600. args: ["measurementNameInput", {
  2601. static: !1
  2602. }]
  2603. }],
  2604. measurementNoteInput: [{
  2605. type: o.ViewChild,
  2606. args: ["measurementNoteInput", {
  2607. static: !1
  2608. }]
  2609. }]
  2610. })
  2611. },
  2612. 1943: function(e, t, n) {
  2613. "use strict";
  2614. var o = this && this.__awaiter || function(e, t, n, o) {
  2615. return new (n || (n = Promise))((function(r, i) {
  2616. function a(e) {
  2617. try {
  2618. l(o.next(e))
  2619. } catch (e) {
  2620. i(e)
  2621. }
  2622. }
  2623. function s(e) {
  2624. try {
  2625. l(o.throw(e))
  2626. } catch (e) {
  2627. i(e)
  2628. }
  2629. }
  2630. function l(e) {
  2631. var t;
  2632. e.done ? r(e.value) : (t = e.value,
  2633. t instanceof n ? t : new n((function(e) {
  2634. e(t)
  2635. }
  2636. ))).then(a, s)
  2637. }
  2638. l((o = o.apply(e, t || [])).next())
  2639. }
  2640. ))
  2641. }
  2642. , r = this && this.__generator || function(e, t) {
  2643. var n, o, r, i, a = {
  2644. label: 0,
  2645. sent: function() {
  2646. if (1 & r[0])
  2647. throw r[1];
  2648. return r[1]
  2649. },
  2650. trys: [],
  2651. ops: []
  2652. };
  2653. return i = {
  2654. next: s(0),
  2655. throw: s(1),
  2656. return: s(2)
  2657. },
  2658. "function" == typeof Symbol && (i[Symbol.iterator] = function() {
  2659. return this
  2660. }
  2661. ),
  2662. i;
  2663. function s(i) {
  2664. return function(s) {
  2665. return function(i) {
  2666. if (n)
  2667. throw new TypeError("Generator is already executing.");
  2668. for (; a; )
  2669. try {
  2670. if (n = 1,
  2671. o && (r = 2 & i[0] ? o.return : i[0] ? o.throw || ((r = o.return) && r.call(o),
  2672. 0) : o.next) && !(r = r.call(o, i[1])).done)
  2673. return r;
  2674. switch (o = 0,
  2675. r && (i = [2 & i[0], r.value]),
  2676. i[0]) {
  2677. case 0:
  2678. case 1:
  2679. r = i;
  2680. break;
  2681. case 4:
  2682. return a.label++,
  2683. {
  2684. value: i[1],
  2685. done: !1
  2686. };
  2687. case 5:
  2688. a.label++,
  2689. o = i[1],
  2690. i = [0];
  2691. continue;
  2692. case 7:
  2693. i = a.ops.pop(),
  2694. a.trys.pop();
  2695. continue;
  2696. default:
  2697. if (!(r = a.trys,
  2698. (r = r.length > 0 && r[r.length - 1]) || 6 !== i[0] && 2 !== i[0])) {
  2699. a = 0;
  2700. continue
  2701. }
  2702. if (3 === i[0] && (!r || i[1] > r[0] && i[1] < r[3])) {
  2703. a.label = i[1];
  2704. break
  2705. }
  2706. if (6 === i[0] && a.label < r[1]) {
  2707. a.label = r[1],
  2708. r = i;
  2709. break
  2710. }
  2711. if (r && a.label < r[2]) {
  2712. a.label = r[2],
  2713. a.ops.push(i);
  2714. break
  2715. }
  2716. r[2] && a.ops.pop(),
  2717. a.trys.pop();
  2718. continue
  2719. }
  2720. i = t.call(e, a)
  2721. } catch (e) {
  2722. i = [6, e],
  2723. o = 0
  2724. } finally {
  2725. n = r = 0
  2726. }
  2727. if (5 & i[0])
  2728. throw i[1];
  2729. return {
  2730. value: i[0] ? i[1] : void 0,
  2731. done: !0
  2732. }
  2733. }([i, s])
  2734. }
  2735. }
  2736. }
  2737. ;
  2738. Object.defineProperty(t, "__esModule", {
  2739. value: !0
  2740. });
  2741. var i = n(0)
  2742. , a = n(2)
  2743. , s = n(6)
  2744. , l = (n(31),
  2745. n(27),
  2746. n(168))
  2747. , c = n(8)
  2748. , u = (n(17),
  2749. n(65),
  2750. n(1944),
  2751. n(440),
  2752. n(1696))
  2753. , p = n(0)
  2754. , d = n(27)
  2755. , m = n(31)
  2756. , g = n(65)
  2757. , f = n(17)
  2758. , v = n(1944)
  2759. , h = n(440)
  2760. , M = n(3)
  2761. , C = n(168)
  2762. , x = n(1692)
  2763. , y = ["adminWarningBody"]
  2764. , S = ["warningBody"];
  2765. function b(e, t) {
  2766. if (1 & e) {
  2767. var n = p.ɵɵgetCurrentView();
  2768. p.ɵɵelementStart(0, "div", 2),
  2769. p.ɵɵlistener("click", (function() {
  2770. return p.ɵɵrestoreView(n),
  2771. p.ɵɵnextContext().showWarningModal()
  2772. }
  2773. )),
  2774. p.ɵɵelement(1, "img", 3),
  2775. p.ɵɵelementEnd()
  2776. }
  2777. if (2 & e) {
  2778. var o = p.ɵɵnextContext();
  2779. p.ɵɵadvance(1),
  2780. p.ɵɵproperty("src", o.warnButtonImg, p.ɵɵsanitizeUrl)
  2781. }
  2782. }
  2783. function E(e, t) {
  2784. if (1 & e && (p.ɵɵelementStart(0, "p"),
  2785. p.ɵɵtext(1),
  2786. p.ɵɵelementEnd(),
  2787. p.ɵɵelementStart(2, "p"),
  2788. p.ɵɵtext(3),
  2789. p.ɵɵelementEnd(),
  2790. p.ɵɵelementStart(4, "p"),
  2791. p.ɵɵtext(5),
  2792. p.ɵɵelementEnd()),
  2793. 2 & e) {
  2794. var n = p.ɵɵnextContext().$implicit;
  2795. p.ɵɵadvance(1),
  2796. p.ɵɵtextInterpolate(n("The depth maps are used in panorama mode by the cursor to visualize the distance of an object to the current position. The improved depth maps allow you to capture and measure details in the panoramas more accurately.")),
  2797. p.ɵɵadvance(2),
  2798. p.ɵɵtextInterpolate(n("The update may take a while, but during this time you will be still able use the measurement mode.")),
  2799. p.ɵɵadvance(2),
  2800. p.ɵɵtextInterpolate(n("Do you want to start the update?"))
  2801. }
  2802. }
  2803. function w(e, t) {
  2804. if (1 & e && (p.ɵɵelementStart(0, "p"),
  2805. p.ɵɵtext(1),
  2806. p.ɵɵelementEnd()),
  2807. 2 & e) {
  2808. var n = p.ɵɵnextContext().$implicit;
  2809. p.ɵɵadvance(1),
  2810. p.ɵɵtextInterpolate(n("Please contact your 4dkankan administrator to update your data. The update will allow you to capture and measure details in the panoramas more accurately."))
  2811. }
  2812. }
  2813. function I(e, t) {
  2814. 1 & e && (p.ɵɵelementContainerStart(0),
  2815. p.ɵɵtemplate(1, E, 6, 3, "ng-template", null, 4, p.ɵɵtemplateRefExtractor),
  2816. p.ɵɵtemplate(3, w, 2, 1, "ng-template", null, 5, p.ɵɵtemplateRefExtractor),
  2817. p.ɵɵelementContainerEnd())
  2818. }
  2819. var P = function() {
  2820. function e(e, t, o, r, i, a, s) {
  2821. this.userService = e,
  2822. this.datasetRepository = t,
  2823. this.ViewMenuService = o,
  2824. this.PointCloudMenuService = r,
  2825. this.ViewService = i,
  2826. this.WebdirUpgradeService = a,
  2827. this.MatDialog = s,
  2828. this.warnButtonImg = n(2049),
  2829. this.depthMapsUpgradeable = !0
  2830. }
  2831. return e.prototype.showWarningModal = function() {
  2832. var e = this;
  2833. this.userService.isAdmin() ? this.MatDialog.open(u.AlertDialogComponent, {
  2834. width: "600px",
  2835. data: {
  2836. title: l.translate("Depth Images Update Available"),
  2837. body: this.adminWarningBody,
  2838. cancelButton: !1,
  2839. declineButton: l.translate("Later"),
  2840. confirmButton: l.translate("Update")
  2841. }
  2842. }).afterClosed().subscribe((function(t) {
  2843. return e.onAdminDialogResult(t)
  2844. }
  2845. )) : this.MatDialog.open(u.AlertDialogComponent, {
  2846. width: "600px",
  2847. data: {
  2848. title: l.translate("New Data Update Available"),
  2849. body: this.warningBody,
  2850. cancelButton: !1,
  2851. declineButton: !1,
  2852. confirmButton: l.translate("Close")
  2853. }
  2854. })
  2855. }
  2856. ,
  2857. e.prototype.onAdminDialogResult = function(e) {
  2858. e === u.AlertDialogResult.CONFIRMED && this.userService.isAdmin() && this.WebdirUpgradeService.webdirUpgrade().catch(c.handleWarning)
  2859. }
  2860. ,
  2861. e.prototype.ngAfterViewInit = function() {
  2862. this.setup().catch(c.handleWarning)
  2863. }
  2864. ,
  2865. e.prototype.setup = function() {
  2866. return o(this, void 0, void 0, (function() {
  2867. var e;
  2868. return r(this, (function(t) {
  2869. switch (t.label) {
  2870. case 0:
  2871. return e = this,
  2872. [4, this.areDepthMapsUpgradeable()];
  2873. case 1:
  2874. return e.depthMapsUpgradeable = t.sent(),
  2875. this.userService.isAdmin() && this.depthMapsUpgradeable && this.shouldShowWarningIcon() && this.showWarningModal(),
  2876. [2]
  2877. }
  2878. }
  2879. ))
  2880. }
  2881. ))
  2882. }
  2883. ,
  2884. e.prototype.shouldShowWarningIcon = function() {
  2885. return this.depthMapsUpgradeable && this.ViewMenuService.config.showPanoramas && !this.PointCloudMenuService.config.showPointCloud && this.ViewService.mainView.getDefaultViewport().active && !this.WebdirUpgradeService.isJobInProgress && !this.WebdirUpgradeService.hasJobFinished
  2886. }
  2887. ,
  2888. e.prototype.areDepthMapsUpgradeable = function() {
  2889. return o(this, void 0, void 0, (function() {
  2890. var e;
  2891. return r(this, (function(t) {
  2892. switch (t.label) {
  2893. case 0:
  2894. return [4, this.datasetRepository.findAll()];
  2895. case 1:
  2896. return e = t.sent(),
  2897. [2, e.filter((function(e) {
  2898. return e.hasSensorFrame && e.hasDepthImages && "2" !== e.depthImageVersion
  2899. }
  2900. )).length > 0]
  2901. }
  2902. }
  2903. ))
  2904. }
  2905. ))
  2906. }
  2907. ,
  2908. e.ɵfac = function(t) {
  2909. return new (t || e)(p.ɵɵdirectiveInject(d.UserService),p.ɵɵdirectiveInject(m.DatasetRepository),p.ɵɵdirectiveInject(g.ViewMenuService),p.ɵɵdirectiveInject("PointCloudMenuService"),p.ɵɵdirectiveInject(f.ViewService),p.ɵɵdirectiveInject(v.WebDirUpgradeService),p.ɵɵdirectiveInject(h.MatDialog))
  2910. }
  2911. ,
  2912. e.ɵcmp = p.ɵɵdefineComponent({
  2913. type: e,
  2914. selectors: [["depth-warn-button"]],
  2915. viewQuery: function(e, t) {
  2916. var n;
  2917. (1 & e && (p.ɵɵviewQuery(y, !0),
  2918. p.ɵɵviewQuery(S, !0)),
  2919. 2 & e) && (p.ɵɵqueryRefresh(n = p.ɵɵloadQuery()) && (t.adminWarningBody = n.first),
  2920. p.ɵɵqueryRefresh(n = p.ɵɵloadQuery()) && (t.warningBody = n.first))
  2921. },
  2922. decls: 2,
  2923. vars: 1,
  2924. consts: [["class", "warn-button-icon", 3, "click", 4, "ngIf"], [4, "transloco"], [1, "warn-button-icon", 3, "click"], [3, "src"], ["adminWarningBody", ""], ["warningBody", ""]],
  2925. template: function(e, t) {
  2926. 1 & e && (p.ɵɵtemplate(0, b, 2, 1, "div", 0),
  2927. p.ɵɵtemplate(1, I, 5, 0, "ng-container", 1)),
  2928. 2 & e && p.ɵɵproperty("ngIf", t.shouldShowWarningIcon())
  2929. },
  2930. directives: [M.NgIf, C.TranslocoDirective, x.AddBaseUrlDirective],
  2931. styles: [".warn-button-icon[_ngcontent-%COMP%]{cursor:pointer}"]
  2932. }),
  2933. e
  2934. }();
  2935. t.DepthMapWarnButtonComponent = P,
  2936. p.ɵsetClassMetadata(P, [{
  2937. type: i.Component,
  2938. args: [{
  2939. selector: "depth-warn-button",
  2940. templateUrl: "DepthMapWarnButton.ng.html",
  2941. styleUrls: ["DepthMapWarnButton.ng.scss"]
  2942. }]
  2943. }], (function() {
  2944. return [{
  2945. type: d.UserService
  2946. }, {
  2947. type: m.DatasetRepository
  2948. }, {
  2949. type: g.ViewMenuService
  2950. }, {
  2951. type: void 0,
  2952. decorators: [{
  2953. type: i.Inject,
  2954. args: ["PointCloudMenuService"]
  2955. }]
  2956. }, {
  2957. type: f.ViewService
  2958. }, {
  2959. type: v.WebDirUpgradeService
  2960. }, {
  2961. type: h.MatDialog
  2962. }]
  2963. }
  2964. ), {
  2965. adminWarningBody: [{
  2966. type: i.ViewChild,
  2967. args: ["adminWarningBody", {
  2968. static: !1
  2969. }]
  2970. }],
  2971. warningBody: [{
  2972. type: i.ViewChild,
  2973. args: ["warningBody", {
  2974. static: !1
  2975. }]
  2976. }]
  2977. }),
  2978. a.module("IVWebApp").directive("depthWarnButton", s.downgradeComponent({
  2979. component: P
  2980. }))
  2981. },
  2982. 1944: function(e, t, n) {
  2983. "use strict";
  2984. Object.defineProperty(t, "__esModule", {
  2985. value: !0
  2986. });
  2987. var o = n(0)
  2988. , r = (n(9),
  2989. n(188),
  2990. n(107))
  2991. , i = (n(61),
  2992. n(0))
  2993. , a = n(9)
  2994. , s = n(188)
  2995. , l = n(61)
  2996. , c = function() {
  2997. function e(e, t, n, o) {
  2998. this.RestService = e,
  2999. this.JobService = t,
  3000. this.MessageReportingService = n,
  3001. this.gettext = o,
  3002. this.inProgress = !1,
  3003. this.hasFinished = !1
  3004. }
  3005. return e.prototype.webdirUpgrade = function() {
  3006. var e = this;
  3007. this.inProgress = !0;
  3008. var t = this.RestService.getApi("webdir_upgrade", {});
  3009. return r.promiseFinally(this.JobService.makeJobPromise(t), (function() {
  3010. e.hasFinished = !0,
  3011. e.inProgress = !1
  3012. }
  3013. )).catch((function(t) {
  3014. t.data.exception && t.data.exception.endsWith("JobExecutionAlreadyRunningException") ? e.MessageReportingService.showMessage(e.gettext("Job already started"), e.gettext("The dataset upgrade is already in progress")) : e.MessageReportingService.showMessage(e.gettext("Failed to start dataset upgrade"), t.data.msg)
  3015. }
  3016. )),
  3017. t
  3018. }
  3019. ,
  3020. Object.defineProperty(e.prototype, "isJobInProgress", {
  3021. get: function() {
  3022. return this.inProgress
  3023. },
  3024. enumerable: !0,
  3025. configurable: !0
  3026. }),
  3027. Object.defineProperty(e.prototype, "hasJobFinished", {
  3028. get: function() {
  3029. return this.hasFinished
  3030. },
  3031. enumerable: !0,
  3032. configurable: !0
  3033. }),
  3034. e.ɵfac = function(t) {
  3035. return new (t || e)(i.ɵɵinject(a.RestService),i.ɵɵinject(s.JobService),i.ɵɵinject(l.MessageReportingService),i.ɵɵinject("gettext"))
  3036. }
  3037. ,
  3038. e.ɵprov = i.ɵɵdefineInjectable({
  3039. token: e,
  3040. factory: e.ɵfac,
  3041. providedIn: "root"
  3042. }),
  3043. e
  3044. }();
  3045. t.WebDirUpgradeService = c,
  3046. i.ɵsetClassMetadata(c, [{
  3047. type: o.Injectable,
  3048. args: [{
  3049. providedIn: "root"
  3050. }]
  3051. }], (function() {
  3052. return [{
  3053. type: a.RestService
  3054. }, {
  3055. type: s.JobService
  3056. }, {
  3057. type: l.MessageReportingService
  3058. }, {
  3059. type: void 0,
  3060. decorators: [{
  3061. type: o.Inject,
  3062. args: ["gettext"]
  3063. }]
  3064. }]
  3065. }
  3066. ), null)
  3067. },
  3068. 2048: function(e, t, n) {
  3069. "use strict";
  3070. Object.defineProperty(t, "__esModule", {
  3071. value: !0
  3072. });
  3073. var o = n(0)
  3074. , r = (n(171),
  3075. n(8))
  3076. , i = n(89)
  3077. , a = n(1696)
  3078. , s = (n(281),
  3079. n(131),
  3080. n(21),
  3081. n(627))
  3082. , l = n(628)
  3083. , c = (n(440),
  3084. n(73),
  3085. n(1908),
  3086. n(106),
  3087. n(168))
  3088. , u = n(107)
  3089. , p = n(0)
  3090. , d = n(171)
  3091. , m = n(281)
  3092. , g = n(131)
  3093. , f = n(21)
  3094. , v = n(440)
  3095. , h = n(73)
  3096. , M = n(106)
  3097. , C = n(168)
  3098. , x = n(1704)
  3099. , y = n(1938)
  3100. , S = n(1940)
  3101. , b = n(1908)
  3102. , E = n(1943)
  3103. , w = ["measurementExportModal"];
  3104. function I(e, t) {
  3105. if (1 & e) {
  3106. var n = p.ɵɵgetCurrentView();
  3107. p.ɵɵelementContainerStart(0, 1),
  3108. p.ɵɵelementStart(1, "measurement-tool-selection", 2),
  3109. p.ɵɵlistener("selectedTool", (function(e) {
  3110. return p.ɵɵrestoreView(n),
  3111. p.ɵɵnextContext().onToolSelected(e)
  3112. }
  3113. )),
  3114. p.ɵɵelementEnd(),
  3115. p.ɵɵelementStart(2, "measurement-list", 3),
  3116. p.ɵɵlistener("deleteSelected", (function(e) {
  3117. return p.ɵɵrestoreView(n),
  3118. p.ɵɵnextContext().onDeleteSelectedMeasurements(e)
  3119. }
  3120. ))("saveSelected", (function(e) {
  3121. return p.ɵɵrestoreView(n),
  3122. p.ɵɵnextContext().onSaveSelectedMeasurements(e)
  3123. }
  3124. ))("shareSelected", (function(e) {
  3125. return p.ɵɵrestoreView(n),
  3126. p.ɵɵnextContext().onShareSelectedMeasurements(e)
  3127. }
  3128. )),
  3129. p.ɵɵelementEnd(),
  3130. p.ɵɵelement(3, "measurement-export", 4, 5),
  3131. p.ɵɵelementStart(5, "div", 6),
  3132. p.ɵɵelement(6, "depth-warn-button"),
  3133. p.ɵɵelementEnd(),
  3134. p.ɵɵelementContainerEnd()
  3135. }
  3136. if (2 & e) {
  3137. var o = p.ɵɵnextContext();
  3138. p.ɵɵadvance(1),
  3139. p.ɵɵproperty("currentTool", o.currentMeasurementMode())("isCollapsedView", o.isCollapsedView()),
  3140. p.ɵɵadvance(1),
  3141. p.ɵɵproperty("isAsyncOperationInProgress", o.isAsyncOperationInProgress())("isCollapsedView", o.isCollapsedView())("measurementsList", o.measurementsList),
  3142. p.ɵɵadvance(1),
  3143. p.ɵɵproperty("exportAllMeasurementLink", o.exportAllMeasurementLink)("exportMeasurementList", o.exportMeasurementList)
  3144. }
  3145. }
  3146. var P = function() {
  3147. function e(e, t, n, o, r, a, s, l) {
  3148. var c = this;
  3149. this.MeasurementsService = e,
  3150. this.ChangeDetectorRef = t,
  3151. this.MeasurementRepository = n,
  3152. this.ToolboxMenuService = o,
  3153. this.TrackingService = r,
  3154. this.MatDialog = a,
  3155. this.UrlService = s,
  3156. this.ProgressReportService = l,
  3157. this.savePromiseWrapper = new i.PromiseProgressWrapper,
  3158. this.deletePromiseWrapper = new i.PromiseProgressWrapper,
  3159. this.preparingForExport = !1,
  3160. this.measurementUpdateConnection = this.MeasurementsService.measurementsUpdated.connect((function() {
  3161. c.measurementsList = c.MeasurementsService.measurements,
  3162. c.ChangeDetectorRef.detectChanges()
  3163. }
  3164. ))
  3165. }
  3166. return Object.defineProperty(e.prototype, "isCollapsed", {
  3167. get: function() {
  3168. return this.isCollapsedView()
  3169. },
  3170. enumerable: !0,
  3171. configurable: !0
  3172. }),
  3173. e.prototype.ngOnInit = function() {
  3174. var e = this;
  3175. this.measurementsList = this.MeasurementsService.measurements,
  3176. this.measurementsClosingConnection = this.MeasurementsService.measurementModeExiting.connect((function() {
  3177. e.MatDialog.open(a.AlertDialogComponent, {
  3178. data: {
  3179. title: c.translate("Save Changes Before Leaving"),
  3180. body: c.translate("You have unsaved changes to the {subject}.", {
  3181. subject: c.translate("Measurement Tool")
  3182. }),
  3183. cancelButton: c.translate("Cancel"),
  3184. declineButton: c.translate("Discard"),
  3185. confirmButton: c.translate("Save")
  3186. }
  3187. }).afterClosed().subscribe((function(t) {
  3188. t === a.AlertDialogResult.CONFIRMED ? e.onSave() : t === a.AlertDialogResult.DECLINED && e.onDiscard()
  3189. }
  3190. ))
  3191. }
  3192. ))
  3193. }
  3194. ,
  3195. e.prototype.onToolSelected = function(e) {
  3196. this.MeasurementsService.updateMeasurementMode(e)
  3197. }
  3198. ,
  3199. e.prototype.currentMeasurementMode = function() {
  3200. return this.MeasurementsService.currentMeasurementMode
  3201. }
  3202. ,
  3203. e.prototype.onDeleteSelectedMeasurements = function(e) {
  3204. this.deletePromiseWrapper.wrap(this.MeasurementsService.deleteMeasurements(e)).catch(r.handleWarning)
  3205. }
  3206. ,
  3207. e.prototype.onSaveSelectedMeasurements = function(e) {
  3208. this.savePromiseWrapper.wrap(this.MeasurementsService.saveMeasurements(e)).catch(r.handleWarning)
  3209. }
  3210. ,
  3211. e.prototype.ngOnDestroy = function() {
  3212. this.measurementUpdateConnection && this.measurementUpdateConnection.disconnect(),
  3213. this.measurementsClosingConnection && this.measurementsClosingConnection.disconnect()
  3214. }
  3215. ,
  3216. e.prototype.onSave = function() {
  3217. var e = this;
  3218. this.MeasurementsService.saveMeasurements(this.measurementsList).then((function() {
  3219. e.MeasurementsService.measurements.length = 0,
  3220. e.MeasurementRepository.resetCache(),
  3221. e.MeasurementsService.readyToClose.resolve(),
  3222. e.TrackingService.trackPreDefinedEvent((new s.MeasurementsSavedEvent).numberOfMeasurements(1).interactionArea(l.InteractionArea.SaveDiscardDialog))
  3223. }
  3224. )).catch((function() {
  3225. e.MeasurementsService.readyToClose.reject()
  3226. }
  3227. ))
  3228. }
  3229. ,
  3230. e.prototype.onDiscard = function() {
  3231. this.MeasurementsService.sessionMetrics.discardMeasurements(this.MeasurementsService.unsavedMeasurements.length),
  3232. this.MeasurementsService.measurements.length = 0,
  3233. this.MeasurementRepository.resetCache(),
  3234. this.MeasurementsService.readyToClose.resolve()
  3235. }
  3236. ,
  3237. e.prototype.isAsyncOperationInProgress = function() {
  3238. return this.savePromiseWrapper.isInProgress || this.deletePromiseWrapper.isInProgress || this.preparingForExport
  3239. }
  3240. ,
  3241. e.prototype.isCollapsedView = function() {
  3242. return this.ToolboxMenuService.isCollapsed
  3243. }
  3244. ,
  3245. e.prototype.onShareSelectedMeasurements = function(e) {
  3246. var t = this;
  3247. this.preparingForExport = !0;
  3248. var n = this.ProgressReportService.addTask(c.translate("Preparing selected measurements..."), 1, !0, !0, !1, !0, 0);
  3249. e.sort((function(e, t) {
  3250. return t.createdDate.getTime() - e.createdDate.getTime()
  3251. }
  3252. )),
  3253. this.exportAllMeasurementLink = this.UrlService.generateMeasurementsURL(e);
  3254. var o = (new Date).getTime()
  3255. , i = this.MeasurementsService.exportMeasurements(e);
  3256. u.promiseFinally(i, (function() {
  3257. t.trackGtmShareEvent(o),
  3258. n.itemDone(),
  3259. t.preparingForExport = !1
  3260. }
  3261. )).then((function(e) {
  3262. t.exportMeasurementList = e,
  3263. t.measurementExportModal.showModal()
  3264. }
  3265. )).catch(r.handleWarning)
  3266. }
  3267. ,
  3268. e.prototype.trackGtmShareEvent = function(e) {
  3269. this.MeasurementsService.trackGtmAllShareMeasurementsElapsedTimeEvent(e)
  3270. }
  3271. ,
  3272. e.ɵfac = function(t) {
  3273. return new (t || e)(p.ɵɵdirectiveInject(d.MeasurementsService),p.ɵɵdirectiveInject(p.ChangeDetectorRef),p.ɵɵdirectiveInject(m.MeasurementRepository),p.ɵɵdirectiveInject(g.ToolboxMenuService),p.ɵɵdirectiveInject(f.TrackingService),p.ɵɵdirectiveInject(v.MatDialog),p.ɵɵdirectiveInject(h.UrlService),p.ɵɵdirectiveInject(M.ProgressReportService))
  3274. }
  3275. ,
  3276. e.ɵcmp = p.ɵɵdefineComponent({
  3277. type: e,
  3278. selectors: [["measurements"]],
  3279. viewQuery: function(e, t) {
  3280. var n;
  3281. (1 & e && p.ɵɵviewQuery(w, !0),
  3282. 2 & e) && (p.ɵɵqueryRefresh(n = p.ɵɵloadQuery()) && (t.measurementExportModal = n.first))
  3283. },
  3284. hostVars: 2,
  3285. hostBindings: function(e, t) {
  3286. 2 & e && p.ɵɵclassProp("collapsed-view", t.isCollapsed)
  3287. },
  3288. decls: 1,
  3289. vars: 0,
  3290. consts: [["redirectFocusToScene", "", 4, "transloco"], ["redirectFocusToScene", ""], [3, "currentTool", "isCollapsedView", "selectedTool"], [3, "isAsyncOperationInProgress", "isCollapsedView", "measurementsList", "deleteSelected", "saveSelected", "shareSelected"], [3, "exportAllMeasurementLink", "exportMeasurementList"], ["measurementExportModal", ""], [1, "warning-button"]],
  3291. template: function(e, t) {
  3292. 1 & e && p.ɵɵtemplate(0, I, 7, 7, "ng-container", 0)
  3293. },
  3294. directives: [C.TranslocoDirective, x.RedirectFocusToMainViewDirective, y.MeasurementToolSelectionComponent, S.MeasurementListComponent, b.MeasurementExportModalComponent, E.DepthMapWarnButtonComponent],
  3295. styles: ["[_nghost-%COMP%]{position:absolute;width:100%;display:flex;flex-direction:column;height:calc(100vh - 62px);margin:-15px -20px;padding:25px 20px 0}.collapsed-view[_nghost-%COMP%]{position:static;margin:0;padding:0}.collapsed-view[_nghost-%COMP%] measurement-list[_ngcontent-%COMP%]{margin:0}.collapsed-view[_nghost-%COMP%] measurement-tool-selection[_ngcontent-%COMP%]{margin-bottom:0}measurement-tool-selection[_ngcontent-%COMP%]{margin-bottom:12px}measurement-list[_ngcontent-%COMP%]{margin:0 -20px}.warning-button[_ngcontent-%COMP%]{position:absolute;bottom:30px;left:-75px}"]
  3296. }),
  3297. e
  3298. }();
  3299. t.MeasurementsComponent = P,
  3300. p.ɵsetClassMetadata(P, [{
  3301. type: o.Component,
  3302. args: [{
  3303. selector: "measurements",
  3304. templateUrl: "Measurements.ng.html",
  3305. styleUrls: ["Measurements.ng.scss"]
  3306. }]
  3307. }], (function() {
  3308. return [{
  3309. type: d.MeasurementsService
  3310. }, {
  3311. type: p.ChangeDetectorRef
  3312. }, {
  3313. type: m.MeasurementRepository
  3314. }, {
  3315. type: g.ToolboxMenuService
  3316. }, {
  3317. type: f.TrackingService
  3318. }, {
  3319. type: v.MatDialog
  3320. }, {
  3321. type: h.UrlService
  3322. }, {
  3323. type: M.ProgressReportService
  3324. }]
  3325. }
  3326. ), {
  3327. isCollapsed: [{
  3328. type: o.HostBinding,
  3329. args: ["class.collapsed-view"]
  3330. }],
  3331. measurementExportModal: [{
  3332. type: o.ViewChild,
  3333. args: ["measurementExportModal", {
  3334. static: !1
  3335. }]
  3336. }]
  3337. })
  3338. },
  3339. 2049: function(e, t, n) {
  3340. e.exports = n.p + "8f205d6811eb2231cd87b97fa86a3099.warn-button.png"
  3341. }
  3342. }]);