| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501 | 
							- /*
 
- The MIT License (MIT)
 
- Copyright (c) 2014-2018 Nikolai Suslov and the Krestianstvo.org project contributors. (https://github.com/NikolaySuslov/livecodingspace/blob/master/LICENSE.md)
 
- */
 
-     /*
 
-      * Cell widgets 
 
-      */
 
-     class Widgets {
 
-         constructor() {
 
-           console.log("widget constructor")
 
-         }
 
-         get divider(){
 
-             return {
 
-                 $cell: true,
 
-                 $type: "hr",
 
-                 class: "mdc-list-divider"
 
-             }
 
-         }
 
-         get emptyDiv(){
 
-             return {
 
-                 $type: "div",
 
-                 style: "padding-bottom: 30px;"
 
-             }
 
-         }
 
-         get break(){
 
-             return {
 
-                 $type: "br"
 
-             }
 
-         }
 
-         get space() {
 
-            return {
 
-                 $type: "span",
 
-                 $text: " "
 
-             }
 
-         }
 
-         get p(){
 
-             return {
 
-                 $type: "p"
 
-             }
 
-         }
 
-             inputTextFieldOutlined(obj){
 
-                 function initFunc() {
 
-                     new mdc.textField.MDCTextField.attachTo(this);
 
-                 }
 
-                 let inputType = obj.type ? obj.type: 'text';
 
-                 let init = obj.init ? obj.init: initFunc;
 
-                 let style = obj.style ? obj.style: "";
 
-                 let fieldStyle = obj.fieldStyle ? obj.fieldStyle: "";
 
-                 return {
 
-                     $cell: true,
 
-                     $type: "div",
 
-                     class: "mdc-text-field mdc-text-field--outlined mdc-text-field--dense",
 
-                     style: style,
 
-                     $init: init,
 
-                     $components:[
 
-                         {
 
-                             $type: "input",
 
-                             type: inputType,
 
-                             id: obj.id,
 
-                             class: "mdc-text-field__input",
 
-                             value: obj.value,
 
-                             onchange: obj.change,
 
-                             style: obj.fieldStyle
 
-                         },
 
-                         {
 
-                             $type: "div",
 
-                             class: "mdc-notched-outline",
 
-                             $components:[
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-notched-outline__leading"
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-notched-outline__notch",
 
-                                     $components:[
 
-                                         {
 
-                                             $type: "label",
 
-                                             class: "mdc-floating-label",
 
-                                             for: obj.id,
 
-                                             $text: obj.label
 
-                                         }
 
-                             ]
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-notched-outline__trailing"
 
-                                 }
 
-                             ]
 
-                         }
 
-                        
 
-                         
 
-                       
 
-                     ]
 
-                     //onclick: obj.onclick
 
-                 }
 
-             }
 
-             inputTextFieldStandart(obj){
 
-                 var propValue = obj.value;
 
-                 if (_app.helpers.testJSON(obj.value)){
 
-                     propValue = JSON.parse(obj.value);
 
-                 }  else {
 
-                 propValue = obj.value;
 
-             }
 
-                 return {
 
-                     $cell: true,
 
-                     $type: "div",
 
-                     class: "mdc-text-field text-field mdc-ripple-upgraded",
 
-                     _mdc: null,
 
-                     $init: function(){
 
-                     //new mdc.mdc.notchedOutline.MDCNotchedOutline(document.querySelector('.mdc-notched-outline'));
 
-                        this._mdc = new mdc.textField.MDCTextField.attachTo(this);
 
-                     },
 
-                     $components:[
 
-                         {
 
-                             $type: "input",
 
-                             type: "text",
 
-                             id: obj.id,
 
-                             class: "mdc-text-field__input",
 
-                             value: propValue,
 
-                             onchange: obj.change
 
-                         },
 
-                         {
 
-                             $type: "label",
 
-                             class: "mdc-floating-label",
 
-                             for: obj.id,
 
-                             $text: obj.label
 
-                         },
 
-                         {
 
-                             $type: "div",
 
-                             class: "mdc-line-ripple"
 
-                         }
 
-                         
 
-                     ]
 
-                     //onclick: obj.onclick
 
-                 }
 
-             }
 
-         headerH3(headertype, label, cssclass) {
 
-             return  {
 
-                 $cell: true,
 
-                 $type: headertype,
 
-                 class: cssclass,
 
-                 $text: label
 
-             }
 
-         }
 
