2022-01-17 00:06:50 +01:00
( function ( l , r ) { if ( ! l || l . getElementById ( 'livereloadscript' ) ) return ; r = l . createElement ( 'script' ) ; r . async = 1 ; r . src = '//' + ( self . location . host || 'localhost' ) . split ( ':' ) [ 0 ] + ':35729/livereload.js?snipver=1' ; r . id = 'livereloadscript' ; l . getElementsByTagName ( 'head' ) [ 0 ] . appendChild ( r ) } ) ( self . document ) ;
var app = ( function ( ) {
'use strict' ;
function noop ( ) { }
function assign ( tar , src ) {
// @ts-ignore
for ( const k in src )
tar [ k ] = src [ k ] ;
return tar ;
}
function add _location ( element , file , line , column , char ) {
element . _ _svelte _meta = {
loc : { file , line , column , char }
} ;
}
function run ( fn ) {
return fn ( ) ;
}
function blank _object ( ) {
return Object . create ( null ) ;
}
function run _all ( fns ) {
fns . forEach ( run ) ;
}
function is _function ( thing ) {
return typeof thing === 'function' ;
}
function safe _not _equal ( a , b ) {
return a != a ? b == b : a !== b || ( ( a && typeof a === 'object' ) || typeof a === 'function' ) ;
}
function is _empty ( obj ) {
return Object . keys ( obj ) . length === 0 ;
}
function validate _store ( store , name ) {
if ( store != null && typeof store . subscribe !== 'function' ) {
throw new Error ( ` ' ${ name } ' is not a store with a 'subscribe' method ` ) ;
}
}
function subscribe ( store , ... callbacks ) {
if ( store == null ) {
return noop ;
}
const unsub = store . subscribe ( ... callbacks ) ;
return unsub . unsubscribe ? ( ) => unsub . unsubscribe ( ) : unsub ;
}
function component _subscribe ( component , store , callback ) {
component . $$ . on _destroy . push ( subscribe ( store , callback ) ) ;
}
function create _slot ( definition , ctx , $$scope , fn ) {
if ( definition ) {
const slot _ctx = get _slot _context ( definition , ctx , $$scope , fn ) ;
return definition [ 0 ] ( slot _ctx ) ;
}
}
function get _slot _context ( definition , ctx , $$scope , fn ) {
return definition [ 1 ] && fn
? assign ( $$scope . ctx . slice ( ) , definition [ 1 ] ( fn ( ctx ) ) )
: $$scope . ctx ;
}
function get _slot _changes ( definition , $$scope , dirty , fn ) {
if ( definition [ 2 ] && fn ) {
const lets = definition [ 2 ] ( fn ( dirty ) ) ;
if ( $$scope . dirty === undefined ) {
return lets ;
}
if ( typeof lets === 'object' ) {
const merged = [ ] ;
const len = Math . max ( $$scope . dirty . length , lets . length ) ;
for ( let i = 0 ; i < len ; i += 1 ) {
merged [ i ] = $$scope . dirty [ i ] | lets [ i ] ;
}
return merged ;
}
return $$scope . dirty | lets ;
}
return $$scope . dirty ;
}
function update _slot _base ( slot , slot _definition , ctx , $$scope , slot _changes , get _slot _context _fn ) {
if ( slot _changes ) {
const slot _context = get _slot _context ( slot _definition , ctx , $$scope , get _slot _context _fn ) ;
slot . p ( slot _context , slot _changes ) ;
}
}
function get _all _dirty _from _scope ( $$scope ) {
if ( $$scope . ctx . length > 32 ) {
const dirty = [ ] ;
const length = $$scope . ctx . length / 32 ;
for ( let i = 0 ; i < length ; i ++ ) {
dirty [ i ] = - 1 ;
}
return dirty ;
}
return - 1 ;
}
function append ( target , node ) {
target . appendChild ( node ) ;
}
function insert ( target , node , anchor ) {
target . insertBefore ( node , anchor || null ) ;
}
function detach ( node ) {
node . parentNode . removeChild ( node ) ;
}
function destroy _each ( iterations , detaching ) {
for ( let i = 0 ; i < iterations . length ; i += 1 ) {
if ( iterations [ i ] )
iterations [ i ] . d ( detaching ) ;
}
}
function element ( name ) {
return document . createElement ( name ) ;
}
function svg _element ( name ) {
return document . createElementNS ( 'http://www.w3.org/2000/svg' , name ) ;
}
function text ( data ) {
return document . createTextNode ( data ) ;
}
function space ( ) {
return text ( ' ' ) ;
}
function empty ( ) {
return text ( '' ) ;
}
function listen ( node , event , handler , options ) {
node . addEventListener ( event , handler , options ) ;
return ( ) => node . removeEventListener ( event , handler , options ) ;
}
function attr ( node , attribute , value ) {
if ( value == null )
node . removeAttribute ( attribute ) ;
else if ( node . getAttribute ( attribute ) !== value )
node . setAttribute ( attribute , value ) ;
}
function to _number ( value ) {
return value === '' ? null : + value ;
}
function children ( element ) {
return Array . from ( element . childNodes ) ;
}
function set _input _value ( input , value ) {
input . value = value == null ? '' : value ;
}
function select _option ( select , value ) {
for ( let i = 0 ; i < select . options . length ; i += 1 ) {
const option = select . options [ i ] ;
if ( option . _ _value === value ) {
option . selected = true ;
return ;
}
}
select . selectedIndex = - 1 ; // no option should be selected
}
function select _value ( select ) {
const selected _option = select . querySelector ( ':checked' ) || select . options [ 0 ] ;
return selected _option && selected _option . _ _value ;
}
function custom _event ( type , detail , bubbles = false ) {
const e = document . createEvent ( 'CustomEvent' ) ;
e . initCustomEvent ( type , bubbles , false , detail ) ;
return e ;
}
let current _component ;
function set _current _component ( component ) {
current _component = component ;
}
function get _current _component ( ) {
if ( ! current _component )
throw new Error ( 'Function called outside component initialization' ) ;
return current _component ;
}
function onMount ( fn ) {
get _current _component ( ) . $$ . on _mount . push ( fn ) ;
}
function onDestroy ( fn ) {
get _current _component ( ) . $$ . on _destroy . push ( fn ) ;
}
function setContext ( key , context ) {
get _current _component ( ) . $$ . context . set ( key , context ) ;
}
function getContext ( key ) {
return get _current _component ( ) . $$ . context . get ( key ) ;
}
// TODO figure out if we still want to support
// shorthand events, or if we want to implement
// a real bubbling mechanism
function bubble ( component , event ) {
const callbacks = component . $$ . callbacks [ event . type ] ;
if ( callbacks ) {
// @ts-ignore
callbacks . slice ( ) . forEach ( fn => fn . call ( this , event ) ) ;
}
}
const dirty _components = [ ] ;
const binding _callbacks = [ ] ;
const render _callbacks = [ ] ;
const flush _callbacks = [ ] ;
const resolved _promise = Promise . resolve ( ) ;
let update _scheduled = false ;
function schedule _update ( ) {
if ( ! update _scheduled ) {
update _scheduled = true ;
resolved _promise . then ( flush ) ;
}
}
function tick ( ) {
schedule _update ( ) ;
return resolved _promise ;
}
function add _render _callback ( fn ) {
render _callbacks . push ( fn ) ;
}
function add _flush _callback ( fn ) {
flush _callbacks . push ( fn ) ;
}
// flush() calls callbacks in this order:
// 1. All beforeUpdate callbacks, in order: parents before children
// 2. All bind:this callbacks, in reverse order: children before parents.
// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT
// for afterUpdates called during the initial onMount, which are called in
// reverse order: children before parents.
// Since callbacks might update component values, which could trigger another
// call to flush(), the following steps guard against this:
// 1. During beforeUpdate, any updated components will be added to the
// dirty_components array and will cause a reentrant call to flush(). Because
// the flush index is kept outside the function, the reentrant call will pick
// up where the earlier call left off and go through all dirty components. The
// current_component value is saved and restored so that the reentrant call will
// not interfere with the "parent" flush() call.
// 2. bind:this callbacks cannot trigger new flush() calls.
// 3. During afterUpdate, any updated components will NOT have their afterUpdate
// callback called a second time; the seen_callbacks set, outside the flush()
// function, guarantees this behavior.
const seen _callbacks = new Set ( ) ;
let flushidx = 0 ; // Do *not* move this inside the flush() function
function flush ( ) {
const saved _component = current _component ;
do {
// first, call beforeUpdate functions
// and update components
while ( flushidx < dirty _components . length ) {
const component = dirty _components [ flushidx ] ;
flushidx ++ ;
set _current _component ( component ) ;
update ( component . $$ ) ;
}
set _current _component ( null ) ;
dirty _components . length = 0 ;
flushidx = 0 ;
while ( binding _callbacks . length )
binding _callbacks . pop ( ) ( ) ;
// then, once components are updated, call
// afterUpdate functions. This may cause
// subsequent updates...
for ( let i = 0 ; i < render _callbacks . length ; i += 1 ) {
const callback = render _callbacks [ i ] ;
if ( ! seen _callbacks . has ( callback ) ) {
// ...so guard against infinite loops
seen _callbacks . add ( callback ) ;
callback ( ) ;
}
}
render _callbacks . length = 0 ;
} while ( dirty _components . length ) ;
while ( flush _callbacks . length ) {
flush _callbacks . pop ( ) ( ) ;
}
update _scheduled = false ;
seen _callbacks . clear ( ) ;
set _current _component ( saved _component ) ;
}
function update ( $$ ) {
if ( $$ . fragment !== null ) {
$$ . update ( ) ;
run _all ( $$ . before _update ) ;
const dirty = $$ . dirty ;
$$ . dirty = [ - 1 ] ;
$$ . fragment && $$ . fragment . p ( $$ . ctx , dirty ) ;
$$ . after _update . forEach ( add _render _callback ) ;
}
}
const outroing = new Set ( ) ;
let outros ;
function group _outros ( ) {
outros = {
r : 0 ,
c : [ ] ,
p : outros // parent group
} ;
}
function check _outros ( ) {
if ( ! outros . r ) {
run _all ( outros . c ) ;
}
outros = outros . p ;
}
function transition _in ( block , local ) {
if ( block && block . i ) {
outroing . delete ( block ) ;
block . i ( local ) ;
}
}
function transition _out ( block , local , detach , callback ) {
if ( block && block . o ) {
if ( outroing . has ( block ) )
return ;
outroing . add ( block ) ;
outros . c . push ( ( ) => {
outroing . delete ( block ) ;
if ( callback ) {
if ( detach )
block . d ( 1 ) ;
callback ( ) ;
}
} ) ;
block . o ( local ) ;
}
}
const globals = ( typeof window !== 'undefined'
? window
: typeof globalThis !== 'undefined'
? globalThis
: global ) ;
function bind ( component , name , callback ) {
const index = component . $$ . props [ name ] ;
if ( index !== undefined ) {
component . $$ . bound [ index ] = callback ;
callback ( component . $$ . ctx [ index ] ) ;
}
}
function create _component ( block ) {
block && block . c ( ) ;
}
function mount _component ( component , target , anchor , customElement ) {
const { fragment , on _mount , on _destroy , after _update } = component . $$ ;
fragment && fragment . m ( target , anchor ) ;
if ( ! customElement ) {
// onMount happens before the initial afterUpdate
add _render _callback ( ( ) => {
const new _on _destroy = on _mount . map ( run ) . filter ( is _function ) ;
if ( on _destroy ) {
on _destroy . push ( ... new _on _destroy ) ;
}
else {
// Edge case - component was destroyed immediately,
// most likely as a result of a binding initialising
run _all ( new _on _destroy ) ;
}
component . $$ . on _mount = [ ] ;
} ) ;
}
after _update . forEach ( add _render _callback ) ;
}
function destroy _component ( component , detaching ) {
const $$ = component . $$ ;
if ( $$ . fragment !== null ) {
run _all ( $$ . on _destroy ) ;
$$ . fragment && $$ . fragment . d ( detaching ) ;
// TODO null out other refs, including component.$$ (but need to
// preserve final state?)
$$ . on _destroy = $$ . fragment = null ;
$$ . ctx = [ ] ;
}
}
function make _dirty ( component , i ) {
if ( component . $$ . dirty [ 0 ] === - 1 ) {
dirty _components . push ( component ) ;
schedule _update ( ) ;
component . $$ . dirty . fill ( 0 ) ;
}
component . $$ . dirty [ ( i / 31 ) | 0 ] |= ( 1 << ( i % 31 ) ) ;
}
function init ( component , options , instance , create _fragment , not _equal , props , append _styles , dirty = [ - 1 ] ) {
const parent _component = current _component ;
set _current _component ( component ) ;
const $$ = component . $$ = {
fragment : null ,
ctx : null ,
// state
props ,
update : noop ,
not _equal ,
bound : blank _object ( ) ,
// lifecycle
on _mount : [ ] ,
on _destroy : [ ] ,
on _disconnect : [ ] ,
before _update : [ ] ,
after _update : [ ] ,
context : new Map ( options . context || ( parent _component ? parent _component . $$ . context : [ ] ) ) ,
// everything else
callbacks : blank _object ( ) ,
dirty ,
skip _bound : false ,
root : options . target || parent _component . $$ . root
} ;
append _styles && append _styles ( $$ . root ) ;
let ready = false ;
$$ . ctx = instance
? instance ( component , options . props || { } , ( i , ret , ... rest ) => {
const value = rest . length ? rest [ 0 ] : ret ;
if ( $$ . ctx && not _equal ( $$ . ctx [ i ] , $$ . ctx [ i ] = value ) ) {
if ( ! $$ . skip _bound && $$ . bound [ i ] )
$$ . bound [ i ] ( value ) ;
if ( ready )
make _dirty ( component , i ) ;
}
return ret ;
} )
: [ ] ;
$$ . update ( ) ;
ready = true ;
run _all ( $$ . before _update ) ;
// `false` as a special case of no DOM component
$$ . fragment = create _fragment ? create _fragment ( $$ . ctx ) : false ;
if ( options . target ) {
if ( options . hydrate ) {
const nodes = children ( options . target ) ;
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
$$ . fragment && $$ . fragment . l ( nodes ) ;
nodes . forEach ( detach ) ;
}
else {
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
$$ . fragment && $$ . fragment . c ( ) ;
}
if ( options . intro )
transition _in ( component . $$ . fragment ) ;
mount _component ( component , options . target , options . anchor , options . customElement ) ;
flush ( ) ;
}
set _current _component ( parent _component ) ;
}
/ * *
* Base class for Svelte components . Used when dev = false .
* /
class SvelteComponent {
$destroy ( ) {
destroy _component ( this , 1 ) ;
this . $destroy = noop ;
}
$on ( type , callback ) {
const callbacks = ( this . $$ . callbacks [ type ] || ( this . $$ . callbacks [ type ] = [ ] ) ) ;
callbacks . push ( callback ) ;
return ( ) => {
const index = callbacks . indexOf ( callback ) ;
if ( index !== - 1 )
callbacks . splice ( index , 1 ) ;
} ;
}
$set ( $$props ) {
if ( this . $$set && ! is _empty ( $$props ) ) {
this . $$ . skip _bound = true ;
this . $$set ( $$props ) ;
this . $$ . skip _bound = false ;
}
}
}
function dispatch _dev ( type , detail ) {
document . dispatchEvent ( custom _event ( type , Object . assign ( { version : '3.44.3' } , detail ) , true ) ) ;
}
function append _dev ( target , node ) {
dispatch _dev ( 'SvelteDOMInsert' , { target , node } ) ;
append ( target , node ) ;
}
function insert _dev ( target , node , anchor ) {
dispatch _dev ( 'SvelteDOMInsert' , { target , node , anchor } ) ;
insert ( target , node , anchor ) ;
}
function detach _dev ( node ) {
dispatch _dev ( 'SvelteDOMRemove' , { node } ) ;
detach ( node ) ;
}
function listen _dev ( node , event , handler , options , has _prevent _default , has _stop _propagation ) {
const modifiers = options === true ? [ 'capture' ] : options ? Array . from ( Object . keys ( options ) ) : [ ] ;
if ( has _prevent _default )
modifiers . push ( 'preventDefault' ) ;
if ( has _stop _propagation )
modifiers . push ( 'stopPropagation' ) ;
dispatch _dev ( 'SvelteDOMAddEventListener' , { node , event , handler , modifiers } ) ;
const dispose = listen ( node , event , handler , options ) ;
return ( ) => {
dispatch _dev ( 'SvelteDOMRemoveEventListener' , { node , event , handler , modifiers } ) ;
dispose ( ) ;
} ;
}
function attr _dev ( node , attribute , value ) {
attr ( node , attribute , value ) ;
if ( value == null )
dispatch _dev ( 'SvelteDOMRemoveAttribute' , { node , attribute } ) ;
else
dispatch _dev ( 'SvelteDOMSetAttribute' , { node , attribute , value } ) ;
}
function prop _dev ( node , property , value ) {
node [ property ] = value ;
dispatch _dev ( 'SvelteDOMSetProperty' , { node , property , value } ) ;
}
function set _data _dev ( text , data ) {
data = '' + data ;
if ( text . wholeText === data )
return ;
dispatch _dev ( 'SvelteDOMSetData' , { node : text , data } ) ;
text . data = data ;
}
function validate _each _argument ( arg ) {
if ( typeof arg !== 'string' && ! ( arg && typeof arg === 'object' && 'length' in arg ) ) {
let msg = '{#each} only iterates over array-like objects.' ;
if ( typeof Symbol === 'function' && arg && Symbol . iterator in arg ) {
msg += ' You can use a spread to convert this iterable into an array.' ;
}
throw new Error ( msg ) ;
}
}
function validate _slots ( name , slot , keys ) {
for ( const slot _key of Object . keys ( slot ) ) {
if ( ! ~ keys . indexOf ( slot _key ) ) {
console . warn ( ` < ${ name } > received an unexpected slot " ${ slot _key } ". ` ) ;
}
}
}
/ * *
* Base class for Svelte components with some minor dev - enhancements . Used when dev = true .
* /
class SvelteComponentDev extends SvelteComponent {
constructor ( options ) {
if ( ! options || ( ! options . target && ! options . $$inline ) ) {
throw new Error ( "'target' is a required option" ) ;
}
super ( ) ;
}
$destroy ( ) {
super . $destroy ( ) ;
this . $destroy = ( ) => {
console . warn ( 'Component was already destroyed' ) ; // eslint-disable-line no-console
} ;
}
$capture _state ( ) { }
$inject _state ( ) { }
}
const subscriber _queue = [ ] ;
/ * *
* Create a ` Writable ` store that allows both updating and reading by subscription .
* @ param { *= } value initial value
* @ param { StartStopNotifier = } start start and stop notifications for subscriptions
* /
function writable ( value , start = noop ) {
let stop ;
const subscribers = new Set ( ) ;
function set ( new _value ) {
if ( safe _not _equal ( value , new _value ) ) {
value = new _value ;
if ( stop ) { // store is ready
const run _queue = ! subscriber _queue . length ;
for ( const subscriber of subscribers ) {
subscriber [ 1 ] ( ) ;
subscriber _queue . push ( subscriber , value ) ;
}
if ( run _queue ) {
for ( let i = 0 ; i < subscriber _queue . length ; i += 2 ) {
subscriber _queue [ i ] [ 0 ] ( subscriber _queue [ i + 1 ] ) ;
}
subscriber _queue . length = 0 ;
}
}
}
}
function update ( fn ) {
set ( fn ( value ) ) ;
}
function subscribe ( run , invalidate = noop ) {
const subscriber = [ run , invalidate ] ;
subscribers . add ( subscriber ) ;
if ( subscribers . size === 1 ) {
stop = start ( set ) || noop ;
}
run ( value ) ;
return ( ) => {
subscribers . delete ( subscriber ) ;
if ( subscribers . size === 0 ) {
stop ( ) ;
stop = null ;
}
} ;
}
return { set , update , subscribe } ;
}
function d ( e , n = ! 1 ) { return e = e . slice ( e . startsWith ( "/#" ) ? 2 : 0 , e . endsWith ( "/*" ) ? - 2 : void 0 ) , e . startsWith ( "/" ) || ( e = "/" + e ) , e === "/" && ( e = "" ) , n && ! e . endsWith ( "/" ) && ( e += "/" ) , e } function b ( e , n ) { e = d ( e , ! 0 ) , n = d ( n , ! 0 ) ; let a = [ ] , r = { } , t = ! 0 , o = e . split ( "/" ) . map ( i => i . startsWith ( ":" ) ? ( a . push ( i . slice ( 1 ) ) , "([^\\/]+)" ) : i ) . join ( "\\/" ) , c = n . match ( new RegExp ( ` ^ ${ o } $ ` ) ) ; return c || ( t = ! 1 , c = n . match ( new RegExp ( ` ^ ${ o } ` ) ) ) , c ? ( a . forEach ( ( i , w ) => r [ i ] = c [ w + 1 ] ) , { exact : t , params : r , part : c [ 0 ] . slice ( 0 , - 1 ) } ) : null } function x ( e , n , a ) { if ( a === "" ) return e ; if ( a [ 0 ] === "/" ) return a ; let r = c => c . split ( "/" ) . filter ( i => i !== "" ) , t = r ( e ) , o = n ? r ( n ) : [ ] ; return "/" + o . map ( ( c , i ) => t [ i ] ) . join ( "/" ) + "/" + a } function h ( e , n , a , r ) { let t = [ n , "data-" + n ] . reduce ( ( o , c ) => { let i = e . getAttribute ( c ) ; return a && e . removeAttribute ( c ) , i === null ? o : i } , ! 1 ) ; return ! r && t === "" ? ! 0 : t || r || ! 1 } function v ( e ) { let n = e . split ( "&" ) . map ( a => a . split ( "=" ) ) . reduce ( ( a , r ) => { let t = r [ 0 ] ; if ( ! t ) return a ; let o = r . length > 1 ? r [ r . length - 1 ] : ! 0 ; return typeof o == "string" && o . includes ( "," ) && ( o = o . split ( "," ) ) , a [ t ] === void 0 ? a [ t ] = [ o ] : a [ t ] . push ( o ) , a } , { } ) ; return Object . entries ( n ) . reduce ( ( a , r ) => ( a [ r [ 0 ] ] = r [ 1 ] . length > 1 ? r [ 1 ] : r [ 1 ] [ 0 ] , a ) , { } ) } function S ( e ) { throw new Error ( "[Tinro] " + e ) } var k = 1 , y = 2 , M = 3 , j = 4 ; function C ( e , n , a , r ) { return e === k ? n && n ( ) : e === y ? a && a ( ) : r && r ( ) } function W ( ) { return ! window || window . location . pathname === "srcdoc" ? M : k } var s = { HISTORY : k , HASH : y , MEMORY : M , OFF : j , run : C , getDeafault : W } ; var O , R , l = z ( ) ; function z ( ) { let e = s . getDeafault ( ) , n , a = o => window . onhashchange = window . onpopstate = R = null , r = o => n && n ( _ ( e ) ) ; function t ( o ) { o && ( e = o ) , a ( ) , e !== s . OFF && s . run ( e , c => window . onpopstate = r , c => window . onhashchange = r ) && r ( ) ; } return { mode : o => t ( o ) , get : o => _ ( e ) , go ( o , c ) { D ( e , o , c ) , r ( ) ; } , start ( o ) { n = o , t ( ) ; } , stop ( ) { n = null , t ( s . OFF ) ; } } } function D ( e , n , a ) { let r = t => history [ a ? "replaceState" : "pushState" ] ( { } , "" , t ) ; s . run ( e , t => r ( n ) , t => r ( ` # ${ n } ` ) , t => R = n ) ; } function _ ( e ) { let n = O , a = O = s . run ( e , t => window . location . pathname + window . location . search , t => String ( window . location . hash . slice ( 1 ) || "/" ) , t => R || "/" ) , r = a . match ( /^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/ ) ; return { url : a , from : n , path : r [ 1 ] || "" , query : v ( r [ 2 ] || "" ) , hash : r [ 3 ] || "" } } function $ ( e ) { let n = getContext ( "tinro" ) ; n && ( n . exact || n . fallback ) && S ( ` ${ e . fallback ? "<Route fallback>" : ` <Route path=" ${ e . path } "> ` } can't be inside ${ n . fallback ? "<Route fallback>" : ` <Route path=" ${ n . path || "/" } "> with exact path ` } ` ) ; let a = e . fallback ? "fallbacks" : "childs" , r = writable ( { } ) , t = { router : { } , exact : ! 1 , pattern : null , meta : { } , parent : n , fallback : e . fallback , redirect : ! 1 , firstmatch : ! 1 , breadcrumb : null , matched : ! 1 , childs : new Set , activeChilds : new Set , fallbacks : new Set , update ( o ) { t . exact = ! o . path . endsWith ( "/*" ) , t . pattern = d ( ` ${ t . parent && t . parent . pattern || "" } ${ o . path } ` ) , t . redirect = o . redirect , t . firstmatch = o . firstmatch , t . breadcrumb = o . breadcrumb , t . match ( ) ; } , register : ( ) => { if ( ! ! t . parent ) return t . parent [ a ] . add ( t ) , ( ) => { t . parent [ a ] . delete ( t ) , t . router . un && t . router . un ( ) ; } } , show : ( ) => { e . onShow ( ) , ! t . fallback && t . parent && t . parent . activeChilds . add ( t ) ; } , hide : ( ) => { e . onHide ( ) , ! t . fallback && t . parent && t . parent . activeChilds . delete ( t ) ; } , match : async ( ) => { t . matched = ! 1 ; let { path : o , url : c , from : i , query : w } = t . router , u = b ( t . pattern , o ) ; if ( ! t . fallback && u && t . redirect && ( ! t . exact || t . exact && u . exact ) ) { await tick ( ) ; let m = x ( o , t . parent && t . parent . pattern , t . redirect ) ; return f . goto ( m , ! 0 ) } if ( t . meta = u && { from : i , url : c , query : w , match : u . part , pattern : t . pattern , breadcrumbs : t . parent && t . parent . meta && t . parent . meta . breadcrumbs . slice ( ) || [ ] , params : u . params , subscribe : r . subscribe } , t . breadcrumb && t . meta && t . meta . breadcrumbs . push ( { name : t . breadcrumb , path : u . part } ) , r . set ( t . meta ) , u && ! t . fallback && ( ! t . exact || t . exact && u . exact ) && ( ! t . parent || ! t . parent . firstmatch || ! t . parent . matched ) ? ( e . onMeta ( t . meta ) , t . parent && ( t . parent . matched = ! 0 ) , t . show ( ) ) : t . hide ( ) , await tick ( ) , u && ! t . fallback && ( t . childs . size > 0 && t . activeChilds . size == 0 || t . childs . size == 0 && t . fallbacks . size > 0 ) ) { let m = t ; for ( ; m . fallbacks . size == 0 ; ) if ( m = m . parent , ! m ) return ; m && m . fallbacks . forEach ( p => { if ( p . redirect ) { let H = x ( "/" , p . parent && p . parent . pattern , p . redirect ) ; f . goto ( H , ! 0 ) ; } else p . show ( ) ; } ) ; } } } ; return setContext ( "tinro" , t ) , onMount ( ( ) => t . register ( ) ) , t . router . un = f . subscribe ( o => { t . router . path = o . path , t . router . url = o . url , t . router . query = o . query , t . router . from = o . fr
/* node_modules\tinro\cmp\Route.svelte generated by Svelte v3.44.3 */
const get _default _slot _changes = dirty => ( {
params : dirty & /*params*/ 2 ,
meta : dirty & /*meta*/ 4
} ) ;
const get _default _slot _context = ctx => ( {
params : /*params*/ ctx [ 1 ] ,
meta : /*meta*/ ctx [ 2 ]
} ) ;
// (32:0) {#if showContent}
function create _if _block$4 ( ctx ) {
let current ;
const default _slot _template = /*#slots*/ ctx [ 9 ] . default ;
const default _slot = create _slot ( default _slot _template , ctx , /*$$scope*/ ctx [ 8 ] , get _default _slot _context ) ;
const block = {
c : function create ( ) {
if ( default _slot ) default _slot . c ( ) ;
} ,
m : function mount ( target , anchor ) {
if ( default _slot ) {
default _slot . m ( target , anchor ) ;
}
current = true ;
} ,
p : function update ( ctx , dirty ) {
if ( default _slot ) {
if ( default _slot . p && ( ! current || dirty & /*$$scope, params, meta*/ 262 ) ) {
update _slot _base (
default _slot ,
default _slot _template ,
ctx ,
/*$$scope*/ ctx [ 8 ] ,
! current
? get _all _dirty _from _scope ( /*$$scope*/ ctx [ 8 ] )
: get _slot _changes ( default _slot _template , /*$$scope*/ ctx [ 8 ] , dirty , get _default _slot _changes ) ,
get _default _slot _context
) ;
}
}
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( default _slot , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( default _slot , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( default _slot ) default _slot . d ( detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block$4 . name ,
type : "if" ,
source : "(32:0) {#if showContent}" ,
ctx
} ) ;
return block ;
}
function create _fragment$7 ( ctx ) {
let if _block _anchor ;
let current ;
let if _block = /*showContent*/ ctx [ 0 ] && create _if _block$4 ( ctx ) ;
const block = {
c : function create ( ) {
if ( if _block ) if _block . c ( ) ;
if _block _anchor = empty ( ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
if ( if _block ) if _block . m ( target , anchor ) ;
insert _dev ( target , if _block _anchor , anchor ) ;
current = true ;
} ,
p : function update ( ctx , [ dirty ] ) {
if ( /*showContent*/ ctx [ 0 ] ) {
if ( if _block ) {
if _block . p ( ctx , dirty ) ;
if ( dirty & /*showContent*/ 1 ) {
transition _in ( if _block , 1 ) ;
}
} else {
if _block = create _if _block$4 ( ctx ) ;
if _block . c ( ) ;
transition _in ( if _block , 1 ) ;
if _block . m ( if _block _anchor . parentNode , if _block _anchor ) ;
}
} else if ( if _block ) {
group _outros ( ) ;
transition _out ( if _block , 1 , 1 , ( ) => {
if _block = null ;
} ) ;
check _outros ( ) ;
}
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( if _block ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( if _block ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( if _block ) if _block . d ( detaching ) ;
if ( detaching ) detach _dev ( if _block _anchor ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment$7 . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function instance$7 ( $$self , $$props , $$invalidate ) {
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'Route' , slots , [ 'default' ] ) ;
let { path = '/*' } = $$props ;
let { fallback = false } = $$props ;
let { redirect = false } = $$props ;
let { firstmatch = false } = $$props ;
let { breadcrumb = null } = $$props ;
let showContent = false ;
let params = { } ; /* DEPRECATED */
let meta = { } ;
const route = $ ( {
fallback ,
onShow ( ) {
$$invalidate ( 0 , showContent = true ) ;
} ,
onHide ( ) {
$$invalidate ( 0 , showContent = false ) ;
} ,
onMeta ( newmeta ) {
$$invalidate ( 2 , meta = newmeta ) ;
$$invalidate ( 1 , params = meta . params ) ; /* DEPRECATED */
}
} ) ;
const writable _props = [ 'path' , 'fallback' , 'redirect' , 'firstmatch' , 'breadcrumb' ] ;
Object . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console . warn ( ` <Route> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
$$self . $$set = $$props => {
if ( 'path' in $$props ) $$invalidate ( 3 , path = $$props . path ) ;
if ( 'fallback' in $$props ) $$invalidate ( 4 , fallback = $$props . fallback ) ;
if ( 'redirect' in $$props ) $$invalidate ( 5 , redirect = $$props . redirect ) ;
if ( 'firstmatch' in $$props ) $$invalidate ( 6 , firstmatch = $$props . firstmatch ) ;
if ( 'breadcrumb' in $$props ) $$invalidate ( 7 , breadcrumb = $$props . breadcrumb ) ;
if ( '$$scope' in $$props ) $$invalidate ( 8 , $$scope = $$props . $$scope ) ;
} ;
$$self . $capture _state = ( ) => ( {
createRouteObject : $ ,
path ,
fallback ,
redirect ,
firstmatch ,
breadcrumb ,
showContent ,
params ,
meta ,
route
} ) ;
$$self . $inject _state = $$props => {
if ( 'path' in $$props ) $$invalidate ( 3 , path = $$props . path ) ;
if ( 'fallback' in $$props ) $$invalidate ( 4 , fallback = $$props . fallback ) ;
if ( 'redirect' in $$props ) $$invalidate ( 5 , redirect = $$props . redirect ) ;
if ( 'firstmatch' in $$props ) $$invalidate ( 6 , firstmatch = $$props . firstmatch ) ;
if ( 'breadcrumb' in $$props ) $$invalidate ( 7 , breadcrumb = $$props . breadcrumb ) ;
if ( 'showContent' in $$props ) $$invalidate ( 0 , showContent = $$props . showContent ) ;
if ( 'params' in $$props ) $$invalidate ( 1 , params = $$props . params ) ;
if ( 'meta' in $$props ) $$invalidate ( 2 , meta = $$props . meta ) ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
$$self . $$ . update = ( ) => {
if ( $$self . $$ . dirty & /*path, redirect, firstmatch, breadcrumb*/ 232 ) {
route . update ( { path , redirect , firstmatch , breadcrumb } ) ;
}
} ;
return [
showContent ,
params ,
meta ,
path ,
fallback ,
redirect ,
firstmatch ,
breadcrumb ,
$$scope ,
slots
] ;
}
class Route extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance$7 , create _fragment$7 , safe _not _equal , {
path : 3 ,
fallback : 4 ,
redirect : 5 ,
firstmatch : 6 ,
breadcrumb : 7
} ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "Route" ,
options ,
id : create _fragment$7 . name
} ) ;
}
get path ( ) {
throw new Error ( "<Route>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set path ( value ) {
throw new Error ( "<Route>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get fallback ( ) {
throw new Error ( "<Route>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set fallback ( value ) {
throw new Error ( "<Route>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get redirect ( ) {
throw new Error ( "<Route>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set redirect ( value ) {
throw new Error ( "<Route>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get firstmatch ( ) {
throw new Error ( "<Route>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set firstmatch ( value ) {
throw new Error ( "<Route>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get breadcrumb ( ) {
throw new Error ( "<Route>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set breadcrumb ( value ) {
throw new Error ( "<Route>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
}
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : { } ;
function createCommonjsModule ( fn ) {
var module = { exports : { } } ;
return fn ( module , module . exports ) , module . exports ;
}
var frappeCharts _min _umd = createCommonjsModule ( function ( module , exports ) {
! function ( t , e ) { module . exports = e ( ) ; } ( commonjsGlobal , function ( ) { function t ( t , e ) { return "string" == typeof t ? ( e || document ) . querySelector ( t ) : t || null } function e ( t ) { var e = t . getBoundingClientRect ( ) ; return { top : e . top + ( document . documentElement . scrollTop || document . body . scrollTop ) , left : e . left + ( document . documentElement . scrollLeft || document . body . scrollLeft ) } } function i ( t ) { return null === t . offsetParent } function n ( t ) { var e = t . getBoundingClientRect ( ) ; return e . top >= 0 && e . left >= 0 && e . bottom <= ( window . innerHeight || document . documentElement . clientHeight ) && e . right <= ( window . innerWidth || document . documentElement . clientWidth ) } function a ( t ) { var e = window . getComputedStyle ( t ) , i = parseFloat ( e . paddingLeft ) + parseFloat ( e . paddingRight ) ; return t . clientWidth - i } function s ( t , e , i ) { var n = document . createEvent ( "HTMLEvents" ) ; n . initEvent ( e , ! 0 , ! 0 ) ; for ( var a in i ) n [ a ] = i [ a ] ; return t . dispatchEvent ( n ) } function r ( t ) { return t . titleHeight + t . margins . top + t . paddings . top } function o ( t ) { return t . margins . left + t . paddings . left } function l ( t ) { return t . margins . top + t . margins . bottom + t . paddings . top + t . paddings . bottom + t . titleHeight + t . legendHeight } function u ( t ) { return t . margins . left + t . margins . right + t . paddings . left + t . paddings . right } function h ( t ) { return parseFloat ( t . toFixed ( 2 ) ) } function c ( t , e , i ) { var n = arguments . length > 3 && void 0 !== arguments [ 3 ] && arguments [ 3 ] ; i || ( i = n ? t [ 0 ] : t [ t . length - 1 ] ) ; var a = new Array ( Math . abs ( e ) ) . fill ( i ) ; return t = n ? a . concat ( t ) : t . concat ( a ) } function d ( t , e ) { return ( t + "" ) . length * e } function p ( t , e ) { return { x : Math . sin ( t * Zt ) * e , y : Math . cos ( t * Zt ) * e } } function f ( t ) { var e = arguments . length > 1 && void 0 !== arguments [ 1 ] && arguments [ 1 ] ; return ! Number . isNaN ( t ) && ( void 0 !== t && ( ! ! Number . isFinite ( t ) && ! ( e && t < 0 ) ) ) } function v ( t ) { return Number ( Math . round ( t + "e4" ) + "e-4" ) } function g ( t ) { var e = void 0 , i = void 0 , n = void 0 ; if ( t instanceof Date ) return new Date ( t . getTime ( ) ) ; if ( "object" !== ( void 0 === t ? "undefined" : Ft ( t ) ) || null === t ) return t ; e = Array . isArray ( t ) ? [ ] : { } ; for ( n in t ) i = t [ n ] , e [ n ] = g ( i ) ; return e } function m ( t , e ) { var i = void 0 , n = void 0 ; return t <= e ? ( i = e - t , n = t ) : ( i = t - e , n = e ) , [ i , n ] } function y ( t , e ) { var i = arguments . length > 2 && void 0 !== arguments [ 2 ] ? arguments [ 2 ] : e . length - t . length ; return i > 0 ? t = c ( t , i ) : e = c ( e , i ) , [ t , e ] } function b ( t , e ) { if ( t ) return t . length > e ? t . slice ( 0 , e - 3 ) + "..." : t } function x ( t ) { var e = void 0 ; if ( "number" == typeof t ) e = t ; else if ( "string" == typeof t && ( e = Number ( t ) , Number . isNaN ( e ) ) ) return t ; var i = Math . floor ( Math . log10 ( Math . abs ( e ) ) ) ; if ( i <= 2 ) return e ; var n = Math . floor ( i / 3 ) , a = Math . pow ( 10 , i - 3 * n ) * + ( e / Math . pow ( 10 , i ) ) . toFixed ( 1 ) ; return Math . round ( 100 * a ) / 100 + " " + [ "" , "K" , "M" , "B" , "T" ] [ n ] } function k ( t , e ) { for ( var i = [ ] , n = 0 ; n < t . length ; n ++ ) i . push ( [ t [ n ] , e [ n ] ] ) ; var a = function ( t , e ) { var i = e [ 0 ] - t [ 0 ] , n = e [ 1 ] - t [ 1 ] ; return { length : Math . sqrt ( Math . pow ( i , 2 ) + Math . pow ( n , 2 ) ) , angle : Math . atan2 ( n , i ) } } , s = function ( t , e , i , n ) { var s = a ( e || t , i || t ) , r = s . angle + ( n ? Math . PI : 0 ) , o = . 2 * s . length ; return [ t [ 0 ] + Math . cos ( r ) * o , t [ 1 ] + Math . sin ( r ) * o ] } ; return function ( t , e ) { return t . reduce ( function ( t , i , n , a ) { return 0 === n ? i [ 0 ] + "," + i [ 1 ] : t + " " + e ( i , n , a ) } , "" ) } ( i , function ( t , e , i ) { var n = s ( i [ e - 1 ] , i [ e - 2 ] , t ) , a = s ( t , i [ e - 1 ] , i [ e + 1 ] , ! 0 ) ; return "C " + n [ 0 ] + "," + n [ 1 ] + " " + a [ 0 ] + "," + a [ 1 ] + " " + t [ 0 ] + "," + t [ 1 ] } ) } function w ( t ) { return t > 255 ? 255 : t < 0 ? 0 : t } function A ( t , e ) { var i = ie ( t ) , n = ! 1 ; "#" == i [ 0 ] && ( i = i . slice ( 1 ) , n = ! 0 ) ; var a = parseInt ( i , 16 ) , s = w ( ( a >> 16 ) + e ) , r = w ( ( a >> 8 & 255 ) + e ) , o = w ( ( 255 & a ) + e ) ; return ( n ? "#" : "" ) + ( o | r << 8 | s << 16 ) . toString ( 16 ) } function P ( t ) { var e = /(^\s*)(rgb|hsl)(a?)[(]\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*(?:,\s*([\d.]+)\s*)?[)]$/i ; return /(^\s*)(#)((?:[A-Fa-f0-9]{3}){1,2})$/i . test ( t ) || e . test ( t ) } function T ( t , e ) { return "string" == typeof t ? ( e || document ) . querySelector ( t ) : t || null } function L ( t , e ) { var i = document . createElementNS ( "http://www.w3.org/2000/svg" , t ) ; for ( var n in e ) { var a = e [ n ] ; if ( "inside" === n ) T ( a ) . appendChild ( i ) ; else if ( "around" === n ) { var s = T ( a ) ; s . parentNode . insertBefore ( i , s ) , i . appendChild ( s ) ; } else "styles" === n ? "object" === ( void 0 === a ? "undefined" : Ft ( a ) ) && Object . keys ( a ) . map ( function ( t ) { i . style [ t ] = a [ t ] ; } ) : ( "className" === n && ( n = "class" ) , "innerHTML" === n ? i . textContent = a : i . setAttribute ( n , a ) ) ; } return i } function O ( t , e ) { return L ( "linearGradient" , { inside : t , id : e , x1 : 0 , x2 : 0 , y1 : 0 , y2 : 1 } ) } function M ( t , e , i , n ) { return L ( " st
} ) ;
/* node_modules\svelte-frappe-charts\src\components\base.svelte generated by Svelte v3.44.3 */
const file$6 = "node_modules\\svelte-frappe-charts\\src\\components\\base.svelte" ;
function create _fragment$6 ( ctx ) {
let div ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
div = element ( "div" ) ;
add _location ( div , file$6 , 89 , 0 , 2072 ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div , anchor ) ;
/*div_binding*/ ctx [ 18 ] ( div ) ;
if ( ! mounted ) {
dispose = listen _dev ( div , "data-select" , /*data_select_handler*/ ctx [ 17 ] , false , false , false ) ;
mounted = true ;
}
} ,
p : noop ,
i : noop ,
o : noop ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div ) ;
/*div_binding*/ ctx [ 18 ] ( null ) ;
mounted = false ;
dispose ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment$6 . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function instance$6 ( $$self , $$props , $$invalidate ) {
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'Base' , slots , [ ] ) ;
let { data = {
labels : [ ] ,
datasets : [ { values : [ ] } ] ,
yMarkers : { } ,
yRegions : [ ]
} } = $$props ;
let { title = '' } = $$props ;
let { type = 'line' } = $$props ;
let { height = 300 } = $$props ;
let { animate = true } = $$props ;
let { axisOptions = { } } = $$props ;
let { barOptions = { } } = $$props ;
let { lineOptions = { } } = $$props ;
let { tooltipOptions = { } } = $$props ;
let { colors = [ ] } = $$props ;
let { valuesOverPoints = 0 } = $$props ;
let { isNavigable = false } = $$props ;
let { maxSlices = 3 } = $$props ;
/ * *
* COMPONENT
* /
// The Chart returned from frappe
let chart = null ;
// DOM node for frappe to latch onto
let chartRef ;
// Helper HOF for calling a fn only if chart exists
function ifChartThen ( fn ) {
return function ifChart ( ... args ) {
if ( chart ) {
return fn ( ... args ) ;
}
} ;
}
const addDataPoint = ifChartThen ( ( label , valueFromEachDataset , index ) => chart . addDataPoint ( label , valueFromEachDataset , index ) ) ;
const removeDataPoint = ifChartThen ( index => chart . removeDataPoint ( index ) ) ;
const exportChart = ifChartThen ( ( ) => chart . export ( ) ) ;
// Update the chart when incoming data changes
const updateChart = ifChartThen ( newData => chart . update ( newData ) ) ;
/ * *
* Handle initializing the chart when this Svelte component mounts
* /
onMount ( ( ) => {
chart = new frappeCharts _min _umd . Chart ( chartRef ,
{
data ,
title ,
type ,
height ,
animate ,
colors ,
axisOptions ,
barOptions ,
lineOptions ,
tooltipOptions ,
valuesOverPoints ,
isNavigable ,
maxSlices
} ) ;
} ) ;
// Mark Chart references for garbage collection when component is unmounted
onDestroy ( ( ) => {
chart = null ;
} ) ;
const writable _props = [
'data' ,
'title' ,
'type' ,
'height' ,
'animate' ,
'axisOptions' ,
'barOptions' ,
'lineOptions' ,
'tooltipOptions' ,
'colors' ,
'valuesOverPoints' ,
'isNavigable' ,
'maxSlices'
] ;
Object . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console . warn ( ` <Base> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
function data _select _handler ( event ) {
bubble . call ( this , $$self , event ) ;
}
function div _binding ( $$value ) {
binding _callbacks [ $$value ? 'unshift' : 'push' ] ( ( ) => {
chartRef = $$value ;
$$invalidate ( 0 , chartRef ) ;
} ) ;
}
$$self . $$set = $$props => {
if ( 'data' in $$props ) $$invalidate ( 1 , data = $$props . data ) ;
if ( 'title' in $$props ) $$invalidate ( 2 , title = $$props . title ) ;
if ( 'type' in $$props ) $$invalidate ( 3 , type = $$props . type ) ;
if ( 'height' in $$props ) $$invalidate ( 4 , height = $$props . height ) ;
if ( 'animate' in $$props ) $$invalidate ( 5 , animate = $$props . animate ) ;
if ( 'axisOptions' in $$props ) $$invalidate ( 6 , axisOptions = $$props . axisOptions ) ;
if ( 'barOptions' in $$props ) $$invalidate ( 7 , barOptions = $$props . barOptions ) ;
if ( 'lineOptions' in $$props ) $$invalidate ( 8 , lineOptions = $$props . lineOptions ) ;
if ( 'tooltipOptions' in $$props ) $$invalidate ( 9 , tooltipOptions = $$props . tooltipOptions ) ;
if ( 'colors' in $$props ) $$invalidate ( 10 , colors = $$props . colors ) ;
if ( 'valuesOverPoints' in $$props ) $$invalidate ( 11 , valuesOverPoints = $$props . valuesOverPoints ) ;
if ( 'isNavigable' in $$props ) $$invalidate ( 12 , isNavigable = $$props . isNavigable ) ;
if ( 'maxSlices' in $$props ) $$invalidate ( 13 , maxSlices = $$props . maxSlices ) ;
} ;
$$self . $capture _state = ( ) => ( {
onMount ,
onDestroy ,
Chart : frappeCharts _min _umd . Chart ,
data ,
title ,
type ,
height ,
animate ,
axisOptions ,
barOptions ,
lineOptions ,
tooltipOptions ,
colors ,
valuesOverPoints ,
isNavigable ,
maxSlices ,
chart ,
chartRef ,
ifChartThen ,
addDataPoint ,
removeDataPoint ,
exportChart ,
updateChart
} ) ;
$$self . $inject _state = $$props => {
if ( 'data' in $$props ) $$invalidate ( 1 , data = $$props . data ) ;
if ( 'title' in $$props ) $$invalidate ( 2 , title = $$props . title ) ;
if ( 'type' in $$props ) $$invalidate ( 3 , type = $$props . type ) ;
if ( 'height' in $$props ) $$invalidate ( 4 , height = $$props . height ) ;
if ( 'animate' in $$props ) $$invalidate ( 5 , animate = $$props . animate ) ;
if ( 'axisOptions' in $$props ) $$invalidate ( 6 , axisOptions = $$props . axisOptions ) ;
if ( 'barOptions' in $$props ) $$invalidate ( 7 , barOptions = $$props . barOptions ) ;
if ( 'lineOptions' in $$props ) $$invalidate ( 8 , lineOptions = $$props . lineOptions ) ;
if ( 'tooltipOptions' in $$props ) $$invalidate ( 9 , tooltipOptions = $$props . tooltipOptions ) ;
if ( 'colors' in $$props ) $$invalidate ( 10 , colors = $$props . colors ) ;
if ( 'valuesOverPoints' in $$props ) $$invalidate ( 11 , valuesOverPoints = $$props . valuesOverPoints ) ;
if ( 'isNavigable' in $$props ) $$invalidate ( 12 , isNavigable = $$props . isNavigable ) ;
if ( 'maxSlices' in $$props ) $$invalidate ( 13 , maxSlices = $$props . maxSlices ) ;
if ( 'chart' in $$props ) chart = $$props . chart ;
if ( 'chartRef' in $$props ) $$invalidate ( 0 , chartRef = $$props . chartRef ) ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
$$self . $$ . update = ( ) => {
if ( $$self . $$ . dirty & /*data*/ 2 ) {
updateChart ( data ) ;
}
} ;
return [
chartRef ,
data ,
title ,
type ,
height ,
animate ,
axisOptions ,
barOptions ,
lineOptions ,
tooltipOptions ,
colors ,
valuesOverPoints ,
isNavigable ,
maxSlices ,
addDataPoint ,
removeDataPoint ,
exportChart ,
data _select _handler ,
div _binding
] ;
}
class Base extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance$6 , create _fragment$6 , safe _not _equal , {
data : 1 ,
title : 2 ,
type : 3 ,
height : 4 ,
animate : 5 ,
axisOptions : 6 ,
barOptions : 7 ,
lineOptions : 8 ,
tooltipOptions : 9 ,
colors : 10 ,
valuesOverPoints : 11 ,
isNavigable : 12 ,
maxSlices : 13 ,
addDataPoint : 14 ,
removeDataPoint : 15 ,
exportChart : 16
} ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "Base" ,
options ,
id : create _fragment$6 . name
} ) ;
}
get data ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set data ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get title ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set title ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get type ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set type ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get height ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set height ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get animate ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set animate ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get axisOptions ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set axisOptions ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get barOptions ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set barOptions ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get lineOptions ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set lineOptions ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get tooltipOptions ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set tooltipOptions ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get colors ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set colors ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get valuesOverPoints ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set valuesOverPoints ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get isNavigable ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set isNavigable ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get maxSlices ( ) {
throw new Error ( "<Base>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set maxSlices ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get addDataPoint ( ) {
return this . $$ . ctx [ 14 ] ;
}
set addDataPoint ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get removeDataPoint ( ) {
return this . $$ . ctx [ 15 ] ;
}
set removeDataPoint ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get exportChart ( ) {
return this . $$ . ctx [ 16 ] ;
}
set exportChart ( value ) {
throw new Error ( "<Base>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
}
var Base$1 = Base ;
/* src\components\Card.svelte generated by Svelte v3.44.3 */
const file$5 = "src\\components\\Card.svelte" ;
// (6:2) {#if title}
function create _if _block$3 ( ctx ) {
let h1 ;
let t ;
const block = {
c : function create ( ) {
h1 = element ( "h1" ) ;
t = text ( /*title*/ ctx [ 0 ] ) ;
attr _dev ( h1 , "class" , "crd-hdr" ) ;
add _location ( h1 , file$5 , 6 , 4 , 82 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , h1 , anchor ) ;
append _dev ( h1 , t ) ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty & /*title*/ 1 ) set _data _dev ( t , /*title*/ ctx [ 0 ] ) ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( h1 ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block$3 . name ,
type : "if" ,
source : "(6:2) {#if title}" ,
ctx
} ) ;
return block ;
}
function create _fragment$5 ( ctx ) {
let div ;
let t ;
let current ;
let if _block = /*title*/ ctx [ 0 ] && create _if _block$3 ( ctx ) ;
const default _slot _template = /*#slots*/ ctx [ 2 ] . default ;
const default _slot = create _slot ( default _slot _template , ctx , /*$$scope*/ ctx [ 1 ] , null ) ;
const block = {
c : function create ( ) {
div = element ( "div" ) ;
if ( if _block ) if _block . c ( ) ;
t = space ( ) ;
if ( default _slot ) default _slot . c ( ) ;
attr _dev ( div , "class" , "crd" ) ;
add _location ( div , file$5 , 4 , 0 , 44 ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div , anchor ) ;
if ( if _block ) if _block . m ( div , null ) ;
append _dev ( div , t ) ;
if ( default _slot ) {
default _slot . m ( div , null ) ;
}
current = true ;
} ,
p : function update ( ctx , [ dirty ] ) {
if ( /*title*/ ctx [ 0 ] ) {
if ( if _block ) {
if _block . p ( ctx , dirty ) ;
} else {
if _block = create _if _block$3 ( ctx ) ;
if _block . c ( ) ;
if _block . m ( div , t ) ;
}
} else if ( if _block ) {
if _block . d ( 1 ) ;
if _block = null ;
}
if ( default _slot ) {
if ( default _slot . p && ( ! current || dirty & /*$$scope*/ 2 ) ) {
update _slot _base (
default _slot ,
default _slot _template ,
ctx ,
/*$$scope*/ ctx [ 1 ] ,
! current
? get _all _dirty _from _scope ( /*$$scope*/ ctx [ 1 ] )
: get _slot _changes ( default _slot _template , /*$$scope*/ ctx [ 1 ] , dirty , null ) ,
null
) ;
}
}
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( default _slot , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( default _slot , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div ) ;
if ( if _block ) if _block . d ( ) ;
if ( default _slot ) default _slot . d ( detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment$5 . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function instance$5 ( $$self , $$props , $$invalidate ) {
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'Card' , slots , [ 'default' ] ) ;
let { title } = $$props ;
const writable _props = [ 'title' ] ;
Object . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console . warn ( ` <Card> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
$$self . $$set = $$props => {
if ( 'title' in $$props ) $$invalidate ( 0 , title = $$props . title ) ;
if ( '$$scope' in $$props ) $$invalidate ( 1 , $$scope = $$props . $$scope ) ;
} ;
$$self . $capture _state = ( ) => ( { title } ) ;
$$self . $inject _state = $$props => {
if ( 'title' in $$props ) $$invalidate ( 0 , title = $$props . title ) ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
return [ title , $$scope , slots ] ;
}
class Card extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance$5 , create _fragment$5 , safe _not _equal , { title : 0 } ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "Card" ,
options ,
id : create _fragment$5 . name
} ) ;
const { ctx } = this . $$ ;
const props = options . props || { } ;
if ( /*title*/ ctx [ 0 ] === undefined && ! ( 'title' in props ) ) {
console . warn ( "<Card> was created without expected prop 'title'" ) ;
}
}
get title ( ) {
throw new Error ( "<Card>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set title ( value ) {
throw new Error ( "<Card>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
}
/* src\components\Modal.svelte generated by Svelte v3.44.3 */
const file$4 = "src\\components\\Modal.svelte" ;
// (8:2) {#if show}
function create _if _block$2 ( ctx ) {
let div8 ;
let div7 ;
let div0 ;
let t0 ;
let span ;
let t2 ;
let div6 ;
let div4 ;
let div3 ;
let div2 ;
let h3 ;
let t3 ;
let t4 ;
let div1 ;
let p ;
let t5 ;
let t6 ;
let div5 ;
let button0 ;
let t8 ;
let button1 ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
div8 = element ( "div" ) ;
div7 = element ( "div" ) ;
div0 = element ( "div" ) ;
t0 = space ( ) ;
span = element ( "span" ) ;
span . textContent = " " ;
t2 = space ( ) ;
div6 = element ( "div" ) ;
div4 = element ( "div" ) ;
div3 = element ( "div" ) ;
div2 = element ( "div" ) ;
h3 = element ( "h3" ) ;
t3 = text ( /*header*/ ctx [ 1 ] ) ;
t4 = space ( ) ;
div1 = element ( "div" ) ;
p = element ( "p" ) ;
t5 = text ( /*text*/ ctx [ 2 ] ) ;
t6 = space ( ) ;
div5 = element ( "div" ) ;
button0 = element ( "button" ) ;
button0 . textContent = "Deactivate" ;
t8 = space ( ) ;
button1 = element ( "button" ) ;
button1 . textContent = "Cancel" ;
attr _dev ( div0 , "class" , "fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity" ) ;
attr _dev ( div0 , "aria-hidden" , "true" ) ;
add _location ( div0 , file$4 , 11 , 8 , 427 ) ;
attr _dev ( span , "class" , "hidden sm:inline-block sm:align-middle sm:h-screen" ) ;
attr _dev ( span , "aria-hidden" , "true" ) ;
add _location ( span , file$4 , 13 , 8 , 620 ) ;
attr _dev ( h3 , "class" , "text-lg leading-6 font-medium text-gray-900" ) ;
attr _dev ( h3 , "id" , "modal-title" ) ;
add _location ( h3 , file$4 , 18 , 16 , 1101 ) ;
attr _dev ( p , "class" , "text-sm text-gray-500" ) ;
add _location ( p , file$4 , 20 , 18 , 1243 ) ;
attr _dev ( div1 , "class" , "mt-2" ) ;
add _location ( div1 , file$4 , 19 , 16 , 1205 ) ;
attr _dev ( div2 , "class" , "mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left" ) ;
add _location ( div2 , file$4 , 17 , 14 , 1024 ) ;
attr _dev ( div3 , "class" , "sm:flex sm:items-start" ) ;
add _location ( div3 , file$4 , 16 , 12 , 972 ) ;
attr _dev ( div4 , "class" , "bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4" ) ;
add _location ( div4 , file$4 , 15 , 10 , 906 ) ;
attr _dev ( button0 , "type" , "button" ) ;
attr _dev ( button0 , "class" , "w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm" ) ;
add _location ( button0 , file$4 , 26 , 12 , 1466 ) ;
attr _dev ( button1 , "type" , "button" ) ;
attr _dev ( button1 , "class" , "mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm" ) ;
add _location ( button1 , file$4 , 27 , 12 , 1783 ) ;
attr _dev ( div5 , "class" , "bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse" ) ;
add _location ( div5 , file$4 , 25 , 10 , 1382 ) ;
attr _dev ( div6 , "class" , "inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full" ) ;
add _location ( div6 , file$4 , 14 , 8 , 728 ) ;
attr _dev ( div7 , "class" , "flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0" ) ;
add _location ( div7 , file$4 , 10 , 6 , 317 ) ;
attr _dev ( div8 , "class" , "fixed z-10 inset-0 overflow-y-auto" ) ;
attr _dev ( div8 , "aria-labelledby" , "modal-title" ) ;
attr _dev ( div8 , "role" , "dialog" ) ;
attr _dev ( div8 , "aria-modal" , "true" ) ;
add _location ( div8 , file$4 , 9 , 4 , 199 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div8 , anchor ) ;
append _dev ( div8 , div7 ) ;
append _dev ( div7 , div0 ) ;
append _dev ( div7 , t0 ) ;
append _dev ( div7 , span ) ;
append _dev ( div7 , t2 ) ;
append _dev ( div7 , div6 ) ;
append _dev ( div6 , div4 ) ;
append _dev ( div4 , div3 ) ;
append _dev ( div3 , div2 ) ;
append _dev ( div2 , h3 ) ;
append _dev ( h3 , t3 ) ;
append _dev ( div2 , t4 ) ;
append _dev ( div2 , div1 ) ;
append _dev ( div1 , p ) ;
append _dev ( p , t5 ) ;
append _dev ( div6 , t6 ) ;
append _dev ( div6 , div5 ) ;
append _dev ( div5 , button0 ) ;
append _dev ( div5 , t8 ) ;
append _dev ( div5 , button1 ) ;
if ( ! mounted ) {
dispose = listen _dev ( button1 , "click" , /*click_handler*/ ctx [ 3 ] , false , false , false ) ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty & /*header*/ 2 ) set _data _dev ( t3 , /*header*/ ctx [ 1 ] ) ;
if ( dirty & /*text*/ 4 ) set _data _dev ( t5 , /*text*/ ctx [ 2 ] ) ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div8 ) ;
mounted = false ;
dispose ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block$2 . name ,
type : "if" ,
source : "(8:2) {#if show}" ,
ctx
} ) ;
return block ;
}
function create _fragment$4 ( ctx ) {
let div ;
let if _block = /*show*/ ctx [ 0 ] && create _if _block$2 ( ctx ) ;
const block = {
c : function create ( ) {
div = element ( "div" ) ;
if ( if _block ) if _block . c ( ) ;
attr _dev ( div , "class" , "modal" ) ;
add _location ( div , file$4 , 6 , 0 , 105 ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div , anchor ) ;
if ( if _block ) if _block . m ( div , null ) ;
} ,
p : function update ( ctx , [ dirty ] ) {
if ( /*show*/ ctx [ 0 ] ) {
if ( if _block ) {
if _block . p ( ctx , dirty ) ;
} else {
if _block = create _if _block$2 ( ctx ) ;
if _block . c ( ) ;
if _block . m ( div , null ) ;
}
} else if ( if _block ) {
if _block . d ( 1 ) ;
if _block = null ;
}
} ,
i : noop ,
o : noop ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div ) ;
if ( if _block ) if _block . d ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment$4 . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function instance$4 ( $$self , $$props , $$invalidate ) {
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'Modal' , slots , [ ] ) ;
let { show } = $$props ;
let { header = "header" } = $$props ;
let { text = "text" } = $$props ;
const writable _props = [ 'show' , 'header' , 'text' ] ;
Object . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console . warn ( ` <Modal> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
const click _handler = ( ) => $$invalidate ( 0 , show = false ) ;
$$self . $$set = $$props => {
if ( 'show' in $$props ) $$invalidate ( 0 , show = $$props . show ) ;
if ( 'header' in $$props ) $$invalidate ( 1 , header = $$props . header ) ;
if ( 'text' in $$props ) $$invalidate ( 2 , text = $$props . text ) ;
} ;
$$self . $capture _state = ( ) => ( { show , header , text } ) ;
$$self . $inject _state = $$props => {
if ( 'show' in $$props ) $$invalidate ( 0 , show = $$props . show ) ;
if ( 'header' in $$props ) $$invalidate ( 1 , header = $$props . header ) ;
if ( 'text' in $$props ) $$invalidate ( 2 , text = $$props . text ) ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
return [ show , header , text , click _handler ] ;
}
class Modal extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance$4 , create _fragment$4 , safe _not _equal , { show : 0 , header : 1 , text : 2 } ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "Modal" ,
options ,
id : create _fragment$4 . name
} ) ;
const { ctx } = this . $$ ;
const props = options . props || { } ;
if ( /*show*/ ctx [ 0 ] === undefined && ! ( 'show' in props ) ) {
console . warn ( "<Modal> was created without expected prop 'show'" ) ;
}
}
get show ( ) {
throw new Error ( "<Modal>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set show ( value ) {
throw new Error ( "<Modal>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get header ( ) {
throw new Error ( "<Modal>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set header ( value ) {
throw new Error ( "<Modal>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get text ( ) {
throw new Error ( "<Modal>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set text ( value ) {
throw new Error ( "<Modal>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
}
/* src\widgets\Input.svelte generated by Svelte v3.44.3 */
const file$3 = "src\\widgets\\Input.svelte" ;
// (14:4) {#if widget.type == "number"}
function create _if _block _3$1 ( ctx ) {
let input ;
let input _class _value ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
input = element ( "input" ) ;
attr _dev ( input , "class" , input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ;
attr _dev ( input , "step" , "0.1" ) ;
attr _dev ( input , "type" , "number" ) ;
add _location ( input , file$3 , 14 , 6 , 406 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , input , anchor ) ;
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
if ( ! mounted ) {
dispose = [
listen _dev ( input , "change" , /*change_handler*/ ctx [ 3 ] , false , false , false ) ,
listen _dev ( input , "input" , /*input_input_handler*/ ctx [ 4 ] )
] ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty & /*widget*/ 1 && input _class _value !== ( input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ) {
attr _dev ( input , "class" , input _class _value ) ;
}
if ( dirty & /*widget*/ 1 && to _number ( input . value ) !== /*widget*/ ctx [ 0 ] . status ) {
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( input ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _3$1 . name ,
type : "if" ,
source : "(14:4) {#if widget.type == \\\"number\\\"}" ,
ctx
} ) ;
return block ;
}
// (17:4) {#if widget.type == "text"}
function create _if _block _2$1 ( ctx ) {
let input ;
let input _class _value ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
input = element ( "input" ) ;
attr _dev ( input , "class" , input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ;
attr _dev ( input , "type" , "text" ) ;
add _location ( input , file$3 , 17 , 6 , 709 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , input , anchor ) ;
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
if ( ! mounted ) {
dispose = [
listen _dev ( input , "change" , /*change_handler_1*/ ctx [ 5 ] , false , false , false ) ,
listen _dev ( input , "input" , /*input_input_handler_1*/ ctx [ 6 ] )
] ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty & /*widget*/ 1 && input _class _value !== ( input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ) {
attr _dev ( input , "class" , input _class _value ) ;
}
if ( dirty & /*widget*/ 1 && input . value !== /*widget*/ ctx [ 0 ] . status ) {
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( input ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _2$1 . name ,
type : "if" ,
source : "(17:4) {#if widget.type == \\\"text\\\"}" ,
ctx
} ) ;
return block ;
}
// (20:4) {#if widget.type == "date"}
function create _if _block _1$1 ( ctx ) {
let input ;
let input _class _value ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
input = element ( "input" ) ;
attr _dev ( input , "class" , input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ;
attr _dev ( input , "type" , "date" ) ;
add _location ( input , file$3 , 20 , 6 , 999 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , input , anchor ) ;
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
if ( ! mounted ) {
dispose = [
listen _dev ( input , "change" , /*change_handler_2*/ ctx [ 7 ] , false , false , false ) ,
listen _dev ( input , "input" , /*input_input_handler_2*/ ctx [ 8 ] )
] ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty & /*widget*/ 1 && input _class _value !== ( input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ) {
attr _dev ( input , "class" , input _class _value ) ;
}
if ( dirty & /*widget*/ 1 ) {
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( input ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _1$1 . name ,
type : "if" ,
source : "(20:4) {#if widget.type == \\\"date\\\"}" ,
ctx
} ) ;
return block ;
}
// (23:4) {#if widget.type == "time"}
function create _if _block$1 ( ctx ) {
let input ;
let input _class _value ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
input = element ( "input" ) ;
attr _dev ( input , "class" , input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ;
attr _dev ( input , "type" , "time" ) ;
add _location ( input , file$3 , 23 , 6 , 1289 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , input , anchor ) ;
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
if ( ! mounted ) {
dispose = [
listen _dev ( input , "change" , /*change_handler_3*/ ctx [ 9 ] , false , false , false ) ,
listen _dev ( input , "input" , /*input_input_handler_3*/ ctx [ 10 ] )
] ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty & /*widget*/ 1 && input _class _value !== ( input _class _value = /*widget*/ ctx [ 0 ] [ "send" ] == true
? "wgt-ipt border-red-500"
: "wgt-ipt focus:border-indigo-500" ) ) {
attr _dev ( input , "class" , input _class _value ) ;
}
if ( dirty & /*widget*/ 1 ) {
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( input ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block$1 . name ,
type : "if" ,
source : "(23:4) {#if widget.type == \\\"time\\\"}" ,
ctx
} ) ;
return block ;
}
function create _fragment$3 ( ctx ) {
let div2 ;
let div0 ;
let label ;
let t0 _value = ( ! /*widget*/ ctx [ 0 ] . descr ? "" : /*widget*/ ctx [ 0 ] . descr ) + "" ;
let t0 ;
let t1 ;
let div1 ;
let t2 ;
let t3 ;
let t4 ;
let if _block0 = /*widget*/ ctx [ 0 ] . type == "number" && create _if _block _3$1 ( ctx ) ;
let if _block1 = /*widget*/ ctx [ 0 ] . type == "text" && create _if _block _2$1 ( ctx ) ;
let if _block2 = /*widget*/ ctx [ 0 ] . type == "date" && create _if _block _1$1 ( ctx ) ;
let if _block3 = /*widget*/ ctx [ 0 ] . type == "time" && create _if _block$1 ( ctx ) ;
const block = {
c : function create ( ) {
div2 = element ( "div" ) ;
div0 = element ( "div" ) ;
label = element ( "label" ) ;
t0 = text ( t0 _value ) ;
t1 = space ( ) ;
div1 = element ( "div" ) ;
if ( if _block0 ) if _block0 . c ( ) ;
t2 = space ( ) ;
if ( if _block1 ) if _block1 . c ( ) ;
t3 = space ( ) ;
if ( if _block2 ) if _block2 . c ( ) ;
t4 = space ( ) ;
if ( if _block3 ) if _block3 . c ( ) ;
attr _dev ( label , "class" , "wgt-dscr-stl" ) ;
add _location ( label , file$3 , 10 , 4 , 259 ) ;
attr _dev ( div0 , "class" , "wgt-dscr-w" ) ;
add _location ( div0 , file$3 , 8 , 2 , 167 ) ;
attr _dev ( div1 , "class" , "wgt-w" ) ;
add _location ( div1 , file$3 , 12 , 2 , 344 ) ;
attr _dev ( div2 , "class" , "crd-itm-psn" ) ;
add _location ( div2 , file$3 , 7 , 0 , 138 ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div2 , anchor ) ;
append _dev ( div2 , div0 ) ;
append _dev ( div0 , label ) ;
append _dev ( label , t0 ) ;
append _dev ( div2 , t1 ) ;
append _dev ( div2 , div1 ) ;
if ( if _block0 ) if _block0 . m ( div1 , null ) ;
append _dev ( div1 , t2 ) ;
if ( if _block1 ) if _block1 . m ( div1 , null ) ;
append _dev ( div1 , t3 ) ;
if ( if _block2 ) if _block2 . m ( div1 , null ) ;
append _dev ( div1 , t4 ) ;
if ( if _block3 ) if _block3 . m ( div1 , null ) ;
} ,
p : function update ( ctx , [ dirty ] ) {
if ( dirty & /*widget*/ 1 && t0 _value !== ( t0 _value = ( ! /*widget*/ ctx [ 0 ] . descr ? "" : /*widget*/ ctx [ 0 ] . descr ) + "" ) ) set _data _dev ( t0 , t0 _value ) ;
if ( /*widget*/ ctx [ 0 ] . type == "number" ) {
if ( if _block0 ) {
if _block0 . p ( ctx , dirty ) ;
} else {
if _block0 = create _if _block _3$1 ( ctx ) ;
if _block0 . c ( ) ;
if _block0 . m ( div1 , t2 ) ;
}
} else if ( if _block0 ) {
if _block0 . d ( 1 ) ;
if _block0 = null ;
}
if ( /*widget*/ ctx [ 0 ] . type == "text" ) {
if ( if _block1 ) {
if _block1 . p ( ctx , dirty ) ;
} else {
if _block1 = create _if _block _2$1 ( ctx ) ;
if _block1 . c ( ) ;
if _block1 . m ( div1 , t3 ) ;
}
} else if ( if _block1 ) {
if _block1 . d ( 1 ) ;
if _block1 = null ;
}
if ( /*widget*/ ctx [ 0 ] . type == "date" ) {
if ( if _block2 ) {
if _block2 . p ( ctx , dirty ) ;
} else {
if _block2 = create _if _block _1$1 ( ctx ) ;
if _block2 . c ( ) ;
if _block2 . m ( div1 , t4 ) ;
}
} else if ( if _block2 ) {
if _block2 . d ( 1 ) ;
if _block2 = null ;
}
if ( /*widget*/ ctx [ 0 ] . type == "time" ) {
if ( if _block3 ) {
if _block3 . p ( ctx , dirty ) ;
} else {
if _block3 = create _if _block$1 ( ctx ) ;
if _block3 . c ( ) ;
if _block3 . m ( div1 , null ) ;
}
} else if ( if _block3 ) {
if _block3 . d ( 1 ) ;
if _block3 = null ;
}
} ,
i : noop ,
o : noop ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div2 ) ;
if ( if _block0 ) if _block0 . d ( ) ;
if ( if _block1 ) if _block1 . d ( ) ;
if ( if _block2 ) if _block2 . d ( ) ;
if ( if _block3 ) if _block3 . d ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment$3 . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function instance$3 ( $$self , $$props , $$invalidate ) {
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'Input' , slots , [ ] ) ;
let { widget } = $$props ;
let { wsPushProp = ( ws , topic , status ) => {
} } = $$props ;
let { value } = $$props ;
value = value ;
const writable _props = [ 'widget' , 'wsPushProp' , 'value' ] ;
Object . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console . warn ( ` <Input> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
const change _handler = ( ) => ( $$invalidate ( 0 , widget [ "send" ] = true , widget ) , wsPushProp ( widget . ws , widget . topic , widget . status ) ) ;
function input _input _handler ( ) {
widget . status = to _number ( this . value ) ;
$$invalidate ( 0 , widget ) ;
}
const change _handler _1 = ( ) => ( $$invalidate ( 0 , widget [ "send" ] = true , widget ) , wsPushProp ( widget . ws , widget . topic , widget . status ) ) ;
function input _input _handler _1 ( ) {
widget . status = this . value ;
$$invalidate ( 0 , widget ) ;
}
const change _handler _2 = ( ) => ( $$invalidate ( 0 , widget [ "send" ] = true , widget ) , wsPushProp ( widget . ws , widget . topic , widget . status ) ) ;
function input _input _handler _2 ( ) {
widget . status = this . value ;
$$invalidate ( 0 , widget ) ;
}
const change _handler _3 = ( ) => ( $$invalidate ( 0 , widget [ "send" ] = true , widget ) , wsPushProp ( widget . ws , widget . topic , widget . status ) ) ;
function input _input _handler _3 ( ) {
widget . status = this . value ;
$$invalidate ( 0 , widget ) ;
}
$$self . $$set = $$props => {
if ( 'widget' in $$props ) $$invalidate ( 0 , widget = $$props . widget ) ;
if ( 'wsPushProp' in $$props ) $$invalidate ( 1 , wsPushProp = $$props . wsPushProp ) ;
if ( 'value' in $$props ) $$invalidate ( 2 , value = $$props . value ) ;
} ;
$$self . $capture _state = ( ) => ( { widget , wsPushProp , value } ) ;
$$self . $inject _state = $$props => {
if ( 'widget' in $$props ) $$invalidate ( 0 , widget = $$props . widget ) ;
if ( 'wsPushProp' in $$props ) $$invalidate ( 1 , wsPushProp = $$props . wsPushProp ) ;
if ( 'value' in $$props ) $$invalidate ( 2 , value = $$props . value ) ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
return [
widget ,
wsPushProp ,
value ,
change _handler ,
input _input _handler ,
change _handler _1 ,
input _input _handler _1 ,
change _handler _2 ,
input _input _handler _2 ,
change _handler _3 ,
input _input _handler _3
] ;
}
class Input extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance$3 , create _fragment$3 , safe _not _equal , { widget : 0 , wsPushProp : 1 , value : 2 } ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "Input" ,
options ,
id : create _fragment$3 . name
} ) ;
const { ctx } = this . $$ ;
const props = options . props || { } ;
if ( /*widget*/ ctx [ 0 ] === undefined && ! ( 'widget' in props ) ) {
console . warn ( "<Input> was created without expected prop 'widget'" ) ;
}
if ( /*value*/ ctx [ 2 ] === undefined && ! ( 'value' in props ) ) {
console . warn ( "<Input> was created without expected prop 'value'" ) ;
}
}
get widget ( ) {
throw new Error ( "<Input>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set widget ( value ) {
throw new Error ( "<Input>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get wsPushProp ( ) {
throw new Error ( "<Input>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set wsPushProp ( value ) {
throw new Error ( "<Input>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get value ( ) {
throw new Error ( "<Input>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set value ( value ) {
throw new Error ( "<Input>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
}
/* src\widgets\Toggle.svelte generated by Svelte v3.44.3 */
const file$2 = "src\\widgets\\Toggle.svelte" ;
function create _fragment$2 ( ctx ) {
let div5 ;
let div0 ;
let label0 ;
let t0 _value = ( ! /*widget*/ ctx [ 0 ] . descr ? "" : /*widget*/ ctx [ 0 ] . descr ) + "" ;
let t0 ;
let t1 ;
let div4 ;
let label1 ;
let div3 ;
let input ;
let input _id _value ;
let t2 ;
let div1 ;
let t3 ;
let div2 ;
let div2 _class _value ;
let label1 _for _value ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
div5 = element ( "div" ) ;
div0 = element ( "div" ) ;
label0 = element ( "label" ) ;
t0 = text ( t0 _value ) ;
t1 = space ( ) ;
div4 = element ( "div" ) ;
label1 = element ( "label" ) ;
div3 = element ( "div" ) ;
input = element ( "input" ) ;
t2 = space ( ) ;
div1 = element ( "div" ) ;
t3 = space ( ) ;
div2 = element ( "div" ) ;
attr _dev ( label0 , "class" , "wgt-dscr-stl" ) ;
add _location ( label0 , file$2 , 10 , 4 , 259 ) ;
attr _dev ( div0 , "class" , "wgt-dscr-w" ) ;
add _location ( div0 , file$2 , 8 , 2 , 167 ) ;
attr _dev ( input , "id" , input _id _value = /*widget*/ ctx [ 0 ] . topic ) ;
attr _dev ( input , "type" , "checkbox" ) ;
attr _dev ( input , "class" , "sr-only" ) ;
add _location ( input , file$2 , 15 , 8 , 471 ) ;
attr _dev ( div1 , "class" , "block bg-gray-600 w-10 h-6 rounded-full" ) ;
add _location ( div1 , file$2 , 16 , 8 , 663 ) ;
attr _dev ( div2 , "class" , div2 _class _value = "dot " + ( /*widget*/ ctx [ 0 ] [ 'send' ] == true
? 'bg-red-400'
: 'bg-white' ) + " absolute left-1 top-1 w-4 h-4 rounded-full transition" ) ;
add _location ( div2 , file$2 , 17 , 8 , 728 ) ;
attr _dev ( div3 , "class" , "relative" ) ;
add _location ( div3 , file$2 , 14 , 6 , 439 ) ;
attr _dev ( label1 , "for" , label1 _for _value = /*widget*/ ctx [ 0 ] . topic ) ;
attr _dev ( label1 , "class" , "items-center cursor-pointer" ) ;
add _location ( label1 , file$2 , 13 , 4 , 369 ) ;
attr _dev ( div4 , "class" , "wgt-w" ) ;
add _location ( div4 , file$2 , 12 , 2 , 344 ) ;
attr _dev ( div5 , "class" , "crd-itm-psn" ) ;
add _location ( div5 , file$2 , 7 , 0 , 138 ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div5 , anchor ) ;
append _dev ( div5 , div0 ) ;
append _dev ( div0 , label0 ) ;
append _dev ( label0 , t0 ) ;
append _dev ( div5 , t1 ) ;
append _dev ( div5 , div4 ) ;
append _dev ( div4 , label1 ) ;
append _dev ( label1 , div3 ) ;
append _dev ( div3 , input ) ;
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
append _dev ( div3 , t2 ) ;
append _dev ( div3 , div1 ) ;
append _dev ( div3 , t3 ) ;
append _dev ( div3 , div2 ) ;
if ( ! mounted ) {
dispose = [
listen _dev ( input , "change" , /*change_handler*/ ctx [ 3 ] , false , false , false ) ,
listen _dev ( input , "change" , /*input_change_handler*/ ctx [ 4 ] )
] ;
mounted = true ;
}
} ,
p : function update ( ctx , [ dirty ] ) {
if ( dirty & /*widget*/ 1 && t0 _value !== ( t0 _value = ( ! /*widget*/ ctx [ 0 ] . descr ? "" : /*widget*/ ctx [ 0 ] . descr ) + "" ) ) set _data _dev ( t0 , t0 _value ) ;
if ( dirty & /*widget*/ 1 && input _id _value !== ( input _id _value = /*widget*/ ctx [ 0 ] . topic ) ) {
attr _dev ( input , "id" , input _id _value ) ;
}
if ( dirty & /*widget*/ 1 ) {
set _input _value ( input , /*widget*/ ctx [ 0 ] . status ) ;
}
if ( dirty & /*widget*/ 1 && div2 _class _value !== ( div2 _class _value = "dot " + ( /*widget*/ ctx [ 0 ] [ 'send' ] == true
? 'bg-red-400'
: 'bg-white' ) + " absolute left-1 top-1 w-4 h-4 rounded-full transition" ) ) {
attr _dev ( div2 , "class" , div2 _class _value ) ;
}
if ( dirty & /*widget*/ 1 && label1 _for _value !== ( label1 _for _value = /*widget*/ ctx [ 0 ] . topic ) ) {
attr _dev ( label1 , "for" , label1 _for _value ) ;
}
} ,
i : noop ,
o : noop ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div5 ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment$2 . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function instance$2 ( $$self , $$props , $$invalidate ) {
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'Toggle' , slots , [ ] ) ;
let { widget } = $$props ;
let { value } = $$props ;
value = value ;
let { wsPushProp = ( ws , topic , status ) => {
} } = $$props ;
const writable _props = [ 'widget' , 'value' , 'wsPushProp' ] ;
Object . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console . warn ( ` <Toggle> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
const change _handler = ( ) => ( $$invalidate ( 0 , widget [ "send" ] = true , widget ) , wsPushProp ( widget . ws , widget . topic , widget . status ) ) ;
function input _change _handler ( ) {
widget . status = this . value ;
$$invalidate ( 0 , widget ) ;
}
$$self . $$set = $$props => {
if ( 'widget' in $$props ) $$invalidate ( 0 , widget = $$props . widget ) ;
if ( 'value' in $$props ) $$invalidate ( 2 , value = $$props . value ) ;
if ( 'wsPushProp' in $$props ) $$invalidate ( 1 , wsPushProp = $$props . wsPushProp ) ;
} ;
$$self . $capture _state = ( ) => ( { widget , value , wsPushProp } ) ;
$$self . $inject _state = $$props => {
if ( 'widget' in $$props ) $$invalidate ( 0 , widget = $$props . widget ) ;
if ( 'value' in $$props ) $$invalidate ( 2 , value = $$props . value ) ;
if ( 'wsPushProp' in $$props ) $$invalidate ( 1 , wsPushProp = $$props . wsPushProp ) ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
return [ widget , wsPushProp , value , change _handler , input _change _handler ] ;
}
class Toggle extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance$2 , create _fragment$2 , safe _not _equal , { widget : 0 , value : 2 , wsPushProp : 1 } ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "Toggle" ,
options ,
id : create _fragment$2 . name
} ) ;
const { ctx } = this . $$ ;
const props = options . props || { } ;
if ( /*widget*/ ctx [ 0 ] === undefined && ! ( 'widget' in props ) ) {
console . warn ( "<Toggle> was created without expected prop 'widget'" ) ;
}
if ( /*value*/ ctx [ 2 ] === undefined && ! ( 'value' in props ) ) {
console . warn ( "<Toggle> was created without expected prop 'value'" ) ;
}
}
get widget ( ) {
throw new Error ( "<Toggle>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set widget ( value ) {
throw new Error ( "<Toggle>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get value ( ) {
throw new Error ( "<Toggle>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set value ( value ) {
throw new Error ( "<Toggle>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get wsPushProp ( ) {
throw new Error ( "<Toggle>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set wsPushProp ( value ) {
throw new Error ( "<Toggle>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
}
/* src\widgets\Anydata.svelte generated by Svelte v3.44.3 */
const file$1 = "src\\widgets\\Anydata.svelte" ;
function create _fragment$1 ( ctx ) {
let div2 ;
let div0 ;
let label0 ;
let t0 _value = ( ! /*widget*/ ctx [ 0 ] . descr ? "" : /*widget*/ ctx [ 0 ] . descr ) + "" ;
let t0 ;
let t1 ;
let div1 ;
let label1 ;
let t2 _value = ( ! /*widget*/ ctx [ 0 ] . status
? ""
: /*widget*/ ctx [ 0 ] . status ) + "" ;
let t2 ;
let t3 ;
let label2 ;
let t4 ;
let t5 _value = ( ! /*widget*/ ctx [ 0 ] . after ? "" : /*widget*/ ctx [ 0 ] . after ) + "" ;
let t5 ;
const block = {
c : function create ( ) {
div2 = element ( "div" ) ;
div0 = element ( "div" ) ;
label0 = element ( "label" ) ;
t0 = text ( t0 _value ) ;
t1 = space ( ) ;
div1 = element ( "div" ) ;
label1 = element ( "label" ) ;
t2 = text ( t2 _value ) ;
t3 = space ( ) ;
label2 = element ( "label" ) ;
t4 = text ( " " ) ;
t5 = text ( t5 _value ) ;
attr _dev ( label0 , "class" , "wgt-dscr-stl" ) ;
add _location ( label0 , file$1 , 9 , 4 , 205 ) ;
attr _dev ( div0 , "class" , "wgt-dscr-w" ) ;
add _location ( div0 , file$1 , 7 , 2 , 113 ) ;
attr _dev ( label1 , "class" , "wgt-adt-stl" ) ;
add _location ( label1 , file$1 , 13 , 4 , 377 ) ;
attr _dev ( label2 , "class" , "wgt-adt-stl" ) ;
add _location ( label2 , file$1 , 15 , 4 , 517 ) ;
attr _dev ( div1 , "class" , "wgt-w" ) ;
add _location ( div1 , file$1 , 11 , 2 , 290 ) ;
attr _dev ( div2 , "class" , "crd-itm-psn" ) ;
add _location ( div2 , file$1 , 6 , 0 , 84 ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div2 , anchor ) ;
append _dev ( div2 , div0 ) ;
append _dev ( div0 , label0 ) ;
append _dev ( label0 , t0 ) ;
append _dev ( div2 , t1 ) ;
append _dev ( div2 , div1 ) ;
append _dev ( div1 , label1 ) ;
append _dev ( label1 , t2 ) ;
append _dev ( div1 , t3 ) ;
append _dev ( div1 , label2 ) ;
append _dev ( label2 , t4 ) ;
append _dev ( label2 , t5 ) ;
} ,
p : function update ( ctx , [ dirty ] ) {
if ( dirty & /*widget*/ 1 && t0 _value !== ( t0 _value = ( ! /*widget*/ ctx [ 0 ] . descr ? "" : /*widget*/ ctx [ 0 ] . descr ) + "" ) ) set _data _dev ( t0 , t0 _value ) ;
if ( dirty & /*widget*/ 1 && t2 _value !== ( t2 _value = ( ! /*widget*/ ctx [ 0 ] . status
? ""
: /*widget*/ ctx [ 0 ] . status ) + "" ) ) set _data _dev ( t2 , t2 _value ) ;
if ( dirty & /*widget*/ 1 && t5 _value !== ( t5 _value = ( ! /*widget*/ ctx [ 0 ] . after ? "" : /*widget*/ ctx [ 0 ] . after ) + "" ) ) set _data _dev ( t5 , t5 _value ) ;
} ,
i : noop ,
o : noop ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div2 ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment$1 . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function instance$1 ( $$self , $$props , $$invalidate ) {
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'Anydata' , slots , [ ] ) ;
let { widget } = $$props ;
let { value } = $$props ;
value = value ;
const writable _props = [ 'widget' , 'value' ] ;
Object . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console . warn ( ` <Anydata> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
$$self . $$set = $$props => {
if ( 'widget' in $$props ) $$invalidate ( 0 , widget = $$props . widget ) ;
if ( 'value' in $$props ) $$invalidate ( 1 , value = $$props . value ) ;
} ;
$$self . $capture _state = ( ) => ( { widget , value } ) ;
$$self . $inject _state = $$props => {
if ( 'widget' in $$props ) $$invalidate ( 0 , widget = $$props . widget ) ;
if ( 'value' in $$props ) $$invalidate ( 1 , value = $$props . value ) ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
return [ widget , value ] ;
}
class Anydata extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance$1 , create _fragment$1 , safe _not _equal , { widget : 0 , value : 1 } ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "Anydata" ,
options ,
id : create _fragment$1 . name
} ) ;
const { ctx } = this . $$ ;
const props = options . props || { } ;
if ( /*widget*/ ctx [ 0 ] === undefined && ! ( 'widget' in props ) ) {
console . warn ( "<Anydata> was created without expected prop 'widget'" ) ;
}
if ( /*value*/ ctx [ 1 ] === undefined && ! ( 'value' in props ) ) {
console . warn ( "<Anydata> was created without expected prop 'value'" ) ;
}
}
get widget ( ) {
throw new Error ( "<Anydata>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set widget ( value ) {
throw new Error ( "<Anydata>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
get value ( ) {
throw new Error ( "<Anydata>: Props cannot be read directly from the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
set value ( value ) {
throw new Error ( "<Anydata>: Props cannot be set directly on the component instance unless compiling with 'accessors: true' or '<svelte:options accessors/>'" ) ;
}
}
/* src\App.svelte generated by Svelte v3.44.3 */
const { Object : Object _1 , console : console _1 } = globals ;
const file = "src\\App.svelte" ;
function get _each _context ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 67 ] = list [ i ] ;
return child _ctx ;
}
function get _each _context _1 ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 70 ] = list [ i ] ;
child _ctx [ 72 ] = i ;
return child _ctx ;
}
function get _each _context _2 ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 73 ] = list [ i ] ;
child _ctx [ 74 ] = list ;
child _ctx [ 75 ] = i ;
return child _ctx ;
}
function get _each _context _3 ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 76 ] = list [ i ] [ 0 ] ;
child _ctx [ 77 ] = list [ i ] [ 1 ] ;
child _ctx [ 78 ] = list ;
child _ctx [ 79 ] = i ;
return child _ctx ;
}
function get _each _context _4 ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 80 ] = list [ i ] ;
return child _ctx ;
}
function get _each _context _5 ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 83 ] = list [ i ] ;
child _ctx [ 72 ] = i ;
return child _ctx ;
}
function get _each _context _6 ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 80 ] = list [ i ] ;
child _ctx [ 85 ] = list ;
child _ctx [ 72 ] = i ;
return child _ctx ;
}
function get _each _context _7 ( ctx , list , i ) {
const child _ctx = ctx . slice ( ) ;
child _ctx [ 67 ] = list [ i ] ;
return child _ctx ;
}
// (595:10) {#each deviceList as device}
function create _each _block _7 ( ctx ) {
let option ;
let t0 _value = /*device*/ ctx [ 67 ] . name + "" ;
let t0 ;
let t1 ;
let option _value _value ;
const block = {
c : function create ( ) {
option = element ( "option" ) ;
t0 = text ( t0 _value ) ;
t1 = space ( ) ;
option . _ _value = option _value _value = /*device*/ ctx [ 67 ] ;
option . value = option . _ _value ;
add _location ( option , file , 595 , 12 , 17217 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , option , anchor ) ;
append _dev ( option , t0 ) ;
append _dev ( option , t1 ) ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*deviceList*/ 512 && t0 _value !== ( t0 _value = /*device*/ ctx [ 67 ] . name + "" ) ) set _data _dev ( t0 , t0 _value ) ;
if ( dirty [ 0 ] & /*deviceList*/ 512 && option _value _value !== ( option _value _value = /*device*/ ctx [ 67 ] ) ) {
prop _dev ( option , "__value" , option _value _value ) ;
option . value = option . _ _value ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( option ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block _7 . name ,
type : "each" ,
source : "(595:10) {#each deviceList as device}" ,
ctx
} ) ;
return block ;
}
// (644:16) {#if widget.page === pagesName.page}
function create _if _block _3 ( ctx ) {
let t0 ;
let t1 ;
let if _block2 _anchor ;
let current ;
let if _block0 = /*widget*/ ctx [ 80 ] . widget === "input" && create _if _block _6 ( ctx ) ;
let if _block1 = /*widget*/ ctx [ 80 ] . widget === "toggle" && create _if _block _5 ( ctx ) ;
let if _block2 = /*widget*/ ctx [ 80 ] . widget === "anydata" && create _if _block _4 ( ctx ) ;
const block = {
c : function create ( ) {
if ( if _block0 ) if _block0 . c ( ) ;
t0 = space ( ) ;
if ( if _block1 ) if _block1 . c ( ) ;
t1 = space ( ) ;
if ( if _block2 ) if _block2 . c ( ) ;
if _block2 _anchor = empty ( ) ;
} ,
m : function mount ( target , anchor ) {
if ( if _block0 ) if _block0 . m ( target , anchor ) ;
insert _dev ( target , t0 , anchor ) ;
if ( if _block1 ) if _block1 . m ( target , anchor ) ;
insert _dev ( target , t1 , anchor ) ;
if ( if _block2 ) if _block2 . m ( target , anchor ) ;
insert _dev ( target , if _block2 _anchor , anchor ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
if ( /*widget*/ ctx [ 80 ] . widget === "input" ) {
if ( if _block0 ) {
if _block0 . p ( ctx , dirty ) ;
if ( dirty [ 0 ] & /*wigets*/ 8 ) {
transition _in ( if _block0 , 1 ) ;
}
} else {
if _block0 = create _if _block _6 ( ctx ) ;
if _block0 . c ( ) ;
transition _in ( if _block0 , 1 ) ;
if _block0 . m ( t0 . parentNode , t0 ) ;
}
} else if ( if _block0 ) {
group _outros ( ) ;
transition _out ( if _block0 , 1 , 1 , ( ) => {
if _block0 = null ;
} ) ;
check _outros ( ) ;
}
if ( /*widget*/ ctx [ 80 ] . widget === "toggle" ) {
if ( if _block1 ) {
if _block1 . p ( ctx , dirty ) ;
if ( dirty [ 0 ] & /*wigets*/ 8 ) {
transition _in ( if _block1 , 1 ) ;
}
} else {
if _block1 = create _if _block _5 ( ctx ) ;
if _block1 . c ( ) ;
transition _in ( if _block1 , 1 ) ;
if _block1 . m ( t1 . parentNode , t1 ) ;
}
} else if ( if _block1 ) {
group _outros ( ) ;
transition _out ( if _block1 , 1 , 1 , ( ) => {
if _block1 = null ;
} ) ;
check _outros ( ) ;
}
if ( /*widget*/ ctx [ 80 ] . widget === "anydata" ) {
if ( if _block2 ) {
if _block2 . p ( ctx , dirty ) ;
if ( dirty [ 0 ] & /*wigets*/ 8 ) {
transition _in ( if _block2 , 1 ) ;
}
} else {
if _block2 = create _if _block _4 ( ctx ) ;
if _block2 . c ( ) ;
transition _in ( if _block2 , 1 ) ;
if _block2 . m ( if _block2 _anchor . parentNode , if _block2 _anchor ) ;
}
} else if ( if _block2 ) {
group _outros ( ) ;
transition _out ( if _block2 , 1 , 1 , ( ) => {
if _block2 = null ;
} ) ;
check _outros ( ) ;
}
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( if _block0 ) ;
transition _in ( if _block1 ) ;
transition _in ( if _block2 ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( if _block0 ) ;
transition _out ( if _block1 ) ;
transition _out ( if _block2 ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( if _block0 ) if _block0 . d ( detaching ) ;
if ( detaching ) detach _dev ( t0 ) ;
if ( if _block1 ) if _block1 . d ( detaching ) ;
if ( detaching ) detach _dev ( t1 ) ;
if ( if _block2 ) if _block2 . d ( detaching ) ;
if ( detaching ) detach _dev ( if _block2 _anchor ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _3 . name ,
type : "if" ,
source : "(644:16) {#if widget.page === pagesName.page}" ,
ctx
} ) ;
return block ;
}
// (645:18) {#if widget.widget === "input"}
function create _if _block _6 ( ctx ) {
let input ;
let updating _value ;
let current ;
function input _value _binding ( value ) {
/*input_value_binding*/ ctx [ 23 ] ( value , /*widget*/ ctx [ 80 ] ) ;
}
let input _props = {
widget : /*widget*/ ctx [ 80 ] ,
wsPushProp : /*func*/ ctx [ 22 ]
} ;
if ( /*widget*/ ctx [ 80 ] . status !== void 0 ) {
input _props . value = /*widget*/ ctx [ 80 ] . status ;
}
input = new Input ( { props : input _props , $$inline : true } ) ;
binding _callbacks . push ( ( ) => bind ( input , 'value' , input _value _binding ) ) ;
const block = {
c : function create ( ) {
create _component ( input . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( input , target , anchor ) ;
current = true ;
} ,
p : function update ( new _ctx , dirty ) {
ctx = new _ctx ;
const input _changes = { } ;
if ( dirty [ 0 ] & /*wigets*/ 8 ) input _changes . widget = /*widget*/ ctx [ 80 ] ;
if ( ! updating _value && dirty [ 0 ] & /*wigets*/ 8 ) {
updating _value = true ;
input _changes . value = /*widget*/ ctx [ 80 ] . status ;
add _flush _callback ( ( ) => updating _value = false ) ;
}
input . $set ( input _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( input . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( input . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( input , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _6 . name ,
type : "if" ,
source : "(645:18) {#if widget.widget === \\\"input\\\"}" ,
ctx
} ) ;
return block ;
}
// (648:18) {#if widget.widget === "toggle"}
function create _if _block _5 ( ctx ) {
let toggle ;
let updating _value ;
let current ;
function toggle _value _binding ( value ) {
/*toggle_value_binding*/ ctx [ 25 ] ( value , /*widget*/ ctx [ 80 ] ) ;
}
let toggle _props = {
widget : /*widget*/ ctx [ 80 ] ,
wsPushProp : /*func_1*/ ctx [ 24 ]
} ;
if ( /*widget*/ ctx [ 80 ] . status !== void 0 ) {
toggle _props . value = /*widget*/ ctx [ 80 ] . status ;
}
toggle = new Toggle ( { props : toggle _props , $$inline : true } ) ;
binding _callbacks . push ( ( ) => bind ( toggle , 'value' , toggle _value _binding ) ) ;
const block = {
c : function create ( ) {
create _component ( toggle . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( toggle , target , anchor ) ;
current = true ;
} ,
p : function update ( new _ctx , dirty ) {
ctx = new _ctx ;
const toggle _changes = { } ;
if ( dirty [ 0 ] & /*wigets*/ 8 ) toggle _changes . widget = /*widget*/ ctx [ 80 ] ;
if ( ! updating _value && dirty [ 0 ] & /*wigets*/ 8 ) {
updating _value = true ;
toggle _changes . value = /*widget*/ ctx [ 80 ] . status ;
add _flush _callback ( ( ) => updating _value = false ) ;
}
toggle . $set ( toggle _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( toggle . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( toggle . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( toggle , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _5 . name ,
type : "if" ,
source : "(648:18) {#if widget.widget === \\\"toggle\\\"}" ,
ctx
} ) ;
return block ;
}
// (651:18) {#if widget.widget === "anydata"}
function create _if _block _4 ( ctx ) {
let anydata ;
let updating _value ;
let current ;
function anydata _value _binding ( value ) {
/*anydata_value_binding*/ ctx [ 26 ] ( value , /*widget*/ ctx [ 80 ] ) ;
}
let anydata _props = { widget : /*widget*/ ctx [ 80 ] } ;
if ( /*widget*/ ctx [ 80 ] . status !== void 0 ) {
anydata _props . value = /*widget*/ ctx [ 80 ] . status ;
}
anydata = new Anydata ( { props : anydata _props , $$inline : true } ) ;
binding _callbacks . push ( ( ) => bind ( anydata , 'value' , anydata _value _binding ) ) ;
const block = {
c : function create ( ) {
create _component ( anydata . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( anydata , target , anchor ) ;
current = true ;
} ,
p : function update ( new _ctx , dirty ) {
ctx = new _ctx ;
const anydata _changes = { } ;
if ( dirty [ 0 ] & /*wigets*/ 8 ) anydata _changes . widget = /*widget*/ ctx [ 80 ] ;
if ( ! updating _value && dirty [ 0 ] & /*wigets*/ 8 ) {
updating _value = true ;
anydata _changes . value = /*widget*/ ctx [ 80 ] . status ;
add _flush _callback ( ( ) => updating _value = false ) ;
}
anydata . $set ( anydata _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( anydata . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( anydata . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( anydata , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _4 . name ,
type : "if" ,
source : "(651:18) {#if widget.widget === \\\"anydata\\\"}" ,
ctx
} ) ;
return block ;
}
// (643:14) {#each wigets as widget, i}
function create _each _block _6 ( ctx ) {
let if _block _anchor ;
let current ;
let if _block = /*widget*/ ctx [ 80 ] . page === /*pagesName*/ ctx [ 83 ] . page && create _if _block _3 ( ctx ) ;
const block = {
c : function create ( ) {
if ( if _block ) if _block . c ( ) ;
if _block _anchor = empty ( ) ;
} ,
m : function mount ( target , anchor ) {
if ( if _block ) if _block . m ( target , anchor ) ;
insert _dev ( target , if _block _anchor , anchor ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
if ( /*widget*/ ctx [ 80 ] . page === /*pagesName*/ ctx [ 83 ] . page ) {
if ( if _block ) {
if _block . p ( ctx , dirty ) ;
if ( dirty [ 0 ] & /*wigets, pages*/ 24 ) {
transition _in ( if _block , 1 ) ;
}
} else {
if _block = create _if _block _3 ( ctx ) ;
if _block . c ( ) ;
transition _in ( if _block , 1 ) ;
if _block . m ( if _block _anchor . parentNode , if _block _anchor ) ;
}
} else if ( if _block ) {
group _outros ( ) ;
transition _out ( if _block , 1 , 1 , ( ) => {
if _block = null ;
} ) ;
check _outros ( ) ;
}
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( if _block ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( if _block ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( if _block ) if _block . d ( detaching ) ;
if ( detaching ) detach _dev ( if _block _anchor ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block _6 . name ,
type : "each" ,
source : "(643:14) {#each wigets as widget, i}" ,
ctx
} ) ;
return block ;
}
// (642:12) <Card title={pagesName.page}>
function create _default _slot _12 ( ctx ) {
let each _1 _anchor ;
let current ;
let each _value _6 = /*wigets*/ ctx [ 3 ] ;
validate _each _argument ( each _value _6 ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value _6 . length ; i += 1 ) {
each _blocks [ i ] = create _each _block _6 ( get _each _context _6 ( ctx , each _value _6 , i ) ) ;
}
const out = i => transition _out ( each _blocks [ i ] , 1 , 1 , ( ) => {
each _blocks [ i ] = null ;
} ) ;
const block = {
c : function create ( ) {
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
each _1 _anchor = empty ( ) ;
} ,
m : function mount ( target , anchor ) {
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( target , anchor ) ;
}
insert _dev ( target , each _1 _anchor , anchor ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*wigets, wsPush, pages*/ 16408 ) {
each _value _6 = /*wigets*/ ctx [ 3 ] ;
validate _each _argument ( each _value _6 ) ;
let i ;
for ( i = 0 ; i < each _value _6 . length ; i += 1 ) {
const child _ctx = get _each _context _6 ( ctx , each _value _6 , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
transition _in ( each _blocks [ i ] , 1 ) ;
} else {
each _blocks [ i ] = create _each _block _6 ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
transition _in ( each _blocks [ i ] , 1 ) ;
each _blocks [ i ] . m ( each _1 _anchor . parentNode , each _1 _anchor ) ;
}
}
group _outros ( ) ;
for ( i = each _value _6 . length ; i < each _blocks . length ; i += 1 ) {
out ( i ) ;
}
check _outros ( ) ;
}
} ,
i : function intro ( local ) {
if ( current ) return ;
for ( let i = 0 ; i < each _value _6 . length ; i += 1 ) {
transition _in ( each _blocks [ i ] ) ;
}
current = true ;
} ,
o : function outro ( local ) {
each _blocks = each _blocks . filter ( Boolean ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
transition _out ( each _blocks [ i ] ) ;
}
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _each ( each _blocks , detaching ) ;
if ( detaching ) detach _dev ( each _1 _anchor ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _12 . name ,
type : "slot" ,
source : "(642:12) <Card title={pagesName.page}>" ,
ctx
} ) ;
return block ;
}
// (641:10) {#each pages as pagesName, i}
function create _each _block _5 ( ctx ) {
let card ;
let current ;
card = new Card ( {
props : {
title : /*pagesName*/ ctx [ 83 ] . page ,
$$slots : { default : [ create _default _slot _12 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
create _component ( card . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( card , target , anchor ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
const card _changes = { } ;
if ( dirty [ 0 ] & /*pages*/ 16 ) card _changes . title = /*pagesName*/ ctx [ 83 ] . page ;
if ( dirty [ 0 ] & /*wigets, pages*/ 24 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
card _changes . $$scope = { dirty , ctx } ;
}
card . $set ( card _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( card . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( card . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( card , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block _5 . name ,
type : "each" ,
source : "(641:10) {#each pages as pagesName, i}" ,
ctx
} ) ;
return block ;
}
// (659:10) <Card title="Редактор JSON">
function create _default _slot _11 ( ctx ) {
let textarea ;
let textarea _value _value ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
textarea = element ( "textarea" ) ;
attr _dev ( textarea , "rows" , "10" ) ;
attr _dev ( textarea , "class" , "jsn-ipt w-full" ) ;
attr _dev ( textarea , "id" , "text1" ) ;
textarea . value = textarea _value _value = /*syntaxHighlight*/ ctx [ 18 ] ( JSON . stringify ( /*wigets*/ ctx [ 3 ] ) ) ;
add _location ( textarea , file , 659 , 12 , 19534 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , textarea , anchor ) ;
if ( ! mounted ) {
dispose = listen _dev ( textarea , "input" , /*wigetsUpdate*/ ctx [ 15 ] , false , false , false ) ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*wigets*/ 8 && textarea _value _value !== ( textarea _value _value = /*syntaxHighlight*/ ctx [ 18 ] ( JSON . stringify ( /*wigets*/ ctx [ 3 ] ) ) ) ) {
prop _dev ( textarea , "value" , textarea _value _value ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( textarea ) ;
mounted = false ;
dispose ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _11 . name ,
type : "slot" ,
source : "(659:10) <Card title=\\\"Редактор JSON\\\">" ,
ctx
} ) ;
return block ;
}
// (639:6) <Route path="/">
function create _default _slot _10 ( ctx ) {
let div ;
let t ;
let card ;
let current ;
let each _value _5 = /*pages*/ ctx [ 4 ] ;
validate _each _argument ( each _value _5 ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value _5 . length ; i += 1 ) {
each _blocks [ i ] = create _each _block _5 ( get _each _context _5 ( ctx , each _value _5 , i ) ) ;
}
const out = i => transition _out ( each _blocks [ i ] , 1 , 1 , ( ) => {
each _blocks [ i ] = null ;
} ) ;
card = new Card ( {
props : {
title : "Редактор JSON" ,
$$slots : { default : [ create _default _slot _11 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
div = element ( "div" ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
t = space ( ) ;
create _component ( card . $$ . fragment ) ;
attr _dev ( div , "class" , "crd-grd" ) ;
add _location ( div , file , 639 , 8 , 18610 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div , anchor ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( div , null ) ;
}
append _dev ( div , t ) ;
mount _component ( card , div , null ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*pages, wigets, wsPush*/ 16408 ) {
each _value _5 = /*pages*/ ctx [ 4 ] ;
validate _each _argument ( each _value _5 ) ;
let i ;
for ( i = 0 ; i < each _value _5 . length ; i += 1 ) {
const child _ctx = get _each _context _5 ( ctx , each _value _5 , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
transition _in ( each _blocks [ i ] , 1 ) ;
} else {
each _blocks [ i ] = create _each _block _5 ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
transition _in ( each _blocks [ i ] , 1 ) ;
each _blocks [ i ] . m ( div , t ) ;
}
}
group _outros ( ) ;
for ( i = each _value _5 . length ; i < each _blocks . length ; i += 1 ) {
out ( i ) ;
}
check _outros ( ) ;
}
const card _changes = { } ;
if ( dirty [ 0 ] & /*wigets*/ 8 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
card _changes . $$scope = { dirty , ctx } ;
}
card . $set ( card _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
for ( let i = 0 ; i < each _value _5 . length ; i += 1 ) {
transition _in ( each _blocks [ i ] ) ;
}
transition _in ( card . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
each _blocks = each _blocks . filter ( Boolean ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
transition _out ( each _blocks [ i ] ) ;
}
transition _out ( card . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div ) ;
destroy _each ( each _blocks , detaching ) ;
destroy _component ( card ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _10 . name ,
type : "slot" ,
source : "(639:6) <Route path=\\\"/\\\">" ,
ctx
} ) ;
return block ;
}
// (688:24) {#each widgetCollection as widget}
function create _each _block _4 ( ctx ) {
let option ;
let t0 _value = /*widget*/ ctx [ 80 ] . val + "" ;
let t0 ;
let t1 ;
let option _value _value ;
const block = {
c : function create ( ) {
option = element ( "option" ) ;
t0 = text ( t0 _value ) ;
t1 = space ( ) ;
option . _ _value = option _value _value = /*widget*/ ctx [ 80 ] . id ;
option . value = option . _ _value ;
add _location ( option , file , 688 , 26 , 21000 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , option , anchor ) ;
append _dev ( option , t0 ) ;
append _dev ( option , t1 ) ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*widgetCollection*/ 64 && t0 _value !== ( t0 _value = /*widget*/ ctx [ 80 ] . val + "" ) ) set _data _dev ( t0 , t0 _value ) ;
if ( dirty [ 0 ] & /*widgetCollection*/ 64 && option _value _value !== ( option _value _value = /*widget*/ ctx [ 80 ] . id ) ) {
prop _dev ( option , "__value" , option _value _value ) ;
option . value = option . _ _value ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( option ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block _4 . name ,
type : "each" ,
source : "(688:24) {#each widgetCollection as widget}" ,
ctx
} ) ;
return block ;
}
// (699:18) {#if !hideAllSubParams}
function create _if _block _1 ( ctx ) {
let t ;
let each _value _3 = Object . entries ( /*element*/ ctx [ 73 ] ) ;
validate _each _argument ( each _value _3 ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value _3 . length ; i += 1 ) {
each _blocks [ i ] = create _each _block _3 ( get _each _context _3 ( ctx , each _value _3 , i ) ) ;
}
const block = {
c : function create ( ) {
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
t = space ( ) ;
} ,
m : function mount ( target , anchor ) {
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( target , anchor ) ;
}
insert _dev ( target , t , anchor ) ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*configJson*/ 32 ) {
each _value _3 = Object . entries ( /*element*/ ctx [ 73 ] ) ;
validate _each _argument ( each _value _3 ) ;
let i ;
for ( i = 0 ; i < each _value _3 . length ; i += 1 ) {
const child _ctx = get _each _context _3 ( ctx , each _value _3 , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
} else {
each _blocks [ i ] = create _each _block _3 ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
each _blocks [ i ] . m ( t . parentNode , t ) ;
}
}
for ( ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . d ( 1 ) ;
}
each _blocks . length = each _value _3 . length ;
}
} ,
d : function destroy ( detaching ) {
destroy _each ( each _blocks , detaching ) ;
if ( detaching ) detach _dev ( t ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _1 . name ,
type : "if" ,
source : "(699:18) {#if !hideAllSubParams}" ,
ctx
} ) ;
return block ;
}
// (701:22) {#if key != "type" && key != "subtype" && key != "id" && key != "widget" && key != "page" && key != "descr"}
function create _if _block _2 ( ctx ) {
let tr ;
let td0 ;
let t0 ;
let td1 ;
let t1 ;
let td2 ;
let t2 ;
let td3 ;
let p ;
let t3 _value = /*key*/ ctx [ 76 ] + "" ;
let t3 ;
let t4 ;
let td4 ;
let input ;
let mounted ;
let dispose ;
function input _input _handler ( ) {
/*input_input_handler*/ ctx [ 32 ] . call ( input , /*key*/ ctx [ 76 ] , /*each_value_2*/ ctx [ 74 ] , /*element_index*/ ctx [ 75 ] ) ;
}
const block = {
c : function create ( ) {
tr = element ( "tr" ) ;
td0 = element ( "td" ) ;
t0 = space ( ) ;
td1 = element ( "td" ) ;
t1 = space ( ) ;
td2 = element ( "td" ) ;
t2 = space ( ) ;
td3 = element ( "td" ) ;
p = element ( "p" ) ;
t3 = text ( t3 _value ) ;
t4 = space ( ) ;
td4 = element ( "td" ) ;
input = element ( "input" ) ;
add _location ( td0 , file , 702 , 26 , 22475 ) ;
add _location ( td1 , file , 703 , 26 , 22509 ) ;
add _location ( td2 , file , 704 , 26 , 22543 ) ;
attr _dev ( p , "class" , "tbl-s-txt" ) ;
add _location ( p , file , 706 , 28 , 22640 ) ;
attr _dev ( td3 , "class" , "tbl-s-bdy text-right" ) ;
add _location ( td3 , file , 705 , 26 , 22577 ) ;
attr _dev ( input , "class" , "tbl-s-ipt w-full" ) ;
attr _dev ( input , "type" , "text" ) ;
add _location ( input , file , 709 , 28 , 22795 ) ;
attr _dev ( td4 , "class" , "tbl-s-bdy text-center" ) ;
add _location ( td4 , file , 708 , 26 , 22731 ) ;
attr _dev ( tr , "class" , "tbl-txt-sz tbl-txt-p" ) ;
add _location ( tr , file , 701 , 24 , 22414 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , tr , anchor ) ;
append _dev ( tr , td0 ) ;
append _dev ( tr , t0 ) ;
append _dev ( tr , td1 ) ;
append _dev ( tr , t1 ) ;
append _dev ( tr , td2 ) ;
append _dev ( tr , t2 ) ;
append _dev ( tr , td3 ) ;
append _dev ( td3 , p ) ;
append _dev ( p , t3 ) ;
append _dev ( tr , t4 ) ;
append _dev ( tr , td4 ) ;
append _dev ( td4 , input ) ;
set _input _value ( input , /*element*/ ctx [ 73 ] [ /*key*/ ctx [ 76 ] ] ) ;
if ( ! mounted ) {
dispose = listen _dev ( input , "input" , input _input _handler ) ;
mounted = true ;
}
} ,
p : function update ( new _ctx , dirty ) {
ctx = new _ctx ;
if ( dirty [ 0 ] & /*configJson*/ 32 && t3 _value !== ( t3 _value = /*key*/ ctx [ 76 ] + "" ) ) set _data _dev ( t3 , t3 _value ) ;
if ( dirty [ 0 ] & /*configJson, widgetCollection*/ 96 && input . value !== /*element*/ ctx [ 73 ] [ /*key*/ ctx [ 76 ] ] ) {
set _input _value ( input , /*element*/ ctx [ 73 ] [ /*key*/ ctx [ 76 ] ] ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( tr ) ;
mounted = false ;
dispose ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block _2 . name ,
type : "if" ,
source : "(701:22) {#if key != \\\"type\\\" && key != \\\"subtype\\\" && key != \\\"id\\\" && key != \\\"widget\\\" && key != \\\"page\\\" && key != \\\"descr\\\"}" ,
ctx
} ) ;
return block ;
}
// (700:20) {#each Object.entries(element) as [key, param]}
function create _each _block _3 ( ctx ) {
let if _block _anchor ;
let if _block = /*key*/ ctx [ 76 ] != "type" && /*key*/ ctx [ 76 ] != "subtype" && /*key*/ ctx [ 76 ] != "id" && /*key*/ ctx [ 76 ] != "widget" && /*key*/ ctx [ 76 ] != "page" && /*key*/ ctx [ 76 ] != "descr" && create _if _block _2 ( ctx ) ;
const block = {
c : function create ( ) {
if ( if _block ) if _block . c ( ) ;
if _block _anchor = empty ( ) ;
} ,
m : function mount ( target , anchor ) {
if ( if _block ) if _block . m ( target , anchor ) ;
insert _dev ( target , if _block _anchor , anchor ) ;
} ,
p : function update ( ctx , dirty ) {
if ( /*key*/ ctx [ 76 ] != "type" && /*key*/ ctx [ 76 ] != "subtype" && /*key*/ ctx [ 76 ] != "id" && /*key*/ ctx [ 76 ] != "widget" && /*key*/ ctx [ 76 ] != "page" && /*key*/ ctx [ 76 ] != "descr" ) {
if ( if _block ) {
if _block . p ( ctx , dirty ) ;
} else {
if _block = create _if _block _2 ( ctx ) ;
if _block . c ( ) ;
if _block . m ( if _block _anchor . parentNode , if _block _anchor ) ;
}
} else if ( if _block ) {
if _block . d ( 1 ) ;
if _block = null ;
}
} ,
d : function destroy ( detaching ) {
if ( if _block ) if _block . d ( detaching ) ;
if ( detaching ) detach _dev ( if _block _anchor ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block _3 . name ,
type : "each" ,
source : "(700:20) {#each Object.entries(element) as [key, param]}" ,
ctx
} ) ;
return block ;
}
// (682:16) {#each configJson as element}
function create _each _block _2 ( ctx ) {
let tr ;
let td0 ;
let t0 _value = /*element*/ ctx [ 73 ] . subtype + "" ;
let t0 ;
let t1 ;
let td1 ;
let input0 ;
let t2 ;
let td2 ;
let select ;
let t3 ;
let td3 ;
let input1 ;
let t4 ;
let td4 ;
let input2 ;
let t5 ;
let td5 ;
let svg0 ;
let path ;
let circle0 ;
let circle1 ;
let circle2 ;
let t6 ;
let td6 ;
let svg1 ;
let line0 ;
let line1 ;
let t7 ;
let if _block _anchor ;
let mounted ;
let dispose ;
function input0 _input _handler ( ) {
/*input0_input_handler*/ ctx [ 27 ] . call ( input0 , /*each_value_2*/ ctx [ 74 ] , /*element_index*/ ctx [ 75 ] ) ;
}
let each _value _4 = /*widgetCollection*/ ctx [ 6 ] ;
validate _each _argument ( each _value _4 ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value _4 . length ; i += 1 ) {
each _blocks [ i ] = create _each _block _4 ( get _each _context _4 ( ctx , each _value _4 , i ) ) ;
}
function select _change _handler _1 ( ) {
/*select_change_handler_1*/ ctx [ 28 ] . call ( select , /*each_value_2*/ ctx [ 74 ] , /*element_index*/ ctx [ 75 ] ) ;
}
function input1 _input _handler ( ) {
/*input1_input_handler*/ ctx [ 29 ] . call ( input1 , /*each_value_2*/ ctx [ 74 ] , /*element_index*/ ctx [ 75 ] ) ;
}
function input2 _input _handler ( ) {
/*input2_input_handler*/ ctx [ 30 ] . call ( input2 , /*each_value_2*/ ctx [ 74 ] , /*element_index*/ ctx [ 75 ] ) ;
}
let if _block = ! /*hideAllSubParams*/ ctx [ 2 ] && create _if _block _1 ( ctx ) ;
const block = {
c : function create ( ) {
tr = element ( "tr" ) ;
td0 = element ( "td" ) ;
t0 = text ( t0 _value ) ;
t1 = space ( ) ;
td1 = element ( "td" ) ;
input0 = element ( "input" ) ;
t2 = space ( ) ;
td2 = element ( "td" ) ;
select = element ( "select" ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
t3 = space ( ) ;
td3 = element ( "td" ) ;
input1 = element ( "input" ) ;
t4 = space ( ) ;
td4 = element ( "td" ) ;
input2 = element ( "input" ) ;
t5 = space ( ) ;
td5 = element ( "td" ) ;
svg0 = svg _element ( "svg" ) ;
path = svg _element ( "path" ) ;
circle0 = svg _element ( "circle" ) ;
circle1 = svg _element ( "circle" ) ;
circle2 = svg _element ( "circle" ) ;
t6 = space ( ) ;
td6 = element ( "td" ) ;
svg1 = svg _element ( "svg" ) ;
line0 = svg _element ( "line" ) ;
line1 = svg _element ( "line" ) ;
t7 = space ( ) ;
if ( if _block ) if _block . c ( ) ;
if _block _anchor = empty ( ) ;
attr _dev ( td0 , "class" , "tbl-bdy" ) ;
add _location ( td0 , file , 683 , 20 , 20630 ) ;
attr _dev ( input0 , "class" , "tbl-ipt w-full" ) ;
attr _dev ( input0 , "type" , "text" ) ;
add _location ( input0 , file , 684 , 40 , 20714 ) ;
attr _dev ( td1 , "class" , "tbl-bdy" ) ;
add _location ( td1 , file , 684 , 20 , 20694 ) ;
attr _dev ( select , "class" , "tbl-ipt w-full" ) ;
if ( /*element*/ ctx [ 73 ] . widget === void 0 ) add _render _callback ( select _change _handler _1 ) ;
add _location ( select , file , 686 , 23 , 20853 ) ;
attr _dev ( td2 , "class" , "tbl-bdy" ) ;
add _location ( td2 , file , 685 , 20 , 20809 ) ;
attr _dev ( input1 , "class" , "tbl-ipt w-full" ) ;
attr _dev ( input1 , "type" , "text" ) ;
add _location ( input1 , file , 693 , 40 , 21218 ) ;
attr _dev ( td3 , "class" , "tbl-bdy" ) ;
add _location ( td3 , file , 693 , 20 , 21198 ) ;
attr _dev ( input2 , "class" , "tbl-ipt w-full" ) ;
attr _dev ( input2 , "type" , "text" ) ;
add _location ( input2 , file , 694 , 40 , 21335 ) ;
attr _dev ( td4 , "class" , "tbl-bdy" ) ;
add _location ( td4 , file , 694 , 20 , 21315 ) ;
attr _dev ( path , "stroke" , "none" ) ;
attr _dev ( path , "d" , "M0 0h24v24H0z" ) ;
add _location ( path , file , 695 , 274 , 21687 ) ;
attr _dev ( circle0 , "cx" , "5" ) ;
attr _dev ( circle0 , "cy" , "12" ) ;
attr _dev ( circle0 , "r" , "1" ) ;
add _location ( circle0 , file , 695 , 315 , 21728 ) ;
attr _dev ( circle1 , "cx" , "12" ) ;
attr _dev ( circle1 , "cy" , "12" ) ;
attr _dev ( circle1 , "r" , "1" ) ;
add _location ( circle1 , file , 695 , 347 , 21760 ) ;
attr _dev ( circle2 , "cx" , "19" ) ;
attr _dev ( circle2 , "cy" , "12" ) ;
attr _dev ( circle2 , "r" , "1" ) ;
add _location ( circle2 , file , 695 , 380 , 21793 ) ;
attr _dev ( svg0 , "class" , "h-6 w-6 text-green-400" ) ;
attr _dev ( svg0 , "width" , "24" ) ;
attr _dev ( svg0 , "height" , "24" ) ;
attr _dev ( svg0 , "viewBox" , "0 0 24 24" ) ;
attr _dev ( svg0 , "stroke-width" , "2" ) ;
attr _dev ( svg0 , "stroke" , "currentColor" ) ;
attr _dev ( svg0 , "fill" , "none" ) ;
attr _dev ( svg0 , "stroke-linecap" , "round" ) ;
attr _dev ( svg0 , "stroke-linejoin" , "round" ) ;
add _location ( svg0 , file , 695 , 40 , 21453 ) ;
attr _dev ( td5 , "class" , "tbl-bdy" ) ;
add _location ( td5 , file , 695 , 20 , 21433 ) ;
attr _dev ( line0 , "x1" , "18" ) ;
attr _dev ( line0 , "y1" , "6" ) ;
attr _dev ( line0 , "x2" , "6" ) ;
attr _dev ( line0 , "y2" , "18" ) ;
add _location ( line0 , file , 696 , 193 , 22031 ) ;
attr _dev ( line1 , "x1" , "6" ) ;
attr _dev ( line1 , "y1" , "6" ) ;
attr _dev ( line1 , "x2" , "18" ) ;
attr _dev ( line1 , "y2" , "18" ) ;
add _location ( line1 , file , 696 , 232 , 22070 ) ;
attr _dev ( svg1 , "class" , "h-6 w-6 text-red-400" ) ;
attr _dev ( svg1 , "viewBox" , "0 0 24 24" ) ;
attr _dev ( svg1 , "fill" , "none" ) ;
attr _dev ( svg1 , "stroke" , "currentColor" ) ;
attr _dev ( svg1 , "stroke-width" , "2" ) ;
attr _dev ( svg1 , "stroke-linecap" , "round" ) ;
attr _dev ( svg1 , "stroke-linejoin" , "round" ) ;
add _location ( svg1 , file , 696 , 40 , 21878 ) ;
attr _dev ( td6 , "class" , "tbl-bdy" ) ;
add _location ( td6 , file , 696 , 20 , 21858 ) ;
attr _dev ( tr , "class" , "tbl-txt-sz tbl-txt-p" ) ;
add _location ( tr , file , 682 , 18 , 20575 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , tr , anchor ) ;
append _dev ( tr , td0 ) ;
append _dev ( td0 , t0 ) ;
append _dev ( tr , t1 ) ;
append _dev ( tr , td1 ) ;
append _dev ( td1 , input0 ) ;
set _input _value ( input0 , /*element*/ ctx [ 73 ] . id ) ;
append _dev ( tr , t2 ) ;
append _dev ( tr , td2 ) ;
append _dev ( td2 , select ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( select , null ) ;
}
select _option ( select , /*element*/ ctx [ 73 ] . widget ) ;
append _dev ( tr , t3 ) ;
append _dev ( tr , td3 ) ;
append _dev ( td3 , input1 ) ;
set _input _value ( input1 , /*element*/ ctx [ 73 ] . page ) ;
append _dev ( tr , t4 ) ;
append _dev ( tr , td4 ) ;
append _dev ( td4 , input2 ) ;
set _input _value ( input2 , /*element*/ ctx [ 73 ] . descr ) ;
append _dev ( tr , t5 ) ;
append _dev ( tr , td5 ) ;
append _dev ( td5 , svg0 ) ;
append _dev ( svg0 , path ) ;
append _dev ( svg0 , circle0 ) ;
append _dev ( svg0 , circle1 ) ;
append _dev ( svg0 , circle2 ) ;
append _dev ( tr , t6 ) ;
append _dev ( tr , td6 ) ;
append _dev ( td6 , svg1 ) ;
append _dev ( svg1 , line0 ) ;
append _dev ( svg1 , line1 ) ;
insert _dev ( target , t7 , anchor ) ;
if ( if _block ) if _block . m ( target , anchor ) ;
insert _dev ( target , if _block _anchor , anchor ) ;
if ( ! mounted ) {
dispose = [
listen _dev ( input0 , "input" , input0 _input _handler ) ,
listen _dev ( select , "change" , select _change _handler _1 ) ,
listen _dev ( input1 , "input" , input1 _input _handler ) ,
listen _dev ( input2 , "input" , input2 _input _handler ) ,
listen _dev ( svg0 , "click" , /*click_handler*/ ctx [ 31 ] , false , false , false )
] ;
mounted = true ;
}
} ,
p : function update ( new _ctx , dirty ) {
ctx = new _ctx ;
if ( dirty [ 0 ] & /*configJson*/ 32 && t0 _value !== ( t0 _value = /*element*/ ctx [ 73 ] . subtype + "" ) ) set _data _dev ( t0 , t0 _value ) ;
if ( dirty [ 0 ] & /*configJson, widgetCollection*/ 96 && input0 . value !== /*element*/ ctx [ 73 ] . id ) {
set _input _value ( input0 , /*element*/ ctx [ 73 ] . id ) ;
}
if ( dirty [ 0 ] & /*widgetCollection*/ 64 ) {
each _value _4 = /*widgetCollection*/ ctx [ 6 ] ;
validate _each _argument ( each _value _4 ) ;
let i ;
for ( i = 0 ; i < each _value _4 . length ; i += 1 ) {
const child _ctx = get _each _context _4 ( ctx , each _value _4 , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
} else {
each _blocks [ i ] = create _each _block _4 ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
each _blocks [ i ] . m ( select , null ) ;
}
}
for ( ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . d ( 1 ) ;
}
each _blocks . length = each _value _4 . length ;
}
if ( dirty [ 0 ] & /*configJson, widgetCollection*/ 96 ) {
select _option ( select , /*element*/ ctx [ 73 ] . widget ) ;
}
if ( dirty [ 0 ] & /*configJson, widgetCollection*/ 96 && input1 . value !== /*element*/ ctx [ 73 ] . page ) {
set _input _value ( input1 , /*element*/ ctx [ 73 ] . page ) ;
}
if ( dirty [ 0 ] & /*configJson, widgetCollection*/ 96 && input2 . value !== /*element*/ ctx [ 73 ] . descr ) {
set _input _value ( input2 , /*element*/ ctx [ 73 ] . descr ) ;
}
if ( ! /*hideAllSubParams*/ ctx [ 2 ] ) {
if ( if _block ) {
if _block . p ( ctx , dirty ) ;
} else {
if _block = create _if _block _1 ( ctx ) ;
if _block . c ( ) ;
if _block . m ( if _block _anchor . parentNode , if _block _anchor ) ;
}
} else if ( if _block ) {
if _block . d ( 1 ) ;
if _block = null ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( tr ) ;
destroy _each ( each _blocks , detaching ) ;
if ( detaching ) detach _dev ( t7 ) ;
if ( if _block ) if _block . d ( detaching ) ;
if ( detaching ) detach _dev ( if _block _anchor ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block _2 . name ,
type : "each" ,
source : "(682:16) {#each configJson as element}" ,
ctx
} ) ;
return block ;
}
// (666:10) <Card>
function create _default _slot _9 ( ctx ) {
let table ;
let thead ;
let tr ;
let th0 ;
let t1 ;
let th1 ;
let t3 ;
let th2 ;
let t5 ;
let th3 ;
let t7 ;
let th4 ;
let t9 ;
let th5 ;
let t10 ;
let th6 ;
let t11 ;
let tbody ;
let t12 ;
let button ;
let mounted ;
let dispose ;
let each _value _2 = /*configJson*/ ctx [ 5 ] ;
validate _each _argument ( each _value _2 ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value _2 . length ; i += 1 ) {
each _blocks [ i ] = create _each _block _2 ( get _each _context _2 ( ctx , each _value _2 , i ) ) ;
}
const block = {
c : function create ( ) {
table = element ( "table" ) ;
thead = element ( "thead" ) ;
tr = element ( "tr" ) ;
th0 = element ( "th" ) ;
th0 . textContent = "Тип" ;
t1 = space ( ) ;
th1 = element ( "th" ) ;
th1 . textContent = "Id" ;
t3 = space ( ) ;
th2 = element ( "th" ) ;
th2 . textContent = "Виджет" ;
t5 = space ( ) ;
th3 = element ( "th" ) ;
th3 . textContent = "Вкладка" ;
t7 = space ( ) ;
th4 = element ( "th" ) ;
th4 . textContent = "Название" ;
t9 = space ( ) ;
th5 = element ( "th" ) ;
t10 = space ( ) ;
th6 = element ( "th" ) ;
t11 = space ( ) ;
tbody = element ( "tbody" ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
t12 = space ( ) ;
button = element ( "button" ) ;
button . textContent = ` ${ "Сохранить" } ` ;
attr _dev ( th0 , "class" , "tbl-hd" ) ;
add _location ( th0 , file , 671 , 18 , 20105 ) ;
attr _dev ( th1 , "class" , "tbl-hd" ) ;
add _location ( th1 , file , 672 , 18 , 20152 ) ;
attr _dev ( th2 , "class" , "tbl-hd" ) ;
add _location ( th2 , file , 673 , 18 , 20198 ) ;
attr _dev ( th3 , "class" , "tbl-hd" ) ;
add _location ( th3 , file , 674 , 18 , 20248 ) ;
attr _dev ( th4 , "class" , "tbl-hd" ) ;
add _location ( th4 , file , 675 , 18 , 20299 ) ;
attr _dev ( th5 , "class" , "tbl-hd w-7" ) ;
add _location ( th5 , file , 676 , 18 , 20351 ) ;
attr _dev ( th6 , "class" , "tbl-hd w-7" ) ;
add _location ( th6 , file , 677 , 18 , 20396 ) ;
attr _dev ( tr , "class" , "tbl-txt-sz tbl-txt-p" ) ;
add _location ( tr , file , 670 , 16 , 20052 ) ;
attr _dev ( thead , "class" , "bg-gray-50" ) ;
add _location ( thead , file , 669 , 14 , 20008 ) ;
attr _dev ( tbody , "class" , "bg-white" ) ;
add _location ( tbody , file , 680 , 14 , 20484 ) ;
attr _dev ( table , "class" , "table-fixed w-full" ) ;
add _location ( table , file , 668 , 12 , 19958 ) ;
attr _dev ( button , "class" , "btn-lg" ) ;
add _location ( button , file , 719 , 12 , 23134 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , table , anchor ) ;
append _dev ( table , thead ) ;
append _dev ( thead , tr ) ;
append _dev ( tr , th0 ) ;
append _dev ( tr , t1 ) ;
append _dev ( tr , th1 ) ;
append _dev ( tr , t3 ) ;
append _dev ( tr , th2 ) ;
append _dev ( tr , t5 ) ;
append _dev ( tr , th3 ) ;
append _dev ( tr , t7 ) ;
append _dev ( tr , th4 ) ;
append _dev ( tr , t9 ) ;
append _dev ( tr , th5 ) ;
append _dev ( tr , t10 ) ;
append _dev ( tr , th6 ) ;
append _dev ( table , t11 ) ;
append _dev ( table , tbody ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( tbody , null ) ;
}
insert _dev ( target , t12 , anchor ) ;
insert _dev ( target , button , anchor ) ;
if ( ! mounted ) {
dispose = listen _dev ( button , "click" , /*click_handler_1*/ ctx [ 33 ] , false , false , false ) ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*configJson, hideAllSubParams, widgetCollection*/ 100 ) {
each _value _2 = /*configJson*/ ctx [ 5 ] ;
validate _each _argument ( each _value _2 ) ;
let i ;
for ( i = 0 ; i < each _value _2 . length ; i += 1 ) {
const child _ctx = get _each _context _2 ( ctx , each _value _2 , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
} else {
each _blocks [ i ] = create _each _block _2 ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
each _blocks [ i ] . m ( tbody , null ) ;
}
}
for ( ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . d ( 1 ) ;
}
each _blocks . length = each _value _2 . length ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( table ) ;
destroy _each ( each _blocks , detaching ) ;
if ( detaching ) detach _dev ( t12 ) ;
if ( detaching ) detach _dev ( button ) ;
mounted = false ;
dispose ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _9 . name ,
type : "slot" ,
source : "(666:10) <Card>" ,
ctx
} ) ;
return block ;
}
// (664:6) <Route path="/config">
function create _default _slot _8 ( ctx ) {
let div ;
let card ;
let current ;
card = new Card ( {
props : {
$$slots : { default : [ create _default _slot _9 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
div = element ( "div" ) ;
create _component ( card . $$ . fragment ) ;
attr _dev ( div , "class" , "crd-grd-ln" ) ;
add _location ( div , file , 664 , 8 , 19755 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div , anchor ) ;
mount _component ( card , div , null ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
const card _changes = { } ;
if ( dirty [ 0 ] & /*configJson, hideAllSubParams, widgetCollection*/ 100 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
card _changes . $$scope = { dirty , ctx } ;
}
card . $set ( card _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( card . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( card . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div ) ;
destroy _component ( card ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _8 . name ,
type : "slot" ,
source : "(664:6) <Route path=\\\"/config\\\">" ,
ctx
} ) ;
return block ;
}
// (724:6) <Route path="/connection">
function create _default _slot _7 ( ctx ) {
let div ;
let card0 ;
let t ;
let card1 ;
let current ;
card0 = new Card ( {
props : { title : "Подключение к WiFi роутеру" } ,
$$inline : true
} ) ;
card1 = new Card ( {
props : { title : "Подключение к MQTT брокеру" } ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
div = element ( "div" ) ;
create _component ( card0 . $$ . fragment ) ;
t = space ( ) ;
create _component ( card1 . $$ . fragment ) ;
attr _dev ( div , "class" , "crd-grd" ) ;
add _location ( div , file , 724 , 8 , 23308 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div , anchor ) ;
mount _component ( card0 , div , null ) ;
append _dev ( div , t ) ;
mount _component ( card1 , div , null ) ;
current = true ;
} ,
p : noop ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( card0 . $$ . fragment , local ) ;
transition _in ( card1 . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( card0 . $$ . fragment , local ) ;
transition _out ( card1 . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div ) ;
destroy _component ( card0 ) ;
destroy _component ( card1 ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _7 . name ,
type : "slot" ,
source : "(724:6) <Route path=\\\"/connection\\\">" ,
ctx
} ) ;
return block ;
}
// (731:8) <Card title={"Пример графика"}>
function create _default _slot _6 ( ctx ) {
let chart ;
let current ;
chart = new Base$1 ( {
props : {
data : /*datachart*/ ctx [ 12 ] ,
type : "line"
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
create _component ( chart . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( chart , target , anchor ) ;
current = true ;
} ,
p : noop ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( chart . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( chart . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( chart , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _6 . name ,
type : "slot" ,
source : "(731:8) <Card title={\\\"Пример графика\\\"}>" ,
ctx
} ) ;
return block ;
}
// (730:6) <Route path="/utilities">
function create _default _slot _5 ( ctx ) {
let card ;
let current ;
card = new Card ( {
props : {
title : "Пример графика" ,
$$slots : { default : [ create _default _slot _6 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
create _component ( card . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( card , target , anchor ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
const card _changes = { } ;
if ( dirty [ 2 ] & /*$$scope*/ 67108864 ) {
card _changes . $$scope = { dirty , ctx } ;
}
card . $set ( card _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( card . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( card . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( card , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _5 . name ,
type : "slot" ,
source : "(730:6) <Route path=\\\"/utilities\\\">" ,
ctx
} ) ;
return block ;
}
// (737:10) {#each coreMessages as message, i}
function create _each _block _1 ( ctx ) {
let div ;
let t _value = /*message*/ ctx [ 70 ] . msg + "" ;
let t ;
let div _class _value ;
const block = {
c : function create ( ) {
div = element ( "div" ) ;
t = text ( t _value ) ;
attr _dev ( div , "class" , div _class _value = /*message*/ ctx [ 70 ] . msg . toString ( ) . includes ( "[E]" )
? "text-red-500"
: "text-black" ) ;
add _location ( div , file , 737 , 12 , 23745 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , div , anchor ) ;
append _dev ( div , t ) ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*coreMessages*/ 2048 && t _value !== ( t _value = /*message*/ ctx [ 70 ] . msg + "" ) ) set _data _dev ( t , t _value ) ;
if ( dirty [ 0 ] & /*coreMessages*/ 2048 && div _class _value !== ( div _class _value = /*message*/ ctx [ 70 ] . msg . toString ( ) . includes ( "[E]" )
? "text-red-500"
: "text-black" ) ) {
attr _dev ( div , "class" , div _class _value ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( div ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block _1 . name ,
type : "each" ,
source : "(737:10) {#each coreMessages as message, i}" ,
ctx
} ) ;
return block ;
}
// (736:8) <Card title={"Лог"}>
function create _default _slot _4 ( ctx ) {
let each _1 _anchor ;
let each _value _1 = /*coreMessages*/ ctx [ 11 ] ;
validate _each _argument ( each _value _1 ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value _1 . length ; i += 1 ) {
each _blocks [ i ] = create _each _block _1 ( get _each _context _1 ( ctx , each _value _1 , i ) ) ;
}
const block = {
c : function create ( ) {
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
each _1 _anchor = empty ( ) ;
} ,
m : function mount ( target , anchor ) {
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( target , anchor ) ;
}
insert _dev ( target , each _1 _anchor , anchor ) ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*coreMessages*/ 2048 ) {
each _value _1 = /*coreMessages*/ ctx [ 11 ] ;
validate _each _argument ( each _value _1 ) ;
let i ;
for ( i = 0 ; i < each _value _1 . length ; i += 1 ) {
const child _ctx = get _each _context _1 ( ctx , each _value _1 , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
} else {
each _blocks [ i ] = create _each _block _1 ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
each _blocks [ i ] . m ( each _1 _anchor . parentNode , each _1 _anchor ) ;
}
}
for ( ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . d ( 1 ) ;
}
each _blocks . length = each _value _1 . length ;
}
} ,
d : function destroy ( detaching ) {
destroy _each ( each _blocks , detaching ) ;
if ( detaching ) detach _dev ( each _1 _anchor ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _4 . name ,
type : "slot" ,
source : "(736:8) <Card title={\\\"Лог\\\"}>" ,
ctx
} ) ;
return block ;
}
// (735:6) <Route path="/log">
function create _default _slot _3 ( ctx ) {
let card ;
let current ;
card = new Card ( {
props : {
title : "Лог" ,
$$slots : { default : [ create _default _slot _4 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
create _component ( card . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( card , target , anchor ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
const card _changes = { } ;
if ( dirty [ 0 ] & /*coreMessages*/ 2048 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
card _changes . $$scope = { dirty , ctx } ;
}
card . $set ( card _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( card . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( card . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( card , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _3 . name ,
type : "slot" ,
source : "(735:6) <Route path=\\\"/log\\\">" ,
ctx
} ) ;
return block ;
}
// (754:14) {#each deviceList as device}
function create _each _block ( ctx ) {
let tr ;
let td0 ;
let t0 _value = /*device*/ ctx [ 67 ] . name + "" ;
let t0 ;
let t1 ;
let td1 ;
let a ;
let t2 _value = /*device*/ ctx [ 67 ] . ip + "" ;
let t2 ;
let a _href _value ;
let t3 ;
let td2 ;
let t4 _value = /*device*/ ctx [ 67 ] . id + "" ;
let t4 ;
let t5 ;
let td3 ;
let t6 _value = ( /*device*/ ctx [ 67 ] . status ? "online" : "offline" ) + "" ;
let t6 ;
let td3 _class _value ;
const block = {
c : function create ( ) {
tr = element ( "tr" ) ;
td0 = element ( "td" ) ;
t0 = text ( t0 _value ) ;
t1 = space ( ) ;
td1 = element ( "td" ) ;
a = element ( "a" ) ;
t2 = text ( t2 _value ) ;
t3 = space ( ) ;
td2 = element ( "td" ) ;
t4 = text ( t4 _value ) ;
t5 = space ( ) ;
td3 = element ( "td" ) ;
t6 = text ( t6 _value ) ;
attr _dev ( td0 , "class" , "tbl-bdy" ) ;
add _location ( td0 , file , 755 , 18 , 24520 ) ;
attr _dev ( a , "href" , a _href _value = "http://" + /*device*/ ctx [ 67 ] . ip ) ;
add _location ( a , file , 756 , 38 , 24598 ) ;
attr _dev ( td1 , "class" , "tbl-bdy" ) ;
add _location ( td1 , file , 756 , 18 , 24578 ) ;
attr _dev ( td2 , "class" , "tbl-bdy" ) ;
add _location ( td2 , file , 757 , 18 , 24670 ) ;
attr _dev ( td3 , "class" , td3 _class _value = "tbl-bdy " + ( /*device*/ ctx [ 67 ] . status ? 'bg-green-50' : 'bg-red-50' ) ) ;
add _location ( td3 , file , 758 , 18 , 24726 ) ;
attr _dev ( tr , "class" , "tbl-txt-sz tbl-txt-p" ) ;
add _location ( tr , file , 754 , 16 , 24467 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , tr , anchor ) ;
append _dev ( tr , td0 ) ;
append _dev ( td0 , t0 ) ;
append _dev ( tr , t1 ) ;
append _dev ( tr , td1 ) ;
append _dev ( td1 , a ) ;
append _dev ( a , t2 ) ;
append _dev ( tr , t3 ) ;
append _dev ( tr , td2 ) ;
append _dev ( td2 , t4 ) ;
append _dev ( tr , t5 ) ;
append _dev ( tr , td3 ) ;
append _dev ( td3 , t6 ) ;
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*deviceList*/ 512 && t0 _value !== ( t0 _value = /*device*/ ctx [ 67 ] . name + "" ) ) set _data _dev ( t0 , t0 _value ) ;
if ( dirty [ 0 ] & /*deviceList*/ 512 && t2 _value !== ( t2 _value = /*device*/ ctx [ 67 ] . ip + "" ) ) set _data _dev ( t2 , t2 _value ) ;
if ( dirty [ 0 ] & /*deviceList*/ 512 && a _href _value !== ( a _href _value = "http://" + /*device*/ ctx [ 67 ] . ip ) ) {
attr _dev ( a , "href" , a _href _value ) ;
}
if ( dirty [ 0 ] & /*deviceList*/ 512 && t4 _value !== ( t4 _value = /*device*/ ctx [ 67 ] . id + "" ) ) set _data _dev ( t4 , t4 _value ) ;
if ( dirty [ 0 ] & /*deviceList*/ 512 && t6 _value !== ( t6 _value = ( /*device*/ ctx [ 67 ] . status ? "online" : "offline" ) + "" ) ) set _data _dev ( t6 , t6 _value ) ;
if ( dirty [ 0 ] & /*deviceList*/ 512 && td3 _class _value !== ( td3 _class _value = "tbl-bdy " + ( /*device*/ ctx [ 67 ] . status ? 'bg-green-50' : 'bg-red-50' ) ) ) {
attr _dev ( td3 , "class" , td3 _class _value ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( tr ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _each _block . name ,
type : "each" ,
source : "(754:14) {#each deviceList as device}" ,
ctx
} ) ;
return block ;
}
// (762:14) {#if showInput}
function create _if _block ( ctx ) {
let tr ;
let td0 ;
let input0 ;
let t0 ;
let td1 ;
let input1 ;
let t1 ;
let td2 ;
let input2 ;
let t2 ;
let td3 ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
tr = element ( "tr" ) ;
td0 = element ( "td" ) ;
input0 = element ( "input" ) ;
t0 = space ( ) ;
td1 = element ( "td" ) ;
input1 = element ( "input" ) ;
t1 = space ( ) ;
td2 = element ( "td" ) ;
input2 = element ( "input" ) ;
t2 = space ( ) ;
td3 = element ( "td" ) ;
attr _dev ( input0 , "class" , "tbl-ipt w-full" ) ;
attr _dev ( input0 , "type" , "text" ) ;
add _location ( input0 , file , 763 , 38 , 25003 ) ;
attr _dev ( td0 , "class" , "tbl-bdy" ) ;
add _location ( td0 , file , 763 , 18 , 24983 ) ;
attr _dev ( input1 , "class" , "tbl-ipt w-full" ) ;
attr _dev ( input1 , "type" , "text" ) ;
add _location ( input1 , file , 764 , 38 , 25120 ) ;
attr _dev ( td1 , "class" , "tbl-bdy" ) ;
add _location ( td1 , file , 764 , 18 , 25100 ) ;
attr _dev ( input2 , "class" , "tbl-ipt w-full" ) ;
attr _dev ( input2 , "type" , "text" ) ;
add _location ( input2 , file , 765 , 38 , 25235 ) ;
attr _dev ( td2 , "class" , "tbl-bdy" ) ;
add _location ( td2 , file , 765 , 18 , 25215 ) ;
attr _dev ( td3 , "class" , "tbl-bdy" ) ;
add _location ( td3 , file , 766 , 18 , 25330 ) ;
attr _dev ( tr , "class" , "tbl-txt-sz tbl-txt-p" ) ;
add _location ( tr , file , 762 , 16 , 24930 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , tr , anchor ) ;
append _dev ( tr , td0 ) ;
append _dev ( td0 , input0 ) ;
set _input _value ( input0 , /*newDevice*/ ctx [ 10 ] . name ) ;
append _dev ( tr , t0 ) ;
append _dev ( tr , td1 ) ;
append _dev ( td1 , input1 ) ;
set _input _value ( input1 , /*newDevice*/ ctx [ 10 ] . ip ) ;
append _dev ( tr , t1 ) ;
append _dev ( tr , td2 ) ;
append _dev ( td2 , input2 ) ;
set _input _value ( input2 , /*newDevice*/ ctx [ 10 ] . id ) ;
append _dev ( tr , t2 ) ;
append _dev ( tr , td3 ) ;
if ( ! mounted ) {
dispose = [
listen _dev ( input0 , "input" , /*input0_input_handler_1*/ ctx [ 34 ] ) ,
listen _dev ( input1 , "input" , /*input1_input_handler_1*/ ctx [ 35 ] ) ,
listen _dev ( input2 , "input" , /*input2_input_handler_1*/ ctx [ 36 ] )
] ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*newDevice*/ 1024 && input0 . value !== /*newDevice*/ ctx [ 10 ] . name ) {
set _input _value ( input0 , /*newDevice*/ ctx [ 10 ] . name ) ;
}
if ( dirty [ 0 ] & /*newDevice*/ 1024 && input1 . value !== /*newDevice*/ ctx [ 10 ] . ip ) {
set _input _value ( input1 , /*newDevice*/ ctx [ 10 ] . ip ) ;
}
if ( dirty [ 0 ] & /*newDevice*/ 1024 && input2 . value !== /*newDevice*/ ctx [ 10 ] . id ) {
set _input _value ( input2 , /*newDevice*/ ctx [ 10 ] . id ) ;
}
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( tr ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _if _block . name ,
type : "if" ,
source : "(762:14) {#if showInput}" ,
ctx
} ) ;
return block ;
}
// (743:8) <Card title={"Список устройств"}>
function create _default _slot _2 ( ctx ) {
let table ;
let thead ;
let tr ;
let th0 ;
let t1 ;
let th1 ;
let t3 ;
let th2 ;
let t5 ;
let th3 ;
let t7 ;
let tbody ;
let t8 ;
let t9 ;
let button ;
let t10 _value = ( /*showInput*/ ctx [ 0 ]
? "Сохранить"
: "Добавить устройство" ) + "" ;
let t10 ;
let mounted ;
let dispose ;
let each _value = /*deviceList*/ ctx [ 9 ] ;
validate _each _argument ( each _value ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value . length ; i += 1 ) {
each _blocks [ i ] = create _each _block ( get _each _context ( ctx , each _value , i ) ) ;
}
let if _block = /*showInput*/ ctx [ 0 ] && create _if _block ( ctx ) ;
const block = {
c : function create ( ) {
table = element ( "table" ) ;
thead = element ( "thead" ) ;
tr = element ( "tr" ) ;
th0 = element ( "th" ) ;
th0 . textContent = "Название устройства" ;
t1 = space ( ) ;
th1 = element ( "th" ) ;
th1 . textContent = "IP адрес" ;
t3 = space ( ) ;
th2 = element ( "th" ) ;
th2 . textContent = "Идентификатор" ;
t5 = space ( ) ;
th3 = element ( "th" ) ;
th3 . textContent = "Состояние" ;
t7 = space ( ) ;
tbody = element ( "tbody" ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
t8 = space ( ) ;
if ( if _block ) if _block . c ( ) ;
t9 = space ( ) ;
button = element ( "button" ) ;
t10 = text ( t10 _value ) ;
attr _dev ( th0 , "class" , "tbl-hd" ) ;
add _location ( th0 , file , 746 , 16 , 24125 ) ;
attr _dev ( th1 , "class" , "tbl-hd" ) ;
add _location ( th1 , file , 747 , 16 , 24186 ) ;
attr _dev ( th2 , "class" , "tbl-hd" ) ;
add _location ( th2 , file , 748 , 16 , 24236 ) ;
attr _dev ( th3 , "class" , "tbl-hd" ) ;
add _location ( th3 , file , 749 , 16 , 24291 ) ;
attr _dev ( tr , "class" , "tbl-txt-sz tbl-txt-p" ) ;
add _location ( tr , file , 745 , 14 , 24074 ) ;
attr _dev ( thead , "class" , "bg-gray-50 " ) ;
add _location ( thead , file , 744 , 12 , 24031 ) ;
attr _dev ( tbody , "class" , "bg-white" ) ;
add _location ( tbody , file , 752 , 12 , 24381 ) ;
attr _dev ( table , "class" , "table-fixed w-full" ) ;
add _location ( table , file , 743 , 10 , 23983 ) ;
attr _dev ( button , "class" , "btn-lg" ) ;
add _location ( button , file , 771 , 10 , 25450 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , table , anchor ) ;
append _dev ( table , thead ) ;
append _dev ( thead , tr ) ;
append _dev ( tr , th0 ) ;
append _dev ( tr , t1 ) ;
append _dev ( tr , th1 ) ;
append _dev ( tr , t3 ) ;
append _dev ( tr , th2 ) ;
append _dev ( tr , t5 ) ;
append _dev ( tr , th3 ) ;
append _dev ( table , t7 ) ;
append _dev ( table , tbody ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( tbody , null ) ;
}
append _dev ( tbody , t8 ) ;
if ( if _block ) if _block . m ( tbody , null ) ;
insert _dev ( target , t9 , anchor ) ;
insert _dev ( target , button , anchor ) ;
append _dev ( button , t10 ) ;
if ( ! mounted ) {
dispose = listen _dev ( button , "click" , /*click_handler_2*/ ctx [ 37 ] , false , false , false ) ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
if ( dirty [ 0 ] & /*deviceList*/ 512 ) {
each _value = /*deviceList*/ ctx [ 9 ] ;
validate _each _argument ( each _value ) ;
let i ;
for ( i = 0 ; i < each _value . length ; i += 1 ) {
const child _ctx = get _each _context ( ctx , each _value , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
} else {
each _blocks [ i ] = create _each _block ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
each _blocks [ i ] . m ( tbody , t8 ) ;
}
}
for ( ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . d ( 1 ) ;
}
each _blocks . length = each _value . length ;
}
if ( /*showInput*/ ctx [ 0 ] ) {
if ( if _block ) {
if _block . p ( ctx , dirty ) ;
} else {
if _block = create _if _block ( ctx ) ;
if _block . c ( ) ;
if _block . m ( tbody , null ) ;
}
} else if ( if _block ) {
if _block . d ( 1 ) ;
if _block = null ;
}
if ( dirty [ 0 ] & /*showInput*/ 1 && t10 _value !== ( t10 _value = ( /*showInput*/ ctx [ 0 ]
? "Сохранить"
: "Добавить устройство" ) + "" ) ) set _data _dev ( t10 , t10 _value ) ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( table ) ;
destroy _each ( each _blocks , detaching ) ;
if ( if _block ) if _block . d ( ) ;
if ( detaching ) detach _dev ( t9 ) ;
if ( detaching ) detach _dev ( button ) ;
mounted = false ;
dispose ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _2 . name ,
type : "slot" ,
source : "(743:8) <Card title={\\\"Список устройств\\\"}>" ,
ctx
} ) ;
return block ;
}
// (742:6) <Route path="/list">
function create _default _slot _1 ( ctx ) {
let card ;
let current ;
card = new Card ( {
props : {
title : "Список устройств" ,
$$slots : { default : [ create _default _slot _2 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
create _component ( card . $$ . fragment ) ;
} ,
m : function mount ( target , anchor ) {
mount _component ( card , target , anchor ) ;
current = true ;
} ,
p : function update ( ctx , dirty ) {
const card _changes = { } ;
if ( dirty [ 0 ] & /*showInput, newDevice, deviceList*/ 1537 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
card _changes . $$scope = { dirty , ctx } ;
}
card . $set ( card _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( card . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( card . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
destroy _component ( card , detaching ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot _1 . name ,
type : "slot" ,
source : "(742:6) <Route path=\\\"/list\\\">" ,
ctx
} ) ;
return block ;
}
// (775:6) <Route path="/about">
function create _default _slot ( ctx ) {
let button ;
let mounted ;
let dispose ;
const block = {
c : function create ( ) {
button = element ( "button" ) ;
button . textContent = "Toggle modal" ;
attr _dev ( button , "type" , "button" ) ;
add _location ( button , file , 775 , 8 , 25662 ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , button , anchor ) ;
if ( ! mounted ) {
dispose = listen _dev ( button , "click" , /*click_handler_3*/ ctx [ 38 ] , false , false , false ) ;
mounted = true ;
}
} ,
p : noop ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( button ) ;
mounted = false ;
dispose ( ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _default _slot . name ,
type : "slot" ,
source : "(775:6) <Route path=\\\"/about\\\">" ,
ctx
} ) ;
return block ;
}
function create _fragment ( ctx ) {
let main ;
let modal ;
let t0 ;
let div3 ;
let div2 ;
let div0 ;
let select ;
let t1 ;
let div1 ;
let svg ;
let path0 ;
let path1 ;
let svg _class _value ;
let t2 ;
let input ;
let t3 ;
let label ;
let span ;
let t4 ;
let ul0 ;
let li0 ;
let a0 ;
let t6 ;
let li1 ;
let a1 ;
let t8 ;
let li2 ;
let a2 ;
let t10 ;
let li3 ;
let a3 ;
let t12 ;
let li4 ;
let a4 ;
let t14 ;
let li5 ;
let a5 ;
let t16 ;
let li6 ;
let a6 ;
let t18 ;
let ul1 ;
let div4 ;
let route0 ;
let t19 ;
let route1 ;
let t20 ;
let route2 ;
let t21 ;
let route3 ;
let t22 ;
let route4 ;
let t23 ;
let route5 ;
let t24 ;
let route6 ;
let current ;
let mounted ;
let dispose ;
modal = new Modal ( {
props : { show : /*showModalFlag*/ ctx [ 1 ] } ,
$$inline : true
} ) ;
let each _value _7 = /*deviceList*/ ctx [ 9 ] ;
validate _each _argument ( each _value _7 ) ;
let each _blocks = [ ] ;
for ( let i = 0 ; i < each _value _7 . length ; i += 1 ) {
each _blocks [ i ] = create _each _block _7 ( get _each _context _7 ( ctx , each _value _7 , i ) ) ;
}
route0 = new Route ( {
props : {
path : "/" ,
$$slots : { default : [ create _default _slot _10 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
route1 = new Route ( {
props : {
path : "/config" ,
$$slots : { default : [ create _default _slot _8 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
route2 = new Route ( {
props : {
path : "/connection" ,
$$slots : { default : [ create _default _slot _7 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
route3 = new Route ( {
props : {
path : "/utilities" ,
$$slots : { default : [ create _default _slot _5 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
route4 = new Route ( {
props : {
path : "/log" ,
$$slots : { default : [ create _default _slot _3 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
route5 = new Route ( {
props : {
path : "/list" ,
$$slots : { default : [ create _default _slot _1 ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
route6 = new Route ( {
props : {
path : "/about" ,
$$slots : { default : [ create _default _slot ] } ,
$$scope : { ctx }
} ,
$$inline : true
} ) ;
const block = {
c : function create ( ) {
main = element ( "main" ) ;
create _component ( modal . $$ . fragment ) ;
t0 = space ( ) ;
div3 = element ( "div" ) ;
div2 = element ( "div" ) ;
div0 = element ( "div" ) ;
select = element ( "select" ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . c ( ) ;
}
t1 = space ( ) ;
div1 = element ( "div" ) ;
svg = svg _element ( "svg" ) ;
path0 = svg _element ( "path" ) ;
path1 = svg _element ( "path" ) ;
t2 = space ( ) ;
input = element ( "input" ) ;
t3 = space ( ) ;
label = element ( "label" ) ;
span = element ( "span" ) ;
t4 = space ( ) ;
ul0 = element ( "ul" ) ;
li0 = element ( "li" ) ;
a0 = element ( "a" ) ;
a0 . textContent = ` ${ "Управление" } ` ;
t6 = space ( ) ;
li1 = element ( "li" ) ;
a1 = element ( "a" ) ;
a1 . textContent = ` ${ "Конфигуратор" } ` ;
t8 = space ( ) ;
li2 = element ( "li" ) ;
a2 = element ( "a" ) ;
a2 . textContent = ` ${ "Подключение" } ` ;
t10 = space ( ) ;
li3 = element ( "li" ) ;
a3 = element ( "a" ) ;
a3 . textContent = ` ${ "Утилиты" } ` ;
t12 = space ( ) ;
li4 = element ( "li" ) ;
a4 = element ( "a" ) ;
a4 . textContent = ` ${ "Лог" } ` ;
t14 = space ( ) ;
li5 = element ( "li" ) ;
a5 = element ( "a" ) ;
a5 . textContent = ` ${ "Устройства" } ` ;
t16 = space ( ) ;
li6 = element ( "li" ) ;
a6 = element ( "a" ) ;
a6 . textContent = ` ${ "О проекте" } ` ;
t18 = space ( ) ;
ul1 = element ( "ul" ) ;
div4 = element ( "div" ) ;
create _component ( route0 . $$ . fragment ) ;
t19 = space ( ) ;
create _component ( route1 . $$ . fragment ) ;
t20 = space ( ) ;
create _component ( route2 . $$ . fragment ) ;
t21 = space ( ) ;
create _component ( route3 . $$ . fragment ) ;
t22 = space ( ) ;
create _component ( route4 . $$ . fragment ) ;
t23 = space ( ) ;
create _component ( route5 . $$ . fragment ) ;
t24 = space ( ) ;
create _component ( route6 . $$ . fragment ) ;
if ( /*selectedDeviceData*/ ctx [ 8 ] === void 0 ) add _render _callback ( ( ) => /*select_change_handler*/ ctx [ 20 ] . call ( select ) ) ;
add _location ( select , file , 593 , 8 , 17088 ) ;
attr _dev ( div0 , "class" , "px-15 py-2" ) ;
add _location ( div0 , file , 592 , 6 , 17054 ) ;
attr _dev ( path0 , "stroke" , "none" ) ;
attr _dev ( path0 , "d" , "M0 0h24v24H0z" ) ;
add _location ( path0 , file , 602 , 234 , 17611 ) ;
attr _dev ( path1 , "d" , "M7 18a4.6 4.4 0 0 1 0 -9h0a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12" ) ;
add _location ( path1 , file , 602 , 275 , 17652 ) ;
attr _dev ( svg , "class" , svg _class _value = "h-8 w-8 " + ( /*socketConnected*/ ctx [ 7 ] === true
? 'text-green-500'
: 'text-red-500' ) ) ;
attr _dev ( svg , "width" , "24" ) ;
attr _dev ( svg , "height" , "24" ) ;
attr _dev ( svg , "viewBox" , "0 0 24 24" ) ;
attr _dev ( svg , "stroke-width" , "2" ) ;
attr _dev ( svg , "stroke" , "currentColor" ) ;
attr _dev ( svg , "fill" , "none" ) ;
attr _dev ( svg , "stroke-linecap" , "round" ) ;
attr _dev ( svg , "stroke-linejoin" , "round" ) ;
add _location ( svg , file , 602 , 8 , 17385 ) ;
attr _dev ( div1 , "class" , "px-5 py-1" ) ;
add _location ( div1 , file , 601 , 6 , 17352 ) ;
attr _dev ( div2 , "class" , "flex justify-end content-center" ) ;
add _location ( div2 , file , 591 , 4 , 17001 ) ;
attr _dev ( div3 , "class" , "fixed m-0 h-10 w-full bg-gray-100 shadow-md" ) ;
add _location ( div3 , file , 590 , 2 , 16938 ) ;
attr _dev ( input , "id" , "menu__toggle" ) ;
attr _dev ( input , "type" , "checkbox" ) ;
add _location ( input , file , 607 , 2 , 17780 ) ;
add _location ( span , file , 609 , 4 , 17877 ) ;
attr _dev ( label , "class" , "menu__btn" ) ;
attr _dev ( label , "for" , "menu__toggle" ) ;
add _location ( label , file , 608 , 2 , 17827 ) ;
attr _dev ( a0 , "class" , "menu__item" ) ;
attr _dev ( a0 , "href" , "/" ) ;
add _location ( a0 , file , 614 , 6 , 17943 ) ;
add _location ( li0 , file , 613 , 4 , 17931 ) ;
attr _dev ( a1 , "class" , "menu__item" ) ;
attr _dev ( a1 , "href" , "/config" ) ;
add _location ( a1 , file , 617 , 6 , 18021 ) ;
add _location ( li1 , file , 616 , 4 , 18009 ) ;
attr _dev ( a2 , "class" , "menu__item" ) ;
attr _dev ( a2 , "href" , "/connection" ) ;
add _location ( a2 , file , 620 , 6 , 18107 ) ;
add _location ( li2 , file , 619 , 4 , 18095 ) ;
attr _dev ( a3 , "class" , "menu__item" ) ;
attr _dev ( a3 , "href" , "/utilities" ) ;
add _location ( a3 , file , 623 , 6 , 18196 ) ;
add _location ( li3 , file , 622 , 4 , 18184 ) ;
attr _dev ( a4 , "class" , "menu__item" ) ;
attr _dev ( a4 , "href" , "/log" ) ;
add _location ( a4 , file , 626 , 6 , 18280 ) ;
add _location ( li4 , file , 625 , 4 , 18268 ) ;
attr _dev ( a5 , "class" , "menu__item" ) ;
attr _dev ( a5 , "href" , "/list" ) ;
add _location ( a5 , file , 629 , 6 , 18354 ) ;
add _location ( li5 , file , 628 , 4 , 18342 ) ;
attr _dev ( a6 , "class" , "menu__item" ) ;
attr _dev ( a6 , "href" , "/about" ) ;
add _location ( a6 , file , 632 , 6 , 18436 ) ;
add _location ( li6 , file , 631 , 4 , 18424 ) ;
attr _dev ( ul0 , "class" , "menu__box" ) ;
add _location ( ul0 , file , 612 , 2 , 17903 ) ;
attr _dev ( div4 , "class" , "bg-cover pt-8 px-4" ) ;
add _location ( div4 , file , 637 , 4 , 18544 ) ;
attr _dev ( ul1 , "class" , "menu__main" ) ;
add _location ( ul1 , file , 636 , 2 , 18515 ) ;
add _location ( main , file , 588 , 0 , 16894 ) ;
} ,
l : function claim ( nodes ) {
throw new Error ( "options.hydrate only works if the component was compiled with the `hydratable: true` option" ) ;
} ,
m : function mount ( target , anchor ) {
insert _dev ( target , main , anchor ) ;
mount _component ( modal , main , null ) ;
append _dev ( main , t0 ) ;
append _dev ( main , div3 ) ;
append _dev ( div3 , div2 ) ;
append _dev ( div2 , div0 ) ;
append _dev ( div0 , select ) ;
for ( let i = 0 ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . m ( select , null ) ;
}
select _option ( select , /*selectedDeviceData*/ ctx [ 8 ] ) ;
append _dev ( div2 , t1 ) ;
append _dev ( div2 , div1 ) ;
append _dev ( div1 , svg ) ;
append _dev ( svg , path0 ) ;
append _dev ( svg , path1 ) ;
append _dev ( main , t2 ) ;
append _dev ( main , input ) ;
append _dev ( main , t3 ) ;
append _dev ( main , label ) ;
append _dev ( label , span ) ;
append _dev ( main , t4 ) ;
append _dev ( main , ul0 ) ;
append _dev ( ul0 , li0 ) ;
append _dev ( li0 , a0 ) ;
append _dev ( ul0 , t6 ) ;
append _dev ( ul0 , li1 ) ;
append _dev ( li1 , a1 ) ;
append _dev ( ul0 , t8 ) ;
append _dev ( ul0 , li2 ) ;
append _dev ( li2 , a2 ) ;
append _dev ( ul0 , t10 ) ;
append _dev ( ul0 , li3 ) ;
append _dev ( li3 , a3 ) ;
append _dev ( ul0 , t12 ) ;
append _dev ( ul0 , li4 ) ;
append _dev ( li4 , a4 ) ;
append _dev ( ul0 , t14 ) ;
append _dev ( ul0 , li5 ) ;
append _dev ( li5 , a5 ) ;
append _dev ( ul0 , t16 ) ;
append _dev ( ul0 , li6 ) ;
append _dev ( li6 , a6 ) ;
append _dev ( main , t18 ) ;
append _dev ( main , ul1 ) ;
append _dev ( ul1 , div4 ) ;
mount _component ( route0 , div4 , null ) ;
append _dev ( div4 , t19 ) ;
mount _component ( route1 , div4 , null ) ;
append _dev ( div4 , t20 ) ;
mount _component ( route2 , div4 , null ) ;
append _dev ( div4 , t21 ) ;
mount _component ( route3 , div4 , null ) ;
append _dev ( div4 , t22 ) ;
mount _component ( route4 , div4 , null ) ;
append _dev ( div4 , t23 ) ;
mount _component ( route5 , div4 , null ) ;
append _dev ( div4 , t24 ) ;
mount _component ( route6 , div4 , null ) ;
current = true ;
if ( ! mounted ) {
dispose = [
listen _dev ( select , "change" , /*select_change_handler*/ ctx [ 20 ] ) ,
listen _dev ( select , "change" , /*change_handler*/ ctx [ 21 ] , false , false , false )
] ;
mounted = true ;
}
} ,
p : function update ( ctx , dirty ) {
const modal _changes = { } ;
if ( dirty [ 0 ] & /*showModalFlag*/ 2 ) modal _changes . show = /*showModalFlag*/ ctx [ 1 ] ;
modal . $set ( modal _changes ) ;
if ( dirty [ 0 ] & /*deviceList*/ 512 ) {
each _value _7 = /*deviceList*/ ctx [ 9 ] ;
validate _each _argument ( each _value _7 ) ;
let i ;
for ( i = 0 ; i < each _value _7 . length ; i += 1 ) {
const child _ctx = get _each _context _7 ( ctx , each _value _7 , i ) ;
if ( each _blocks [ i ] ) {
each _blocks [ i ] . p ( child _ctx , dirty ) ;
} else {
each _blocks [ i ] = create _each _block _7 ( child _ctx ) ;
each _blocks [ i ] . c ( ) ;
each _blocks [ i ] . m ( select , null ) ;
}
}
for ( ; i < each _blocks . length ; i += 1 ) {
each _blocks [ i ] . d ( 1 ) ;
}
each _blocks . length = each _value _7 . length ;
}
if ( dirty [ 0 ] & /*selectedDeviceData, deviceList*/ 768 ) {
select _option ( select , /*selectedDeviceData*/ ctx [ 8 ] ) ;
}
if ( ! current || dirty [ 0 ] & /*socketConnected*/ 128 && svg _class _value !== ( svg _class _value = "h-8 w-8 " + ( /*socketConnected*/ ctx [ 7 ] === true
? 'text-green-500'
: 'text-red-500' ) ) ) {
attr _dev ( svg , "class" , svg _class _value ) ;
}
const route0 _changes = { } ;
if ( dirty [ 0 ] & /*wigets, pages*/ 24 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
route0 _changes . $$scope = { dirty , ctx } ;
}
route0 . $set ( route0 _changes ) ;
const route1 _changes = { } ;
if ( dirty [ 0 ] & /*configJson, hideAllSubParams, widgetCollection*/ 100 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
route1 _changes . $$scope = { dirty , ctx } ;
}
route1 . $set ( route1 _changes ) ;
const route2 _changes = { } ;
if ( dirty [ 2 ] & /*$$scope*/ 67108864 ) {
route2 _changes . $$scope = { dirty , ctx } ;
}
route2 . $set ( route2 _changes ) ;
const route3 _changes = { } ;
if ( dirty [ 2 ] & /*$$scope*/ 67108864 ) {
route3 _changes . $$scope = { dirty , ctx } ;
}
route3 . $set ( route3 _changes ) ;
const route4 _changes = { } ;
if ( dirty [ 0 ] & /*coreMessages*/ 2048 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
route4 _changes . $$scope = { dirty , ctx } ;
}
route4 . $set ( route4 _changes ) ;
const route5 _changes = { } ;
if ( dirty [ 0 ] & /*showInput, newDevice, deviceList*/ 1537 | dirty [ 2 ] & /*$$scope*/ 67108864 ) {
route5 _changes . $$scope = { dirty , ctx } ;
}
route5 . $set ( route5 _changes ) ;
const route6 _changes = { } ;
if ( dirty [ 2 ] & /*$$scope*/ 67108864 ) {
route6 _changes . $$scope = { dirty , ctx } ;
}
route6 . $set ( route6 _changes ) ;
} ,
i : function intro ( local ) {
if ( current ) return ;
transition _in ( modal . $$ . fragment , local ) ;
transition _in ( route0 . $$ . fragment , local ) ;
transition _in ( route1 . $$ . fragment , local ) ;
transition _in ( route2 . $$ . fragment , local ) ;
transition _in ( route3 . $$ . fragment , local ) ;
transition _in ( route4 . $$ . fragment , local ) ;
transition _in ( route5 . $$ . fragment , local ) ;
transition _in ( route6 . $$ . fragment , local ) ;
current = true ;
} ,
o : function outro ( local ) {
transition _out ( modal . $$ . fragment , local ) ;
transition _out ( route0 . $$ . fragment , local ) ;
transition _out ( route1 . $$ . fragment , local ) ;
transition _out ( route2 . $$ . fragment , local ) ;
transition _out ( route3 . $$ . fragment , local ) ;
transition _out ( route4 . $$ . fragment , local ) ;
transition _out ( route5 . $$ . fragment , local ) ;
transition _out ( route6 . $$ . fragment , local ) ;
current = false ;
} ,
d : function destroy ( detaching ) {
if ( detaching ) detach _dev ( main ) ;
destroy _component ( modal ) ;
destroy _each ( each _blocks , detaching ) ;
destroy _component ( route0 ) ;
destroy _component ( route1 ) ;
destroy _component ( route2 ) ;
destroy _component ( route3 ) ;
destroy _component ( route4 ) ;
destroy _component ( route5 ) ;
destroy _component ( route6 ) ;
mounted = false ;
run _all ( dispose ) ;
}
} ;
dispatch _dev ( "SvelteRegisterBlock" , {
block ,
id : create _fragment . name ,
type : "component" ,
source : "" ,
ctx
} ) ;
return block ;
}
function getJsonObject ( array , number ) {
let num = 0 ;
let out = { } ;
array . forEach ( object => {
if ( num === number ) {
out = object ;
}
num ++ ;
} ) ;
return out ;
}
function IsJsonParse ( str ) {
try {
JSON . parse ( str ) ;
} catch ( e ) {
return false ;
}
return true ;
}
async function handleSubmit ( url ) {
try {
console . log ( url ) ;
let res = await fetch ( url , { mode : "no-cors" , method : "GET" } ) ;
if ( res . ok ) {
console . log ( "OK" , res . status ) ;
} else {
console . log ( "error" , res . status ) ; //console.log(url);
} //console.log(url);
} catch ( e ) {
console . log ( e ) ;
}
}
async function getRequestJson ( url ) {
let res = await fetch ( url , { mode : "no-cors" , method : "GET" } ) ;
if ( res . ok ) {
configSetupJson = await res . json ( ) ;
} else {
console . log ( "error" , res . status ) ;
}
}
function instance ( $$self , $$props , $$invalidate ) {
let $router ;
validate _store ( f , 'router' ) ;
component _subscribe ( $$self , f , $$value => $$invalidate ( 46 , $router = $$value ) ) ;
let { $$slots : slots = { } , $$scope } = $$props ;
validate _slots ( 'App' , slots , [ ] ) ;
f . mode . hash ( ) ; // enables hash navigation method
//как ставить и удалять
//npm install --save svelte-simple-modal
//npm uninstall svelte-simple-modal
//****************************************************constants section*********************************************************/
//******************************************************************************************************************************/
let debug = true ;
let LOG _MAX _MESSAGES = 10 ;
let reconnectTimeout = 60000 ;
//****************************************************variable section**********************************************************/
//******************************************************************************************************************************/
let myip = document . location . hostname ;
//Flags
let showInput = false ;
let showModalFlag = false ;
let hideAllSubParams = true ;
let additionalParams = false ;
//dashboard
let wigets = [ ] ;
let pages = [ ] ;
wigets = [
{
widget : "input" ,
type : "date" ,
status : "2021-10-17" ,
page : "Inputs" ,
order : "4" ,
descr : "Switch on boiler date" ,
topic : "/prefix/00000-00004/date1" ,
ws : 0
} ,
{
widget : "input" ,
type : "time" ,
status : "12:00" ,
page : "Inputs" ,
order : "1" ,
descr : "Switch on boiler time" ,
topic : "/prefix/00000-00001/time" ,
ws : 0
} ,
{
widget : "input" ,
type : "number" ,
status : "30.5" ,
after : "°С" ,
page : "Inputs" ,
order : "2" ,
descr : "Boiler temperature" ,
topic : "/prefix/00000-00002/temp" ,
ws : 0
} ,
{
widget : "input" ,
type : "text" ,
status : "Hello" ,
page : "Inputs" ,
order : "3" ,
descr : "Message to be send" ,
topic : "/prefix/00000-00003/text" ,
ws : 0
} ,
{
widget : "toggle" ,
status : 0 ,
page : "Toggles" ,
order : "3" ,
descr : "Light in my room" ,
topic : "/prefix/00000-00003/btn1" ,
ws : 0
} ,
{
widget : "toggle" ,
status : 0 ,
page : "Toggles" ,
order : "3" ,
descr : "Light in my room" ,
topic : "/prefix/00000-00003/btn2" ,
ws : 0
} ,
{
widget : "toggle" ,
status : 0 ,
page : "Toggles" ,
order : "3" ,
descr : "Light in my room" ,
topic : "/prefix/00000-00003/btn3" ,
ws : 0
} ,
{
widget : "anydata" ,
status : 30.5 ,
after : "°С" ,
page : "Any data" ,
order : "3" ,
descr : "Temperature" ,
topic : "/prefix/00000-00003/tmp10" ,
ws : 0
} ,
{
widget : "anydata" ,
status : 1032 ,
after : "mm" ,
page : "Any data" ,
order : "3" ,
descr : "Pressure" ,
topic : "/prefix/00000-00003/tmp10" ,
ws : 0
} ,
{
widget : "anydata" ,
status : 50 ,
after : "%" ,
page : "Any data" ,
order : "3" ,
descr : "Level" ,
topic : "/prefix/00000-00003/tmp10" ,
ws : 0
} ,
{
widget : "anydata" ,
status : "opened" ,
page : "Any data" ,
order : "3" ,
descr : "Status" ,
topic : "/prefix/00000-00003/tmp10" ,
ws : 0
}
] ;
let datachart = {
labels : [ "Sun" , "Mon" , "Tues" , "Wed" , "Thurs" , "Fri" , "Sat" ] ,
datasets : [ { values : [ 10 , 12 , 3 , 9 , 8 , 15 , 9 ] } ]
} ;
//configuration
let configJson = [ ] ;
let configJsonBuf = [ ] ;
let widgetCollection = [ ] ;
let widgetCollectionBuf = [ ] ;
//widgetCollection = [
// {
// id: "toggle",
// val: "Переключатель",
// },
// {
// id: "btn",
// val: "Кнопка",
// },
// {
// id: "select",
// val: "Кнопка переключатель",
// },
// {
// id: "range",
// val: "Ползунок",
// },
// {
// id: "anydata",
// val: "Текст",
// },
// {
// id: "inputDigit",
// val: "Ввод цифры",
// },
//];
//web sockets
let socket = [ ] ;
let socketConnected = false ;
let selectedDeviceData = undefined ;
let deviceList = [ ] ;
let flag = true ;
let newDevice = { } ;
let coreMessages = [ ] ;
let wsSelected = undefined ;
deviceList = [
{
name : "Устройство 1" ,
id : "987654321" ,
ip : "192.168.88.235" ,
status : false
} ,
{
name : "Устройство 2" ,
id : "987654321" ,
ip : "192.168.88.233" ,
status : false
}
] ;
//navigation
let currentPageName = undefined ;
f . subscribe ( handleNavigation ) ;
//****************************************************functions section********************************************************/
//*****************************************************************************************************************************/
//****************************************************web sockets section******************************************************/
function connectToAllDevices ( ) {
//closeAllConnection();
//socket = [];
let ws = 0 ;
deviceList . forEach ( device => {
//if (debug) console.log("[i]", device.name, ws, device.ip, device.id);
device . ws = ws ;
if ( ! device . status ) {
wsConnect ( ws ) ;
wsEventAdd ( ws ) ;
}
ws ++ ;
} ) ;
$$invalidate ( 9 , deviceList ) ;
$$invalidate ( 7 , socketConnected = selectedDeviceData . status ) ;
}
function closeAllConnection ( ) {
let s ;
for ( s in socket ) {
socket [ s ] . close ( ) ;
}
}
function markDeviceStatus ( ws , status ) {
deviceList . forEach ( device => {
if ( device . ws === ws ) {
device . status = status ;
if ( debug ) {
if ( device . status ) {
console . log ( "[i]" , device . ip , "status online" ) ;
} else {
console . log ( "[i]" , device . ip , "status offline" ) ;
}
}
}
} ) ;
$$invalidate ( 9 , deviceList ) ;
$$invalidate ( 7 , socketConnected = selectedDeviceData . status ) ;
}
function getDeviceStatus ( ws ) {
let ret = false ;
deviceList . forEach ( device => {
if ( ws === device . ws ) {
ret = device . status ;
}
} ) ;
return ret ;
}
function wsConnect ( ws ) {
let ip = getIP ( ws ) ;
if ( ip === "error" ) {
if ( debug ) console . log ( "[e]" , "device list wrong" ) ;
} else {
socket [ ws ] = new WebSocket ( "ws://" + ip + ":81" ) ;
//socket[ws] = new WebSocket("ws://" + ip + "/ws");
if ( debug ) console . log ( "[i]" , ip , "started connecting..." ) ;
}
}
function getIP ( ws ) {
let ret = "error" ;
deviceList . forEach ( device => {
if ( ws === device . ws ) {
ret = device . ip ;
}
} ) ;
return ret ;
}
function wsEventAdd ( ws ) {
if ( socket [ ws ] ) {
let ip = getIP ( ws ) ;
if ( debug ) console . log ( "[i]" , ip , "web socket events added" ) ;
socket [ ws ] . addEventListener ( "open" , function ( event ) {
if ( debug ) console . log ( "[i]" , ip , "completed connecting" ) ;
markDeviceStatus ( ws , true ) ;
sendCurrentPageName ( ) ;
} ) ; //socket[ws].send("HELLO");
socket [ ws ] . addEventListener ( "message" , function ( event ) {
let data = event . data . toString ( ) ;
//if (debug) console.log("[i]", "data:", data);
if ( data . includes ( "[log]" ) ) {
data = data . replace ( "[log]" , "" ) ;
addCoreMsg ( data ) ;
} else if ( data . includes ( "/config.json" ) ) {
data = data . replace ( "/config.json" , "" ) ; //if (debug) console.log("[i]", "log data:", data);
configJsonBuf = configJsonBuf + data ;
if ( data . includes ( "]}" ) ) {
configJsonBuf = configJsonBuf . replace ( "]}" , "]" ) ;
if ( IsJsonParse ( configJsonBuf ) ) {
$$invalidate ( 5 , configJson = JSON . parse ( configJsonBuf ) ) ;
configJsonBuf = [ ] ;
$$invalidate ( 5 , configJson ) ;
if ( debug ) console . log ( "[i]" , "configJson parsed" ) ;
}
}
} else if ( data . includes ( "/widgets.json" ) ) {
data = data . replace ( "/widgets.json" , "" ) ;
widgetCollectionBuf = widgetCollectionBuf + data ;
if ( data . includes ( "]}" ) ) {
widgetCollectionBuf = widgetCollectionBuf . replace ( "]}" , "]" ) ;
if ( IsJsonParse ( widgetCollectionBuf ) ) {
$$invalidate ( 6 , widgetCollection = JSON . parse ( widgetCollectionBuf ) ) ;
widgetCollectionBuf = [ ] ;
$$invalidate ( 6 , widgetCollection ) ;
if ( debug ) console . log ( "[i]" , "widgetCollection parsed" ) ;
}
}
}
} ) ;
socket [ ws ] . addEventListener ( "close" , event => {
if ( debug ) console . log ( "[e]" , ip , "connection closed" ) ;
markDeviceStatus ( ws , false ) ;
} ) ;
socket [ ws ] . addEventListener ( "error" , function ( event ) {
if ( debug ) console . log ( "[e]" , ip , "connection error" ) ;
markDeviceStatus ( ws , false ) ;
} ) ;
} else {
if ( debug ) console . log ( "[e]" , "socket not exist" ) ;
}
}
function sendConfigJson ( ) {
wsSendMsg ( wsSelected , "/gifnoc.json" + JSON . stringify ( configJson ) ) ;
clearData ( ) ;
sendCurrentPageName ( ) ;
}
//function sendWidgetCollection() {
// wsSendMsg(wsSelected, "/tegdiw.json" + JSON.stringify(widgetCollection));
// clearData();
// sendCurrentPageName();
//}
function clearData ( ) {
$$invalidate ( 5 , configJson = [ ] ) ;
configJsonBuf = [ ] ;
$$invalidate ( 6 , widgetCollection = [ ] ) ;
widgetCollectionBuf = [ ] ;
}
function wsPush ( ws , topic , status ) {
let msg = topic + " " + status ;
if ( debug ) console . log ( "[i]" , "send to ws msg:" , msg ) ;
wsSendMsg ( ws , msg ) ;
}
function wsTestMsgTask ( ) {
setTimeout ( wsTestMsgTask , reconnectTimeout ) ;
if ( debug ) console . log ( "[i]" , "----timer tick----" ) ;
if ( ! flag ) {
deviceList . forEach ( device => {
if ( ! getDeviceStatus ( device . ws ) ) {
wsConnect ( device . ws ) ;
wsEventAdd ( device . ws ) ;
} else {
wsSendMsg ( device . ws , "tst" ) ;
}
} ) ;
}
flag = false ;
}
function wsSendMsg ( ws , msg ) {
if ( socket [ ws ] && socket [ ws ] . readyState === 1 ) {
socket [ ws ] . send ( msg ) ;
if ( debug ) console . log ( "[i]" , getIP ( ws ) , "msg send success" , msg ) ;
} else {
if ( debug ) console . log ( "[e]" , getIP ( ws ) , "msg not send" , msg ) ;
}
}
//***********************************************************dashboard************************************************************/
function findNewPage ( ) {
$$invalidate ( 4 , pages = [ ] ) ;
const newPage = Array . from ( new Set ( Array . from ( wigets , ( { page } ) => page ) ) ) ;
newPage . forEach ( function ( item , i , arr ) {
$$invalidate ( 4 , pages = [ ... pages , JSON . parse ( JSON . stringify ( { page : item } ) ) ] ) ;
} ) ;
pages . sort ( function ( a , b ) {
if ( a . page < b . page ) {
return - 1 ;
}
if ( a . page > b . page ) {
return 1 ;
}
return 0 ;
} ) ;
}
function wigetsUpdate ( ) {
$$invalidate ( 3 , wigets = JSON . parse ( document . getElementById ( "text1" ) . value ) ) ;
findNewPage ( ) ;
}
//***********************************************************logging************************************************************/
const addCoreMsg = msg => {
if ( coreMessages . length > Number ( LOG _MAX _MESSAGES ) ) {
$$invalidate ( 11 , coreMessages = coreMessages . slice ( 0 ) ) ;
}
const time = new Date ( ) . getTime ( ) ;
$$invalidate ( 11 , coreMessages = [ ... coreMessages , { time , msg } ] ) ;
coreMessages . sort ( function ( a , b ) {
if ( a . time > b . time ) {
return - 1 ;
}
if ( a . time < b . time ) {
return 1 ;
}
return 0 ;
} ) ;
} ;
//***********************************************************dev list************************************************************/
function dropdownChange ( ) {
$$invalidate ( 7 , socketConnected = selectedDeviceData . status ) ;
wsSelected = selectedDeviceData . ws ;
clearData ( ) ;
sendCurrentPageName ( ) ;
if ( debug ) console . log ( "[i]" , "user selected device:" , selectedDeviceData . name ) ;
if ( selectedDeviceData . ip === myip ) {
if ( debug ) console . log ( "[i]" , "user selected original device" , selectedDeviceData . name ) ;
}
}
function devListSave ( ) {
if ( ! showInput ) {
if ( newDevice . name !== undefined && newDevice . ip !== undefined && newDevice . id !== undefined ) {
$$invalidate ( 10 , newDevice . status = false , newDevice ) ;
deviceList . push ( newDevice ) ;
$$invalidate ( 9 , deviceList ) ;
$$invalidate ( 10 , newDevice = { } ) ;
connectToAllDevices ( ) ;
if ( debug ) console . log ( "[i]" , "selected device:" , selectedDeviceData ) ;
} else //socketConnected = socketConnected;
{
if ( debug ) console . log ( "[e]" , "wrong data" ) ; //socketConnected = selectedDeviceData.status;
}
}
}
//***********************************************************navigation************************************************************/
function handleNavigation ( ) {
clearData ( ) ;
currentPageName = $router . path . toString ( ) ;
console . log ( "[i]" , "user on page:" , currentPageName ) ;
sendCurrentPageName ( ) ;
}
function sendCurrentPageName ( ) {
if ( wsSelected !== undefined ) {
wsSendMsg ( wsSelected , currentPageName ) ;
}
}
const syntaxHighlight = json => {
try {
json = JSON . stringify ( JSON . parse ( json ) , null , 4 ) ;
} catch ( e ) {
return json ;
}
json = json . replace ( /&/g , "&" ) . replace ( /</g , "<" ) . replace ( />/g , ">" ) ;
json = json . replace ( /("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g , function ( match ) {
return match ;
} ) ;
return json ;
} ;
//**********************************************************post and get************************************************************/
//editRequest("192.168.88.235", "data data data data", "file.json")
function editRequest ( url , data , filename ) {
if ( debug ) console . log ( "[i]" , "request for edit file" ) ;
var xmlHttp = new XMLHttpRequest ( ) ;
var formData = new FormData ( ) ;
formData . append ( "data" , new Blob ( [ data ] , { type : "text/json" } ) , "/" + filename ) ;
xmlHttp . open ( "POST" , "http://" + url + "/edit" ) ;
xmlHttp . onload = function ( ) {
} ; //во время загрузки
xmlHttp . send ( formData ) ;
}
function showAdditionalParams ( id ) {
additionalParams = true ;
if ( debug ) console . log ( "[i]" , "user open add params " , id ) ;
}
function showModal ( ) {
$$invalidate ( 1 , showModalFlag = ! showModalFlag ) ;
}
//initialisation=======================================================================================
onMount ( async ( ) => {
console . log ( "[i]" , "mounted" ) ;
connectToAllDevices ( ) ;
wsTestMsgTask ( ) ;
$$invalidate ( 7 , socketConnected = selectedDeviceData . status ) ;
dropdownChange ( ) ;
findNewPage ( ) ;
} ) ;
const writable _props = [ ] ;
Object _1 . keys ( $$props ) . forEach ( key => {
if ( ! ~ writable _props . indexOf ( key ) && key . slice ( 0 , 2 ) !== '$$' && key !== 'slot' ) console _1 . warn ( ` <App> was created with unknown prop ' ${ key } ' ` ) ;
} ) ;
function select _change _handler ( ) {
selectedDeviceData = select _value ( this ) ;
$$invalidate ( 8 , selectedDeviceData ) ;
$$invalidate ( 9 , deviceList ) ;
}
const change _handler = ( ) => dropdownChange ( ) ;
const func = ( ws , topic , status ) => wsPush ( ws , topic , status ) ;
function input _value _binding ( value , widget ) {
if ( $$self . $$ . not _equal ( widget . status , value ) ) {
widget . status = value ;
$$invalidate ( 3 , wigets ) ;
}
}
const func _1 = ( ws , topic , status ) => wsPush ( ws , topic , status ) ;
function toggle _value _binding ( value , widget ) {
if ( $$self . $$ . not _equal ( widget . status , value ) ) {
widget . status = value ;
$$invalidate ( 3 , wigets ) ;
}
}
function anydata _value _binding ( value , widget ) {
if ( $$self . $$ . not _equal ( widget . status , value ) ) {
widget . status = value ;
$$invalidate ( 3 , wigets ) ;
}
}
function input0 _input _handler ( each _value _2 , element _index ) {
each _value _2 [ element _index ] . id = this . value ;
$$invalidate ( 5 , configJson ) ;
$$invalidate ( 6 , widgetCollection ) ;
}
function select _change _handler _1 ( each _value _2 , element _index ) {
each _value _2 [ element _index ] . widget = select _value ( this ) ;
$$invalidate ( 5 , configJson ) ;
$$invalidate ( 6 , widgetCollection ) ;
}
function input1 _input _handler ( each _value _2 , element _index ) {
each _value _2 [ element _index ] . page = this . value ;
$$invalidate ( 5 , configJson ) ;
$$invalidate ( 6 , widgetCollection ) ;
}
function input2 _input _handler ( each _value _2 , element _index ) {
each _value _2 [ element _index ] . descr = this . value ;
$$invalidate ( 5 , configJson ) ;
$$invalidate ( 6 , widgetCollection ) ;
}
const click _handler = ( ) => $$invalidate ( 2 , hideAllSubParams = ! hideAllSubParams ) ;
function input _input _handler ( key , each _value _2 , element _index ) {
each _value _2 [ element _index ] [ key ] = this . value ;
$$invalidate ( 5 , configJson ) ;
$$invalidate ( 6 , widgetCollection ) ;
}
const click _handler _1 = ( ) => sendConfigJson ( ) ;
function input0 _input _handler _1 ( ) {
newDevice . name = this . value ;
$$invalidate ( 10 , newDevice ) ;
}
function input1 _input _handler _1 ( ) {
newDevice . ip = this . value ;
$$invalidate ( 10 , newDevice ) ;
}
function input2 _input _handler _1 ( ) {
newDevice . id = this . value ;
$$invalidate ( 10 , newDevice ) ;
}
const click _handler _2 = ( ) => ( $$invalidate ( 0 , showInput = ! showInput ) , devListSave ( ) ) ;
const click _handler _3 = ( ) => showModal ( ) ;
$$self . $capture _state = ( ) => ( {
onMount ,
Route ,
router : f ,
active : A ,
Chart : Base$1 ,
Card ,
Modal ,
Input ,
Toggle ,
Anydata ,
debug ,
LOG _MAX _MESSAGES ,
reconnectTimeout ,
myip ,
showInput ,
showModalFlag ,
hideAllSubParams ,
additionalParams ,
wigets ,
pages ,
datachart ,
configJson ,
configJsonBuf ,
widgetCollection ,
widgetCollectionBuf ,
socket ,
socketConnected ,
selectedDeviceData ,
deviceList ,
flag ,
newDevice ,
coreMessages ,
wsSelected ,
currentPageName ,
connectToAllDevices ,
closeAllConnection ,
markDeviceStatus ,
getDeviceStatus ,
wsConnect ,
getIP ,
wsEventAdd ,
sendConfigJson ,
clearData ,
wsPush ,
wsTestMsgTask ,
wsSendMsg ,
findNewPage ,
wigetsUpdate ,
addCoreMsg ,
dropdownChange ,
devListSave ,
handleNavigation ,
sendCurrentPageName ,
getJsonObject ,
syntaxHighlight ,
IsJsonParse ,
editRequest ,
handleSubmit ,
getRequestJson ,
showAdditionalParams ,
showModal ,
$router
} ) ;
$$self . $inject _state = $$props => {
if ( 'debug' in $$props ) debug = $$props . debug ;
if ( 'LOG_MAX_MESSAGES' in $$props ) LOG _MAX _MESSAGES = $$props . LOG _MAX _MESSAGES ;
if ( 'reconnectTimeout' in $$props ) reconnectTimeout = $$props . reconnectTimeout ;
if ( 'myip' in $$props ) myip = $$props . myip ;
if ( 'showInput' in $$props ) $$invalidate ( 0 , showInput = $$props . showInput ) ;
if ( 'showModalFlag' in $$props ) $$invalidate ( 1 , showModalFlag = $$props . showModalFlag ) ;
if ( 'hideAllSubParams' in $$props ) $$invalidate ( 2 , hideAllSubParams = $$props . hideAllSubParams ) ;
if ( 'additionalParams' in $$props ) additionalParams = $$props . additionalParams ;
if ( 'wigets' in $$props ) $$invalidate ( 3 , wigets = $$props . wigets ) ;
if ( 'pages' in $$props ) $$invalidate ( 4 , pages = $$props . pages ) ;
if ( 'datachart' in $$props ) $$invalidate ( 12 , datachart = $$props . datachart ) ;
if ( 'configJson' in $$props ) $$invalidate ( 5 , configJson = $$props . configJson ) ;
if ( 'configJsonBuf' in $$props ) configJsonBuf = $$props . configJsonBuf ;
if ( 'widgetCollection' in $$props ) $$invalidate ( 6 , widgetCollection = $$props . widgetCollection ) ;
if ( 'widgetCollectionBuf' in $$props ) widgetCollectionBuf = $$props . widgetCollectionBuf ;
if ( 'socket' in $$props ) socket = $$props . socket ;
if ( 'socketConnected' in $$props ) $$invalidate ( 7 , socketConnected = $$props . socketConnected ) ;
if ( 'selectedDeviceData' in $$props ) $$invalidate ( 8 , selectedDeviceData = $$props . selectedDeviceData ) ;
if ( 'deviceList' in $$props ) $$invalidate ( 9 , deviceList = $$props . deviceList ) ;
if ( 'flag' in $$props ) flag = $$props . flag ;
if ( 'newDevice' in $$props ) $$invalidate ( 10 , newDevice = $$props . newDevice ) ;
if ( 'coreMessages' in $$props ) $$invalidate ( 11 , coreMessages = $$props . coreMessages ) ;
if ( 'wsSelected' in $$props ) wsSelected = $$props . wsSelected ;
if ( 'currentPageName' in $$props ) currentPageName = $$props . currentPageName ;
} ;
if ( $$props && "$$inject" in $$props ) {
$$self . $inject _state ( $$props . $$inject ) ;
}
return [
showInput ,
showModalFlag ,
hideAllSubParams ,
wigets ,
pages ,
configJson ,
widgetCollection ,
socketConnected ,
selectedDeviceData ,
deviceList ,
newDevice ,
coreMessages ,
datachart ,
sendConfigJson ,
wsPush ,
wigetsUpdate ,
dropdownChange ,
devListSave ,
syntaxHighlight ,
showModal ,
select _change _handler ,
change _handler ,
func ,
input _value _binding ,
func _1 ,
toggle _value _binding ,
anydata _value _binding ,
input0 _input _handler ,
select _change _handler _1 ,
input1 _input _handler ,
input2 _input _handler ,
click _handler ,
input _input _handler ,
click _handler _1 ,
input0 _input _handler _1 ,
input1 _input _handler _1 ,
input2 _input _handler _1 ,
click _handler _2 ,
click _handler _3
] ;
}
class App extends SvelteComponentDev {
constructor ( options ) {
super ( options ) ;
init ( this , options , instance , create _fragment , safe _not _equal , { } , null , [ - 1 , - 1 , - 1 ] ) ;
dispatch _dev ( "SvelteRegisterComponent" , {
component : this ,
tagName : "App" ,
options ,
id : create _fragment . name
} ) ;
}
}
const app = new App ( {
target : document . body ,
props : {
name : 'world'
}
} ) ;
return app ;
} ) ( ) ;
2021-12-24 00:44:11 +01:00
//# sourceMappingURL=bundle.js.map