-         simpleCard(obj){
 
-             let style =  'background-image: url(' + obj.imgSrc + '); background-size: cover; background-repeat: no-repeat; height:' + obj.imgHeight + ';';
 
-             var addonClass = obj.addonClass;
 
-             if (!addonClass){
 
-                 addonClass = ''
 
-             }
 
-             return  {
 
-                 $cell: true,
 
-                 $type: "div",
 
-                 $components:[
 
-                     {
 
-                         $cell: true,
 
-                         $type: "div",
 
-                         class: "mdc-card" +' '+ addonClass,
 
-                         onclick: obj.onclickfunc,
 
-                         $components:[
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "section",
 
-                                 class: "mdc-card__media",
 
-                                 style:  style
 
-                             },
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "section",
 
-                                 class: "mdc-card__supporting-text",
 
-                                 $text: obj.text
 
-                             }
 
-                         ]
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         listDivider() {
 
-             return {
 
-                 $cell: true,
 
-                 $type: "hr",
 
-                 class: "mdc-list-divider mdc-list-divider--inset"
 
-             }
 
-         }
 
-         createListItem(obj) {
 
-             return {
 
-                 $cell: true,
 
-                 $type: "li",
 
-                 class: "mdc-list-item",
 
-                 $components: [
 
-                     {
 
-                         $cell: true,
 
-                         $type: "span",
 
-                         class: "mdc-list-item__graphic",
 
-                         $components: [
 
-                             {
 
-                             $cell: true,
 
-                             class: "createItems",
 
-                             $type: "img",
 
-                             src: obj.imgSrc,
 
-                             onclick: obj.onclickfunc
 
-                             }
 
-                         ]
 
-                     },
 
-                     {
 
-                         $cell: true,
 
-                         $type: "span",
 
-                         class: "mdc-list-item__text",
 
-                         $text: obj.title
 
-                         // $components: [
 
-                         //     {
 
-                         //         $text: obj.title
 
-                         //     },
 
-                         //     {
 
-                         //     $cell: true,
 
-                         // $type: "span",
 
-                         // class: "mdc-list-item__secondary-text",
 
-                         // $text: obj.subTitle
 
-                         //     }
 
-                         // ]
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         createCard(obj){
 
-             return {
 
-                 $cell: true,
 
-                 $type: "div",
 
-                 $components:[
 
-                     {
 
-                         $cell: true,
 
-                         $type: "div",
 
-                         class: "mdc-card",
 
-                         $components:[
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "div",
 
-                                 class: "mdc-card__horizontal-block",
 
-                                 $components:[
 
-                                     {
 
-                                         $cell: true,
 
-                                         $type: "section",
 
-                                         class: "mdc-card__primary",
 
-                                         $components:[
 
-                                             {
 
-                                                 $cell: true,
 
-                                                 $type: "h1",
 
-                                                 class: "mdc-card__title mdc-card__title--large",
 
-                                                 $text: obj.title
 
-                                             },
 
-                                             {
 
-                                                 $cell: true,
 
-                                                 $type: "h2",
 
-                                                 class: "mdc-card__subtitle",
 
-                                                 $text: obj.subTitle
 
-                                             }
 
-                                         ]
 
-                                     },
 
-                                     {
 
-                                         
 
-                                             $cell: true,
 
-                                             $type: "img",
 
-                                             class: "",
 
-                                             src: obj.imgSrc
 
-                                         
 
-                                     }
 
-                                 ]
 
-                             },
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "section",
 
-                                 class: "mdc-card__actions",
 
-                                 $components:[
 
-                                     {
 
-                                         $cell: true,
 
-                                         $type: "button",
 
-                                         class: "mdc-button mdc-button--compact mdc-card__action",
 
-                                         $text: obj.actionLabel
 
-                                     }
 
-                                 ]
 
-                             }
 
-                         ]
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         buttonStroked(obj){
 
-             return {
 
-                 $cell: true,
 
-                 $type: "button",
 
-                 class: "mdc-button mdc-button--outlined",
 
-                 $text: obj.label,
 
-                 onclick: obj.onclick
 
-             }
 
-         }
 
-         buttonRaised(obj){
 
-             return {
 
-                 $cell: true,
 
-                 $type: "button",
 
-                 class: "mdc-button mdc-button--raised mdc-ripple-upgraded",
 
-                 $text: obj.label,
 
-                 onclick: obj.onclick
 
-             }
 
-         }
 
-         buttonSimple(obj){
 
-             return {
 
-                 $cell: true,
 
-                 $type: "button",
 
-                 class: "mdc-button",
 
-                 $components: [
 
-                     {
 
-                         $type: "span",
 
-                         class: "mdc-button__label",
 
-                         $text: obj.label
 
-                     }
 
-                 ],
 
-                 onclick: obj.onclick
 
-             }
 
-         }
 
-         sliderDiscrete(obj) {
 
-             return {
 
-                 $cell: true,
 
-                 $type: "div",
 
-                 class: "mdc-slider mdc-slider--discrete",
 
-                 role: "slider",
 
-                 'aria-valuemin': obj.min,
 
-                 'aria-valuemax': obj.max,
 
-                 'aria-label': obj.label,
 
-                 $init: obj.init,
 
-                 $components: [
 
-                     {
 
-                         $cell: true,
 
-                         $type: "div",
 
-                         class: "mdc-slider__track-container",
 
-                         $components: [
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "div",
 
-                                 class: "mdc-slider__track",
 
-                                 
 
-                             }
 
-                         ]
 
-                     },
 
-                     {
 
-                         $cell: true,
 
-                         $type: "div",
 
-                         class: "mdc-slider__thumb-container",
 
-                         $components: [
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "div",
 
-                                 class: "mdc-slider__pin",
 
-                                 $components: [
 
-                                     {
 
-                                         $cell: true,
 
-                                         $type: "span",
 
-                                         class: "mdc-slider__pin-value-marker",
 
-                                     }
 
-                                 ]
 
-                                 
 
-                             },
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "svg",
 
-                                 class: "mdc-slider__thumb",
 
-                                 width: 21,
 
-                                 height: 21,
 
-                                 $components: [
 
-                                     {
 
-                                         $cell: true,
 
-                                         $type: "circle",
 
-                                         cx: 10.5,
 
-                                         cy: 10.5,
 
-                                         r: 7.875
 
-                                     }
 
-                                 ]
 
-                             },
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "div",
 
-                                 class: "mdc-slider__focus-ring"
 
-                             }
 
-                         ]
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         sliderContinuous(obj) {
 
-             return {
 
-                 $cell: true,
 
-                 $type: "div",
 
-                 class: "mdc-slider",
 
-                 role: "slider",
 
-                 tabindex: 0,
 
-                 'id': obj.id,
 
-                 'aria-valuemin': obj.min,
 
-                 'aria-valuemax': obj.max,
 
-                 'aria-label': obj.label,
 
-                 'aria-valuenow': obj.value,
 
-                 'data-step': obj.step,
 
-                 $init: obj.init,
 
-                 $components: [
 
-                     {
 
-                         $cell: true,
 
-                         $type: "div",
 
-                         class: "mdc-slider__track-container",
 
-                         $components: [
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "div",
 
-                                 class: "mdc-slider__track",
 
-                                 
 
-                             }
 
-                         ]
 
-                     },
 
-                     {
 
-                         $cell: true,
 
-                         $type: "div",
 
-                         class: "mdc-slider__thumb-container",
 
-                         $components: [
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "svg",
 
-                                 class: "mdc-slider__thumb",
 
-                                 width: 21,
 
-                                 height: 21,
 
-                                 $components: [
 
-                                     {
 
-                                         $cell: true,
 
-                                         $type: "circle",
 
-                                         cx: 10.5,
 
-                                         cy: 10.5,
 
-                                         r: 7.875
 
-                                     }
 
-                                 ]
 
-                             },
 
-                             {
 
-                                 $cell: true,
 
-                                 $type: "div",
 
-                                 class: "mdc-slider__focus-ring"
 
-                             }
 
-                         ]
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         textField(obj) {
 
-             return {
 
-                 class: "mdc-text-field",
 
-                 style: "width: 100%",
 
-                 $cell: true,
 
-                 $type: "div",
 
-                 $components: [
 
-                     {
 
-                         class: "mdc-text-field__input prop-text-field-input",
 
-                         id: obj.id,
 
-                         $cell: true,
 
-                         $type: "input",
 
-                         type: "text",
 
-                         value: obj.value,
 
-                         onchange: obj.funconchange
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         icontoggle(obj) {
 
-             var addClass = "";
 
-             if (obj.styleClass){
 
-                 addClass = obj.styleClass;
 
-             }
 
-             return {
 
-                 $type: "button",
 
-                 class: addClass + " mdc-icon-button",
 
-                 //$text: obj.label,
 
-                 id: obj.id,
 
-                 //'data-toggle-on': obj.on,
 
-                // 'data-toggle-off': obj.off,
 
-                 'aria-pressed': obj.state,
 
-                 'aria-hidden': true,
 
-                 $init: obj.init,
 
-                 $components:[
 
-                     {
 
-                     $type: "i",
 
-                     class: "material-icons mdc-icon-button__icon mdc-icon-button__icon--on",
 
-                     $text: JSON.parse(obj.on).content
 
-                 },
 
-                 {
 
-                     $type: "i",
 
-                     class: "material-icons mdc-icon-button__icon",
 
-                     $text: JSON.parse(obj.off).content  
 
-                 },
 
-                 ]
 
-             }
 
-         }
 
-         floatActionButton(obj) {
 
-             var addClass = "";
 
-             if (obj.styleClass){
 
-                 addClass = obj.styleClass;
 
-             }
 
-             return {
 
-                     $cell: true,
 
-                     $type: "button",
 
-                     class: "mdc-fab material-icons " + addClass,
 
-                     onclick: obj.onclickfunc,
 
-                     $components:[
 
-                         {
 
-                             $cell: true,
 
-                             $type: "span",
 
-                             class: "mdc-fab__icon",
 
-                             $text: obj.label
 
-                         }
 
-                     ]
 
-                 }
 
-         }
 
-         iconButton(obj) {
 
-             var addClass = "";
 
-             if (obj.styleClass){
 
-                 addClass = obj.styleClass;
 
-             }
 
-             return {
 
-                     $cell: true,
 
-                     $type: "button",
 
-                     class: "mdc-button " + addClass,
 
-                     onclick: obj.onclick,
 
-                     $components:[
 
-                         {
 
-                             $cell: true,
 
-                             $type: "i",
 
-                             class: "material-icons mdc-button__icon",
 
-                             $text: obj.label
 
-                         }
 
-                     ]
 
-                 }
 
-         }
 
-         imageButton(obj){
 
-             return {
 
-                 $cell: true,
 
-                 $type: "button",
 
-                 class: "mdc-button mdc-button--compact",
 
-                 onclick: obj.onclickfunc,
 
-                 $components:[
 
-                     {
 
-                         $cell: true,
 
-                         class: obj.styleClass,
 
-                         $type: "img",
 
-                         src: obj.imgSrc
 
-                      }
 
-                 ]
 
-             }
 
-             
 
-         }
 
-         listTitle(obj){
 
-             return {
 
-                 $type: "div",
 
-                 class: "mdc-layout-grid__inner",
 
-                 $components: [
 
-                     {
 
-                         $type: "div",
 
-                         class: "mdc-layout-grid__cell",
 
-                         $components: [
 
-                             {
 
-                                 $type: "h3",
 
-                                 class: "",
 
-                                 $text: obj.text
 
-                             }
 
-                         ]
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         gridListItem(obj) {
 
-             return {
 
-                 $type: "div",
 
-                 class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-2 tooltip " + obj.styleClass,
 
-                 $components:[
 
-                     {
 
-                         class: "tooltiptext",
 
-                         $type: "span",
 
-                         $text: obj.title
 
-                     },
 
-                     {
 
-                         $type: "div",
 
-                         style: "background-color: transparent;",
 
-                         $components:[
 
-                             {
 
-                                 class: "",
 
-                                 $type: "div",
 
-                                 'aria-label': obj.title,
 
-                                 alt: obj.title,
 
-                                 style: "background-image: url("+ obj.imgSrc + "); background-size: cover; background-repeat: no-repeat; height: "+ obj.imgSize + "; width: " + obj.imgSize + ";",
 
-                                 onclick: obj.onclickfunc,
 
-   
 
-                             }
 
-                         ]
 
-                     }
 
-                 ]
 
-             }
 
-         }
 
-         switch(obj) {
 
-             return   {
 
-                 $cell: true,
 
-                 $type: "div",
 
-                 class: "mdc-switch",
 
-                 _switch: null,
 
-                 id: obj.id,
 
-                 $init: obj.init, 
 
-                 //function(){
 
-                 //     new mdc.switchControl.MDCSwitch(this);
 
-                 // },
 
-                 $components: [
 
-                     {
 
-                         $type: "div",
 
-                         class: "mdc-switch__track",
 
-                     },
 
-                     {
 
-                         $type: "div",
 
-                         class: "mdc-switch__thumb-underlay",
 
-                         $components:[
 
-                             {
 
-                                 $type: "div",
 
-                                 class: "mdc-switch__thumb",
 
-                                 $components:[
 
-                                     {
 
-                                         $type: "input",
 
-                                         type: "checkbox",
 
-                                         class: "mdc-switch__native-control",
 
-                                         id: 'input-' + obj.id,
 
-                                         //$init: obj.init,
 
-                                         //id: "basic-switch",
 
-                                         onchange: obj.onchange,
 
-                                         role: "switch"
 
-                                     }
 
-                                 ]
 
-                             }
 
-                         ]
 
-                     }
 
-                     
 
-                     // {
 
-                     //     $type: "div",
 
-                     //     class: "mdc-switch__background",
 
-                     //     $components: [
 
-                     //         {
 
-                     //             $type: "div",
 
-                     //             class: "mdc-switch__knob"
 
-                     //         }
 
-                     //     ]
 
-                     // }
 
-                 ]
 
-             }
 
-         }
 
-         connectionSettingsGUI() {
 
-             let connectionSettings = {
 
-                 id: 'connectionSettings',
 
-                 $type: 'div',
 
-                 $components: [ 
 
-                 _app.widgets.emptyDiv,
 
-                 window._app.widgets.buttonRaised(
 
-                     {
 
-                         "label": 'Connection settings',
 
-                         "onclick": function (e) {
 
-                             e.preventDefault();
 
-                             window.location.pathname = '/settings';
 
-                         }
 
-                     }), _app.widgets.emptyDiv
 
-                 ]
 
-             }
 
-             return connectionSettings
 
-             
 
-         }
 
-         debugGUI() {
 
-             let self = this;
 
-             let debug6DoF = {
 
-                 $cell: true,
 
-                 $components: [
 
-                   {
 
-                     $type: "p",
 
-                     class: "mdc-typography--headline5",
 
-                     $text: "Debug 6DoF mode (for using with WebXR emulator)"
 
-                   },
 
-                   {
 
-                     $type: 'p'
 
-                   },
 
-                   _app.widgets.switch({
 
-                     'id': 'forceDebug6DoF',
 
-                     'init': function () {
 
-                       this._switch = new mdc.switchControl.MDCSwitch(this);
 
-                       let config = localStorage.getItem('lcs_config');
 
-                       this._switch.checked = JSON.parse(config).d6DoF;
 
-                       
 
-                      // this._replaceSwitch = this._switch;
 
-                       
 
-                     },
 
-                     'onchange': function (e) {
 
-     
 
-                         if (this._switch) {
 
-                             let chkAttr = this._switch.checked;//this.getAttribute('checked');
 
-                             if (chkAttr) {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.d6DoF = true;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                 //this._switch.checked = false;
 
-                             } else {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.d6DoF = false;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                             }
 
-                         }
 
-                     }
 
-                   }
 
-                   ),
 
-                   {
 
-                     $type: 'label',
 
-                     for: 'input-forceDebug6DoF',
 
-                     $text: 'On / Off'
 
-                   }
 
-     
 
-                 ]
 
-               }
 
-               let debug3DoF = {
 
-                 $cell: true,
 
-                 $components: [
 
-                   {
 
-                     $type: "p",
 
-                     class: "mdc-typography--headline5",
 
-                     $text: "Debug 3DoF mode (for using with WebXR emulator)"
 
-                   },
 
-                   {
 
-                     $type: 'p'
 
-                   },
 
-                   _app.widgets.switch({
 
-                     'id': 'forceDebug3DoF',
 
-                     'init': function () {
 
-                       this._switch = new mdc.switchControl.MDCSwitch(this);
 
-                       let config = localStorage.getItem('lcs_config');
 
-                       this._switch.checked = JSON.parse(config).d3DoF;
 
-                       
 
-                      // this._replaceSwitch = this._switch;
 
-                       
 
-                     },
 
-                     'onchange': function (e) {
 
-     
 
-                         if (this._switch) {
 
-                             let chkAttr = this._switch.checked;//this.getAttribute('checked');
 
-                             if (chkAttr) {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.d3DoF = true;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                 //this._switch.checked = false;
 
-                             } else {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.d3DoF = false;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                             }
 
-                         }
 
-                     }
 
-                   }
 
-                   ),
 
-                   {
 
-                     $type: 'label',
 
-                     for: 'input-forceDebug3DoF',
 
-                     $text: 'On / Off'
 
-                   }
 
-     
 
-                 ]
 
-               }
 
-               let allGUI =
 
-               {
 
-                   $type: "div",
 
-                   id: "allGUI",
 
-                   //style:"background-color: #efefef",
 
-                   class: "mdc-layout-grid mdc-layout-grid--align-left",
 
-                   _d3DoF: null,
 
-                   _d6DoF: null,
 
-                   _initData: function () {
 
-           
 
-                       let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-           
 
-                       if (config.d3DoF) {
 
-                           this._d3DoF = config.d3DoF
 
-                       }
 
-                       if (config.d6DoF) {
 
-                           this._d6DoF =config.d6DoF
 
-                       }
 
-                     
 
-                       this._refresh();
 
-                  },
 
-                   $init: function () {
 
-                       this._initData();
 
-                   },
 
-                   _refresh: function () {
 
-           
 
-                       this.$components = [
 
-                           {
 
-                               $type: "div",
 
-                               class: "mdc-layout-grid__inner",
 
-                               $components: [
 
-                                   {
 
-                                       $type: "div",
 
-                                       class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                       $components: [
 
-                                       {
 
-                                           $type: "h4",
 
-                                           class: "mdc-typography--headline4",
 
-                                           $text: "Debug settings"
 
-                                       }
 
-                                   ]
 
-                                   },
 
-                                  { 
 
-                                   $type: "div",
 
-                                   class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                   $components: [debug6DoF ]
 
-                                  },
 
-                                  { 
 
-                                   $type: "div",
 
-                                   class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                   $components: [_app.widgets.divider]
 
-                                  },
 
-                                  { 
 
-                                   $type: "div",
 
-                                   class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                   $components: [debug3DoF]
 
-                                  },
 
-                                   {
 
-                                       $type: "div",
 
-                                       class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                       $components: [
 
-                                         //   window._app.widgets.buttonRaised(
 
-                                         //       {
 
-                                         //           "label": 'Update',
 
-                                         //           "onclick": function (e) {
 
-                                         //               e.preventDefault();
 
-           
 
-                                         //               let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-           
 
-                                         //               config.reflector = this._refHostField.value;
 
-                                         //               config.dbhost = this._dbHostField.value;
 
-                                         //               config.luminaryPath = this._lpathField.value;
 
-                                         //               config.luminaryGlobalHBPath = this._hbpathField.value;
 
-           
 
-                                         //               localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                         //               window.location.reload(true);
 
-                                         //           }
 
-                                         //       }),
 
-                                               {
 
-                                                 $type: 'span',
 
-                                                 $text: " "
 
-                                               },
 
-                                               {
 
-                                                 $type: "button",
 
-                                                 class: "mdc-button mdc-button--raised",
 
-                                                 $text: "Close",
 
-                                                 onclick: function (e) {
 
-                                                       window.history.back();
 
-                                                     //window.location.pathname = '/'
 
-                                                 }
 
-                                               }
 
-                                       ]
 
-                                   }
 
-           
 
-                               ]
 
-                           }
 
-                       ]
 
-                   }
 
-           
 
-               }
 
-           
 
-               document.querySelector("#appGUI").$cell({
 
-                   id: "appGUI",
 
-                   $cell: true,
 
-                   $type: "div",
 
-                   $components: [allGUI]
 
-               }
 
-               );
 
-             }
 
-         reflectorGUI() {
 
-             let self = this;
 
-             let webrtcConnection = {
 
-                 $cell: true,
 
-                 $components: [
 
-                   {
 
-                     $type: "p",
 
-                     class: "mdc-typography--headline5",
 
-                     $text: "Use WebRTC for connection"
 
-                   },
 
-                   {
 
-                     $type: 'p'
 
-                   },
 
-                   _app.widgets.switch({
 
-                     'id': 'forceWebRTC',
 
-                     'init': function () {
 
-                       this._switch = new mdc.switchControl.MDCSwitch(this);
 
-                       let config = localStorage.getItem('lcs_config');
 
-                       this._switch.checked = JSON.parse(config).webrtc;
 
-                       
 
-                      // this._replaceSwitch = this._switch;
 
-                       
 
-                     },
 
-                     'onchange': function (e) {
 
-     
 
-                         if (this._switch) {
 
-                             let chkAttr = this._switch.checked;//this.getAttribute('checked');
 
-                             if (chkAttr) {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.webrtc = true;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                 //this._switch.checked = false;
 
-                             } else {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.webrtc = false;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                             }
 
-                         }
 
-                     }
 
-                   }
 
-                   ),
 
-                   {
 
-                     $type: 'label',
 
-                     for: 'input-forceWebRTC',
 
-                     $text: 'On / Off'
 
-                   }
 
-     
 
-                 ]
 
-               }
 
-             let luminaryGlobalHB = {
 
-                 $cell: true,
 
-                 _luminarySwitch: null,
 
-                 $components: [
 
-                   {
 
-                     $type: "p",
 
-                     class: "mdc-typography--headline5",
 
-                     $text: "Use Global Heartbeat"
 
-                   },
 
-                   {
 
-                     $type: 'p'
 
-                   },
 
-                   _app.widgets.switch({
 
-                     'id': 'forceLuminary',
 
-                     'init': function () {
 
-                       this._switch = new mdc.switchControl.MDCSwitch(this);
 
-                       let config = localStorage.getItem('lcs_config');
 
-                       this._switch.checked = JSON.parse(config).luminaryGlobalHB;
 
-                       
 
-                      // this._replaceSwitch = this._switch;
 
-                       
 
-                     },
 
-                     'onchange': function (e) {
 
-     
 
-                         if (this._switch) {
 
-                             let chkAttr = this._switch.checked;//this.getAttribute('checked');
 
-                             if (chkAttr) {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.luminaryGlobalHB = true;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                 //this._switch.checked = false;
 
-                             } else {
 
-                                 let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                 config.luminaryGlobalHB = false;
 
-                                 localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                             }
 
-                         }
 
-                     }
 
-                   }
 
-                   ),
 
-                   {
 
-                     $type: 'label',
 
-                     for: 'input-forceLuminary',
 
-                     $text: 'On / Off'
 
-                   }
 
-     
 
-                 ]
 
-               }
 
-               let luminaryFeature = {
 
-                 $type: 'div',
 
-                 _luminarySwitch: null,
 
-                 $components: [
 
-                     {
 
-                         $type: "p",
 
-                         class: "mdc-typography--headline4",
 
-                         $text: "Use Krestianstvo Luminary (experimental)"
 
-                     },
 
-                     {
 
-                         $type: 'p'
 
-                     },
 
-                     _app.widgets.switch({
 
-                         'id': 'forceLuminary',
 
-                         'init': function () {
 
-                             this._switch = new mdc.switchControl.MDCSwitch(this);
 
-                             let config = localStorage.getItem('lcs_config');
 
-                             this._switch.checked = JSON.parse(config).luminary;
 
-     
 
-                             // this._replaceSwitch = this._switch;
 
-     
 
-                         },
 
-                         'onchange': function (e) {
 
-     
 
-                             if (this._switch) {
 
-                                 let chkAttr = this._switch.checked;//this.getAttribute('checked');
 
-                                 if (chkAttr) {
 
-                                     let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                     config.luminary = true;
 
-                                     localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                     window.location.reload(true);
 
-                                     //this._switch.checked = false;
 
-                                 } else {
 
-                                     let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-                                     config.luminary = false;
 
-                                     localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                     window.location.reload(true);
 
-                                 }
 
-                             }
 
-                         }
 
-                     }
 
-                     ),
 
-                     {
 
-                         $type: 'label',
 
-                         for: 'input-forceLuminary',
 
-                         $text: 'Off / On'
 
-                     },
 
-                     _app.widgets.p
 
-     
 
-                 ]
 
-             }
 
-     
 
-             let reflectorGUI =
 
-             {
 
-                 $type: "div",
 
-                 id: "reflectorGUI",
 
-                 //style:"background-color: #efefef",
 
-                 class: "mdc-layout-grid mdc-layout-grid--align-left",
 
-                 _reflectorHost: null,
 
-                 _dbHost: null,
 
-                 _refHostField: null,
 
-                 _dbHostField: null,
 
-                 _lpath: null,
 
-                 _lpathField: null,
 
-                 _hbpath: null,
 
-                 _hbpathField: null,
 
-                 //_debug: null,
 
-                 _initData: function () {
 
-                     this._reflectorHost = '';
 
-                     this._dbHost = '';
 
-         
 
-                     let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-         
 
-                     if (config.reflector) {
 
-                         this._reflectorHost = config.reflector
 
-                     }
 
-                     if (config.dbhost) {
 
-                         this._dbHost =config.dbhost
 
-                     }
 
-                     if (config.luminaryPath) {
 
-                         this._lpath = config.luminaryPath
 
-                     }
 
-                     if (config.luminaryGlobalHBPath) {
 
-                         this._hbpath = config.luminaryGlobalHBPath
 
-                     }
 
-                     // if (config.debug) {
 
-                     //     this._debug = config.debug
 
-                     // }
 
-                 },
 
-                 $init: function () {
 
-                     this._initData();
 
-                 },
 
-                 $update: function () {
 
-         
 
-                     this.$components = [
 
-                         {
 
-                             $type: "div",
 
-                             class: "mdc-layout-grid__inner",
 
-                             $components: [
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                     {
 
-                                         $type: "h4",
 
-                                         class: "mdc-typography--headline4",
 
-                                         $text: "Gun DB settings"
 
-                                     }
 
-                                 ]
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         {
 
-                                             $type: "span",
 
-                                             class: "mdc-typography--headline5",
 
-                                             $text: "DB Host: "
 
-                                         },
 
-                                         window._app.widgets.inputTextFieldOutlined({
 
-                                             "id": 'dbhostInput',
 
-                                             "label": "DB Host",
 
-                                             "value": this._dbHost,
 
-                                             "type": "text",
 
-                                             "init": function() {
 
-                                                 this._dbHostField = new mdc.textField.MDCTextField(this);
 
-                                             },
 
-                                             "style": 'width: 400px;'
 
-                                         }),
 
-                                     ]
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                     {
 
-                                         $type: "h4",
 
-                                         class: "mdc-typography--headline4",
 
-                                         $text: "Reflector settings"
 
-                                     }
 
-                                 ]
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         {
 
-                                             $type: "span",
 
-                                             class: "mdc-typography--headline5",
 
-                                             $text: "Reflector: "
 
-                                         },
 
-                                         window._app.widgets.inputTextFieldOutlined({
 
-                                             "id": 'reflectorInput',
 
-                                             "label": "Reflector",
 
-                                             "value": this._reflectorHost,
 
-                                             "type": "text",
 
-                                             "init": function() {
 
-                                                         this._refHostField = new mdc.textField.MDCTextField(this);
 
-                                                     },
 
-                                             "style": 'width: 400px;'
 
-                                         }),
 
-                                     ]
 
-                                 },
 
-                                 { 
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [webrtcConnection ]
 
-                                    },
 
-                                    { 
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [_app.widgets.divider]
 
-                                    },
 
-                                   
 
-                                 // {
 
-                                 //     $type: "div",
 
-                                 //     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                 //     $components: [
 
-                                 //     {
 
-                                 //         $type: "h4",
 
-                                 //         class: "mdc-typography--headline4",
 
-                                 //         $text: "Krestianstvo Luminary settings (experimental)"
 
-                                 //     }
 
-                                 // ]
 
-                                 // },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         luminaryFeature
 
-                                 ]
 
-                                 },
 
-                                
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         {
 
-                                             $type: "span",
 
-                                             class: "mdc-typography--headline5",
 
-                                             $text: "Luminary Path: "
 
-                                         },
 
-                                         window._app.widgets.inputTextFieldOutlined({
 
-                                             "id": 'lpathInput',
 
-                                             "label": "Luminary Path",
 
-                                             "value": this._lpath,
 
-                                             "type": "text",
 
-                                             "init": function() {
 
-                                                 this._lpathField = new mdc.textField.MDCTextField(this);
 
-                                             },
 
-                                             "style": 'width: 400px;'
 
-                                         }),
 
-                                     ]
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         {
 
-                                             $type: "span",
 
-                                             class: "mdc-typography--headline5",
 
-                                             $text: "Global Heartbeat Path: "
 
-                                         },
 
-                                         window._app.widgets.inputTextFieldOutlined({
 
-                                             "id": 'hbpathInput',
 
-                                             "label": "Global Heartbeat Path",
 
-                                             "value": this._hbpath,
 
-                                             "type": "text",
 
-                                             "init": function() {
 
-                                                 this._hbpathField = new mdc.textField.MDCTextField(this);
 
-                                             },
 
-                                             "style": 'width: 400px;'
 
-                                         }),
 
-                                     ]
 
-                                 },
 
-                                { 
 
-                                 $type: "div",
 
-                                 class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                 $components: [luminaryGlobalHB ]
 
-                                },
 
-                                { 
 
-                                 $type: "div",
 
-                                 class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                 $components: [_app.widgets.divider]
 
-                                },
 
-                             //    { 
 
-                             //     $type: "div",
 
-                             //     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                             //     $components: [debugGUI]
 
-                             //    },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         window._app.widgets.buttonRaised(
 
-                                             {
 
-                                                 "label": 'Update',
 
-                                                 "onclick": function (e) {
 
-                                                     e.preventDefault();
 
-         
 
-                                                     let config = JSON.parse(localStorage.getItem('lcs_config'));
 
-         
 
-                                                     config.reflector = this._refHostField.value;
 
-                                                     config.dbhost = this._dbHostField.value;
 
-                                                     config.luminaryPath = this._lpathField.value;
 
-                                                     config.luminaryGlobalHBPath = this._hbpathField.value;
 
-         
 
-                                                     localStorage.setItem('lcs_config', JSON.stringify(config));
 
-                                                     window.location.reload(true);
 
-                                                 }
 
-                                             }),
 
-                                             {
 
-                                               $type: 'span',
 
-                                               $text: " "
 
-                                             },
 
-                                             {
 
-                                               $type: "button",
 
-                                               class: "mdc-button mdc-button--raised",
 
-                                               $text: "Close",
 
-                                               onclick: function (e) {
 
-                                                     window.history.back();
 
-                                                   //window.location.pathname = '/'
 
-                                               }
 
-                                             }
 
-                                     ]
 
-                                 }
 
-         
 
-                             ]
 
-                         }
 
-                     ]
 
-                 }
 
-         
 
-             }
 
-         
 
-             document.querySelector("#appGUI").$cell({
 
-                 id: "appGUI",
 
-                 $cell: true,
 
-                 $type: "div",
 
-                 $components: [reflectorGUI]
 
-             }
 
-             );
 
-         
 
-         }
 
-         getLoginGUI(){
 
-             let loginGUI =
 
-             {
 
-                 $type: "div",
 
-                 id: "loginGUI",
 
-                 //style:"background-color: #efefef",
 
-                 class: "mdc-layout-grid mdc-layout-grid--align-left",
 
-                 _alias: null,
 
-                 _pass: null,
 
-                 _passField: null,
 
-                 _aliasField: null,
 
-                 _initData: function () {
 
-                     this._alias = '';
 
-                     this._pass = '';
 
-                     // if (window.sessionStorage.getItem('alias')) {
 
-                     //     this._alias = window.sessionStorage.getItem('alias')
 
-                     // }
 
-                     // if (window.sessionStorage.getItem('tmp')) {
 
-                     //     this._pass = window.sessionStorage.getItem('tmp')
 
-                     // }
 
-                 },
 
-                 $init: function () {
 
-                     this._initData();
 
-                 },
 
-                 $update: function () {
 
-     
 
-                     this.$components = [
 
-                         {
 
-                             $type: "div",
 
-                             class: "mdc-layout-grid__inner",
 
-                             $components: [
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         {
 
-                                             $type: "span",
 
-                                             class: "mdc-typography--headline5",
 
-                                             $text: _l.t("login") + ": "
 
-                                         },
 
-                                         window._app.widgets.inputTextFieldOutlined({
 
-                                             "id": 'aliasInput',
 
-                                             "label": _l.t("login"),
 
-                                             "value": this._alias,
 
-                                             "type": "text",
 
-                                             "init": function () {
 
-                                                 this._aliasField = new mdc.textField.MDCTextField(this);
 
-                                             }
 
-                                         }),
 
-                                     ]
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         {
 
-                                             $type: "span",
 
-                                             class: "mdc-typography--headline5",
 
-                                             $text: _l.t("password") + ": "
 
-                                         },
 
-                                         window._app.widgets.inputTextFieldOutlined({
 
-                                             "id": 'passwordInput',
 
-                                             "label": _l.t("password"),
 
-                                             "value": this._pass,
 
-                                             "type": "password",
 
-                                             "init": function () {
 
-                                                 this._passField = new mdc.textField.MDCTextField(this);
 
-                                             }
 
-                                         }),
 
-                                     ]
 
-                                 },
 
-                                 {
 
-                                     $type: "div",
 
-                                     class: "mdc-layout-grid__cell mdc-layout-grid__cell--span-12",
 
-                                     $components: [
 
-                                         window._app.widgets.buttonRaised(
 
-                                             {
 
-                                                 "label": _l.t("sign up"),
 
-                                                 "onclick": function (e) {
 
-                                                     e.preventDefault();
 
-     
 
-                                                     let alias = this._aliasField.value;
 
-                                                     let pass = this._passField.value
 
-     
 
-                                                     if (pass.length < 7) {
 
-                                                         new Noty({
 
-                                                             text: "Your passphrase needs to be longer than 7 letters",
 
-                                                             timeout: 2000,
 
-                                                             theme: 'mint',
 
-                                                             layout: 'bottomRight',
 
-                                                             type: 'error'
 
-                                                         }).show();
 
-                                                     } else {
 
-                                                         //
 
-                                                         _LCSDB.user().create(alias, pass,
 
-                                                             function (ack) {
 
-                                                                 if (!ack.wait) { }
 
-                                                                 if (ack.err) {
 
-                                                                     console.log(ack.err)
 
-                                                                     return ack.err
 
-                                                                 };
 
-                                                                 if (ack.pub) {
 
-                                                                     let userObj = {
 
-                                                                         'alias': alias,
 
-                                                                         'pub': ack.pub
 
-                                                                     };
 
-                                                                     _LCSDB.get('users').get(alias).put(userObj);
 
-     
 
-                                                                 }
 
-                                                                 _LCSDB.user().auth(alias, pass);
 
-                                                             });
 
-     
 
-                                                     }
 
-                                                 }
 
-                                             }),
 
-                                         _app.widgets.space,
 
-                                         window._app.widgets.buttonRaised(
 
-                                             {
 
-                                                 "label": _l.t("sign in"),
 
-                                                 "onclick": function (e) {
 
-                                                     e.preventDefault();
 
-                                                     let alias = this._aliasField.value;
 
-                                                     let pass = this._passField.value
 
-                                                     _app.helpers.authUser(alias, pass);
 
-                                                     // _LCSDB.user().auth.call(_LCSDB, alias, pass
 
-                                                     // //     , function(ack) {
 
-     
 
-                                                     // //     if (ack.err) {
 
-                                                     // //         new Noty({
 
-                                                     // //             text: ack.err,
 
-                                                     // //             timeout: 2000,
 
-                                                     // //             theme: 'mint',
 
-                                                     // //             layout: 'bottomRight',
 
-                                                     // //             type: 'error'
 
-                                                     // //         }).show();
 
-     
 
-                                                     // //     }
 
-                                                     //  //}
 
-                                                     //  );
 
-                                                 }
 
-                                             })
 
-     
 
-     
 
-     
 
-                                     ]
 
-                                 }
 
-     
 
-                             ]
 
-                         }
 
-                     ]
 
-                 }
 
-     
 
-             }
 
-             return loginGUI
 
-         }
 
-       }
 
-    export { Widgets }
 
 
  |