unisi 0.2.9__py3-none-any.whl → 0.3.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
unisi/common.py CHANGED
@@ -43,12 +43,6 @@ class ArgObject:
43
43
  def __getattr__(self, _):
44
44
  """return None for unknown props"""
45
45
  return None
46
-
47
- class ReceivedMessage(ArgObject):
48
- def __init__(self, kwargs):
49
- self.__dict__.update(kwargs)
50
- def __str__(self):
51
- return f'{self.block}/{self.element}->{self.event}({self.value})'
52
46
  @property
53
47
  def screen_type(self):
54
48
  return self.block == 'root' and self.element is None
@@ -56,6 +50,12 @@ class ReceivedMessage(ArgObject):
56
50
  def voice_type(self):
57
51
  return self.block == 'voice' and self.element is None
58
52
 
53
+ class ReceivedMessage(ArgObject):
54
+ def __init__(self, kwargs):
55
+ self.__dict__.update(kwargs)
56
+ def __str__(self):
57
+ return f'{self.block}/{self.element}->{self.event}({self.value})'
58
+
59
59
  def toJson(obj):
60
60
  return jsonpickle.encode(obj,unpicklable = False)
61
61
 
unisi/containers.py CHANGED
@@ -80,6 +80,11 @@ class Block(Unit):
80
80
  self.scaler.changed(self.scaler, sval)
81
81
  self.set_reactivity(Unishare.context_user())
82
82
 
83
+ def find(self, elem: Unit | str):
84
+ for e in flatten(self.value):
85
+ if e == elem or e.name == elem:
86
+ return e
87
+
83
88
  class ParamBlock(Block):
84
89
  def __init__(self, name, *args, row = 3, **params):
85
90
  """ does not need reactivity so Block init is not used"""
unisi/server.py CHANGED
@@ -5,7 +5,7 @@ from pathlib import Path
5
5
  from .reloader import empty_app
6
6
  from .autotest import recorder, run_tests
7
7
  from .common import *
8
- from.llmrag import setup_llmrag
8
+ from .llmrag import setup_llmrag
9
9
  from .dbunits import dbupdates
10
10
  from .kdb import Database
11
11
  from config import port, upload_dir
@@ -50,16 +50,15 @@ def make_user(request):
50
50
  ok = True
51
51
  else:
52
52
  user = User.type(session)
53
- ok = user.load()
54
-
53
+ ok = user.load()
55
54
  User.count += 1
56
55
  Unishare.sessions[session] = user
57
56
  return user, ok
58
57
 
59
- def handle(elem, event):
58
+ def handle(unit, event):
60
59
  def h(fn):
61
- key = elem, event
62
- handler_map = User.last_user.__handlers__
60
+ key = unit, event
61
+ handler_map = User.last_user.handlers
63
62
  func = handler_map.get(key, None)
64
63
  if func:
65
64
  handler_map[key] = compose_handlers(func, fn)
@@ -82,7 +81,6 @@ async def post_handler(request):
82
81
  break
83
82
  size += len(chunk)
84
83
  f.write(chunk)
85
-
86
84
  return web.Response(text=filename)
87
85
 
88
86
  async def static_serve(request):
@@ -90,19 +88,16 @@ async def static_serve(request):
90
88
  file_path = Path(f"{webpath}{rpath}" )
91
89
  if request.path == '/':
92
90
  file_path /= 'index.html'
93
-
94
91
  if not file_path.exists():
95
92
  file_path = None
96
93
  #unmask win path
97
94
  if rpath.startswith('/') and rpath[2] == ':':
98
- rpath = rpath[1:]
99
- dirs = getattr(config, public_dirs, [])
100
- for dir in dirs:
95
+ rpath = rpath[1:]
96
+ for dir in config.public_dirs:
101
97
  if rpath.startswith(dir):
102
98
  if os.path.exists(rpath):
103
99
  file_path = Path(rpath)
104
- break
105
-
100
+ break
106
101
  return web.FileResponse(file_path) if file_path else web.HTTPNotFound()
107
102
 
108
103
  async def websocket_handler(request):
@@ -116,7 +111,6 @@ async def websocket_handler(request):
116
111
  if type(res) != str:
117
112
  res = toJson(user.prepare_result(res))
118
113
  await ws.send_str(res)
119
-
120
114
  user.send = send
121
115
  await send(True if status else empty_app)
122
116
  try:
@@ -149,7 +143,6 @@ async def websocket_handler(request):
149
143
  except BaseException as e:
150
144
  if not isinstance(e, ConnectionResetError):
151
145
  user.log(traceback.format_exc())
152
-
153
146
  await user.delete()
154
147
  return ws
155
148
 
unisi/units.py CHANGED
@@ -73,6 +73,7 @@ class ChangedProxy:
73
73
  atomics = (int, float, complex, bool, str, bytes, ChangedProxy, type(None))
74
74
 
75
75
  class Unit:
76
+ action_list = set(['complete', 'update', 'changed','delete','append', 'modify', 'complete'])
76
77
  def __init__(self, name, *args, **kwargs):
77
78
  self._mark_changed = None
78
79
  self.name = name
@@ -154,8 +155,8 @@ class Unit:
154
155
  obj.value = value
155
156
  self.changed = compose_handlers(changed_handler, handler)
156
157
 
157
- def __getstate__(self):
158
- return {n: v for n, v in self.__dict__.items() if n[0] != '_'}
158
+ def __getstate__(self):
159
+ return {n: (True if n in Unit.action_list else v) for n, v in self.__dict__.items() if n[0] != '_'}
159
160
 
160
161
  def __str__(self):
161
162
  return f'{type(self).__name__}({self.name})'
@@ -181,7 +182,7 @@ def smart_complete(lst, min_input_length = 0, max_output_length = 20):
181
182
  class Edit(Unit):
182
183
  def __init__(self, name, *args, **kwargs):
183
184
  super().__init__(name, *args, **kwargs)
184
- self.x = -1
185
+ self.x = 0
185
186
  has_value = hasattr(self,'value')
186
187
  if 'type' not in kwargs:
187
188
  if has_value:
@@ -292,7 +293,7 @@ class Tree(Unit):
292
293
  class TextArea(Unit):
293
294
  def __init__(self,name, *args, **kwargs):
294
295
  super().__init__(name, *args, **kwargs)
295
- self.x = -1
296
+ self.x = 0
296
297
  self.type = 'text'
297
298
 
298
299
 
unisi/users.py CHANGED
@@ -23,7 +23,7 @@ class User:
23
23
  if share:
24
24
  self.screens = share.screens
25
25
  self.screen_module = share.screen_module if share.screens else []
26
- self.__handlers__ = share.__handlers__
26
+ self.handlers = share.handlers
27
27
 
28
28
  if share.reflections:
29
29
  share.reflections.append(self)
@@ -34,7 +34,7 @@ class User:
34
34
  self.screens = []
35
35
  self.reflections = []
36
36
  self.screen_module = None
37
- self.__handlers__ = {}
37
+ self.handlers = {}
38
38
 
39
39
  User.last_user = self
40
40
  self.monitor(session, share)
@@ -147,7 +147,7 @@ class User:
147
147
  return self.screen_module.screen
148
148
 
149
149
  def set_screen(self,name):
150
- return asyncio.run(self.process(ArgObject(block = 'root', element = None, value = name)))
150
+ return self.screen_process(ArgObject(block = 'root', element = None, value = name))
151
151
 
152
152
  async def result4message(self, message):
153
153
  result = None
@@ -243,8 +243,8 @@ class User:
243
243
 
244
244
  self.changed_units.clear()
245
245
  return raw
246
-
247
- async def process(self, message):
246
+
247
+ def screen_process(self, message):
248
248
  screen_change_message = message.screen and self.screen.name != message.screen
249
249
  if screen_change_message or message.screen_type:
250
250
  for s in self.screens:
@@ -262,6 +262,10 @@ class User:
262
262
  error = f'Unknown screen name: {message.value}'
263
263
  self.log(error)
264
264
  return Error(error)
265
+
266
+ async def process(self, message):
267
+ if screen_result := self.screen_process(message):
268
+ return screen_result
265
269
  elif message.voice_type:
266
270
  if not self.voice:
267
271
  self.voice = VoiceCom(self)
@@ -283,7 +287,7 @@ class User:
283
287
  async def process_element(self, elem, message):
284
288
  event = message.event
285
289
  query = event == 'complete' or event == 'append' or event == 'get'
286
- handler = self.__handlers__.get((elem, event), None)
290
+ handler = self.handlers.get((elem, event), None)
287
291
  if handler:
288
292
  return await self.eval_handler(handler, elem, message.value)
289
293
 
unisi/utils.py CHANGED
@@ -5,7 +5,6 @@ from .containers import Screen
5
5
 
6
6
  blocks_dir = 'blocks'
7
7
  screens_dir = 'screens'
8
- public_dirs = 'public_dirs'
9
8
  testdir = 'autotest'
10
9
 
11
10
  divpath = '\\' if platform.system() == 'Windows' else '/'
@@ -19,7 +18,7 @@ except:
19
18
  f = open('config.py', 'w')
20
19
  f.write("""port = 8000
21
20
  upload_dir = 'web'
22
- hot_reload = True
21
+ hot_reload = True
23
22
  logfile = 'log'
24
23
  autotest = '*'
25
24
  appname = 'Unisi app'
@@ -43,7 +42,8 @@ set_defaults(config, dict(
43
42
  monitor_tick = 0.005,
44
43
  pool = None,
45
44
  db_dir = None,
46
- lang = 'en-US'
45
+ lang = 'en-US',
46
+ public_dirs = []
47
47
  ))
48
48
 
49
49
  Screen.defaults = dict(
unisi/voicecom.py CHANGED
@@ -15,14 +15,17 @@ def find_most_similar_sequence(input_string, string_list):
15
15
  if ratio > highest_ratio:
16
16
  highest_ratio = ratio
17
17
  best_match = string
18
-
19
18
  return best_match, highest_ratio
20
19
 
21
- def word_to_number(sn):
20
+ def word_to_number(word: str):
21
+ sn = word.replace(',', '')
22
22
  try:
23
- return w2n.word_to_num(sn)
23
+ return float(sn)
24
24
  except:
25
- return None
25
+ try:
26
+ return w2n.word_to_num(sn)
27
+ except:
28
+ return None
26
29
 
27
30
  command_synonyms = dict( #-> words
28
31
  value = ['is', 'equals'],
@@ -30,52 +33,72 @@ command_synonyms = dict( #-> words
30
33
  backspace = ['back'],
31
34
  enter = ['push', 'execute','run'],
32
35
  clean = ['empty','erase'],
33
- screen = ['top'],
34
- push = ['execute','run']
36
+ screen = ['menu'],
37
+ push = ['execute','run'],
38
+ reset = ['cancel'],
39
+ ok = ['okay']
35
40
  )
36
41
 
37
- root_commands = ['select', 'screen', 'stop', 'reset']
42
+ root_commands = ['select', 'screen', 'stop', 'reset', 'ok']
38
43
 
39
44
  modes = dict( #-> actions
40
- text = ['text', 'left', 'right', 'up', 'down','backspace','delete', 'space', 'tab', 'enter'],
41
- number = ['number', 'backspace','delete'],
45
+ text = ['text', 'left', 'right', 'up', 'down','backspace','delete', 'space', 'tab', 'enter', 'undo','clean'],
46
+ number = ['number', 'backspace','delete', 'undo','clean'],
42
47
  graph = ['node', 'edge'],
43
48
  table = ['page','row', 'column', 'left', 'right', 'up', 'down','backspace','delete'],
44
49
  command = ['push']
45
50
  )
46
-
47
51
  word2command = {}
48
52
  for command, syns in command_synonyms.items():
49
53
  for syn in syns:
50
- word2command[syn] = command
54
+ word2command[syn] = command
55
+
51
56
  word2command.update({command: command for command in root_commands})
52
57
  for mode, commands in modes.items():
53
58
  word2command.update({c:c for c in commands})
54
59
 
55
60
  class VoiceCom:
61
+ standart_message = "Element or command?"
56
62
  def __init__(self, user):
57
63
  self.block = self.assist_block()
58
64
  self.user = user
65
+ self.previous_unit_value_x = None
66
+ self.unit = None
67
+ self.cached_commands = {}
59
68
  self.set_screen(user.screen)
60
69
 
61
70
  def assist_block(self) -> Block:
62
- self.input = Edit('Input', '')
71
+ self.input = Edit('Recognized words', '', update = lambda _,value: self.process_word(value))
63
72
  self.message = Edit('System message', '', edit = False)
64
- self.context_list = Select('Elements', type = 'list')
65
- self.command_list = Select('Commands', type = 'list')
73
+ self.context_list = Select('Elements', None, self.select_elem, type = 'list')
74
+ self.command_list = Select('Commands', None, self.select_command, type = 'list')
66
75
 
67
- return Block("Voice Assistant",
68
- self.input,
76
+ return Block("Mate:",
69
77
  self.message,
78
+ self.input,
70
79
  self.context_list,
71
80
  self.command_list,
72
- closable = True, width = 390
81
+ closable = True, width = 390, icon = 'mic'
73
82
  )
74
83
  def set_screen(self, screen):
75
84
  self.calc_interactive_units()
76
85
  self.screen = screen
77
86
  self.reset()
78
87
 
88
+ def select_elem(self, elem, value):
89
+ elem.value = value
90
+ if value:
91
+ if self.mode == 'screen':
92
+ return self.user.set_screen(value)
93
+ self.activate_unit(self.name2unit.get(value, None))
94
+
95
+ def select_command(self, elem, value):
96
+ if command := word2command.get(value, None):
97
+ self.run_command(command)
98
+ self.input.value = value
99
+ self.message.value = command if command else ''
100
+ self.command_list.value = None
101
+
79
102
  @property
80
103
  def context_options(self):
81
104
  return self.context_list.options
@@ -113,33 +136,42 @@ class VoiceCom:
113
136
  interactive_names.sort()
114
137
  self.unit_names = interactive_names
115
138
  self.name2unit = name2unit
116
-
117
- def activate_unit(self, unit):
118
- if self.unit:
119
- self.unit.active = False
120
- self.unit.focus = False
121
- match unit.type:
122
- case 'string':
123
- self.mode = 'text'
124
- case 'range':
125
- self.mode = 'number'
126
- case _:
127
- self.mode = unit.type
128
- if self.unit:
129
- self.unit.active = False
130
- self.focus = True
131
- self.unit = unit
132
- unit.active = True
133
- self.buffer = []
134
- commands = modes.get(self.mode, []) + root_commands
139
+
140
+ def commands4mode(self, mode):
141
+ if commands :=self.cached_commands.get(mode, None):
142
+ self.commands = commands
135
143
  syn_commands = []
144
+ commands = modes.get(mode, []) + root_commands
136
145
  for command in commands:
137
146
  if command in command_synonyms:
138
- syn_commands.extend(command_synonyms[command])
139
- if syn_commands:
140
- commands.extend(syn_commands)
147
+ syn_commands.extend(command_synonyms[command])
148
+ commands.extend(syn_commands)
141
149
  commands.sort()
150
+ self.cached_commands[mode] = commands
142
151
  self.commands = commands
152
+
153
+ def activate_unit(self, unit: Unit | None):
154
+ if self.unit:
155
+ self.unit.active = False
156
+ self.unit.focus = False
157
+ self.unit = unit
158
+ self.message.value = VoiceCom.standart_message
159
+ if unit:
160
+ match unit.type:
161
+ case 'string':
162
+ self.mode = 'text'
163
+ case 'range':
164
+ self.mode = 'number'
165
+ case _:
166
+ self.mode = unit.type
167
+ unit.active = True
168
+ unit.focus = True
169
+ self.buffer = []
170
+ self.commands4mode(self.mode)
171
+ if unit.type == 'text' or unit.type == 'number':
172
+ self.previous_unit_value_x = unit.value, unit.x
173
+ else:
174
+ self.commands = root_commands
143
175
 
144
176
  def start(self):
145
177
  if self.screen.blocks[-1] != self.block:
@@ -151,53 +183,103 @@ class VoiceCom:
151
183
  def process_word(self, word: str):
152
184
  self.input.value = word
153
185
  self.message.value = ''
154
- result = None
155
186
  if word:
156
- if self.mode == 'number' or self.mode == 'text':
187
+ command = word2command.get(word, None)
188
+ match self.mode:
189
+ case 'number'|'text':
157
190
  #double repeat command word cause execution
158
- if self.buffer and self.buffer[-1] == word and word in word2command:
159
- self.buffer.pop()
160
- result = self.exec_command(word)
161
- else:
162
- result = self.process_context(word)
163
- else:
164
- result = self.exec_command(word)
165
- return result
191
+ if self.mode == 'number':
192
+ num = word_to_number(word)
193
+ if command:
194
+ self.run_command(command)
195
+ elif num is not None:
196
+ self.previous_unit_value_x = self.unit.value, self.unit.x
197
+ self.unit.value = num
198
+ else:
199
+ self.message.value = 'Not a number'
200
+ elif self.mode == 'text':
201
+ if self.buffer and self.buffer[-1] == word and command:
202
+ self.buffer.pop()
203
+ self.run_command(command)
204
+ else:
205
+ self.previous_unit_value_x = self.unit.value, self.unit.x
206
+ self.buffer = [word]
207
+ value = self.unit.value
208
+ if self.unit.x == -1:
209
+ if value:
210
+ self.unit.value += ' ' + word
211
+ else:
212
+ self.unit.value = word
213
+ self.unit.x = len(self.unit.value)
214
+ else:
215
+ word += ' '
216
+ self.unit.value = value[:self.unit.x] + word + value[self.unit.x:]
217
+ self.unit.x += len(word)
218
+ case 'select':
219
+ if command == 'ok' and self.context:
220
+ self.activate_unit(self.name2unit[self.context])
221
+ elif command:
222
+ self.run_command(command)
223
+ else:
224
+ unit_name, similarity = self.buffer_suits_name(word)
225
+ if similarity >= 0.8:
226
+ self.activate_unit(self.name2unit[unit_name])
227
+ elif unit_name:
228
+ self.context = unit_name
229
+ self.message.value = '"Ok" to confirm'
230
+ else:
231
+ self.commands = []
232
+ self.message.value = 'Continue..'
233
+ self.input.value = ' '.join(self.buffer)
234
+ case 'screen':
235
+ if command == 'ok' and self.context:
236
+ self.user.set_screen(self.context)
237
+ return self.set_screen(self.user.screen)
238
+ else:
239
+ screen_name, similarity = self.buffer_suits_name(word)
240
+ if similarity > 0.9:
241
+ return self.user.set_screen(screen_name)
242
+ else:
243
+ self.context = screen_name
244
+ self.message.value = '"Ok" to confirm'
245
+ case _:
246
+ if command:
247
+ self.run_command(command)
248
+ else:
249
+ self.message.value = 'Unknown command.'
166
250
 
167
- def exec_command(self, word: str):
168
- """word is a command or a unit name or a name part"""
169
- self.message.value = ''
170
- command = word2command.get(word, None)
171
- result = None
251
+ def run_command(self, command: str):
252
+ self.message.value = ''
172
253
  match command:
173
254
  case 'select':
174
- if unit := self.buffer_suits_name():
175
- self.activate_unit(unit)
176
- self.buffer = []
177
- else:
178
- result = self.process_context(word)
255
+ self.reset()
179
256
  case 'screen':
180
- clist = self.context_list
181
- clist.options = [getattr(s, 'name')for s in self.user.screens
182
- if hasattr(s, 'name') and s.name != self.user.sreen.name]
183
- clist.value = None
257
+ self.context_options = [getattr(s, 'name')for s in self.user.screens
258
+ if hasattr(s, 'name') and s.name != self.user.screen.name]
259
+ self.commands4mode('screen')
260
+ self.context = None
184
261
  self.mode = command
185
262
  self.buffer = []
263
+ self.message.value = 'Select a screen'
186
264
  case 'reset':
187
265
  self.reset()
188
266
  case 'stop':
189
- result = self.stop()
267
+ self.stop()
190
268
  case _:
191
- result = self.process_context(word)
192
- return result
193
-
269
+ if self.unit:
270
+ self.context_command(command)
271
+ else:
272
+ self.message.value = 'Command is out of context.'
194
273
  def reset(self):
195
274
  self.buffer = []
196
275
  self.mode = 'select'
197
- self.unit = None
198
- self.input.value = ''
276
+ if self.unit:
277
+ self.unit.active = False
278
+ self.unit.focus = False
279
+ self.unit = None
280
+ self.input.value = VoiceCom.standart_message
199
281
  self.message.value = 'Select an element'
200
- self.context_list.value = None
282
+ self.context_list.value = None
201
283
  self.commands = root_commands
202
284
  self.context = None
203
285
  self.context_options = self.unit_names
@@ -207,39 +289,11 @@ class VoiceCom:
207
289
  name = ' '.join(self.buffer)
208
290
  return find_most_similar_sequence(name, self.context_options)
209
291
 
210
- def process_context(self, word):
211
- u = self.unit
212
- result = None
213
- match self.mode:
214
- case 'screen':
215
- if (word == 'ok' or word == 'okay') and self.context:
216
- result = self.user.set_screen(self.context)
217
- self.set_screen(self.user.screen)
218
- return result
219
- else:
220
- screen_name, similarity = self.buffer_suits_name(word)
221
- if similarity > 0.9:
222
- return self.user.set_screen(screen_name)
223
- else:
224
- self.context = screen_name
225
- self.message.value = '"Ok" to confirm'
226
- case 'select':
227
- if self.unit_names:
228
- if word == 'ok' or word == 'okay':
229
- self.activate_unit(self.name2unit[self.context])
230
- else:
231
- unit_name, similarity = self.buffer_suits_name(word)
232
- if similarity >= 0.8:
233
- self.activate_unit(self.name2unit[unit_name])
234
- elif unit_name:
235
- self.context = unit_name
236
- self.message.value = '"Ok" to confirm'
237
- else:
238
- self.commands = []
239
- self.message.value = 'No such unit. Continue..'
240
- self.input.value = ' '.join(self.buffer)
292
+ def context_command(self, command: str):
293
+ u = self.unit
294
+ match self.mode:
241
295
  case 'text':
242
- match word:
296
+ match command:
243
297
  case 'left' :
244
298
  if u.x > 0:
245
299
  u.x -= 1
@@ -257,14 +311,15 @@ class VoiceCom:
257
311
  if hasattr(u, 'x'):
258
312
  u.value = u.value[:u.x] + ' ' + u.value[u.x:]
259
313
  u.x += 1
314
+ case 'undo':
315
+ u.value, u.x = self.previous_unit_value_x
316
+ case 'clean':
317
+ u.value = ''
260
318
  case _ :
261
- if u.x < len(u.value):
262
- u.value = u.value[:u.x] + word + u.value[u.x:]
263
- u.x += len(word)
264
-
319
+ self.message.value = 'Command is ouside context'
265
320
  case 'number':
266
- svalue = str(self.value)
267
- match word:
321
+ svalue = str(u.value)
322
+ match command:
268
323
  case 'left' :
269
324
  if u.x > 0:
270
325
  u.x -= 1
@@ -278,15 +333,13 @@ class VoiceCom:
278
333
  case 'delete' :
279
334
  if u.x < len(svalue) - 1:
280
335
  u.value = float(svalue[:u.x] + svalue[u.x+1:])
281
- case _ :
282
- num = word_to_number(word)
283
- if num is not None and hasattr(u, 'x') :
284
- if num >= 0 and num <= 9:
285
- u.value = float(svalue + str(num))
286
- u.x += len(word)
336
+ case 'clean':
337
+ u.value = None
338
+ case _ :
339
+ self.message.value = 'Command is ouside context'
340
+
287
341
  case 'command':
288
- pass
289
-
290
-
291
-
292
-
342
+ if command == 'ok' or command == 'push':
343
+ return self.unit.accept(None)
344
+ else:
345
+ self.message.value = 'Command is ouside context'
@@ -1 +1 @@
1
- thead tr:first-child th{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000}:root{--scrollbar-width-height:10px;--scrollbar-thumb-hover:#2176d2;--scrollbar-thumb-dark:#2176d2;--scrollbar-thumb-hover-dark:#2176d2}::-webkit-scrollbar{height:var(--scrollbar-width-height);width:var(--scrollbar-width-height)}::-webkit-scrollbar-track{box-shadow:inset 0 0 4px var(--scrollbar-track-dark)}::-webkit-scrollbar-corner{background:var(--scrollbar-track-dark)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-dark);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-dark)}#header[data-v-419ab6c8]{font-size:16px;font-weight:700;left:10px;pointer-events:none;position:absolute;top:10px;z-index:2}#graph[data-v-419ab6c8]{border:1px solid #ccc;height:600px;position:relative;width:100%}body[data-v-644cc909]{display:flex;justify-content:center}.custom-caption[data-v-644cc909]{padding:5px!important}.web-camera-container[data-v-644cc909]{align-items:center;border:1px solid #ccc;border-radius:4px;display:flex;flex-direction:column;justify-content:center;margin-bottom:2rem;margin-top:2rem;padding:2rem;width:500px}.web-camera-container .camera-button[data-v-644cc909]{margin-bottom:2rem}.web-camera-container .camera-box .camera-shutter[data-v-644cc909]{background-color:#fff;height:337.5px;opacity:0;position:absolute;width:450px}.web-camera-container .camera-box .camera-shutter.flash[data-v-644cc909]{opacity:1}.web-camera-container .camera-shoot[data-v-644cc909]{margin:1rem 0}.web-camera-container .camera-shoot button[data-v-644cc909]{align-items:center;border-radius:100%;display:flex;height:60px;justify-content:center;width:60px}.web-camera-container .camera-shoot button img[data-v-644cc909]{height:35px;object-fit:cover}.web-camera-container .camera-loading[data-v-644cc909]{height:100%;margin:3rem 0 0 -1.2rem;min-height:150px;overflow:hidden;position:absolute;width:100%}.web-camera-container .camera-loading ul[data-v-644cc909]{height:100%;margin:0;position:absolute;width:100%;z-index:999999}.web-camera-container .camera-loading .loader-circle[data-v-644cc909]{display:block;height:14px;left:100%;margin:0 auto;padding:0;position:absolute;top:50%;transform:translateY(-50%);transform:translateX(-50%);width:100%}.web-camera-container .camera-loading .loader-circle li[data-v-644cc909]{animation:preload-644cc909 1s infinite;background:#999;border-radius:100%;display:block;float:left;height:10px;line-height:10px;margin:0 0 0 4px;padding:0;position:relative;top:-50%;width:10px}.web-camera-container .camera-loading .loader-circle li[data-v-644cc909]:nth-child(2){animation-delay:.2s}.web-camera-container .camera-loading .loader-circle li[data-v-644cc909]:nth-child(3){animation-delay:.4s}@keyframes preload-644cc909{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.container[data-v-644cc909]{position:relative}.frame[data-v-644cc909]{border:2px solid #573497;border-radius:8px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.container{position:relative}.frame{border:2px solid #573497;border-radius:8px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.q-tab__label{font-size:16px;font-weight:700}
1
+ thead tr:first-child th{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000}:root{--scrollbar-width-height:10px;--scrollbar-thumb-hover:#2176d2;--scrollbar-thumb-dark:#2176d2;--scrollbar-thumb-hover-dark:#2176d2}::-webkit-scrollbar{height:var(--scrollbar-width-height);width:var(--scrollbar-width-height)}::-webkit-scrollbar-track{box-shadow:inset 0 0 4px var(--scrollbar-track-dark)}::-webkit-scrollbar-corner{background:var(--scrollbar-track-dark)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-dark);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover-dark)}#header[data-v-419ab6c8]{font-size:16px;font-weight:700;left:10px;pointer-events:none;position:absolute;top:10px;z-index:2}#graph[data-v-419ab6c8]{border:1px solid #ccc;height:600px;position:relative;width:100%}body[data-v-95178f22]{display:flex;justify-content:center}.custom-caption[data-v-95178f22]{padding:5px!important}.web-camera-container[data-v-95178f22]{align-items:center;border:1px solid #ccc;border-radius:4px;display:flex;flex-direction:column;justify-content:center;margin-bottom:2rem;margin-top:2rem;padding:2rem;width:500px}.web-camera-container .camera-button[data-v-95178f22]{margin-bottom:2rem}.web-camera-container .camera-box .camera-shutter[data-v-95178f22]{background-color:#fff;height:337.5px;opacity:0;position:absolute;width:450px}.web-camera-container .camera-box .camera-shutter.flash[data-v-95178f22]{opacity:1}.web-camera-container .camera-shoot[data-v-95178f22]{margin:1rem 0}.web-camera-container .camera-shoot button[data-v-95178f22]{align-items:center;border-radius:100%;display:flex;height:60px;justify-content:center;width:60px}.web-camera-container .camera-shoot button img[data-v-95178f22]{height:35px;object-fit:cover}.web-camera-container .camera-loading[data-v-95178f22]{height:100%;margin:3rem 0 0 -1.2rem;min-height:150px;overflow:hidden;position:absolute;width:100%}.web-camera-container .camera-loading ul[data-v-95178f22]{height:100%;margin:0;position:absolute;width:100%;z-index:999999}.web-camera-container .camera-loading .loader-circle[data-v-95178f22]{display:block;height:14px;left:100%;margin:0 auto;padding:0;position:absolute;top:50%;transform:translateY(-50%);transform:translateX(-50%);width:100%}.web-camera-container .camera-loading .loader-circle li[data-v-95178f22]{animation:preload-95178f22 1s infinite;background:#999;border-radius:100%;display:block;float:left;height:10px;line-height:10px;margin:0 0 0 4px;padding:0;position:relative;top:-50%;width:10px}.web-camera-container .camera-loading .loader-circle li[data-v-95178f22]:nth-child(2){animation-delay:.2s}.web-camera-container .camera-loading .loader-circle li[data-v-95178f22]:nth-child(3){animation-delay:.4s}@keyframes preload-95178f22{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.container[data-v-95178f22]{position:relative}.frame[data-v-95178f22]{border:2px solid #573497;border-radius:8px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.container{position:relative}.frame{border:2px solid #573497;border-radius:8px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.q-tab__label{font-size:16px;font-weight:700}
unisi/web/index.html CHANGED
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><base href=/ ><title>UNISI</title><meta charset=utf-8><meta name=description content="UNISI on Quasar"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=icons/favicon-16x16.png><link rel=icon type=image/ico href=favicon.ico><script defer src=/js/vendor.1bb14e9d.js></script><script defer src=/js/app.7317dfbe.js></script><link href=/css/vendor.f7e3cefe.css rel=stylesheet><link href=/css/app.31d6cfe0.css rel=stylesheet></head><body><div id=q-app></div></body></html>
1
+ <!DOCTYPE html><html><head><base href=/ ><title>UNISI</title><meta charset=utf-8><meta name=description content="UNISI on Quasar"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=icons/favicon-16x16.png><link rel=icon type=image/ico href=favicon.ico><script defer src=/js/vendor.1bb14e9d.js></script><script defer src=/js/app.99853ae7.js></script><link href=/css/vendor.f7e3cefe.css rel=stylesheet><link href=/css/app.31d6cfe0.css rel=stylesheet></head><body><div id=q-app></div></body></html>
@@ -0,0 +1 @@
1
+ "use strict";(globalThis["webpackChunkuniqua"]=globalThis["webpackChunkuniqua"]||[]).push([[364],{8364:(e,t,a)=>{a.r(t),a.d(t,{default:()=>Aa});var l=a(1758),s=a(8790);const i=(0,l.Lk)("div",{class:"q-pa-md"},null,-1),n=(0,l.Lk)("div",{class:"q-pa-md"},null,-1);function o(e,t,a,o,r,d){const c=(0,l.g2)("q-item-label"),u=(0,l.g2)("element"),h=(0,l.g2)("q-tab"),p=(0,l.g2)("q-tabs"),g=(0,l.g2)("q-space"),m=(0,l.g2)("q-tooltip"),f=(0,l.g2)("q-btn"),y=(0,l.g2)("q-toolbar"),b=(0,l.g2)("q-header"),v=(0,l.g2)("zone"),k=(0,l.g2)("q-page"),w=(0,l.g2)("q-page-container"),A=(0,l.g2)("q-layout");return(0,l.uX)(),(0,l.Wv)(A,{view:"lHh Lpr lFf"},{default:(0,l.k6)((()=>[(0,l.bF)(b,{elevated:"",class:(0,s.C4)({"bg-deep-purple-9":e.Dark.isActive,"bg-blue-grey-9":!e.Dark.isActive})},{default:(0,l.k6)((()=>[(0,l.bF)(y,null,{default:(0,l.k6)((()=>[(0,l.bF)(c,{class:"text-h5"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.screen.header?e.screen.header:""),1)])),_:1}),i,((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.left_toolbar,(t=>((0,l.uX)(),(0,l.Wv)(u,{class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),data:t,pdata:e.tooldata},null,8,["class","data","pdata"])))),256)),n,(0,l.bF)(p,{class:"bold-tabs",align:"center","inline-label":"",dense:"",modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=t=>e.tab=t),style:{float:"center"}},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.menu,(t=>((0,l.uX)(),(0,l.CE)("div",null,[t.icon?((0,l.uX)(),(0,l.Wv)(h,{key:0,class:"justify-center text-white shadow-2","no-caps":"",name:t.name,icon:t.icon,label:t.name,onClick:a=>e.tabclick(t.name)},null,8,["name","icon","label","onClick"])):(0,l.Q3)("",!0),t.icon?(0,l.Q3)("",!0):((0,l.uX)(),(0,l.Wv)(h,{key:1,class:"justify-center text-white shadow-2","no-caps":"",name:t.name,label:t.name,onClick:a=>e.tabclick(t.name)},null,8,["name","label","onClick"]))])))),256))])),_:1},8,["modelValue"]),(0,l.bF)(g),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.right_toolbar,(t=>((0,l.uX)(),(0,l.Wv)(u,{class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),data:t,pdata:e.tooldata},null,8,["class","data","pdata"])))),256)),e.voice_button?((0,l.uX)(),(0,l.Wv)(f,{key:0,class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),dense:"",round:"",icon:e.isListening?"record_voice_over":"voice_over_off",onClick:e.toggleListening},{default:(0,l.k6)((()=>[(0,l.bF)(m,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.isListening?"Stop Voice Mate":"Start Voice Mate"),1)])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),(0,l.bF)(f,{class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),dense:"",round:"",icon:e.Dark.isActive?"light_mode":"dark_mode",onClick:e.switchTheme},{default:(0,l.k6)((()=>[(0,l.bF)(m,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Dark/Light mode")])),_:1})])),_:1},8,["class","icon","onClick"])])),_:1})])),_:1},8,["class"]),(0,l.bF)(w,{class:"content"},{default:(0,l.k6)((()=>[(0,l.bF)(k,{class:"flex justify-center centers"},{default:(0,l.k6)((()=>[(0,l.bF)(v,{data:e.screen.blocks,ref:"page"},null,8,["data"])])),_:1})])),_:1})])),_:1})}function r(e,t,a,i,n,o){const r=(0,l.g2)("q-icon"),d=(0,l.g2)("q-item-section"),c=(0,l.g2)("q-item-label"),u=(0,l.g2)("q-item");return(0,l.uX)(),(0,l.Wv)(u,{clickable:"",tag:"a",target:"_blank",onClick:e.send},{default:(0,l.k6)((()=>[(0,l.bF)(d,{avatar:""},{default:(0,l.k6)((()=>[(0,l.bF)(r,{name:e.icon},null,8,["name"])])),_:1}),(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.name),1)])),_:1})])),_:1})])),_:1},8,["onClick"])}var d=a(1576),c=a(3436);let u=null,h={};var p;const g=!1;let m=g;const f=["graph","chart","block","text"],y=["tree","table","list","text","graph","chart"];const b=window.location.host,v=`${window.location.protocol}//${b}`;let k={},w={},A={};function C(e){let t=window.location.href,a=t.split("?"),l=2==a.length?a[1]:null;l&&(a=l.split("#"),2==a.length&&(l=a[0]));let s=g?"ws://localhost:8000/ws":`ws://${b}/ws`;l&&(s+="?"+l),p=new WebSocket(s),p.onopen=()=>e.statusConnect=!0,p.onmessage=t=>{m&&console.log("incoming message",t.data),u.designCycle=0;let a=JSON.parse(t.data);a?e.processMessage(a):e.closeProgress(a)},p.onerror=t=>e.error(t),p.onclose=t=>{t.wasClean?e.info("Connection was finished by the server."):e.error("Connection suddenly closed!"),e.statusConnect=!1,m&&console.info("close code : "+t.code+" reason: "+t.reason)},u=e}function x(e){let t={block:e[0],element:e[1],event:e[2],value:e[3]};m&&console.log("sended",t),p.send(JSON.stringify(t))}let _=!0;function S(e){_=e,e||(A={})}function E(e){if(_){let t=A[e.fullname];if(t)return t.styleSize;_=!1}return null}function q(e,t,a,l="complete"){let s=[e.pdata.name,e.data.name,l,t];x(s),h[s.toString()]=a}function X(e,t,a,l,s){let i=[e,t,s,a];x(i),h[i.toString()]=l}function F(){k={},A=w,_=!0,w={}}function W(e,t,a=null){let l=null;for(let s=0;s<e.length;s++)if(Array.isArray(e[s])){if(l=W(e[s],t,a),l)return l}else if(e[s].name==t)return a&&(e[s]=a),e[s];return null}function $(e){for(let t of e){let e=t.path,a=u.screen.blocks,l=null;e.length>1?(l=W(a,e[0],null),l&&(l=W(l.value,e[1],t.data))):l=W(a,e[0],t.data),l||u.error("Invalid path: "+name)}}function z(e){let t=`${e.element}@${e.block}`,a=w[t];a.update?a.update(e):console.error()}function D(e){let t=[e.message.block,e.message.element,e.type,e.message.value].toString();if("string"==typeof e.value)u.error(e.value);else if(h[t]){let a=h[t];delete h[t],a(e.value,e.message)}else u.error(t+" doesnt exist in queryMap!")}function Q(e){let t=[];for(let l of e)l instanceof Array?t.push(l):t.push([l]);let a=t.shift();return t.reduce(((e,t)=>e.flatMap((e=>t.map((t=>e instanceof Array?[...e,t]:[e,t]))))),a)}function L(e=!1){requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{I(document.documentElement.scrollWidth>window.innerWidth)}))}))}))}let M=(0,c.debounce)(L,50);function I(e){if(u.designCycle>=1)return;m&&console.log(`------------------recalc design ${u.designCycle}`),u.designCycle++;const t=O(e),a=R(e);for(let[l,s]of Object.entries(t)){let e=w[l],t=a[l];const[i,n]=t||[0,1];let o,r=e.geom(),d=r.el,c=e.pdata?e.pdata.name:e.name,u=k[c];for(let a of u.data.value.slice(1))if(Array.isArray(a)){if(a.find((t=>t.name==e.data.name))){let e=a[a.length-1],t=`${e.name}@${c}`;o=w[t];break}}else if(a.name==e.data.name){o=e;break}let h=i;h/=n;let p=e.only_fixed_elems?"":`width:${Math.ceil(d.clientWidth+h)}px`;"text"==e.type&&(s-=e.showname?50:6);let g=`height:${Math.floor(s+e.he)}px;${p}`;g!=e.styleSize&&(e.styleSize=g),e.has_recalc=!1}}function O(e){const t=u.screen.blocks;let a=window.innerHeight-60,l={},s=new Map,i=[];for(let o of t){const e=[];let t=o instanceof Array,n=t?Q(o):[[o]],r={};for(let[a,l]of Object.entries(k)){let e=l.$el.getBoundingClientRect(),t=e.bottom;r[a]=t-e.top}for(let a of n){let e=0,t=!0;Array.isArray(a)||(a=[a]);for(let l of a)e+=r[l.name],k[l.name].only_fixed_elems||(t=!1);if(t){let e=k[a.slice(-1)[0].name];w[e.fullname]=e}i.push([e+8*a.length,a])}i.sort(((e,t)=>e[0]>t[0]?-1:e[0]==t[0]?0:1));for(let a of i){let t=a[1];(0,d.vA)(Array.isArray(t));const l=[];for(let[e,a]of Object.entries(w))if(a.expanding_height){let[i,n]=e.split("@");if(t.find((e=>e.name==n))){let e=!0;const t=a.geom();for(let[i,n]of l.entries()){let o=n.geom();e&&n!==a&&o.top==t.top&&(o.scrollHeight<t.scrollHeight&&(l[i]=a),e=!1,s.set(a.fullname,n.fullname))}e&&l.push(a)}}l.length&&e.push([a[0],l])}for(let[s,i]of e){let e=0,t=[];for(let a of i)if(a.fullname in l)s+=l[a.fullname];else{let l=a.geom(),i=l.bottom-l.top;i<100&&(s+=100-i,i=100),a.he=i,e+=a.he,t.push(a)}let n=(e+a-s)/t.length,o=0;for(let a of t){let e,s=n-a.he;if(1==t.length)e=s;else if(e=Math.floor(s),s-e){o+=s-e;let t=Math.round(o)-o;t<.001&&t>-.001&&(e+=Math.round(o),o=0)}l[a.fullname]=e}}}let n=Array.from(s.entries());n.sort(((e,t)=>e[0]in l||e[1]in l?-1:1));for(let[o,r]of n)r in l?(l[o]=l[r],w[o].he=w[r].he):(l[r]=l[o],w[r].he=w[o].he);return l}function R(e){let t=null;const a=t?[t]:u.screen.blocks;let l=window.innerWidth-20,s=[],i={};for(let o of a)if(0==s.length)if(Array.isArray(o))for(let e of o)s.push(Array.isArray(e)?e:[e]);else s=[[o]];else{let e=[];if(Array.isArray(o))for(let t of o)for(let a of s)e.push(Array.isArray(t)?a.concat(t):[...a,t]);else for(let t of s)e.push([...t,o]);s=e}const n=[];for(let o of s){let e=0;for(let l of o){let t=k[l.name].$el.getBoundingClientRect();e+=t.right-t.left+5}let t=l-e,a=[[]];for(let l of o){let e=[],t=k[l.name].hlevelements;if(t.length){for(let l of t)for(let t of a)e.push([...t,...l]);a=e}}for(let l of a)n.push([t,l])}n.sort(((e,t)=>t[1].length-e[1].length));for(let[o,r]of n){let t=new Map;for(let e=0;e<r.length;e++){let a=r[e],l=a.parent_name,s=l||a.name,n=a.geom(),d=(a.data.width?a.data.width:n.scrollWidth)-(n.right-n.left);if(d>1&&!f.includes(a.type)&&o>0&&!i[a.fullname]){let e=o>d?d:o;o-=e,i[a.fullname]=[e,1]}if(s=a.parent_name,s){let e=k[s],l=e.$el.getBoundingClientRect().right-6,i=e.free_right_delta4(a,n.right),o=l-i;i&&o>0&&(!t.has(s)||t.get(s)>o)&&t.set(s,o)}}for(let e of t.values())o+=e;let a=[];for(let n of r)if(n.expanding_width&&(e||f.includes(n.type)))if(i[n.fullname]){let[e,t]=i[n.fullname];o-=e/t}else a.push(n);let l=a.length;const s=o/l;for(let e of a)i[e.fullname]||(i[e.fullname]=[Math.floor(s),1]);for(let e of r)i[e.fullname]||(i[e.fullname]=[0,1])}return i}const V=(0,l.pM)({name:"menubar",methods:{send(){x(["root",null,"changed",this.name])}},props:{name:{type:String,required:!0},icon:{type:String,default:""}}});var K=a(2807),T=a(124),N=a(5173),P=a(492),H=a(3796),B=a(8582),j=a.n(B);const U=(0,K.A)(V,[["render",r]]),G=U;j()(V,"components",{QItem:T.A,QItemSection:N.A,QIcon:P.A,QItemLabel:H.A});const Y={key:0,class:"row q-col-gutter-xs q-py-xs"},J={class:"q-col-gutter-xs"},Z={key:0,class:"column q-col-gutter-xs"};function ee(e,t,a,s,i,n){const o=(0,l.g2)("zone",!0),r=(0,l.g2)("block");return e.data instanceof Array?((0,l.uX)(),(0,l.CE)("div",Y,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.data,(e=>((0,l.uX)(),(0,l.CE)("div",J,[e instanceof Array?((0,l.uX)(),(0,l.CE)("div",Z,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e,(e=>((0,l.uX)(),(0,l.Wv)(o,{class:"q-col-gutter-xs q-py-xs",data:e},null,8,["data"])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,data:e},null,8,["data"]))])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,data:e.data},null,8,["data"]))}const te={class:"row no-wrap"},ae={key:0,class:"frame"},le=["data","pdata"],se={key:0,class:"row"},ie=["data","pdata"],ne={key:0,class:"row no-wrap"};function oe(e,t,a,i,n,o){const r=(0,l.g2)("element"),d=(0,l.g2)("q-icon"),c=(0,l.g2)("q-space"),u=(0,l.g2)("q-tooltip"),h=(0,l.g2)("q-btn"),p=(0,l.g2)("q-scroll-area"),g=(0,l.g2)("q-card");return(0,l.uX)(),(0,l.Wv)(g,{class:"my-card q-ma-xs container",style:(0,s.Tr)(e.only_fixed_elems?e.styleSize:null),key:e.name},{default:(0,l.k6)((()=>[(0,l.Lk)("div",te,[e.data.active?((0,l.uX)(),(0,l.CE)("div",ae)):(0,l.Q3)("",!0),e.data.logo?((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"q-ma-sm",data:e.data.logo,pdata:e.data},null,8,["data","pdata"])):e.data.icon?((0,l.uX)(),(0,l.Wv)(d,{key:2,class:"q-mt-sm q-ml-sm",style:{"padding-top":"6px"},size:"sm",name:e.data.icon},null,8,["name"])):(0,l.Q3)("",!0),"_"!=e.name[0]?((0,l.uX)(),(0,l.CE)("p",{key:3,class:(0,s.C4)(["q-ma-sm",{"text-info":e.Dark.isActive,"text-cyan-10":!e.Dark.isActive}]),style:{"padding-top":"6px","font-size":"18px"}},(0,s.v_)(e.name),3)):(0,l.Q3)("",!0),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.tops,(t=>((0,l.uX)(),(0,l.Wv)(r,{class:"q-ma-sm",data:t,pdata:e.data},null,8,["data","pdata"])))),256)),(0,l.bF)(c),"close"in e.data?((0,l.uX)(),(0,l.Wv)(h,{key:4,class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),rounded:"",dense:"",flat:"",size:"14px",icon:"cancel",onClick:e.close},{default:(0,l.k6)((()=>[(0,l.bF)(u,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Close")])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0)]),e.data.scroll?((0,l.uX)(),(0,l.Wv)(p,{key:0,style:(0,s.Tr)(e.styleSize),"thumb-style":e.thumbStyle,"bar-style":e.barStyle},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.data.value.slice(1),(t=>((0,l.uX)(),(0,l.CE)("div",{class:"column",data:t,pdata:e.data},[t instanceof Array?((0,l.uX)(),(0,l.CE)("div",se,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(t,(t=>((0,l.uX)(),(0,l.Wv)(r,{class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"]))],8,le)))),256))])),_:1},8,["style","thumb-style","bar-style"])):((0,l.uX)(!0),(0,l.CE)(l.FK,{key:1},(0,l.pI)(e.data.value.slice(1),(t=>((0,l.uX)(),(0,l.CE)("div",{class:"column",data:t,pdata:e.data},[t instanceof Array?((0,l.uX)(),(0,l.CE)("div",ne,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(t,(t=>((0,l.uX)(),(0,l.Wv)(r,{class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"]))],8,ie)))),256))])),_:1},8,["style"])}var re=a(9104);const de=e=>((0,l.Qi)("data-v-95178f22"),e=e(),(0,l.jt)(),e),ce={class:"container"},ue={key:5,class:"{'bg-blue-grey-9': Dark.isActive}"},he=["width","height"],pe=["src"],ge={class:"camera-button"},me={key:0},fe={key:1},ye={class:"camera-loading"},be=de((()=>(0,l.Lk)("ul",{class:"loader-circle"},[(0,l.Lk)("li"),(0,l.Lk)("li"),(0,l.Lk)("li")],-1))),ve=[be],ke=["height"],we=["height"],Ae={key:1,class:"camera-shoot"},Ce=de((()=>(0,l.Lk)("img",{src:"https://img.icons8.com/material-outlined/50/000000/camera--v2.png"},null,-1))),xe=[Ce],_e={key:2,class:"camera-download"},Se={key:20},Ee={key:23,class:"frame"};function qe(e,t,a,i,n,o){const r=(0,l.g2)("q-icon"),d=(0,l.g2)("q-img"),c=(0,l.g2)("q-select"),u=(0,l.g2)("q-checkbox"),h=(0,l.g2)("q-toggle"),p=(0,l.g2)("q-badge"),g=(0,l.g2)("q-slider"),m=(0,l.g2)("q-btn"),f=(0,l.g2)("q-btn-toggle"),y=(0,l.g2)("utable"),b=(0,l.g2)("linechart"),v=(0,l.g2)("q-input"),k=(0,l.g2)("q-tree"),w=(0,l.g2)("q-scroll-area"),A=(0,l.g2)("q-separator"),C=(0,l.g2)("q-uploader"),x=(0,l.g2)("sgraph"),_=(0,l.g2)("q-tooltip"),S=(0,l.g2)("q-spinner-ios");return(0,l.uX)(),(0,l.CE)("div",ce,["image"==e.type?((0,l.uX)(),(0,l.Wv)(d,{key:e.key,src:e.data.url,"spinner-color":"blue",onClick:(0,re.D$)(e.switchValue,["stop"]),fit:"cover",style:(0,s.Tr)(e.elemSize)},{default:(0,l.k6)((()=>[e.data.label?((0,l.uX)(),(0,l.CE)("div",{key:0,class:"absolute-bottom-right text-subtitle2 custom-caption",onClick:t[0]||(t[0]=(0,re.D$)(((...t)=>e.lens&&e.lens(...t)),["stop"]))},(0,s.v_)(e.data.label),1)):(0,l.Q3)("",!0),e.value?((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"absolute all-pointer-events",size:"32px",name:"check_circle",color:"light-blue-2",style:{"font-size":"2em",top:"8px",left:"8px"}})):(0,l.Q3)("",!0)])),_:1},8,["src","onClick","style"])):"select"==e.type?((0,l.uX)(),(0,l.Wv)(c,{key:e.key,ref:"inputRef","transition-show":"flip-up",readonly:0==e.data.edit,"transition-hide":"flip-down",dense:"",modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=t=>e.value=t),options:e.data.options},(0,l.eX)({_:2},[e.showname?{name:"prepend",fn:(0,l.k6)((()=>[(0,l.Lk)("p",{class:(0,s.C4)(["text-subtitle1 q-ma-sm",{white:e.Dark.isActive,black:!e.Dark.isActive}])},(0,s.v_)(e.name),3)])),key:"0"}:void 0]),1032,["readonly","modelValue","options"])):"check"==e.type?((0,l.uX)(),(0,l.Wv)(u,{key:e.key,ref:"inputRef","left-label":"",disable:0==e.data.edit,modelValue:e.value,"onUpdate:modelValue":t[2]||(t[2]=t=>e.value=t),label:e.nameLabel,"checked-icon":"task_alt","unchecked-icon":"highlight_off"},null,8,["disable","modelValue","label"])):"switch"==e.type?((0,l.uX)(),(0,l.Wv)(h,{key:e.key,ref:"inputRef",modelValue:e.value,"onUpdate:modelValue":t[3]||(t[3]=t=>e.value=t),disable:0==e.data.edit,color:"primary",label:e.nameLabel,"left-label":""},null,8,["modelValue","disable","label"])):"range"==e.type?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[(0,l.bF)(p,{outline:"",dense:"",color:e.Dark.isActive?"blue-3":"blue-9"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.name)+": "+(0,s.v_)(e.value)+" ("+(0,s.v_)(e.data.options[0])+" to "+(0,s.v_)(e.data.options[1])+", Δ "+(0,s.v_)(e.data.options[2])+")",1)])),_:1},8,["color"]),(0,l.bF)(g,{class:"q-pl-sm",dense:"",modelValue:e.value,"onUpdate:modelValue":t[4]||(t[4]=t=>e.value=t),min:e.data.options[0],max:e.data.options[1],step:e.data.options[2],color:"primary"},null,8,["modelValue","min","max","step"])])):"radio"==e.type?((0,l.uX)(),(0,l.CE)("div",ue,[e.showname?((0,l.uX)(),(0,l.Wv)(m,{key:0,ripple:!1,color:"indigo-10",disable:"",label:e.name,"no-caps":""},null,8,["label"])):(0,l.Q3)("",!0),(0,l.bF)(f,{ref:"inputRef",modelValue:e.value,"onUpdate:modelValue":t[5]||(t[5]=t=>e.value=t),readonly:0==e.data.edit,class:(0,s.C4)({"bg-blue-grey-9":e.Dark.isActive}),"no-caps":"",options:e.data.options.map((e=>({label:e,value:e})))},null,8,["modelValue","readonly","class","options"])])):"table"==e.type?((0,l.uX)(),(0,l.Wv)(y,{key:e.key,data:e.data,pdata:e.pdata,styleSize:e.styleSize},null,8,["data","pdata","styleSize"])):"chart"==e.type?((0,l.uX)(),(0,l.Wv)(b,{key:e.key,data:e.data,pdata:e.pdata,styleSize:e.styleSize},null,8,["data","pdata","styleSize"])):"string"==e.type&&e.data.hasOwnProperty("complete")?((0,l.uX)(),(0,l.Wv)(c,{key:e.key,ref:"inputRef",dense:"",readonly:0==e.data.edit,modelValue:e.value,"onUpdate:modelValue":t[6]||(t[6]=t=>e.value=t),"use-input":"","hide-selected":"",borderless:"",outlined:"","hide-bottom-space":"","fill-input":"","input-debounce":"0",options:e.options,onFilter:e.complete,label:e.name,onKeydown:(0,re.jR)(e.pressedEnter,["enter"])},null,8,["readonly","modelValue","options","onFilter","label","onKeydown"])):"string"==e.type&&0==e.data.edit?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[(0,l.Lk)("p",{class:(0,s.C4)(["q-ma-sm",{white:e.Dark.isActive,black:!e.Dark.isActive}])},(0,s.v_)(e.value),3)])):"string"==e.type?((0,l.uX)(),(0,l.Wv)(v,{key:e.key,modelValue:e.value,"onUpdate:modelValue":t[7]||(t[7]=t=>e.value=t),label:e.name2show,ref:"inputRef",autogrow:e.data.autogrow,dense:"",onKeydown:(0,re.jR)(e.pressedEnter,["enter"]),readonly:0==e.data.edit},null,8,["modelValue","label","autogrow","onKeydown","readonly"])):"number"==e.type?((0,l.uX)(),(0,l.Wv)(v,{key:e.key,modelValue:e.value,"onUpdate:modelValue":t[8]||(t[8]=t=>e.value=t),modelModifiers:{number:!0},label:e.name2show,ref:"inputRef",dense:"",onKeydown:(0,re.jR)(e.pressedEnter,["enter"]),type:"number",readonly:0==e.data.edit},null,8,["modelValue","label","onKeydown","readonly"])):"tree"==e.type||"list"==e.type?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[e.showname?((0,l.uX)(),(0,l.CE)("p",{key:0,class:(0,s.C4)(["text-subtitle1 q-ma-sm text-grey-7",{"text-white":e.Dark.isActive,"text-indigo-10":!e.Dark.isActive}])},(0,s.v_)(e.name),3)):(0,l.Q3)("",!0),(0,l.bF)(w,{style:(0,s.Tr)(e.styleSize),"thumb-style":e.thumbStyle,"bar-style":e.barStyle,ref:"scroller"},{default:(0,l.k6)((()=>[(0,l.bF)(k,{nodes:e.treeNodes,"selected-color":e.Dark.isActive?"blue-3":"blue-9",dense:e.data.dense,ref:"tree",selected:e.value,"onUpdate:selected":t[9]||(t[9]=t=>e.value=t),expanded:e.expandedKeys,"onUpdate:expanded":t[10]||(t[10]=t=>e.expandedKeys=t),"node-key":"label","default-expand-all":""},null,8,["nodes","selected-color","dense","selected","expanded"])])),_:1},8,["style","thumb-style","bar-style"])])):"text"==e.type?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[e.showname?((0,l.uX)(),(0,l.CE)("p",{key:0,class:(0,s.C4)(["text-subtitle1 q-ma-sm",{"text-white":e.Dark.isActive,"text-indigo-10":!e.Dark.isActive}])},(0,s.v_)(e.name),3)):(0,l.Q3)("",!0),(0,l.bo)((0,l.Lk)("textarea",{class:(0,s.C4)(["textarea",{"bg-grey-10":e.Dark.isActive,"text-white":e.Dark.isActive}]),"onUpdate:modelValue":t[11]||(t[11]=t=>e.value=t),ref:"inputRef",filled:"",type:"textarea",style:(0,s.Tr)(e.elemSize),onKeydown:t[12]||(t[12]=(0,re.jR)(((...t)=>e.pressedEnter&&e.pressedEnter(...t)),["enter"]))},null,38),[[re.Jo,e.value]])])):"line"==e.type?((0,l.uX)(),(0,l.Wv)(A,{key:14,color:"green"})):"video"==e.type?((0,l.uX)(),(0,l.CE)("video",{key:e.key,controls:"",width:e.data.width,height:e.data.height},[(0,l.Lk)("source",{src:e.data.url,type:"video/mp4"},null,8,pe)],8,he)):"uploader"==e.type?((0,l.uX)(),(0,l.Wv)(C,{key:e.key,label:e.name,"auto-upload":"",thumbnails:"",url:e.host_path,onUploaded:e.updateDom,onAdded:e.onAdded,style:(0,s.Tr)(e.elemSize),ref:"uploaderRef",flat:"",class:(0,s.C4)({"bg-grey-10":e.Dark.isActive}),color:e.Dark.isActive?"purple-10":"blue"},null,8,["label","url","onUploaded","onAdded","style","class","color"])):"image_uploader"==e.type?((0,l.uX)(),(0,l.Wv)(C,{key:e.key,label:e.name,"auto-upload":"",thumbnails:"",url:e.host_path,onUploaded:e.updateDom,onAdded:e.onAdded,ref:"uploaderRef",flat:"",class:(0,s.C4)({"bg-grey-10":e.Dark.isActive}),color:e.Dark.isActive?"purple-10":"blue"},null,8,["label","url","onUploaded","onAdded","class","color"])):"graph"==e.type?((0,l.uX)(),(0,l.Wv)(x,{key:e.key,data:e.data,pdata:e.pdata,styleSize:e.elemSize},null,8,["data","pdata","styleSize"])):"camera"==e.type?((0,l.uX)(),(0,l.CE)("div",{class:"web-camera-container",key:e.key},[(0,l.Lk)("div",ge,[(0,l.Lk)("button",{class:(0,s.C4)(["button is-rounded",{"is-primary":!e.isCameraOpen,"is-danger":e.isCameraOpen}]),type:"button",onClick:t[13]||(t[13]=(...t)=>e.toggleCamera&&e.toggleCamera(...t))},[e.isCameraOpen?((0,l.uX)(),(0,l.CE)("span",fe,"Close Camera")):((0,l.uX)(),(0,l.CE)("span",me,"Open Camera"))],2)]),(0,l.bo)((0,l.Lk)("div",ye,ve,512),[[re.aG,e.isCameraOpen&&e.isLoading]]),e.isCameraOpen?(0,l.bo)(((0,l.uX)(),(0,l.CE)("div",{key:0,class:(0,s.C4)(["camera-box",{flash:e.isShotPhoto}])},[(0,l.Lk)("div",{class:(0,s.C4)(["camera-shutter",{flash:e.isShotPhoto}])},null,2),(0,l.bo)((0,l.Lk)("video",{ref:"camera",width:450,height:337.5,autoplay:""},null,8,ke),[[re.aG,!e.isPhotoTaken]]),(0,l.bo)((0,l.Lk)("canvas",{id:"photoTaken",ref:"canvas",width:450,height:337.5},null,8,we),[[re.aG,e.isPhotoTaken]])],2)),[[re.aG,!e.isLoading]]):(0,l.Q3)("",!0),e.isCameraOpen&&!e.isLoading?((0,l.uX)(),(0,l.CE)("div",Ae,[(0,l.Lk)("button",{class:"button",type:"button",onClick:t[14]||(t[14]=(...t)=>e.takePhoto&&e.takePhoto(...t))},xe)])):(0,l.Q3)("",!0),e.isPhotoTaken&&e.isCameraOpen?((0,l.uX)(),(0,l.CE)("div",_e,[(0,l.bF)(m,{onClick:e.downloadImage,label:"Send"},null,8,["onClick"])])):(0,l.Q3)("",!0)])):""!=e.showname?((0,l.uX)(),(0,l.CE)("div",Se,[((0,l.uX)(),(0,l.Wv)(m,{key:e.key,ref:"inputRef","no-caps":"",disable:0==e.data.edit,class:(0,s.C4)({"bg-blue-grey-8":e.Dark.isActive}),label:e.name,icon:e.data.icon,onClick:e.sendValue},{default:(0,l.k6)((()=>[e.data.tooltip?((0,l.uX)(),(0,l.Wv)(_,{key:0,class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.tooltip),1)])),_:1})):(0,l.Q3)("",!0)])),_:1},8,["disable","class","label","icon","onClick"]))])):e.data.spinner?((0,l.uX)(),(0,l.Wv)(m,{key:e.key,ref:"inputRef","no-caps":"",dense:"",disable:0==e.data.edit,round:"",class:(0,s.C4)({"bg-blue-grey-8":e.Dark.isActive}),onClick:e.sendValue},{default:(0,l.k6)((()=>[(0,l.bF)(S,{color:e.Dark.isActive?"white":"black"},null,8,["color"]),e.data.tooltip?((0,l.uX)(),(0,l.Wv)(_,{key:0,class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.tooltip),1)])),_:1})):(0,l.Q3)("",!0)])),_:1},8,["disable","class","onClick"])):((0,l.uX)(),(0,l.Wv)(m,{key:e.key,ref:"inputRef","no-caps":"",disable:0==e.data.edit,dense:"",round:"",class:(0,s.C4)({"bg-blue-grey-8":e.Dark.isActive}),icon:e.data.icon,onClick:e.sendValue},{default:(0,l.k6)((()=>[e.data.tooltip?((0,l.uX)(),(0,l.Wv)(_,{key:0,class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.tooltip),1)])),_:1})):(0,l.Q3)("",!0)])),_:1},8,["disable","class","icon","onClick"])),e.data.active?((0,l.uX)(),(0,l.CE)("div",Ee)):(0,l.Q3)("",!0)])}var Xe=a(8734);const Fe={class:"text-h6"},We={key:0},$e={class:"row"},ze=["onClick"],De=["onClick"];function Qe(e,t,a,i,n,o){const r=(0,l.g2)("q-tooltip"),d=(0,l.g2)("q-btn"),c=(0,l.g2)("q-icon"),u=(0,l.g2)("q-input"),h=(0,l.g2)("q-th"),p=(0,l.g2)("q-tr"),g=(0,l.g2)("q-checkbox"),m=(0,l.g2)("q-select"),f=(0,l.g2)("q-td"),y=(0,l.g2)("q-table");return(0,l.uX)(),(0,l.Wv)(y,{"virtual-scroll":"",dense:e.data.dense,style:(0,s.Tr)(e.styleSize?e.styleSize:e.currentStyle()),flat:"",filter:e.data.id?"":e.search,ref:"table",virtualScrollSliceSize:"100","rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,"row-key":"iiid",title:e.name,rows:e.rows,columns:e.columns,selection:e.singleMode?"single":"multiple",selected:e.selected,"onUpdate:selected":t[2]||(t[2]=t=>e.selected=t)},{"top-left":(0,l.k6)((()=>["link"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:0,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",outline:"",color:"primary",icon:e.data.filter?"filter_alt":"filter_alt_off","no-caps":"",onClick:e.switchFilter},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.filter?"Turn off filter":"Turn on filter"),1)])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),(0,l.Lk)("div",Fe,(0,s.v_)(e.name),1)])),"top-right":(0,l.k6)((()=>[!1!==e.data.tools?((0,l.uX)(),(0,l.CE)("div",We,[(0,l.Lk)("div",$e,[(0,l.bF)(u,{modelValue:e.search,"onUpdate:modelValue":t[1]||(t[1]=t=>e.search=t),label:"Search",dense:"",ref:"searchField"},(0,l.eX)({append:(0,l.k6)((()=>[""!=e.search?((0,l.uX)(),(0,l.Wv)(c,{key:0,class:"cursor-pointer",name:"close",size:"xs",onClick:t[0]||(t[0]=t=>{e.search="",e.$refs.searchField.focus()})},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Reset search ")])),_:1})])),_:1})):(0,l.Q3)("",!0)])),_:2},[""==e.search?{name:"prepend",fn:(0,l.k6)((()=>[(0,l.bF)(c,{name:"search",size:"xs"})])),key:"0"}:void 0]),1032,["modelValue"]),(0,l.Lk)("div",null,[(0,l.bF)(d,{class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"select_all","no-caps":"",onClick:e.showSelected},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Show selected ")])),_:1})])),_:1},8,["class","onClick"]),(0,l.bF)(d,{class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"deselect","no-caps":"",onClick:e.deselectAll},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Deselect all")])),_:1})])),_:1},8,["class","onClick"]),!1!==e.data.multimode?((0,l.uX)(),(0,l.Wv)(d,{key:0,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:e.singleMode?"looks_one":"grain","no-caps":"",onClick:e.switchMode},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Multi-single select mode ")])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),e.editable?((0,l.uX)(),(0,l.Wv)(d,{key:1,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:e.data.editing?"cancel":"edit","no-caps":"",onClick:e.switchEdit},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Edit mode")])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),e.editable&&"append"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:2,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"add","no-caps":"",onClick:e.append},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.filter?"Add a new entity+link":"Add a new row"),1)])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0),"delete"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:3,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"delete_forever","no-caps":"",onClick:e.delSelected},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Delete selected ")])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0),"view"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:4,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"insights","no-caps":"",onClick:e.chart},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Draw the chart")])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0)])])])):(0,l.Q3)("",!0)])),header:(0,l.k6)((t=>[(0,l.bF)(p,{props:t},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(t.cols,(a=>((0,l.uX)(),(0,l.Wv)(h,{class:(0,s.C4)(["text-italic",{"text-grey-9":!e.Dark.isActive,"text-teal-3":e.Dark.isActive}]),key:a.name,props:t},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(a.label),1)])),_:2},1032,["class","props"])))),128))])),_:2},1032,["props"])])),body:(0,l.k6)((t=>[(0,l.bF)(p,{props:t,onClick:e=>t.selected=!t.selected},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.columns,((a,i)=>((0,l.uX)(),(0,l.Wv)(f,{key:a.name,props:t},{default:(0,l.k6)((()=>["boolean"==typeof t.row[a.name]?((0,l.uX)(),(0,l.Wv)(g,{key:0,modelValue:t.row[a.name],"onUpdate:modelValue":[e=>t.row[a.name]=e,l=>e.change_switcher(t.row,a.name,i)],dense:"",disable:!e.data.editing},null,8,["modelValue","onUpdate:modelValue","disable"])):e.data.editing&&"complete"in e.data&&i==e.cedit&&e.redit==t.row.iiid?((0,l.uX)(),(0,l.Wv)(m,{key:1,dense:"","model-value":t.row[a.name],"use-input":"","hide-selected":"","fill-input":"",autofocus:"",outlined:"",borderless:"",onInputValue:e.change,"hide-dropdown-icon":"","input-debounce":"0",options:e.options,onKeydown:e.keyInput,onFilter:e.complete},null,8,["model-value","onInputValue","options","onKeydown","onFilter"])):e.data.editing&&i==e.cedit&&e.redit==t.row.iiid?((0,l.uX)(),(0,l.Wv)(u,{key:2,modelValue:t.row[a.name],"onUpdate:modelValue":[e=>t.row[a.name]=e,e.change],dense:"",onKeydown:e.keyInput,autofocus:""},null,8,["modelValue","onUpdate:modelValue","onKeydown"])):void 0==t.row[a.name]?((0,l.uX)(),(0,l.CE)("div",{key:3,onClick:a=>e.select(t.row,i)},"-- ",8,ze)):((0,l.uX)(),(0,l.CE)("div",{key:4,onClick:a=>e.select(t.row,i)},(0,s.v_)(t.row[a.name]),9,De))])),_:2},1032,["props"])))),128))])),_:2},1032,["props","onClick"])])),_:1},8,["dense","style","filter","title","rows","columns","selection","selected"])}var Le=a(411);function Me(e,t){return e.length===t.length&&e.every(((e,a)=>t[a]&&e.iiid==t[a].iiid))}let Ie="✘";function Oe(e,t){let a=[];const l=e.headers,s=l.length,i=t.length;for(var n=0;n<i;n++){const i={},r=t[n];for(var o=0;o<s;o++)null!=r[o]&&void 0!=r[o]&&(i[l[o]]=r[o]);let d=r.length;i.iiid=s<d||e.id?r[d-1]:n,a.push(i)}return a}function Re(e,t){let a=[],{limit:l,length:s,data:i}=t.rows;s&&a.splice(0,0,...Oe(t,i)),a.length=s,a=(0,Xe.Kh)(a);let n=[];function o(l,s){switch(l.update){case"update":a[l.index]=Oe(t,[l.data])[0];break;case"updates":if(l.data){let e=l.data.length;a.splice(l.index,e,...Oe(t,l.data))}if("length"in l&&(a.length=l.length),s){let a=n.indexOf(s.value);-1!=a&&n.splice(a,1),n.length&&X(e,t.name,n[n.length-1],o,"get")}break;case"delete":this.length--,a.splice(l.index,1);break;case"add":a[this.length]=Oe(t,[l.data])[0],this.length++;break;case"adds":a.splice(l.index,0,...Oe(t,l.data)),this.length+=l.data.length}}function r(a){-1==n.indexOf(a)&&(n.length>5&&n.splice(0,1),n.push(a),1==n.length&&X(e,t.name,a,o,"get"))}t.update=o;let d=new Proxy(a,{get(e,t,a){if("slice"===t)return function(...a){a[0];let s=a[1];if(s>0){let a=(t/l|0)*l;for(;a<=s;a+=l)e[a]||r(a)}return Array.prototype.slice.apply(e,a)};if(e[t]||isNaN(t))return e[t];{let e=(t/l|0)*l;return void r(e)}}});return d}const Ve=(0,l.pM)({name:"utable",setup(e){const{data:t,pdata:a}=(0,Xe.QW)(e);let s,i=t.value;s=i.id?(0,l.EW)((()=>Re(a.value.name,i))):(0,Xe.KR)(Oe(i,i.rows));let n=()=>{let e=t.value,a=null===e.value||0==s.value.length?[]:Array.isArray(e.value)?s.value.filter((t=>e.value.includes(t.iiid))):s.value.filter((t=>e.value==t.iiid));return a},o=n(),r=(0,Xe.KR)(o),d=(0,Xe.KR)(o),c=(0,Xe.KR)(!Array.isArray(t.value.value)),u=(e,l)=>{x([a.value.name,t.value.name,e,l])},h=(0,l.EW)((()=>t.value.value));return(0,l.wB)(s,((e,t)=>{d.value=n(),r.value=d.value})),(0,l.wB)(t,((e,a)=>{m&&console.log("data update",a.name),d.value=n(),r.value=d.value,c.value=!Array.isArray(t.value.value),i.id||(s.value=Oe(e,e.rows))})),{rows:s,selected:d,singleMode:c,sendMessage:u,datavalue:h,updated:r}},data(){return{Dark:Le.A,search:"",options:[],prevSelectedId:void 0,cedit:null}},methods:{switchFilter(){let e=this.data;e.filter=!e.filter,this.sendMessage("filter",e.filter)},currentStyle(){let e=this.data.tablerect;if(e){let t=e.width,a=e.height;return`width: ${t}px; height: ${a}px`}return null},select(e,t){if(this.data.editing){let a=this.headers[t];"ID"!=a&&"ⓇID"!=a&&(this.cedit=t,m&&console.log("selected",e.iiid,this.cedit))}},change_switcher(e,t,a){if(this.data.editing){let a=this.data.headers.indexOf(t),l=this.rows.findIndex((t=>t.iiid==e.iiid));this.sendMessage("modify",{value:e[t],id:e.iiid,delta:l,cell:a})}},change(e){let t=this.headers[this.cedit],a=this.data.headers.indexOf(t);if(m&&console.log("changed",t,e),this.data.editing&&this.selected.length){const l=this.selected[0];l[t]=e;this.rows;let s=this.rows.findIndex((e=>e.iiid==l.iiid));if(-1==s)return void console.log("cannot find a row!");this.sendMessage("modify",{value:e,delta:s,id:l.iiid,cell:a})}},keyInput(e){if("Control"==e.key)return;let t=!1;switch(e.key){case"Enter":"update"in this.data&&this.sendMessage("update",[this.rows[this.redit][this.headers[this.cedit]],[this.redit,this.cedit]]),t=!0;case"ArrowRight":if(e.ctrlKey||t)for(let e=this.cedit+1;e<this.headers.length;){let t=this.headers[e],a=this.selected[0][t],l=typeof a;if("boolean"!=l&&"ⓇID"!=t&&"ID"!=t){this.cedit=e;break}}break;case"Escape":this.switchEdit();break;case"ArrowLeft":if(e.ctrlKey)for(let e=this.cedit-1;e>=0;e--){let t=this.headers[e],a=typeof this.selected[0][t];if("boolean"!=a&&"ⓇID"!=t&&"ID"!=t){this.cedit=e;break}}break;case"ArrowUp":if(e.ctrlKey&&this.redit>0){let e=this.redit-1,t=this.data,a=typeof t.rows[e][this.cedit];"string"!=a&&"number"!=a||(t.value=e),this.selected=[this.rows[e]]}break;case"ArrowDown":if(e.ctrlKey&&this.redit+1<this.rows.length){let e=this.redit+1,t=this.data,a=typeof t.rows[e][this.cedit];"string"!=a&&"number"!=a||(t.value=e),this.selected=[this.rows[e]]}break}},complete(e,t,a){q(this,[e,[this.redit,this.cedit]],(e=>t((()=>{this.options=e}))))},append(){let e=this.rows,t=e.length,a=this;"append"in this.data&&q(this,this.search,(function(l){if(!Array.isArray(l))return u.error(l);m&&console.log("added row",l),a.search="",l=Oe(a.data,[l])[0],l.iiid=Math.random(),e.push(l),setTimeout((()=>{let e=a.rows;a.selected=[e[t]],a.showSelected(),a.data.editing||a.switchEdit(),a.select(e[t],0)}),100)}),"append")},showSelected(){if(this.selected.length){let e=this.$refs.table,t=this.rows,a=this.selected[0];if(void 0!=this.prevSelectedId){let e=this.selected.findIndex((e=>e?.iiid==this.prevSelectedId));-1!=e&&(++e>=this.selected.length&&(e=0),a=this.selected[e])}let s=a.iiid;this.prevSelectedId=s;let i=t.findIndex((e=>e.iiid==s));e.scrollTo(i),(0,l.dY)((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{e.scrollTo(i)}))}))}))}))}))}))}))}},deselectAll(){this.selected=[],this.sendMessage("changed",this.value)},chart(){let e=this.data;e.type="chart",e.tablerect=this.$refs.table.$el.getBoundingClientRect(),w[this.fullname].styleSize=this.currentStyle()},switchMode(){this.singleMode=!this.singleMode,this.singleMode&&this.selected.length>1&&this.selected.splice(1)},switchEdit(){let e=this.data;e.editing=!e.editing,this.sendMessage("editing",this.data.editing)},delSelected(){if(this.selected.length){if(this.sendMessage("delete",this.value),this.singleMode)this.rows.splice(this.value,1);else{let e=this.value;e.sort((function(e,t){return t-e}));for(let t of e)this.rows.splice(t,1)}this.selected=[]}else u.error("Rows are not selected!")}},watch:{selected(e){const t=this.data;Me(this.updated,this.selected)||(this.sendMessage("changed",this.value),this.updated=this.selected),t.show&&(this.showSelected(),t.show=!1)},search(e){this.data.id&&this.sendMessage("search",e)}},computed:{fullname(){return`${this.data.name}@${this.pdata.name}`},redit(){return this.data.editing&&this.selected.length?this.selected[0].iiid:null},editable(){return 0!=this.data["edit"]},value(){let e=this.selected.map((e=>this.rows.findIndex((t=>t.iiid===e.iiid))));return-1!=e.indexOf(-1)&&console.error("selected row in a table did not found!"),this.singleMode?1==e.length?e[0]:null:e},name(){return"_"==this.data.name?"":this.data.name},headers(){let e=this.data;return e.headers.filter((e=>!e.startsWith(Ie)))},columns(){let e=!this.data.id;return this.headers.map((t=>({name:t,label:t,align:"left",sortable:e,field:t})))}},props:{data:Object,pdata:Object,styleSize:String}});var Ke=a(8098),Te=a(6384),Ne=a(7410),Pe=a(9270),He=a(4488),Be=a(7722),je=a(5262),Ue=a(460),Ge=a(9183);const Ye=(0,K.A)(Ve,[["render",Qe]]),Je=Ye;j()(Ve,"components",{QTable:Ke.A,QBtn:Te.A,QTooltip:Ne.A,QInput:Pe.A,QIcon:P.A,QTr:He.A,QTh:Be.A,QTd:je.A,QCheckbox:Ue.A,QSelect:Ge.A});const Ze={key:0,id:"header"};function et(e,t,a,i,n,o){return(0,l.uX)(),(0,l.CE)("div",{ref:"graph",style:(0,s.Tr)(a.styleSize),id:"graph"},[(0,l.Lk)("div",null,["_"!=a.data.name[0]?((0,l.uX)(),(0,l.CE)("div",Ze,(0,s.v_)(a.data.name),1)):(0,l.Q3)("",!0)])],4)}var tt=a(1522),at=a(8911);var lt=a(3668),st=a.n(lt),it=a(1944),nt=a.n(it),ot=a(5793);let rt="#091159",dt={enableEdgeEvents:!0,hideEdgesOnMove:!1,hideLabelsOnMove:!1,renderLabels:!0,renderEdgeLabels:!0,enableEdgeClickEvents:!0,enableEdgeWheelEvents:!1,enableEdgeHoverEvents:!0,enableEdgeHovering:!0,allowInvalidContainer:!0,enableEdgeClickEvents:!0,enableEdgeHoverEvents:!0,defaultNodeColor:"#FCA072",defaultNodeType:"circle",defaultEdgeColor:"#888",defaultEdgeType:"arrow",labelFont:"Arial",labelSize:14,labelWeight:"normal",labelColor:{color:"#00838F",attribute:"#000"},edgeLabelFont:"Arial",edgeLabelSize:14,edgeLabelWeight:"normal",edgeLabelColor:{attribute:"color"},stagePadding:30,labelDensity:1,labelGridCellSize:100,labelRenderedSizeThreshold:6,animationsTime:1e3,borderSize:2,outerBorderSize:3,defaultNodeOuterBorderColor:"rgb(236, 81, 72)",edgeHoverHighlightNodes:"circle",sideMargin:1,edgeHoverColor:"edge",defaultEdgeHoverColor:"#062646",edgeHoverSizeRatio:1,edgeHoverExtremities:!0,scalingMode:"outside",nodeProgramClasses:{image:ot.C$}};const ct={name:"sgraph",props:{data:{type:Object,required:!0},pdata:{type:Object,required:!0},styleSize:String},data(){return{Dark:Le.A,s:null,state:{searchQuery:""},selectedNodes:[],selectedEdges:[],graph:null,fa2start:null,fa2stop:null,fa2run:null}},methods:{sendMessage(e,t){x([this.pdata["name"],this.data["name"],e,t])},refresh(){let e=this.graph();const t=nt().inferSettings(e);let a=new(st())(e,{settings:t});m&&console.log("refresh graph",this.data.name,this.pdata.name),a.isRunning()||(a.start(),setTimeout((function(){a.stop()}),1e3))},setSelectedEdges(e){this.s.selectEdges(e)},setSearchQuery(e){if(e){const t=e.toLowerCase(),a=this.graph().nodes().map((e=>({id:e,label:graph.getNodeAttribute(e,"label")}))).filter((({label:e})=>e.toLowerCase().includes(t)));if(1===a.length&&a[0].label===e){this.state.selectedNode=a[0].id,this.state.suggestions=void 0;const e=this.s.getNodeDisplayData(this.state.selectedNode);this.s.getCamera().animate(e,{duration:500})}else this.state.selectedNode=void 0,this.state.suggestions=new Set(a.map((({id:e})=>e)))}else this.state.selectedNode=void 0,this.state.suggestions=void 0;this.s.refresh()},load(e){let t=e.value;this.selectedNodes=t.nodes?t.nodes.map((e=>String(e))):[],this.selectedEdges=t.edges?t.edges.map((e=>String(e))):[];let a=e.sizing,l=e.nodes,s=this.graph(),i=[],n=[],o=new Map;for(let u=0;u<l.length;u++){if(!l[u])continue;let e=Object.assign({},l[u]);void 0==e.id&&(e.id=u),void 0!=e.name&&(e.label=e.name);let t={key:String(e.id),attributes:e};e.size=e.size?e.size:10,i.push(t),o.set(e.id,u);let a=s._nodes.get(t.key);a?(e.x=a.attributes.x,e.y=a.attributes.y):(e.x=Math.random(),e.y=Math.random()),this.selectedNodes.includes(t.key)&&(e.highlighted=!0)}let r=[],d=new Map,c=Array(i.length).fill(0);for(let u=0;u<e.edges.length;u++){let t=Object.assign({},e.edges[u]),l=o.get(t.source),s=o.get(t.target);if(void 0==l||void 0==s)continue;if(void 0==t.id&&(t.id=u),t.name&&(t.label=t.name),t.key=String(t.id),n.push(t),a){"in"!=a&&(s=o.get(t.source),l=o.get(t.target)),c[s]++,d.has(s)?d.get(s).push(l):d.set(s,[l]);let e=r.indexOf(l),i=r.indexOf(s);if(-1==e&&(e=r.length,r.push(l)),-1==i&&(i=r.length,r.push(s)),i<e){let t=r[e];r[e]=r[i],r[i]=t}}let i=t.attributes;i||(i={},t.attributes=i),i.id=t.id,i.size=t.size?t.size:5,this.selectedEdges.includes(t.key)?(i.ocolor=i.color?i.color:dt.defaultEdgeColor,i.color=rt):t.color&&(i.color=t.color),t.label&&(i.label=t.label)}if(a)for(let u=0;u<r.length;u++){let e=r[u];if(d.has(e))for(let t of d.get(e))c[e]+=c[t];i[e].attributes.size=10+c[e]}s.clear(),s.import({nodes:i,edges:n}),this.refresh()}},computed:{value(){let e=this.graph(),t=this.selectedNodes.map((t=>e._nodes.get(t).attributes.id)),a=this.selectedEdges.map((t=>e._edges.get(t).attributes.id));return{nodes:t,edges:a}}},watch:{data:{handler(e,t){m&&console.log("data update",this.data.name,this.pdata.name),this.load(e)},deep:!0},"Dark.isActive":function(e){this.s.settings.labelColor.color=e?"#00838F":"#000",this.s.refresh()}},updated(){this.s.refresh(),m&&console.log("updated",this.data.name,this.pdata.name)},mounted(){let e=new at.MultiDirectedGraph;this.graph=()=>e;let t=this.$refs.graph;this.s=new tt.Ay(e,t,dt);let a=this.s;var l=this;function s(t){t?l.state.hoveredNeighbors=new Set(e.neighbors(t)):(l.state.hoveredNode=void 0,l.state.hoveredNeighbors=void 0),a.refresh()}function i(t,a=rt){let l=e.getEdgeAttributes(t);l.color!=a&&(l.ocolor||(l.ocolor=l.color?l.color:dt.defaultEdgeColor),e.setEdgeAttribute(t,"color",a))}function n(t,a=rt){let l=e.getEdgeAttributes(t);if(l.color==a){let a=e.getEdgeAttribute(t,"ocolor");e.setEdgeAttribute(t,"color",a)}}this.s.settings.labelColor.color=Le.A.isActive?"#00838F":"#000",a.on("clickNode",(function(t){let s=t.node;if(!u.shiftKey){for(let e of l.selectedEdges)n(e);l.selectedEdges=[]}if(l.selectedNodes.includes(s))if(e.setNodeAttribute(s,"highlighted",!1),u.shiftKey){let e=l.selectedNodes.indexOf(s);-1!=e&&l.selectedNodes.array.splice(e,1)}else l.selectedNodes=[];else{if(!u.shiftKey&&l.selectedNodes.length>0){for(let t of l.selectedNodes)e.setNodeAttribute(t,"highlighted",!1);l.selectedNodes=[]}e.setNodeAttribute(s,"highlighted",!0),l.selectedNodes.push(s)}a.refresh(),l.sendMessage("changed",l.value)})),a.on("clickEdge",(function({edge:t}){if(!u.shiftKey){for(let t of l.selectedNodes)e.setNodeAttribute(t,"highlighted",!1);l.selectedNodes=[]}if(l.selectedEdges.includes(t))if(n(t),u.shiftKey){let e=l.selectedEdges.indexOf(t);-1!=e&&l.selectedEdges.array.splice(e,1)}else l.selectedEdges=[];else{if(!u.shiftKey&&l.selectedEdges.length>0){for(let e of l.selectedEdges)n(e);l.selectedEdges=[]}i(t),l.selectedEdges.push(t)}a.refresh(),l.sendMessage("changed",l.value)})),a.on("enterNode",(function({node:t}){for(let a of e.edgeEntries())a.target==t?i(a.edge,"#808000"):a.source==t&&i(a.edge,"#2F4F4F");s(t)})),a.on("leaveNode",(function({node:t}){for(let a of e.edgeEntries())a.target==t?l.selectedEdges.includes(a.edge)?e.setEdgeAttribute(a.edge,"color",rt):n(a.edge,"#808000"):a.source==t&&(l.selectedEdges.includes(a.edge)?e.setEdgeAttribute(a.edge,"color",rt):n(a.edge,"#2F4F4F"));s(void 0)})),a.on("enterEdge",(function({edge:e}){l.selectedEdges.includes(e)||i(e)})),a.on("leaveEdge",(function({edge:e}){l.selectedEdges.includes(e)||n(e)}));const o=new ResizeObserver((e=>a.refresh()));o.observe(t);let r=null,d=!1;a.on("downNode",(t=>{d=!0,r=t.node,e.setNodeAttribute(r,"highlighted",!0)})),a.getMouseCaptor().on("mousemovebody",(t=>{if(!d||!r)return;const l=a.viewportToGraph(t);e.setNodeAttribute(r,"x",l.x),e.setNodeAttribute(r,"y",l.y),t.preventSigmaDefault(),t.original.preventDefault(),t.original.stopPropagation()})),a.getMouseCaptor().on("mouseup",(()=>{r&&e.removeNodeAttribute(r,"highlighted"),d=!1,r=null})),a.getMouseCaptor().on("mousedown",(()=>{a.getCustomBBox()||a.setCustomBBox(a.getBBox())})),this.load(this.data)}},ut=(0,K.A)(ct,[["render",et],["__scopeId","data-v-419ab6c8"]]),ht=ut;function pt(e,t,a,i,n,o){const r=(0,l.g2)("v-chart");return(0,l.uX)(),(0,l.CE)("div",{style:(0,s.Tr)(a.styleSize?a.styleSize:o.currentStyle())},[(0,l.bF)(r,{ref:"chart","manual-update":!0,onClick:o.clicked,autoresize:!0},null,8,["onClick"])],4)}var gt=a(559),mt=a(6224),ft=a(596),yt=a(16),bt=a(6926),vt=a(1259),kt=a(5951),wt=a(42),At=a(6532),Ct=a(1795),xt=a(9e3),_t=a(4907);(0,vt.Y)([mt.a,ft.a,bt.a,yt.a]),(0,vt.Y)([kt.a,wt.a,At.a,Ct.a,xt.a]);let St=["","#80FFA5","#00DDFF","#37A2FF","#FF0087","#FFBF00","rgba(128, 255, 165)","rgba(77, 119, 255)"];const Et={name:"linechart",components:{VChart:gt.Ay},props:{data:Object,pdata:Object,styleSize:String},data(){const e=(0,_t.A)();return{$q:e,model:!1,animation:null,markPoint:null,options:{responsive:!0,maintainAspectRatio:!1,legend:{data:[],bottom:10,textStyle:{color:"#4DD0E1"}},tooltip:{trigger:"axis",position:function(e){return[e[0],"10%"]}},title:{left:"center",text:""},toolbox:{feature:{}},xAxis:{type:"category",boundaryGap:!1,data:null},yAxis:{type:"value",boundaryGap:[0,"100%"]},dataZoom:[{type:"inside",start:0,end:10},{start:0,end:10}],series:[]}}},computed:{fullname(){return`${this.data.name}@${this.pdata.name}`}},methods:{setOptions(){this.$refs.chart.setOption(this.options)},currentStyle(){let e=this.data.tablerect,t=e?e.width:300,a=e?e.height:200;return`width: ${t}px; height: ${a}px`},processCoord(e,t,a){let l=null;for(let s of t)if(e[0]==s.coord[0]){l=s;break}a?l?t.splice(t.indexOf(l),1):t.push({coord:e}):(t.splice(0,t.length),l||t.push({coord:e}))},clicked(e){let t=[e.dataIndex,this.options.series[e.seriesIndex].data[e.dataIndex]];this.processCoord(t,this.markPoint.data,u.shiftKey);let a=this.markPoint.data.map((e=>e.coord[0])),l=this.data;if(l.value=Array.isArray(l.value)||a.length>1?a:a.length?a[0]:null,this.animation){let e=this.options.dataZoom;e[0].start=this.animation.start,e[1].start=this.animation.start,e[0].end=this.animation.end,e[1].end=this.animation.end}this.setOptions(),x([this.pdata.name,this.data.name,"changed",this.data.value])},calcSeries(){this.options.toolbox.feature.mySwitcher={show:!0,title:"Switch view to the table",icon:"image:M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 2h-4v3h4V4zm0 4h-4v3h4V8zm0 4h-4v3h3a1 1 0 0 0 1-1v-2zm-5 3v-3H6v3h4zm-5 0v-3H1v2a1 1 0 0 0 1 1h3zm-4-4h4V8H1v3zm0-4h4V4H1v3zm5-3v3h4V4H6zm4 4H6v3h4V8z",onclick:()=>{let e=this.data;e.type="table",e.tablerect=this.$refs.chart.$el.getBoundingClientRect(),w[this.fullname].styleSize=this.currentStyle()}};let e=this.data.view,t=this.data.headers;"_"!=this.data.name[0]&&(this.options.title.text=this.data.name);let a=e.split("-"),l=a[1].split(",");l.unshift(a[0]);let s=[];for(let n=0;n<l.length;n++)l[n]="i"==l[n]?-1:parseInt(l[n]),s.push([]),n&&(this.options.series.push({name:t[l[n]],type:"line",symbol:"circle",symbolSize:10,sampling:"lttb",itemStyle:{color:St[n]},data:s[n]}),this.options.legend.data.push(t[l[n]]));this.options.xAxis.data=s[0];let i=this.data.rows;for(let n=0;n<i.length;n++)for(let e=0;e<l.length;e++)s[e].push(-1==l[e]?n:i[n][l[e]]);if(this.options.series[1]){let e=[],t=this.options.series[1].data,a=Array.isArray(this.data.value)?this.data.value:null===this.data.value?[]:[this.data.value];for(let l=0;l<a.length;l++)this.processCoord([a[l],t[a[l]]],e,!0);this.markPoint={symbol:"rect",symbolSize:10,animationDuration:300,silent:!0,label:{color:"#fff"},itemStyle:{color:"blue"},data:e},this.options.series[1].markPoint=this.markPoint}this.setOptions()}},mounted(){this.calcSeries();let e=this;this.$refs.chart.chart.on("datazoom",(function(t){(t.start||t.end)&&(e.animation=t)}))}},qt=(0,K.A)(Et,[["render",pt]]),Xt=qt;let Ft={right:"4px",borderRadius:"7px",backgroundColor:"#027be3",width:"4px",opacity:.75},Wt={right:"2px",borderRadius:"9px",backgroundColor:"#027be3",width:"8px",opacity:.2},$t=0;function zt(e){let t=new FormData;t.append("image",e);let a=new XMLHttpRequest;a.open("POST",v,!0),a.onload=function(){200===this.status?console.log(this.response):console.error(a)},a.send(t)}const Dt=(0,l.pM)({name:"element",components:{utable:Je,sgraph:ht,linechart:Xt},setup(){const e=(0,Xe.KR)($t);$t++;const t=()=>{e.value=$t,$t++};return{forceUpdate:t,key:e}},methods:{log(e){console.log(e)},showSelected(){if("tree"==this.type||"list"==this.type){let e=this.value;e&&requestAnimationFrame((()=>{requestAnimationFrame((()=>{let t=this.$refs.tree.$el,a=this.$refs.scroller.$el;for(let l of t.getElementsByTagName("div"))if(l.innerHTML==e){const{bottom:e,height:t,top:s}=l.getBoundingClientRect();if(s){const l=a.getBoundingClientRect();(s<=l.top?l.top-s<=t:e-l.bottom<=t)||this.$refs.scroller.setScrollPosition("vertical",s-l.top);break}}}))}))}},onAdded(e){0!==e.length&&(0!==this.fileArr.length?(this.$refs.uploaderRef.removeFile(this.fileArr[0]),this.fileArr.splice(0,1,e[0])):this.fileArr.push(e[0]))},sendMessage(e,t){x([this.pdata["name"],this.data["name"],e,t])},pressedEnter(){"update"in this.data&&this.sendMessage("update",this.value)},updateDom(e){let t=e.files.length;t&&this.sendMessage("changed",e.xhr.responseText)},sendValue(){this.sendMessage("changed",this.value)},switchValue(){this.value=!this.value},setValue(e){this.value=e},focus_position(){if(this.data.focus&&this.$refs.inputRef){let e=this.$refs.inputRef;e.focus(),"text"!=this.data.type&&(e=e.$el.querySelector("input")),"x"in this.data&&-1!=this.data.x&&e.querySelector&&"number"!=this.data.type&&e.setSelectionRange(this.data.x,this.data.x)}},complete(e,t,a){q(this,e,(e=>t((()=>{this.options=e}))))},lens(){u.lens(this.data)},toggleCamera(){this.isCameraOpen?(this.isCameraOpen=!1,this.isPhotoTaken=!1,this.isShotPhoto=!1,this.stopCameraStream()):(this.isCameraOpen=!0,this.createCameraElement())},createCameraElement(){this.isLoading=!0;const e=window.constraints={audio:!1,video:!0};navigator.mediaDevices.getUserMedia(e).then((e=>{this.isLoading=!1,this.$refs.camera.srcObject=e})).catch((e=>{this.isLoading=!1,alert("May the browser didn't support or there are some errors.")}))},stopCameraStream(){let e=this.$refs.camera.srcObject.getTracks();e.forEach((e=>{e.stop()}))},takePhoto(){if(!this.isPhotoTaken){this.isShotPhoto=!0;const e=50;setTimeout((()=>{this.isShotPhoto=!1}),e)}this.isPhotoTaken=!this.isPhotoTaken;const e=this.$refs.canvas.getContext("2d");e.drawImage(this.$refs.camera,0,0,450,337.5)},downloadImage(){document.getElementById("downloadPhoto"),document.getElementById("photoTaken").toBlob(zt,"image/jpeg")},rect(){let e="clientHeight"in this.$el?this.$el:this.$el.nextElementSibling;return e.getBoundingClientRect()},geom(){let e=this.type,t=this.$el;t="tree"==e||"list"==e?t.querySelector(".scroll"):"clientHeight"in t?t:t.nextElementSibling,t||(t=this.$el.previousElementSibling,t="clientHeight"in t?t:t.nextElementSibling);const a="text"==e||"graph"==e||"chart"==e?t:t.querySelector("table"==e?".scroll":".q-tree"),l=t.getBoundingClientRect();return{el:t,inner:a,left:l.left,right:l.right,top:l.top,bottom:l.bottom,scrollHeight:a.scrollHeight,scrollWidth:a.scrollWidth}}},updated(){w[this.fullname]=this,this.showSelected(),this.focus_position(),m&&console.log("updated",this.fullname)},mounted(){let e=this.data;w[this.fullname]=this,e.id&&"table"==e.type&&!e.filter&&(this.update=e.update),this.focus_position(),this.showSelected(),m&&console.log("mounted",this.fullname)},data(){return{Dark:Le.A,value:this.data.value,styleSize:_?E(this):null,has_recalc:!0,host_path:v,options:[],expandedKeys:[],thumbStyle:Ft,barStyle:Wt,updated:"#027be3sds",isCameraOpen:!1,isPhotoTaken:!1,isShotPhoto:!1,isLoading:!1,link:"#",fileArr:[]}},computed:{elemSize(){let e="";return this.data.width&&(e=`width:${this.data.width}px`),this.data.height&&(""!=e&&(e+="; "),e+=`height:${this.data.height}px`),""==e?this.styleSize:e},parent_name(){return this.pdata?this.pdata.name:null},name(){return this.data.name},fullname(){return`${this.data.name}@${this.pdata.name}`},showname(){let e=this.data.name;return e&&"_"!=e[0]},name2show(){let e=this.data.name;return e&&"_"!=e[0]?e:""},nameLabel(){return this.data.label?this.data.label:"_"!=this.data.name[0]?this.data.name:""},text(){return this.data.text},expanding(){return y.includes(this.type)},expanding_width(){return!this.data.width&&(this.expanding&&"list"!=this.type)},expanding_height(){return!this.data.height&&this.expanding},selection(){return this.data.selection},icon(){return this.data.icon},type(){return this.data.type},treeNodes(){var e=[];if("list"==this.type)return this.data.options.map((e=>({label:e,children:[]})));var t={};for(const[s,i]of Object.entries(this.data.options)){var a=t[s];if(a||(a={label:s,children:[]},t[s]=a),i){var l=t[i];l||(l={label:i,children:[]},t[i]=l),l.children.push(a)}else e.push(a)}return e}},props:{data:{type:Object,required:!0},pdata:{type:Object,required:!0}},watch:{value(e,t){"tree"!=this.type&&"list"!=this.type||(this.data.options[e]==t&&this.expandedKeys.indexOf(t)<0&&this.expandedKeys.push(t),this.showSelected()),e!==this.updated&&(m&&console.log("value changed",e,t),this.sendValue(),this.updated=e)},selection(e){m&&console.log("selection changed",e,this.$refs.inputRef),Array.isArray(e)||(e=[0,0]);let t=this.$refs.inputRef.$el;t.focus_position();let a=t.getElementsByTagName("textarea");0==a.length&&(a=t.getElementsByTagName("input")),a[0].setSelectionRange(e[0],e[1])},data(e,t){m&&console.log("data update",this.fullname,t.name),this.styleSize||(this.styleSize=null),u.screen.reload&&"tree"==this.type&&this.$refs.tree&&this.$refs.tree.expandAll();let a=this.data;this.value=a.value,this.updated=this.value,w[this.fullname]=this}}});var Qt=a(5046),Lt=a(6908),Mt=a(3954),It=a(1444),Ot=a(6939),Rt=a(8958),Vt=a(7567),Kt=a(386),Tt=a(1298),Nt=a(2157);const Pt=(0,K.A)(Dt,[["render",qe],["__scopeId","data-v-95178f22"]]),Ht=Pt;j()(Dt,"components",{QImg:Qt.A,QIcon:P.A,QSelect:Ge.A,QCheckbox:Ue.A,QToggle:Lt.A,QBadge:Mt.A,QSlider:It.A,QBtn:Te.A,QBtnToggle:Ot.A,QInput:Pe.A,QScrollArea:Rt.A,QTree:Vt.A,QSeparator:Kt.A,QUploader:Tt.A,QTooltip:Ne.A,QSpinnerIos:Nt.A});const Bt=(0,l.pM)({name:"block",components:{element:Ht},data(){return{Dark:Le.A,styleSize:null,thumbStyle:{right:"4px",borderRadius:"7px",backgroundColor:"#027be3",width:"4px",opacity:.75},barStyle:{right:"2px",borderRadius:"9px",backgroundColor:"#027be3",width:"8px",opacity:.2}}},methods:{log(){console.log(Object.keys(k).length,this.name,this.$el.getBoundingClientRect())},close(){x([this.data.name,null,"close",!0])},geom(){let e="clientHeight"in this.$el?this.$el:this.$el.nextElementSibling,t=e.querySelector(".q-scrollarea");t||(t=e);const a=t.getBoundingClientRect();return{el:e,inner:t,left:a.left,right:a.right,top:a.top,bottom:a.bottom,scrollHeight:window.innerHeight,scrollWidth:window.innerWidth}},free_right_delta4(e,t){for(let a of this.data.value)if(Array.isArray(a)){for(let l of a)if(l==e.data){let l=a[a.length-1];return l==e.data?t:f.includes(l.type)?0:w[`${l.name}@${this.name}`].$el.getBoundingClientRect().right}}else if(a===e)return t;return 0}},mounted(){k[this.data.name]=this,(this.expanding||this.data.width)&&(w[this.fullname]=this)},computed:{name(){return this.data.name},fullname(){return`${this.data.scroll?"_scroll":"_space"}@${this.name}`},icon(){return this.data.icon},type(){return this.data.type},expanding(){return this.data.scroll},expanding_width(){return this.expanding&&!this.data.width},name_elements(){if(this.expanding)return[this.fullname];let e=[];for(let t of this.data.value)if(Array.isArray(t))for(let a of t)e.push(`${a.name}@${this.name}`);else e.push(`${t.name}@${this.name}`);return e},hlevelements(){if(this.expanding)return[[w[this.fullname]]];let e=[];for(let t of this.data.value)if(Array.isArray(t)){let a=t.map((e=>w[`${e.name}@${this.name}`])).filter((e=>e.expanding));a.length&&e.push(a)}else{let a=w[`${t.name}@${this.name}`];a.expanding&&e.push([a])}return e},only_fixed_elems(){if(this.expanding)return!1;for(let e of this.data.value)if(Array.isArray(e)){for(let t of e)if(y.includes(t.type))return!1}else if(y.includes(e.type))return!1;return!0},expanding_height(){return!this.data.height&&(this.expanding||this.only_fixed_elems)},tops(){let e=this.data.value;return e.length?Array.isArray(e[0])?e[0]:[e[0]]:[]}},props:{data:{type:Object,required:!0}},watch:{data(e){m&&console.log("data update",this.name),k[this.name]=this,this.expanding&&(w[this.fullname]=this)}}});var jt=a(3316),Ut=a(3676);const Gt=(0,K.A)(Bt,[["render",oe]]),Yt=Gt;function Jt(){let e=_&&w.size==A.size;if(e)for(let[t,a]of Object.entries(w))if(!A[t]){e=!1;break}e||(I(document.documentElement.scrollWidth>window.innerWidth),(0,l.dY)((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{u.visible(!0)}))}))})))}j()(Bt,"components",{QCard:jt.A,QIcon:P.A,QSpace:Ut.A,QBtn:Te.A,QTooltip:Ne.A,QScrollArea:Rt.A});const Zt=(0,l.pM)({name:"zone",components:{block:Yt},props:{data:Object},updated(e){(0,l.dY)((()=>{requestAnimationFrame((()=>{requestAnimationFrame(Jt)}))}))}}),ea=(0,K.A)(Zt,[["render",ee]]),ta=ea,aa={class:"row q-gutter-sm row-md"};function la(e,t,a,i,n,o){const r=(0,l.g2)("block"),d=(0,l.g2)("q-item-label"),c=(0,l.g2)("q-space"),u=(0,l.g2)("q-btn"),h=(0,l.g2)("q-card"),p=(0,l.g2)("q-dialog");return(0,l.uX)(),(0,l.Wv)(p,{ref:"dialog",onHide:o.onDialogHide,onKeyup:(0,re.jR)(o.pressedEnter,["enter"])},{default:(0,l.k6)((()=>[(0,l.bF)(h,{class:"q-dialog-plugin q-pa-md items-start q-gutter-md",bordered:"",style:(0,s.Tr)(a.data.internal?"width: 800px; max-width: 80vw;":"")},{default:(0,l.k6)((()=>[a.data?((0,l.uX)(),(0,l.Wv)(r,{key:0,data:a.data},null,8,["data"])):(0,l.Q3)("",!0),(0,l.bF)(d,{class:"text-h6"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(a.data.text?a.data.text:""),1)])),_:1}),(0,l.Lk)("div",aa,[(0,l.bF)(c),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(a.commands,(e=>((0,l.uX)(),(0,l.Wv)(u,{class:"col-md-3",label:e,"no-caps":"",color:a.commands[0]==e?"primary":"secondary",onClick:t=>o.sendMessage(e)},null,8,["label","color","onClick"])))),256))])])),_:1},8,["style"])])),_:1},8,["onHide","onKeyup"])}const sa={props:{data:Object,commands:Array},components:{block:Yt},emits:["ok","hide"],data(){return{closed:!1}},methods:{show(){this.$refs.dialog.show(),u.dialog=this},message4(e){return[this.data["name"],null,"changed",e]},sendMessage(e){this.data.internal||x(this.message4(e)),this.closed=!0,this.hide()},hide(){this.$refs.dialog.hide(),u.dialog=null},onDialogHide(){this.$emit("hide"),this.closed||this.data.internal||x(this.message4(null))},pressedEnter(){this.sendMessage(this.commands[0])},onOKClick(){this.$emit("ok"),this.hide()},onCancelClick(){this.hide()}}};var ia=a(558);const na=(0,K.A)(sa,[["render",la]]),oa=na;j()(sa,"components",{QDialog:ia.A,QCard:jt.A,QItemLabel:H.A,QSpace:Ut.A,QBtn:Te.A});var ra=a(5022);let da="theme";try{Le.A.set(ra.A.getItem(da))}catch(Ca){}let ca=null,ua=["complete","append","get"],ha=null;const pa=(0,l.pM)({name:"MainLayout",data(){return{leftDrawerOpen:!1,Dark:Le.A,menu:[],tab:"",tooldata:{name:"toolbar"},localServer:!0,statusConnect:!1,screen:{blocks:[],toolbar:[]},visibility:!0,designCycle:0,shiftKey:!1,isListening:!1,voice_button:!0,voice_str_length:0}},components:{menubar:G,zone:ta,element:Ht},created(){C(this)},unmounted(){window.removeEventListener("resize",this.onResize),ha&&ha.stop()},computed:{left_toolbar(){return this.screen.toolbar.filter((e=>!e.right))},right_toolbar(){return this.screen.toolbar.filter((e=>e.right))}},methods:{toggleListening(){if(this.isListening=!this.isListening,this.isListening){if(!ha){const e=window.webkitSpeechRecognition;e?(ha=new e,ha.lang=this.screen.lang||"en-US",ha.continuous=!0,ha.interimResults=!0,ha.onresult=e=>{let t="";for(const l of e.results)l.isFinal&&(t+=l[0].transcript);let a=t.substring(this.voice_str_length).trim();this.voice_str_length=t.length,a&&x(["voice",null,"changed",a])},ha.onend=()=>{this.isListening&&ha.start()}):(this.error("Speech Recognition not supported by this browser."),this.voice_button=!1)}ha.start()}else ha.stop();x(["voice",null,"listen",this.isListening])},switchTheme(){Le.A.set(!Le.A.isActive),ra.A.set(da,Le.A.isActive)},toggleLeftDrawer(){this.leftDrawerOpen=!this.leftDrawerOpen},tabclick(e){x(["root",null,"changed",e])},visible(e){this.visibility!=e&&(this.$refs.page.$el.style.visibility=e?"":"hidden",this.visibility=e)},handleKeyDown(e){"Shift"==e.key&&(this.shiftKey=!0)},handleKeyUp(e){"Shift"==e.key&&(this.shiftKey=!1)},onResize(e){m&&console.log(`window has been resized w = ${window.innerWidth}, h=${window.innerHeight}`),this.designCycle=0,M()},lens(e){let t={title:"Photo lens",message:e.text,cancel:!0,persistent:!0,component:oa},{height:a,...l}=e;l.width=750;let s={name:`Picture lens of ${e.name}`,value:[[],l],internal:!0};t.componentProps={data:s,commands:["Close"]},this.$q.dialog(t)},notify(e,t){let a=t,l={message:e,type:t,position:"top",icon:a};"progress"==t?null==ca?(l={group:!1,timeout:0,spinner:!0,type:"info",message:e||"Progress..",position:"top",color:"secondary"},ca=this.$q.notify(l)):null==e?(ca(),ca=null):(l={caption:e},ca(l)):("error"==t&&l.type,this.$q.notify(l))},error(e){this.notify(e,"error")},info(e){this.notify(e,"info")},processMessage(e){if("screen"==e.type){if(this.screen.name!=e.name)S(!1),F(),m||this.visible(!1);else if(e.reload){this.designCycle=0,this.visible(!1);for(let e of Object.values(w))e.has_recalc=!0,e.styleSize=null;L()}this.screen=e,this.menu=e.menu.map((e=>({name:e[0],icon:e[1],order:e[2]}))),this.tab=this.screen.name}else if("dialog"==e.type){let t={title:e.name,message:e.text,cancel:!0,persistent:!0};t.component=oa,t.componentProps={data:e,commands:e.commands},this.$q.dialog(t)}else if(ua.includes(e.type))D(e);else if("action"==e.type)"close"!=e.value?z(e):(this.dialog&&(this.dialog.data.internal=!0),this.dialog.hide());else{let t=e.updates&&e.updates.length;t&&$(e.updates);let a=!1;["error","progress","warning","info"].includes(e.type)&&(this.notify(e.value,e.type),a=!0),a||t||(this.error("Invalid data came from the server! Look the console."),console.log(`Invalid data came from the server! ${e}`))}this.closeProgress(e)},closeProgress(e){!ca||e&&"progress"==e.type||this.notify(null,"progress")}},mounted(){window.addEventListener("resize",this.onResize);const e=new ResizeObserver((e=>{let t=document.documentElement.scrollWidth>window.innerWidth||document.documentElement.scrollHeight>window.innerHeight;t&&L(!1)}));let t=this.$refs.page.$el;e.observe(t),window.addEventListener("keydown",this.handleKeyDown),window.addEventListener("keyup",this.handleKeyUp)},beforeUnmount(){window.removeEventListener("keydown",this.handleKeyDown),window.removeEventListener("keyup",this.handleKeyUp)}});var ga=a(2008),ma=a(8416),fa=a(6914),ya=a(2980),ba=a(327),va=a(5205),ka=a(7716);const wa=(0,K.A)(pa,[["render",o]]),Aa=wa;j()(pa,"components",{QLayout:ga.A,QHeader:ma.A,QToolbar:fa.A,QBtn:Te.A,QItemLabel:H.A,QTabs:ya.A,QTab:ba.A,QSpace:Ut.A,QTooltip:Ne.A,QPageContainer:va.A,QPage:ka.A})}}]);
@@ -1 +1 @@
1
- (()=>{"use strict";var e={8260:(e,t,r)=>{var n=r(9104),o=r(6501),a=r(8734),i=r(1758);const l={id:"q-app"};function u(e,t,r,n,o,a){const u=(0,i.g2)("router-view");return(0,i.uX)(),(0,i.CE)("div",l,[(0,i.bF)(u)])}const s=(0,i.pM)({name:"App"});var c=r(2807);const d=(0,c.A)(s,[["render",u]]),f=d;var p=r(1573),h=r(455);const v=[{path:"/",component:()=>Promise.all([r.e(121),r.e(450)]).then(r.bind(r,2450)),children:[{path:"",component:()=>Promise.all([r.e(121),r.e(935)]).then(r.bind(r,2935))}]},{path:"/:catchAll(.*)*",component:()=>Promise.all([r.e(121),r.e(609)]).then(r.bind(r,1609))}],m=v,g=(0,p.wE)((function(){const e=h.LA,t=(0,h.aE)({scrollBehavior:()=>({left:0,top:0}),routes:m,history:e("/")});return t}));async function b(e,t){const r=e(f);r.use(o.A,t);const n=(0,a.IG)("function"===typeof g?await g({}):g);return{app:r,router:n}}var y=r(1627),w=r(8292),A=r(5022),k=r(1903);const C={config:{notify:{}},plugins:{Notify:y.A,Dialog:w.A,LocalStorage:A.A,SessionStorage:k.A}},E="/";async function O({app:e,router:t},r){let n=!1;const o=e=>{try{return t.resolve(e).href}catch(r){}return Object(e)===e?null:e},a=e=>{if(n=!0,"string"===typeof e&&/^https?:\/\//.test(e))return void(window.location.href=e);const t=o(e);null!==t&&(window.location.href=t)},i=window.location.href.replace(window.location.origin,"");for(let u=0;!1===n&&u<r.length;u++)try{await r[u]({app:e,router:t,ssrContext:null,redirect:a,urlPath:i,publicPath:E})}catch(l){return l&&l.url?void a(l.url):void console.error("[Quasar] boot error:",l)}!0!==n&&(e.use(t),e.mount("#q-app"))}b(n.Ef,C).then((e=>{const[t,n]=void 0!==Promise.allSettled?["allSettled",e=>e.map((e=>{if("rejected"!==e.status)return e.value.default;console.error("[Quasar] boot error:",e.reason)}))]:["all",e=>e.map((e=>e.default))];return Promise[t]([Promise.resolve().then(r.bind(r,6598))]).then((t=>{const r=n(t).filter((e=>"function"===typeof e));O(e,r)}))}))},6598:(e,t,r)=>{r.r(t),r.d(t,{default:()=>o});var n=r(1573);const o=(0,n.zj)((async({app:e})=>{}))}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=e,(()=>{var e=[];r.O=(t,n,o,a)=>{if(!n){var i=1/0;for(c=0;c<e.length;c++){for(var[n,o,a]=e[c],l=!0,u=0;u<n.length;u++)(!1&a||i>=a)&&Object.keys(r.O).every((e=>r.O[e](n[u])))?n.splice(u--,1):(l=!1,a<i&&(i=a));if(l){e.splice(c--,1);var s=o();void 0!==s&&(t=s)}}return t}a=a||0;for(var c=e.length;c>0&&e[c-1][2]>a;c--)e[c]=e[c-1];e[c]=[n,o,a]}})(),(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[]))})(),(()=>{r.u=e=>"js/"+e+"."+{450:"ea87a6d5",609:"35dc13d3",935:"cc0c012c"}[e]+".js"})(),(()=>{r.miniCssF=e=>"css/"+e+".f5cbf6d1.css"})(),(()=>{r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="uniqua:";r.l=(n,o,a,i)=>{if(e[n])e[n].push(o);else{var l,u;if(void 0!==a)for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++){var d=s[c];if(d.getAttribute("src")==n||d.getAttribute("data-webpack")==t+a){l=d;break}}l||(u=!0,l=document.createElement("script"),l.charset="utf-8",l.timeout=120,r.nc&&l.setAttribute("nonce",r.nc),l.setAttribute("data-webpack",t+a),l.src=n),e[n]=[o];var f=(t,r)=>{l.onerror=l.onload=null,clearTimeout(p);var o=e[n];if(delete e[n],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(r))),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),u&&document.head.appendChild(l)}}})(),(()=>{r.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{r.p="/"})(),(()=>{if("undefined"!==typeof document){var e=(e,t,n,o,a)=>{var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",r.nc&&(i.nonce=r.nc);var l=r=>{if(i.onerror=i.onload=null,"load"===r.type)o();else{var n=r&&r.type,l=r&&r.target&&r.target.href||t,u=new Error("Loading CSS chunk "+e+" failed.\n("+n+": "+l+")");u.name="ChunkLoadError",u.code="CSS_CHUNK_LOAD_FAILED",u.type=n,u.request=l,i.parentNode&&i.parentNode.removeChild(i),a(u)}};return i.onerror=i.onload=l,i.href=t,n?n.parentNode.insertBefore(i,n.nextSibling):document.head.appendChild(i),i},t=(e,t)=>{for(var r=document.getElementsByTagName("link"),n=0;n<r.length;n++){var o=r[n],a=o.getAttribute("data-href")||o.getAttribute("href");if("stylesheet"===o.rel&&(a===e||a===t))return o}var i=document.getElementsByTagName("style");for(n=0;n<i.length;n++){o=i[n],a=o.getAttribute("data-href");if(a===e||a===t)return o}},n=n=>new Promise(((o,a)=>{var i=r.miniCssF(n),l=r.p+i;if(t(i,l))return o();e(n,l,null,o,a)})),o={524:0};r.f.miniCss=(e,t)=>{var r={450:1};o[e]?t.push(o[e]):0!==o[e]&&r[e]&&t.push(o[e]=n(e).then((()=>{o[e]=0}),(t=>{throw delete o[e],t})))}}})(),(()=>{var e={524:0};r.f.j=(t,n)=>{var o=r.o(e,t)?e[t]:void 0;if(0!==o)if(o)n.push(o[2]);else{var a=new Promise(((r,n)=>o=e[t]=[r,n]));n.push(o[2]=a);var i=r.p+r.u(t),l=new Error,u=n=>{if(r.o(e,t)&&(o=e[t],0!==o&&(e[t]=void 0),o)){var a=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,o[1](l)}};r.l(i,u,"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,n)=>{var o,a,[i,l,u]=n,s=0;if(i.some((t=>0!==e[t]))){for(o in l)r.o(l,o)&&(r.m[o]=l[o]);if(u)var c=u(r)}for(t&&t(n);s<i.length;s++)a=i[s],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(c)},n=globalThis["webpackChunkuniqua"]=globalThis["webpackChunkuniqua"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var n=r.O(void 0,[121],(()=>r(8260)));n=r.O(n)})();
1
+ (()=>{"use strict";var e={8260:(e,t,r)=>{var n=r(9104),o=r(6501),a=r(8734),i=r(1758);const l={id:"q-app"};function u(e,t,r,n,o,a){const u=(0,i.g2)("router-view");return(0,i.uX)(),(0,i.CE)("div",l,[(0,i.bF)(u)])}const s=(0,i.pM)({name:"App"});var c=r(2807);const d=(0,c.A)(s,[["render",u]]),f=d;var p=r(1573),h=r(455);const v=[{path:"/",component:()=>Promise.all([r.e(121),r.e(364)]).then(r.bind(r,8364)),children:[{path:"",component:()=>Promise.all([r.e(121),r.e(935)]).then(r.bind(r,2935))}]},{path:"/:catchAll(.*)*",component:()=>Promise.all([r.e(121),r.e(609)]).then(r.bind(r,1609))}],m=v,g=(0,p.wE)((function(){const e=h.LA,t=(0,h.aE)({scrollBehavior:()=>({left:0,top:0}),routes:m,history:e("/")});return t}));async function b(e,t){const r=e(f);r.use(o.A,t);const n=(0,a.IG)("function"===typeof g?await g({}):g);return{app:r,router:n}}var y=r(1627),w=r(8292),A=r(5022),k=r(1903);const C={config:{notify:{}},plugins:{Notify:y.A,Dialog:w.A,LocalStorage:A.A,SessionStorage:k.A}},E="/";async function O({app:e,router:t},r){let n=!1;const o=e=>{try{return t.resolve(e).href}catch(r){}return Object(e)===e?null:e},a=e=>{if(n=!0,"string"===typeof e&&/^https?:\/\//.test(e))return void(window.location.href=e);const t=o(e);null!==t&&(window.location.href=t)},i=window.location.href.replace(window.location.origin,"");for(let u=0;!1===n&&u<r.length;u++)try{await r[u]({app:e,router:t,ssrContext:null,redirect:a,urlPath:i,publicPath:E})}catch(l){return l&&l.url?void a(l.url):void console.error("[Quasar] boot error:",l)}!0!==n&&(e.use(t),e.mount("#q-app"))}b(n.Ef,C).then((e=>{const[t,n]=void 0!==Promise.allSettled?["allSettled",e=>e.map((e=>{if("rejected"!==e.status)return e.value.default;console.error("[Quasar] boot error:",e.reason)}))]:["all",e=>e.map((e=>e.default))];return Promise[t]([Promise.resolve().then(r.bind(r,6598))]).then((t=>{const r=n(t).filter((e=>"function"===typeof e));O(e,r)}))}))},6598:(e,t,r)=>{r.r(t),r.d(t,{default:()=>o});var n=r(1573);const o=(0,n.zj)((async({app:e})=>{}))}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=e,(()=>{var e=[];r.O=(t,n,o,a)=>{if(!n){var i=1/0;for(c=0;c<e.length;c++){for(var[n,o,a]=e[c],l=!0,u=0;u<n.length;u++)(!1&a||i>=a)&&Object.keys(r.O).every((e=>r.O[e](n[u])))?n.splice(u--,1):(l=!1,a<i&&(i=a));if(l){e.splice(c--,1);var s=o();void 0!==s&&(t=s)}}return t}a=a||0;for(var c=e.length;c>0&&e[c-1][2]>a;c--)e[c]=e[c-1];e[c]=[n,o,a]}})(),(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[]))})(),(()=>{r.u=e=>"js/"+e+"."+{364:"72b2882d",609:"35dc13d3",935:"cc0c012c"}[e]+".js"})(),(()=>{r.miniCssF=e=>"css/"+e+".9c989936.css"})(),(()=>{r.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="uniqua:";r.l=(n,o,a,i)=>{if(e[n])e[n].push(o);else{var l,u;if(void 0!==a)for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++){var d=s[c];if(d.getAttribute("src")==n||d.getAttribute("data-webpack")==t+a){l=d;break}}l||(u=!0,l=document.createElement("script"),l.charset="utf-8",l.timeout=120,r.nc&&l.setAttribute("nonce",r.nc),l.setAttribute("data-webpack",t+a),l.src=n),e[n]=[o];var f=(t,r)=>{l.onerror=l.onload=null,clearTimeout(p);var o=e[n];if(delete e[n],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(r))),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),u&&document.head.appendChild(l)}}})(),(()=>{r.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e)})(),(()=>{r.p="/"})(),(()=>{if("undefined"!==typeof document){var e=(e,t,n,o,a)=>{var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",r.nc&&(i.nonce=r.nc);var l=r=>{if(i.onerror=i.onload=null,"load"===r.type)o();else{var n=r&&r.type,l=r&&r.target&&r.target.href||t,u=new Error("Loading CSS chunk "+e+" failed.\n("+n+": "+l+")");u.name="ChunkLoadError",u.code="CSS_CHUNK_LOAD_FAILED",u.type=n,u.request=l,i.parentNode&&i.parentNode.removeChild(i),a(u)}};return i.onerror=i.onload=l,i.href=t,n?n.parentNode.insertBefore(i,n.nextSibling):document.head.appendChild(i),i},t=(e,t)=>{for(var r=document.getElementsByTagName("link"),n=0;n<r.length;n++){var o=r[n],a=o.getAttribute("data-href")||o.getAttribute("href");if("stylesheet"===o.rel&&(a===e||a===t))return o}var i=document.getElementsByTagName("style");for(n=0;n<i.length;n++){o=i[n],a=o.getAttribute("data-href");if(a===e||a===t)return o}},n=n=>new Promise(((o,a)=>{var i=r.miniCssF(n),l=r.p+i;if(t(i,l))return o();e(n,l,null,o,a)})),o={524:0};r.f.miniCss=(e,t)=>{var r={364:1};o[e]?t.push(o[e]):0!==o[e]&&r[e]&&t.push(o[e]=n(e).then((()=>{o[e]=0}),(t=>{throw delete o[e],t})))}}})(),(()=>{var e={524:0};r.f.j=(t,n)=>{var o=r.o(e,t)?e[t]:void 0;if(0!==o)if(o)n.push(o[2]);else{var a=new Promise(((r,n)=>o=e[t]=[r,n]));n.push(o[2]=a);var i=r.p+r.u(t),l=new Error,u=n=>{if(r.o(e,t)&&(o=e[t],0!==o&&(e[t]=void 0),o)){var a=n&&("load"===n.type?"missing":n.type),i=n&&n.target&&n.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,o[1](l)}};r.l(i,u,"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,n)=>{var o,a,[i,l,u]=n,s=0;if(i.some((t=>0!==e[t]))){for(o in l)r.o(l,o)&&(r.m[o]=l[o]);if(u)var c=u(r)}for(t&&t(n);s<i.length;s++)a=i[s],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(c)},n=globalThis["webpackChunkuniqua"]=globalThis["webpackChunkuniqua"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var n=r.O(void 0,[121],(()=>r(8260)));n=r.O(n)})();
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unisi
3
- Version: 0.2.9
3
+ Version: 0.3.2
4
4
  Summary: Unified System Interface, GUI and Remote API
5
5
  Author-Email: UNISI Tech <g.dernovoy@gmail.com>
6
6
  License: Apache-2.0
@@ -43,6 +43,7 @@ UNISI technology provides a unified system interface and advanced program functi
43
43
  - Monitoring and profiling
44
44
  - Database interactions
45
45
  - LLM-RAG interactions
46
+ - Voice interaction
46
47
 
47
48
  ### Installing ###
48
49
  ```
@@ -57,7 +58,7 @@ This document serves as a comprehensive guide on utilizing Unisi with Python, al
57
58
  ### High level - Screen ###
58
59
  The program directory has to contain a screens folder which contains all screens which Unisi has to show.
59
60
 
60
- Screen example tests/screens/main.py
61
+ Screen example tests/blocks/main.py
61
62
  ```
62
63
  name = "Main"
63
64
  blocks = [block]
@@ -85,7 +86,7 @@ block = Block('X Block',
85
86
  | toolbar | Optional | list | Unit elements to show in the screen toolbar |
86
87
  | order | Optional | int | order in the program menu |
87
88
  | icon | Optional | str | MD icon of screen to show in the screen menu |
88
- | prepare | Optional | def prepare() | Syncronizes GUI elements one to another and with the program/system data. It is called before screen appearing if defined. |
89
+ | prepare | Optional | def prepare() | Syncronizes Unit/GUI elements one to another and with the program/system data. It is called before screen appearing if defined. |
89
90
 
90
91
 
91
92
  ### Server start ###
@@ -171,7 +172,7 @@ Examples of such block tests/blocks/tblock.py:
171
172
  from unisi import *
172
173
  ..
173
174
  concept_block = Block('Concept block',
174
- [ #some gui elements
175
+ [ #some Units
175
176
  Button('Run',run_proccess),
176
177
  Edit('Working folder','run_folder')
177
178
  ], result_table)
@@ -194,7 +195,7 @@ blocks = [ [b1,b2], [b3, [b4, b5]]]
194
195
  ![image](https://github.com/user-attachments/assets/16ab9909-08b3-429e-9205-9b388b10aba7)
195
196
 
196
197
  ### ParamBlock ###
197
- ParamBlock(name, *gui_elements, row = 3, **parameters)
198
+ ParamBlock(name, *units, row = 3, **parameters)
198
199
 
199
200
  ParamBlock creates blocks with Unit elements formed from parameters. Parameters can be string, bool, number and optional types. Example:
200
201
  ```
@@ -263,7 +264,7 @@ Text('Some field')
263
264
  complete handler is optional function which accepts the current edit value and returns a string list for autocomplete.
264
265
 
265
266
  ```
266
- def get_complete_list(gui_element, current_value):
267
+ def get_complete_list(unit, current_value):
267
268
  return [s for s in vocab if current_value in s]
268
269
 
269
270
  Edit('Edit me', 'value', complete = get_complete_list) #value has to be string or number
@@ -402,7 +403,7 @@ Info(info_message, *UnitforUpdades)
402
403
  Warning(warning_message, *UnitforUpdades)
403
404
  Error(error_message, *UnitforUpdades)
404
405
  ```
405
- They are returned by handlers and cause appearing on the top screen colored rectangle window for 3 second. UnitforUpdades is optional Unit enumeration for updating on GUI client side.
406
+ They are returned by handlers and cause appearing on the top screen colored rectangle window for 3 second. UnitforUpdades is optional Unit enumeration for updating on client side (GUI).
406
407
 
407
408
  For long time processes it is possible to create Progress window. It is just call user.progress in any async handler.
408
409
  Open window
@@ -513,6 +514,24 @@ Table options multimode = True and value define relation type 1 -> 1 if equals N
513
514
  UNISI is compatible with any database that implements the Database and Dbtable methods. Internally UNISI operates using the Kuzu graph database.
514
515
  For using the functionality db_dir in config.py has to be defined as a path to the database directory.
515
516
 
517
+ ### Voice interaction. ###
518
+ This functionality allows users to interact with a user interface using voice commands instead of fingers or a mouse. It facilitates voice interaction with a graphical user interface composed of various Units. It recognizes spoken words, interprets them as commands or element selections, and performs corresponding actions. The system supports various modes of interaction, including text input, number input, element selection, screen navigation, and command execution. The user speaks commands or element names. The module recognizes words and updates the Mate block, which exposes the state of the module and what it expects to listen.
519
+
520
+ #### Modes. ####
521
+ Select Mode (Default): The user can select an interactive element or switch to another mode (e.g., "screen" to change a current screen).
522
+ Text Mode: Activated when a text input element is selected. The user can dictate text, and use commands like "left," "right," "backspace," "delete," "space," "undo," and "clean."
523
+
524
+
525
+ Number Mode: Activated when a number input element is selected. The user can dictate numbers or use number-related commands.
526
+
527
+ Screen Mode: Allows the user to switch the current screen.
528
+
529
+ Command Mode: Activated when a command element is selected (e.g., a button). The user can execute the command using words like "push," "execute," or "run." Synonyms like "ok" and "okay" are also recognized.
530
+
531
+ Graph Mode: Supports graph element manipulation (nodes and edges). Currently documented but no specifics are provided on how to use it.
532
+
533
+ Table Mode: Supports table navigation and editing with commands like "page", "row", "column", "left", "right", "up", "down", "backspace", and "delete." Currently documented but no specifics are provided on how to use it.
534
+
516
535
 
517
536
  Examples are in tests folder.
518
537
 
@@ -1,11 +1,11 @@
1
- unisi-0.2.9.dist-info/METADATA,sha256=7VlZH1WMnmexff9OPEkZl46ggixH4k4O-GxYxetTnLM,24306
2
- unisi-0.2.9.dist-info/WHEEL,sha256=pM0IBB6ZwH3nkEPhtcp50KvKNX-07jYtnb1g1m6Z4Co,90
3
- unisi-0.2.9.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
- unisi-0.2.9.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1
+ unisi-0.3.2.dist-info/METADATA,sha256=i8IJvdK52wrM7IBA1-ge8Zp397Z9PZo0WJhYey_vLbE,26062
2
+ unisi-0.3.2.dist-info/WHEEL,sha256=pM0IBB6ZwH3nkEPhtcp50KvKNX-07jYtnb1g1m6Z4Co,90
3
+ unisi-0.3.2.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
+ unisi-0.3.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
5
5
  unisi/__init__.py,sha256=JVioDSebhtmoYTldT6ChEayuRTHOgYsAflcxcBYWBTY,279
6
6
  unisi/autotest.py,sha256=qYKwSPEPUEio6koUSu1tc71pDkX-doCQJlyRppaXCtY,8709
7
- unisi/common.py,sha256=E0tkUvCWFVYSECoyklFW6Hj_mJJe7bJnFAT-VOMyfFA,5382
8
- unisi/containers.py,sha256=MHur-xjw2evx4ZHBv58dff43ObpzRzdeCGBLI3EC8mE,6288
7
+ unisi/common.py,sha256=gaMz7PpFqz-JpiQnc9sx3HgS4UWnVzv_Xf8XAKve8q8,5386
8
+ unisi/containers.py,sha256=d9oit77_DVjd-irT5NiV104_nKhQJyw2pZHM1r2oYW0,6434
9
9
  unisi/dbunits.py,sha256=G__LLHS-WqdYB4KOOfIYGfcK_SgRWD6LbMj6wqVCyxw,7423
10
10
  unisi/graphs.py,sha256=DTyLUPzi9ErKY6ADXVMXf9-uJskNISZY_xDvsnhMs1Q,6959
11
11
  unisi/jsoncomparison/__init__.py,sha256=lsWkYEuL6v3Qol-lwSUvB6y63tm6AKcCMUd4DZDx3Cg,350
@@ -18,13 +18,13 @@ unisi/llmrag.py,sha256=Wh9pQ8kBMlersKxbEDlZ3XeY2grH0_Rfg8I3E2W87hI,3481
18
18
  unisi/multimon.py,sha256=YKwCuvMsMfdgOGkJoqiqh_9wywXMeo9bUhHmbAIUeSE,4060
19
19
  unisi/proxy.py,sha256=QMHSSFJtmVZIexIMAsuFNlF5JpnYNG90rkTM3PYJhY4,7750
20
20
  unisi/reloader.py,sha256=5zWglaaU1zcXXNrSeyJMZW47fiHnjxbJ-CbDGREPyNk,6638
21
- unisi/server.py,sha256=NAvZgs_8MsVwjq1pDSoTFAxYrOd3m0y7KJi1tYluoFA,6176
21
+ unisi/server.py,sha256=c62F_XYnj9afhxyeNkSAqVt2zsroz6GlZRtQrbZdEHA,6140
22
22
  unisi/tables.py,sha256=yF6Y2dczZoSD3fo7K14pyo3vP6A0U8dt-u4xY0SS8HU,13848
23
- unisi/units.py,sha256=lzEikH9Bs1cVyrZd7yt3OeaWFOb3HTZ9avwXLCNeQkw,10868
24
- unisi/users.py,sha256=KVFlVQwCfVqv7_H_f77KN_k3fulGBM7HwUwML3dAfSY,15927
25
- unisi/utils.py,sha256=jsfhRSGb2MgI7YPdkKl87w3DD8-7z3hVh_3Rt7-MYxg,2481
26
- unisi/voicecom.py,sha256=SCMFXjdueCJ04Wbmkm8siud7N04iQY_VmunFEI_lLTg,10700
27
- unisi/web/css/450.f5cbf6d1.css,sha256=An80vk9kxEdInBbTWXznQlgm3VKcj-LeWAuvmDfFjhI,3264
23
+ unisi/units.py,sha256=rhZJtbZhje5C0Kc4sS1juMehcg5orOmQYpEe8KOVpzY,11004
24
+ unisi/users.py,sha256=l7KazUJiby_jTKekS2tqT0TZNzZc6cOazGDzD-W3yHA,16040
25
+ unisi/utils.py,sha256=NHoRMItaMleHg2UEp96_zzvrtGaZHcLNUZqmKkEwiHQ,2474
26
+ unisi/voicecom.py,sha256=5LGuHyaAlXY8f3KHqtLtOloJ3Dtkp-rIvW0FgPacHvs,13857
27
+ unisi/web/css/364.9c989936.css,sha256=nvhfMM7I0j4Xyec9QWuXjiwY_rw8IZzxC1M0bzBwEak,3264
28
28
  unisi/web/css/app.31d6cfe0.css,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
29
  unisi/web/css/vendor.f7e3cefe.css,sha256=0cbvPPBV-_jv7jBIC9glq8c1QgCowWt_TxoBalHGdAs,220668
30
30
  unisi/web/favicon.ico,sha256=2ZcJaY_4le4w5NSBzWjaj3yk1faLAX0XqioI-Tjscbs,64483
@@ -40,10 +40,10 @@ unisi/web/icons/favicon-128x128.png,sha256=zmGg0n6RZ5OM4gg-E5HeHuUUtA2KD1w2AqegT
40
40
  unisi/web/icons/favicon-16x16.png,sha256=3ynBFHJjwaUFKcZVC2rBs27b82r64dmcvfFzEo52-sU,859
41
41
  unisi/web/icons/favicon-32x32.png,sha256=lhGXZOqIhjcKDymmbKyo4mrVmKY055LMD5GO9eW2Qjk,2039
42
42
  unisi/web/icons/favicon-96x96.png,sha256=0PbP5YF01VHbwwP8z7z8jjltQ0q343C1wpjxWjj47rY,9643
43
- unisi/web/index.html,sha256=61Uf7WcDBf9koEksemybYhW4PWct1-AQe_fc2qDB5OI,923
44
- unisi/web/js/450.ea87a6d5.js,sha256=l5Mdum99Cs6OUnpPuSqC71aIYlRx2I0t3QXENOqD3gA,62959
43
+ unisi/web/index.html,sha256=8dLP9v_MLTpncbLBxJB3NFv6didlhlwRCqYVOgCoGsU,923
44
+ unisi/web/js/364.72b2882d.js,sha256=hUFersTbJtqD4SM26fInvoFQDfRnI1diuFwb7EVcPZc,63251
45
45
  unisi/web/js/609.35dc13d3.js,sha256=v3eqMeVE666_qkm_FGKzKkZWvg8WlVjRVYJCjTqTUFE,766
46
46
  unisi/web/js/935.cc0c012c.js,sha256=FzVIRBr4vyQgW38ROCoh929gtzuXqM73Cf77vejfDWk,6561
47
- unisi/web/js/app.7317dfbe.js,sha256=1i1eszCz3pLLYb3qJ3JW3mfDha_3bw3q2zfy_JHOtpw,6150
47
+ unisi/web/js/app.99853ae7.js,sha256=DUtNxnatRpjh2Utx8Y-d81mVQYQFOcLnX6M3GdQbg8o,6150
48
48
  unisi/web/js/vendor.1bb14e9d.js,sha256=7q80jaZcms7UhWSqHAk2pXSx67cYQJGlsp-6DBXBZuU,1253597
49
- unisi-0.2.9.dist-info/RECORD,,
49
+ unisi-0.3.2.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- "use strict";(globalThis["webpackChunkuniqua"]=globalThis["webpackChunkuniqua"]||[]).push([[450],{2450:(e,t,a)=>{a.r(t),a.d(t,{default:()=>Aa});var l=a(1758),s=a(8790);const i=(0,l.Lk)("div",{class:"q-pa-md"},null,-1),n=(0,l.Lk)("div",{class:"q-pa-md"},null,-1);function o(e,t,a,o,r,d){const c=(0,l.g2)("q-item-label"),u=(0,l.g2)("element"),h=(0,l.g2)("q-tab"),p=(0,l.g2)("q-tabs"),g=(0,l.g2)("q-space"),m=(0,l.g2)("q-tooltip"),f=(0,l.g2)("q-btn"),y=(0,l.g2)("q-toolbar"),b=(0,l.g2)("q-header"),v=(0,l.g2)("zone"),k=(0,l.g2)("q-page"),w=(0,l.g2)("q-page-container"),A=(0,l.g2)("q-layout");return(0,l.uX)(),(0,l.Wv)(A,{view:"lHh Lpr lFf"},{default:(0,l.k6)((()=>[(0,l.bF)(b,{elevated:"",class:(0,s.C4)({"bg-deep-purple-9":e.Dark.isActive,"bg-blue-grey-9":!e.Dark.isActive})},{default:(0,l.k6)((()=>[(0,l.bF)(y,null,{default:(0,l.k6)((()=>[(0,l.bF)(c,{class:"text-h5"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.screen.header?e.screen.header:""),1)])),_:1}),i,((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.left_toolbar,(t=>((0,l.uX)(),(0,l.Wv)(u,{class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),data:t,pdata:e.tooldata},null,8,["class","data","pdata"])))),256)),n,(0,l.bF)(p,{class:"bold-tabs",align:"center","inline-label":"",dense:"",modelValue:e.tab,"onUpdate:modelValue":t[0]||(t[0]=t=>e.tab=t),style:{float:"center"}},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.menu,(t=>((0,l.uX)(),(0,l.CE)("div",null,[t.icon?((0,l.uX)(),(0,l.Wv)(h,{key:0,class:"justify-center text-white shadow-2","no-caps":"",name:t.name,icon:t.icon,label:t.name,onClick:a=>e.tabclick(t.name)},null,8,["name","icon","label","onClick"])):(0,l.Q3)("",!0),t.icon?(0,l.Q3)("",!0):((0,l.uX)(),(0,l.Wv)(h,{key:1,class:"justify-center text-white shadow-2","no-caps":"",name:t.name,label:t.name,onClick:a=>e.tabclick(t.name)},null,8,["name","label","onClick"]))])))),256))])),_:1},8,["modelValue"]),(0,l.bF)(g),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.right_toolbar,(t=>((0,l.uX)(),(0,l.Wv)(u,{class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),data:t,pdata:e.tooldata},null,8,["class","data","pdata"])))),256)),e.voice_button?((0,l.uX)(),(0,l.Wv)(f,{key:0,class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),dense:"",round:"",icon:e.isListening?"record_voice_over":"voice_over_off",onClick:e.toggleListening},{default:(0,l.k6)((()=>[(0,l.bF)(m,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.isListening?"Stop Voice commander":"Start Voice commander"),1)])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),(0,l.bF)(f,{class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),dense:"",round:"",icon:e.Dark.isActive?"light_mode":"dark_mode",onClick:e.switchTheme},{default:(0,l.k6)((()=>[(0,l.bF)(m,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Dark/Light mode")])),_:1})])),_:1},8,["class","icon","onClick"])])),_:1})])),_:1},8,["class"]),(0,l.bF)(w,{class:"content"},{default:(0,l.k6)((()=>[(0,l.bF)(k,{class:"flex justify-center centers"},{default:(0,l.k6)((()=>[(0,l.bF)(v,{data:e.screen.blocks,ref:"page"},null,8,["data"])])),_:1})])),_:1})])),_:1})}function r(e,t,a,i,n,o){const r=(0,l.g2)("q-icon"),d=(0,l.g2)("q-item-section"),c=(0,l.g2)("q-item-label"),u=(0,l.g2)("q-item");return(0,l.uX)(),(0,l.Wv)(u,{clickable:"",tag:"a",target:"_blank",onClick:e.send},{default:(0,l.k6)((()=>[(0,l.bF)(d,{avatar:""},{default:(0,l.k6)((()=>[(0,l.bF)(r,{name:e.icon},null,8,["name"])])),_:1}),(0,l.bF)(d,null,{default:(0,l.k6)((()=>[(0,l.bF)(c,null,{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.name),1)])),_:1})])),_:1})])),_:1},8,["onClick"])}var d=a(1576),c=a(3436);let u=null,h={};var p;const g=!1;let m=g;const f=["graph","chart","block","text"],y=["tree","table","list","text","graph","chart"];const b=window.location.host,v=`${window.location.protocol}//${b}`;let k={},w={},A={};function C(e){let t=window.location.href,a=t.split("?"),l=2==a.length?a[1]:null;l&&(a=l.split("#"),2==a.length&&(l=a[0]));let s=g?"ws://localhost:8000/ws":`ws://${b}/ws`;l&&(s+="?"+l),p=new WebSocket(s),p.onopen=()=>e.statusConnect=!0,p.onmessage=t=>{m&&console.log("incoming message",t.data),u.designCycle=0;let a=JSON.parse(t.data);a?e.processMessage(a):e.closeProgress(a)},p.onerror=t=>e.error(t),p.onclose=t=>{t.wasClean?e.info("Connection was finished by the server."):e.error("Connection suddenly closed!"),e.statusConnect=!1,m&&console.info("close code : "+t.code+" reason: "+t.reason)},u=e}function x(e){let t={block:e[0],element:e[1],event:e[2],value:e[3]};m&&console.log("sended",t),p.send(JSON.stringify(t))}let _=!0;function S(e){_=e,e||(A={})}function E(e){if(_){let t=A[e.fullname];if(t)return t.styleSize;_=!1}return null}function q(e,t,a,l="complete"){let s=[e.pdata.name,e.data.name,l,t];x(s),h[s.toString()]=a}function X(e,t,a,l,s){let i=[e,t,s,a];x(i),h[i.toString()]=l}function F(){k={},A=w,_=!0,w={}}function W(e,t,a=null){let l=null;for(let s=0;s<e.length;s++)if(Array.isArray(e[s])){if(l=W(e[s],t,a),l)return l}else if(e[s].name==t)return a&&(e[s]=a),e[s];return null}function $(e){for(let t of e){let e=t.path,a=u.screen.blocks,l=null;e.length>1?(l=W(a,e[0],null),l&&(l=W(l.value,e[1],t.data))):l=W(a,e[0],t.data),l||u.error("Invalid path: "+name)}}function z(e){let t=`${e.element}@${e.block}`,a=w[t];a.update?a.update(e):console.error()}function D(e){let t=[e.message.block,e.message.element,e.type,e.message.value].toString();if("string"==typeof e.value)u.error(e.value);else if(h[t]){let a=h[t];delete h[t],a(e.value,e.message)}else u.error(t+" doesnt exist in queryMap!")}function Q(e){let t=[];for(let l of e)l instanceof Array?t.push(l):t.push([l]);let a=t.shift();return t.reduce(((e,t)=>e.flatMap((e=>t.map((t=>e instanceof Array?[...e,t]:[e,t]))))),a)}function L(e=!1){requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{I(document.documentElement.scrollWidth>window.innerWidth)}))}))}))}let M=(0,c.debounce)(L,50);function I(e){if(u.designCycle>=1)return;m&&console.log(`------------------recalc design ${u.designCycle}`),u.designCycle++;const t=O(e),a=R(e);for(let[l,s]of Object.entries(t)){let e=w[l],t=a[l];const[i,n]=t||[0,1];let o,r=e.geom(),d=r.el,c=e.pdata?e.pdata.name:e.name,u=k[c];for(let a of u.data.value.slice(1))if(Array.isArray(a)){if(a.find((t=>t.name==e.data.name))){let e=a[a.length-1],t=`${e.name}@${c}`;o=w[t];break}}else if(a.name==e.data.name){o=e;break}let h=i;h/=n;let p=e.only_fixed_elems?"":`width:${Math.ceil(d.clientWidth+h)}px`;"text"==e.type&&(s-=e.showname?50:6);let g=`height:${Math.floor(s+e.he)}px;${p}`;g!=e.styleSize&&(e.styleSize=g),e.has_recalc=!1}}function O(e){const t=u.screen.blocks;let a=window.innerHeight-60,l={},s=new Map,i=[];for(let o of t){const e=[];let t=o instanceof Array,n=t?Q(o):[[o]],r={};for(let[a,l]of Object.entries(k)){let e=l.$el.getBoundingClientRect(),t=e.bottom;r[a]=t-e.top}for(let a of n){let e=0,t=!0;Array.isArray(a)||(a=[a]);for(let l of a)e+=r[l.name],k[l.name].only_fixed_elems||(t=!1);if(t){let e=k[a.slice(-1)[0].name];w[e.fullname]=e}i.push([e+8*a.length,a])}i.sort(((e,t)=>e[0]>t[0]?-1:e[0]==t[0]?0:1));for(let a of i){let t=a[1];(0,d.vA)(Array.isArray(t));const l=[];for(let[e,a]of Object.entries(w))if(a.expanding_height){let[i,n]=e.split("@");if(t.find((e=>e.name==n))){let e=!0;const t=a.geom();for(let[i,n]of l.entries()){let o=n.geom();e&&n!==a&&o.top==t.top&&(o.scrollHeight<t.scrollHeight&&(l[i]=a),e=!1,s.set(a.fullname,n.fullname))}e&&l.push(a)}}l.length&&e.push([a[0],l])}for(let[s,i]of e){let e=0,t=[];for(let a of i)if(a.fullname in l)s+=l[a.fullname];else{let l=a.geom(),i=l.bottom-l.top;i<100&&(s+=100-i,i=100),a.he=i,e+=a.he,t.push(a)}let n=(e+a-s)/t.length,o=0;for(let a of t){let e,s=n-a.he;if(1==t.length)e=s;else if(e=Math.floor(s),s-e){o+=s-e;let t=Math.round(o)-o;t<.001&&t>-.001&&(e+=Math.round(o),o=0)}l[a.fullname]=e}}}let n=Array.from(s.entries());n.sort(((e,t)=>e[0]in l||e[1]in l?-1:1));for(let[o,r]of n)r in l?(l[o]=l[r],w[o].he=w[r].he):(l[r]=l[o],w[r].he=w[o].he);return l}function R(e){let t=null;const a=t?[t]:u.screen.blocks;let l=window.innerWidth-20,s=[],i={};for(let o of a)if(0==s.length)if(Array.isArray(o))for(let e of o)s.push(Array.isArray(e)?e:[e]);else s=[[o]];else{let e=[];if(Array.isArray(o))for(let t of o)for(let a of s)e.push(Array.isArray(t)?a.concat(t):[...a,t]);else for(let t of s)e.push([...t,o]);s=e}const n=[];for(let o of s){let e=0;for(let l of o){let t=k[l.name].$el.getBoundingClientRect();e+=t.right-t.left+5}let t=l-e,a=[[]];for(let l of o){let e=[],t=k[l.name].hlevelements;if(t.length){for(let l of t)for(let t of a)e.push([...t,...l]);a=e}}for(let l of a)n.push([t,l])}n.sort(((e,t)=>t[1].length-e[1].length));for(let[o,r]of n){let t=new Map;for(let e=0;e<r.length;e++){let a=r[e],l=a.parent_name,s=l||a.name,n=a.geom(),d=(a.data.width?a.data.width:n.scrollWidth)-(n.right-n.left);if(d>1&&!f.includes(a.type)&&o>0&&!i[a.fullname]){let e=o>d?d:o;o-=e,i[a.fullname]=[e,1]}if(s=a.parent_name,s){let e=k[s],l=e.$el.getBoundingClientRect().right-6,i=e.free_right_delta4(a,n.right),o=l-i;i&&o>0&&(!t.has(s)||t.get(s)>o)&&t.set(s,o)}}for(let e of t.values())o+=e;let a=[];for(let n of r)if(n.expanding_width&&(e||f.includes(n.type)))if(i[n.fullname]){let[e,t]=i[n.fullname];o-=e/t}else a.push(n);let l=a.length;const s=o/l;for(let e of a)i[e.fullname]||(i[e.fullname]=[Math.floor(s),1]);for(let e of r)i[e.fullname]||(i[e.fullname]=[0,1])}return i}const V=(0,l.pM)({name:"menubar",methods:{send(){x(["root",null,"changed",this.name])}},props:{name:{type:String,required:!0},icon:{type:String,default:""}}});var K=a(2807),T=a(124),N=a(5173),P=a(492),H=a(3796),B=a(8582),j=a.n(B);const U=(0,K.A)(V,[["render",r]]),G=U;j()(V,"components",{QItem:T.A,QItemSection:N.A,QIcon:P.A,QItemLabel:H.A});const Y={key:0,class:"row q-col-gutter-xs q-py-xs"},J={class:"q-col-gutter-xs"},Z={key:0,class:"column q-col-gutter-xs"};function ee(e,t,a,s,i,n){const o=(0,l.g2)("zone",!0),r=(0,l.g2)("block");return e.data instanceof Array?((0,l.uX)(),(0,l.CE)("div",Y,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.data,(e=>((0,l.uX)(),(0,l.CE)("div",J,[e instanceof Array?((0,l.uX)(),(0,l.CE)("div",Z,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e,(e=>((0,l.uX)(),(0,l.Wv)(o,{class:"q-col-gutter-xs q-py-xs",data:e},null,8,["data"])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,data:e},null,8,["data"]))])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,data:e.data},null,8,["data"]))}const te={class:"row no-wrap"},ae={key:0,class:"frame"},le=["data","pdata"],se={key:0,class:"row"},ie=["data","pdata"],ne={key:0,class:"row no-wrap"};function oe(e,t,a,i,n,o){const r=(0,l.g2)("element"),d=(0,l.g2)("q-icon"),c=(0,l.g2)("q-space"),u=(0,l.g2)("q-tooltip"),h=(0,l.g2)("q-btn"),p=(0,l.g2)("q-scroll-area"),g=(0,l.g2)("q-card");return(0,l.uX)(),(0,l.Wv)(g,{class:"my-card q-ma-xs container",style:(0,s.Tr)(e.only_fixed_elems?e.styleSize:null),key:e.name},{default:(0,l.k6)((()=>[(0,l.Lk)("div",te,[e.data.active?((0,l.uX)(),(0,l.CE)("div",ae)):(0,l.Q3)("",!0),e.data.logo?((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"q-ma-sm",data:e.data.logo,pdata:e.data},null,8,["data","pdata"])):e.data.icon?((0,l.uX)(),(0,l.Wv)(d,{key:2,class:"q-mt-sm q-ml-sm",style:{"padding-top":"6px"},size:"sm",name:e.data.icon},null,8,["name"])):(0,l.Q3)("",!0),"_"!=e.name[0]?((0,l.uX)(),(0,l.CE)("p",{key:3,class:(0,s.C4)(["q-ma-sm",{"text-info":e.Dark.isActive,"text-cyan-10":!e.Dark.isActive}]),style:{"padding-top":"6px","font-size":"18px"}},(0,s.v_)(e.name),3)):(0,l.Q3)("",!0),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.tops,(t=>((0,l.uX)(),(0,l.Wv)(r,{class:"q-ma-sm",data:t,pdata:e.data},null,8,["data","pdata"])))),256)),(0,l.bF)(c),"close"in e.data?((0,l.uX)(),(0,l.Wv)(h,{key:4,class:(0,s.C4)(["q-ma-xs",{"bg-blue-grey-9":e.Dark.isActive}]),rounded:"",dense:"",flat:"",size:"14px",icon:"cancel",onClick:e.close},{default:(0,l.k6)((()=>[(0,l.bF)(u,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Close")])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0)]),e.data.scroll?((0,l.uX)(),(0,l.Wv)(p,{key:0,style:(0,s.Tr)(e.styleSize),"thumb-style":e.thumbStyle,"bar-style":e.barStyle},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.data.value.slice(1),(t=>((0,l.uX)(),(0,l.CE)("div",{class:"column",data:t,pdata:e.data},[t instanceof Array?((0,l.uX)(),(0,l.CE)("div",se,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(t,(t=>((0,l.uX)(),(0,l.Wv)(r,{class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"]))],8,le)))),256))])),_:1},8,["style","thumb-style","bar-style"])):((0,l.uX)(!0),(0,l.CE)(l.FK,{key:1},(0,l.pI)(e.data.value.slice(1),(t=>((0,l.uX)(),(0,l.CE)("div",{class:"column",data:t,pdata:e.data},[t instanceof Array?((0,l.uX)(),(0,l.CE)("div",ne,[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(t,(t=>((0,l.uX)(),(0,l.Wv)(r,{class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"])))),256))])):((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"q-ma-xs",data:t,pdata:e.data},null,8,["data","pdata"]))],8,ie)))),256))])),_:1},8,["style"])}var re=a(9104);const de=e=>((0,l.Qi)("data-v-644cc909"),e=e(),(0,l.jt)(),e),ce={class:"container"},ue={key:5,class:"{'bg-blue-grey-9': Dark.isActive}"},he=["width","height"],pe=["src"],ge={class:"camera-button"},me={key:0},fe={key:1},ye={class:"camera-loading"},be=de((()=>(0,l.Lk)("ul",{class:"loader-circle"},[(0,l.Lk)("li"),(0,l.Lk)("li"),(0,l.Lk)("li")],-1))),ve=[be],ke=["height"],we=["height"],Ae={key:1,class:"camera-shoot"},Ce=de((()=>(0,l.Lk)("img",{src:"https://img.icons8.com/material-outlined/50/000000/camera--v2.png"},null,-1))),xe=[Ce],_e={key:2,class:"camera-download"},Se={key:20},Ee={key:23,class:"frame"};function qe(e,t,a,i,n,o){const r=(0,l.g2)("q-icon"),d=(0,l.g2)("q-img"),c=(0,l.g2)("q-select"),u=(0,l.g2)("q-checkbox"),h=(0,l.g2)("q-toggle"),p=(0,l.g2)("q-badge"),g=(0,l.g2)("q-slider"),m=(0,l.g2)("q-btn"),f=(0,l.g2)("q-btn-toggle"),y=(0,l.g2)("utable"),b=(0,l.g2)("linechart"),v=(0,l.g2)("q-input"),k=(0,l.g2)("q-tree"),w=(0,l.g2)("q-scroll-area"),A=(0,l.g2)("q-separator"),C=(0,l.g2)("q-uploader"),x=(0,l.g2)("sgraph"),_=(0,l.g2)("q-tooltip"),S=(0,l.g2)("q-spinner-ios");return(0,l.uX)(),(0,l.CE)("div",ce,["image"==e.type?((0,l.uX)(),(0,l.Wv)(d,{key:e.key,src:e.data.url,"spinner-color":"blue",onClick:(0,re.D$)(e.switchValue,["stop"]),fit:"cover",style:(0,s.Tr)(e.elemSize)},{default:(0,l.k6)((()=>[e.data.label?((0,l.uX)(),(0,l.CE)("div",{key:0,class:"absolute-bottom-right text-subtitle2 custom-caption",onClick:t[0]||(t[0]=(0,re.D$)(((...t)=>e.lens&&e.lens(...t)),["stop"]))},(0,s.v_)(e.data.label),1)):(0,l.Q3)("",!0),e.value?((0,l.uX)(),(0,l.Wv)(r,{key:1,class:"absolute all-pointer-events",size:"32px",name:"check_circle",color:"light-blue-2",style:{"font-size":"2em",top:"8px",left:"8px"}})):(0,l.Q3)("",!0)])),_:1},8,["src","onClick","style"])):"select"==e.type?((0,l.uX)(),(0,l.Wv)(c,{key:e.key,ref:"inputRef","transition-show":"flip-up",readonly:0==e.data.edit,"transition-hide":"flip-down",dense:"",modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=t=>e.value=t),options:e.data.options},(0,l.eX)({_:2},[e.showname?{name:"prepend",fn:(0,l.k6)((()=>[(0,l.Lk)("p",{class:(0,s.C4)(["text-subtitle1 q-ma-sm",{white:e.Dark.isActive,black:!e.Dark.isActive}])},(0,s.v_)(e.name),3)])),key:"0"}:void 0]),1032,["readonly","modelValue","options"])):"check"==e.type?((0,l.uX)(),(0,l.Wv)(u,{key:e.key,ref:"inputRef","left-label":"",disable:0==e.data.edit,modelValue:e.value,"onUpdate:modelValue":t[2]||(t[2]=t=>e.value=t),label:e.nameLabel,"checked-icon":"task_alt","unchecked-icon":"highlight_off"},null,8,["disable","modelValue","label"])):"switch"==e.type?((0,l.uX)(),(0,l.Wv)(h,{key:e.key,ref:"inputRef",modelValue:e.value,"onUpdate:modelValue":t[3]||(t[3]=t=>e.value=t),disable:0==e.data.edit,color:"primary",label:e.nameLabel,"left-label":""},null,8,["modelValue","disable","label"])):"range"==e.type?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[(0,l.bF)(p,{outline:"",dense:"",color:e.Dark.isActive?"blue-3":"blue-9"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.name)+": "+(0,s.v_)(e.value)+" ("+(0,s.v_)(e.data.options[0])+" to "+(0,s.v_)(e.data.options[1])+", Δ "+(0,s.v_)(e.data.options[2])+")",1)])),_:1},8,["color"]),(0,l.bF)(g,{class:"q-pl-sm",dense:"",modelValue:e.value,"onUpdate:modelValue":t[4]||(t[4]=t=>e.value=t),min:e.data.options[0],max:e.data.options[1],step:e.data.options[2],color:"primary"},null,8,["modelValue","min","max","step"])])):"radio"==e.type?((0,l.uX)(),(0,l.CE)("div",ue,[e.showname?((0,l.uX)(),(0,l.Wv)(m,{key:0,ripple:!1,color:"indigo-10",disable:"",label:e.name,"no-caps":""},null,8,["label"])):(0,l.Q3)("",!0),(0,l.bF)(f,{ref:"inputRef",modelValue:e.value,"onUpdate:modelValue":t[5]||(t[5]=t=>e.value=t),readonly:0==e.data.edit,class:(0,s.C4)({"bg-blue-grey-9":e.Dark.isActive}),"no-caps":"",options:e.data.options.map((e=>({label:e,value:e})))},null,8,["modelValue","readonly","class","options"])])):"table"==e.type?((0,l.uX)(),(0,l.Wv)(y,{key:e.key,data:e.data,pdata:e.pdata,styleSize:e.styleSize},null,8,["data","pdata","styleSize"])):"chart"==e.type?((0,l.uX)(),(0,l.Wv)(b,{key:e.key,data:e.data,pdata:e.pdata,styleSize:e.styleSize},null,8,["data","pdata","styleSize"])):"string"==e.type&&e.data.hasOwnProperty("complete")?((0,l.uX)(),(0,l.Wv)(c,{key:e.key,ref:"inputRef",dense:"",readonly:0==e.data.edit,modelValue:e.value,"onUpdate:modelValue":t[6]||(t[6]=t=>e.value=t),"use-input":"","hide-selected":"",borderless:"",outlined:"","hide-bottom-space":"","fill-input":"","input-debounce":"0",options:e.options,onFilter:e.complete,label:e.name,onKeydown:(0,re.jR)(e.pressedEnter,["enter"])},null,8,["readonly","modelValue","options","onFilter","label","onKeydown"])):"string"==e.type&&0==e.data.edit?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[(0,l.Lk)("p",{class:(0,s.C4)(["q-ma-sm",{white:e.Dark.isActive,black:!e.Dark.isActive}])},(0,s.v_)(e.value),3)])):"string"==e.type?((0,l.uX)(),(0,l.Wv)(v,{key:e.key,modelValue:e.value,"onUpdate:modelValue":t[7]||(t[7]=t=>e.value=t),label:e.name2show,ref:"inputRef",autogrow:e.data.autogrow,dense:"",onKeydown:(0,re.jR)(e.pressedEnter,["enter"]),readonly:0==e.data.edit},null,8,["modelValue","label","autogrow","onKeydown","readonly"])):"number"==e.type?((0,l.uX)(),(0,l.Wv)(v,{key:e.key,modelValue:e.value,"onUpdate:modelValue":t[8]||(t[8]=t=>e.value=t),modelModifiers:{number:!0},label:e.name2show,ref:"inputRef",dense:"",onKeydown:(0,re.jR)(e.pressedEnter,["enter"]),type:"number",readonly:0==e.data.edit},null,8,["modelValue","label","onKeydown","readonly"])):"tree"==e.type||"list"==e.type?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[e.showname?((0,l.uX)(),(0,l.CE)("p",{key:0,class:(0,s.C4)(["text-subtitle1 q-ma-sm text-grey-7",{"text-white":e.Dark.isActive,"text-indigo-10":!e.Dark.isActive}])},(0,s.v_)(e.name),3)):(0,l.Q3)("",!0),(0,l.bF)(w,{style:(0,s.Tr)(e.styleSize),"thumb-style":e.thumbStyle,"bar-style":e.barStyle,ref:"scroller"},{default:(0,l.k6)((()=>[(0,l.bF)(k,{nodes:e.treeNodes,"selected-color":e.Dark.isActive?"blue-3":"blue-9",dense:e.data.dense,ref:"tree",selected:e.value,"onUpdate:selected":t[9]||(t[9]=t=>e.value=t),expanded:e.expandedKeys,"onUpdate:expanded":t[10]||(t[10]=t=>e.expandedKeys=t),"node-key":"label","default-expand-all":""},null,8,["nodes","selected-color","dense","selected","expanded"])])),_:1},8,["style","thumb-style","bar-style"])])):"text"==e.type?((0,l.uX)(),(0,l.CE)("div",{key:e.key},[e.showname?((0,l.uX)(),(0,l.CE)("p",{key:0,class:(0,s.C4)(["text-subtitle1 q-ma-sm",{"text-white":e.Dark.isActive,"text-indigo-10":!e.Dark.isActive}])},(0,s.v_)(e.name),3)):(0,l.Q3)("",!0),(0,l.bo)((0,l.Lk)("textarea",{class:(0,s.C4)(["textarea",{"bg-grey-10":e.Dark.isActive,"text-white":e.Dark.isActive}]),"onUpdate:modelValue":t[11]||(t[11]=t=>e.value=t),filled:"",type:"textarea",style:(0,s.Tr)(e.elemSize),onKeydown:t[12]||(t[12]=(0,re.jR)(((...t)=>e.pressedEnter&&e.pressedEnter(...t)),["enter"]))},null,38),[[re.Jo,e.value]])])):"line"==e.type?((0,l.uX)(),(0,l.Wv)(A,{key:14,color:"green"})):"video"==e.type?((0,l.uX)(),(0,l.CE)("video",{key:e.key,controls:"",width:e.data.width,height:e.data.height},[(0,l.Lk)("source",{src:e.data.url,type:"video/mp4"},null,8,pe)],8,he)):"uploader"==e.type?((0,l.uX)(),(0,l.Wv)(C,{key:e.key,label:e.name,"auto-upload":"",thumbnails:"",url:e.host_path,onUploaded:e.updateDom,onAdded:e.onAdded,style:(0,s.Tr)(e.elemSize),ref:"uploaderRef",flat:"",class:(0,s.C4)({"bg-grey-10":e.Dark.isActive}),color:e.Dark.isActive?"purple-10":"blue"},null,8,["label","url","onUploaded","onAdded","style","class","color"])):"image_uploader"==e.type?((0,l.uX)(),(0,l.Wv)(C,{key:e.key,label:e.name,"auto-upload":"",thumbnails:"",url:e.host_path,onUploaded:e.updateDom,onAdded:e.onAdded,ref:"uploaderRef",flat:"",class:(0,s.C4)({"bg-grey-10":e.Dark.isActive}),color:e.Dark.isActive?"purple-10":"blue"},null,8,["label","url","onUploaded","onAdded","class","color"])):"graph"==e.type?((0,l.uX)(),(0,l.Wv)(x,{key:e.key,data:e.data,pdata:e.pdata,styleSize:e.elemSize},null,8,["data","pdata","styleSize"])):"camera"==e.type?((0,l.uX)(),(0,l.CE)("div",{class:"web-camera-container",key:e.key},[(0,l.Lk)("div",ge,[(0,l.Lk)("button",{class:(0,s.C4)(["button is-rounded",{"is-primary":!e.isCameraOpen,"is-danger":e.isCameraOpen}]),type:"button",onClick:t[13]||(t[13]=(...t)=>e.toggleCamera&&e.toggleCamera(...t))},[e.isCameraOpen?((0,l.uX)(),(0,l.CE)("span",fe,"Close Camera")):((0,l.uX)(),(0,l.CE)("span",me,"Open Camera"))],2)]),(0,l.bo)((0,l.Lk)("div",ye,ve,512),[[re.aG,e.isCameraOpen&&e.isLoading]]),e.isCameraOpen?(0,l.bo)(((0,l.uX)(),(0,l.CE)("div",{key:0,class:(0,s.C4)(["camera-box",{flash:e.isShotPhoto}])},[(0,l.Lk)("div",{class:(0,s.C4)(["camera-shutter",{flash:e.isShotPhoto}])},null,2),(0,l.bo)((0,l.Lk)("video",{ref:"camera",width:450,height:337.5,autoplay:""},null,8,ke),[[re.aG,!e.isPhotoTaken]]),(0,l.bo)((0,l.Lk)("canvas",{id:"photoTaken",ref:"canvas",width:450,height:337.5},null,8,we),[[re.aG,e.isPhotoTaken]])],2)),[[re.aG,!e.isLoading]]):(0,l.Q3)("",!0),e.isCameraOpen&&!e.isLoading?((0,l.uX)(),(0,l.CE)("div",Ae,[(0,l.Lk)("button",{class:"button",type:"button",onClick:t[14]||(t[14]=(...t)=>e.takePhoto&&e.takePhoto(...t))},xe)])):(0,l.Q3)("",!0),e.isPhotoTaken&&e.isCameraOpen?((0,l.uX)(),(0,l.CE)("div",_e,[(0,l.bF)(m,{onClick:e.downloadImage,label:"Send"},null,8,["onClick"])])):(0,l.Q3)("",!0)])):""!=e.showname?((0,l.uX)(),(0,l.CE)("div",Se,[((0,l.uX)(),(0,l.Wv)(m,{key:e.key,ref:"inputRef","no-caps":"",disable:0==e.data.edit,class:(0,s.C4)({"bg-blue-grey-8":e.Dark.isActive}),label:e.name,icon:e.data.icon,onClick:e.sendValue},{default:(0,l.k6)((()=>[e.data.tooltip?((0,l.uX)(),(0,l.Wv)(_,{key:0,class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.tooltip),1)])),_:1})):(0,l.Q3)("",!0)])),_:1},8,["disable","class","label","icon","onClick"]))])):e.data.spinner?((0,l.uX)(),(0,l.Wv)(m,{key:e.key,ref:"inputRef","no-caps":"",dense:"",disable:0==e.data.edit,round:"",class:(0,s.C4)({"bg-blue-grey-8":e.Dark.isActive}),onClick:e.sendValue},{default:(0,l.k6)((()=>[(0,l.bF)(S,{color:e.Dark.isActive?"white":"black"},null,8,["color"]),e.data.tooltip?((0,l.uX)(),(0,l.Wv)(_,{key:0,class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.tooltip),1)])),_:1})):(0,l.Q3)("",!0)])),_:1},8,["disable","class","onClick"])):((0,l.uX)(),(0,l.Wv)(m,{key:e.key,ref:"inputRef","no-caps":"",disable:0==e.data.edit,dense:"",round:"",class:(0,s.C4)({"bg-blue-grey-8":e.Dark.isActive}),icon:e.data.icon,onClick:e.sendValue},{default:(0,l.k6)((()=>[e.data.tooltip?((0,l.uX)(),(0,l.Wv)(_,{key:0,class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.tooltip),1)])),_:1})):(0,l.Q3)("",!0)])),_:1},8,["disable","class","icon","onClick"])),e.data.active?((0,l.uX)(),(0,l.CE)("div",Ee)):(0,l.Q3)("",!0)])}var Xe=a(8734);const Fe={class:"text-h6"},We={key:0},$e={class:"row"},ze=["onClick"],De=["onClick"];function Qe(e,t,a,i,n,o){const r=(0,l.g2)("q-tooltip"),d=(0,l.g2)("q-btn"),c=(0,l.g2)("q-icon"),u=(0,l.g2)("q-input"),h=(0,l.g2)("q-th"),p=(0,l.g2)("q-tr"),g=(0,l.g2)("q-checkbox"),m=(0,l.g2)("q-select"),f=(0,l.g2)("q-td"),y=(0,l.g2)("q-table");return(0,l.uX)(),(0,l.Wv)(y,{"virtual-scroll":"",dense:e.data.dense,style:(0,s.Tr)(e.styleSize?e.styleSize:e.currentStyle()),flat:"",filter:e.data.id?"":e.search,ref:"table",virtualScrollSliceSize:"100","rows-per-page-options":[0],"virtual-scroll-sticky-size-start":48,"row-key":"iiid",title:e.name,rows:e.rows,columns:e.columns,selection:e.singleMode?"single":"multiple",selected:e.selected,"onUpdate:selected":t[2]||(t[2]=t=>e.selected=t)},{"top-left":(0,l.k6)((()=>["link"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:0,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",outline:"",color:"primary",icon:e.data.filter?"filter_alt":"filter_alt_off","no-caps":"",onClick:e.switchFilter},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.filter?"Turn off filter":"Turn on filter"),1)])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),(0,l.Lk)("div",Fe,(0,s.v_)(e.name),1)])),"top-right":(0,l.k6)((()=>[!1!==e.data.tools?((0,l.uX)(),(0,l.CE)("div",We,[(0,l.Lk)("div",$e,[(0,l.bF)(u,{modelValue:e.search,"onUpdate:modelValue":t[1]||(t[1]=t=>e.search=t),label:"Search",dense:"",ref:"searchField"},(0,l.eX)({append:(0,l.k6)((()=>[""!=e.search?((0,l.uX)(),(0,l.Wv)(c,{key:0,class:"cursor-pointer",name:"close",size:"xs",onClick:t[0]||(t[0]=t=>{e.search="",e.$refs.searchField.focus()})},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Reset search ")])),_:1})])),_:1})):(0,l.Q3)("",!0)])),_:2},[""==e.search?{name:"prepend",fn:(0,l.k6)((()=>[(0,l.bF)(c,{name:"search",size:"xs"})])),key:"0"}:void 0]),1032,["modelValue"]),(0,l.Lk)("div",null,[(0,l.bF)(d,{class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"select_all","no-caps":"",onClick:e.showSelected},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Show selected ")])),_:1})])),_:1},8,["class","onClick"]),(0,l.bF)(d,{class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"deselect","no-caps":"",onClick:e.deselectAll},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Deselect all")])),_:1})])),_:1},8,["class","onClick"]),!1!==e.data.multimode?((0,l.uX)(),(0,l.Wv)(d,{key:0,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:e.singleMode?"looks_one":"grain","no-caps":"",onClick:e.switchMode},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Multi-single select mode ")])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),e.editable?((0,l.uX)(),(0,l.Wv)(d,{key:1,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:e.data.editing?"cancel":"edit","no-caps":"",onClick:e.switchEdit},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Edit mode")])),_:1})])),_:1},8,["class","icon","onClick"])):(0,l.Q3)("",!0),e.editable&&"append"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:2,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"add","no-caps":"",onClick:e.append},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(e.data.filter?"Add a new entity+link":"Add a new row"),1)])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0),"delete"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:3,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"delete_forever","no-caps":"",onClick:e.delSelected},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Delete selected ")])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0),"view"in e.data?((0,l.uX)(),(0,l.Wv)(d,{key:4,class:(0,s.C4)(["q-ml-xs",{"bg-blue-grey-8":e.Dark.isActive}]),dense:"",rounded:"",icon:"insights","no-caps":"",onClick:e.chart},{default:(0,l.k6)((()=>[(0,l.bF)(r,{class:"text-body2"},{default:(0,l.k6)((()=>[(0,l.eW)("Draw the chart")])),_:1})])),_:1},8,["class","onClick"])):(0,l.Q3)("",!0)])])])):(0,l.Q3)("",!0)])),header:(0,l.k6)((t=>[(0,l.bF)(p,{props:t},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(t.cols,(a=>((0,l.uX)(),(0,l.Wv)(h,{class:(0,s.C4)(["text-italic",{"text-grey-9":!e.Dark.isActive,"text-teal-3":e.Dark.isActive}]),key:a.name,props:t},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(a.label),1)])),_:2},1032,["class","props"])))),128))])),_:2},1032,["props"])])),body:(0,l.k6)((t=>[(0,l.bF)(p,{props:t,onClick:e=>t.selected=!t.selected},{default:(0,l.k6)((()=>[((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(e.columns,((a,i)=>((0,l.uX)(),(0,l.Wv)(f,{key:a.name,props:t},{default:(0,l.k6)((()=>["boolean"==typeof t.row[a.name]?((0,l.uX)(),(0,l.Wv)(g,{key:0,modelValue:t.row[a.name],"onUpdate:modelValue":[e=>t.row[a.name]=e,l=>e.change_switcher(t.row,a.name,i)],dense:"",disable:!e.data.editing},null,8,["modelValue","onUpdate:modelValue","disable"])):e.data.editing&&"complete"in e.data&&i==e.cedit&&e.redit==t.row.iiid?((0,l.uX)(),(0,l.Wv)(m,{key:1,dense:"","model-value":t.row[a.name],"use-input":"","hide-selected":"","fill-input":"",autofocus:"",outlined:"",borderless:"",onInputValue:e.change,"hide-dropdown-icon":"","input-debounce":"0",options:e.options,onKeydown:e.keyInput,onFilter:e.complete},null,8,["model-value","onInputValue","options","onKeydown","onFilter"])):e.data.editing&&i==e.cedit&&e.redit==t.row.iiid?((0,l.uX)(),(0,l.Wv)(u,{key:2,modelValue:t.row[a.name],"onUpdate:modelValue":[e=>t.row[a.name]=e,e.change],dense:"",onKeydown:e.keyInput,autofocus:""},null,8,["modelValue","onUpdate:modelValue","onKeydown"])):void 0==t.row[a.name]?((0,l.uX)(),(0,l.CE)("div",{key:3,onClick:a=>e.select(t.row,i)},"-- ",8,ze)):((0,l.uX)(),(0,l.CE)("div",{key:4,onClick:a=>e.select(t.row,i)},(0,s.v_)(t.row[a.name]),9,De))])),_:2},1032,["props"])))),128))])),_:2},1032,["props","onClick"])])),_:1},8,["dense","style","filter","title","rows","columns","selection","selected"])}var Le=a(411);function Me(e,t){return e.length===t.length&&e.every(((e,a)=>t[a]&&e.iiid==t[a].iiid))}let Ie="✘";function Oe(e,t){let a=[];const l=e.headers,s=l.length,i=t.length;for(var n=0;n<i;n++){const i={},r=t[n];for(var o=0;o<s;o++)null!=r[o]&&void 0!=r[o]&&(i[l[o]]=r[o]);let d=r.length;i.iiid=s<d||e.id?r[d-1]:n,a.push(i)}return a}function Re(e,t){let a=[],{limit:l,length:s,data:i}=t.rows;s&&a.splice(0,0,...Oe(t,i)),a.length=s,a=(0,Xe.Kh)(a);let n=[];function o(l,s){switch(l.update){case"update":a[l.index]=Oe(t,[l.data])[0];break;case"updates":if(l.data){let e=l.data.length;a.splice(l.index,e,...Oe(t,l.data))}if("length"in l&&(a.length=l.length),s){let a=n.indexOf(s.value);-1!=a&&n.splice(a,1),n.length&&X(e,t.name,n[n.length-1],o,"get")}break;case"delete":this.length--,a.splice(l.index,1);break;case"add":a[this.length]=Oe(t,[l.data])[0],this.length++;break;case"adds":a.splice(l.index,0,...Oe(t,l.data)),this.length+=l.data.length}}function r(a){-1==n.indexOf(a)&&(n.length>5&&n.splice(0,1),n.push(a),1==n.length&&X(e,t.name,a,o,"get"))}t.update=o;let d=new Proxy(a,{get(e,t,a){if("slice"===t)return function(...a){a[0];let s=a[1];if(s>0){let a=(t/l|0)*l;for(;a<=s;a+=l)e[a]||r(a)}return Array.prototype.slice.apply(e,a)};if(e[t]||isNaN(t))return e[t];{let e=(t/l|0)*l;return void r(e)}}});return d}const Ve=(0,l.pM)({name:"utable",setup(e){const{data:t,pdata:a}=(0,Xe.QW)(e);let s,i=t.value;s=i.id?(0,l.EW)((()=>Re(a.value.name,i))):(0,Xe.KR)(Oe(i,i.rows));let n=()=>{let e=t.value,a=null===e.value||0==s.value.length?[]:Array.isArray(e.value)?s.value.filter((t=>e.value.includes(t.iiid))):s.value.filter((t=>e.value==t.iiid));return a},o=n(),r=(0,Xe.KR)(o),d=(0,Xe.KR)(o),c=(0,Xe.KR)(!Array.isArray(t.value.value)),u=(e,l)=>{x([a.value.name,t.value.name,e,l])},h=(0,l.EW)((()=>t.value.value));return(0,l.wB)(s,((e,t)=>{d.value=n(),r.value=d.value})),(0,l.wB)(t,((e,a)=>{m&&console.log("data update",a.name),d.value=n(),r.value=d.value,c.value=!Array.isArray(t.value.value),i.id||(s.value=Oe(e,e.rows))})),{rows:s,selected:d,singleMode:c,sendMessage:u,datavalue:h,updated:r}},data(){return{Dark:Le.A,search:"",options:[],prevSelectedId:void 0,cedit:null}},methods:{switchFilter(){let e=this.data;e.filter=!e.filter,this.sendMessage("filter",e.filter)},currentStyle(){let e=this.data.tablerect;if(e){let t=e.width,a=e.height;return`width: ${t}px; height: ${a}px`}return null},select(e,t){if(this.data.editing){let a=this.headers[t];"ID"!=a&&"ⓇID"!=a&&(this.cedit=t,m&&console.log("selected",e.iiid,this.cedit))}},change_switcher(e,t,a){if(this.data.editing){let a=this.data.headers.indexOf(t),l=this.rows.findIndex((t=>t.iiid==e.iiid));this.sendMessage("modify",{value:e[t],id:e.iiid,delta:l,cell:a})}},change(e){let t=this.headers[this.cedit],a=this.data.headers.indexOf(t);if(m&&console.log("changed",t,e),this.data.editing&&this.selected.length){const l=this.selected[0];l[t]=e;this.rows;let s=this.rows.findIndex((e=>e.iiid==l.iiid));if(-1==s)return void console.log("cannot find a row!");this.sendMessage("modify",{value:e,delta:s,id:l.iiid,cell:a})}},keyInput(e){if("Control"==e.key)return;let t=!1;switch(e.key){case"Enter":"update"in this.data&&this.sendMessage("update",[this.rows[this.redit][this.headers[this.cedit]],[this.redit,this.cedit]]),t=!0;case"ArrowRight":if(e.ctrlKey||t)for(let e=this.cedit+1;e<this.headers.length;){let t=this.headers[e],a=this.selected[0][t],l=typeof a;if("boolean"!=l&&"ⓇID"!=t&&"ID"!=t){this.cedit=e;break}}break;case"Escape":this.switchEdit();break;case"ArrowLeft":if(e.ctrlKey)for(let e=this.cedit-1;e>=0;e--){let t=this.headers[e],a=typeof this.selected[0][t];if("boolean"!=a&&"ⓇID"!=t&&"ID"!=t){this.cedit=e;break}}break;case"ArrowUp":if(e.ctrlKey&&this.redit>0){let e=this.redit-1,t=this.data,a=typeof t.rows[e][this.cedit];"string"!=a&&"number"!=a||(t.value=e),this.selected=[this.rows[e]]}break;case"ArrowDown":if(e.ctrlKey&&this.redit+1<this.rows.length){let e=this.redit+1,t=this.data,a=typeof t.rows[e][this.cedit];"string"!=a&&"number"!=a||(t.value=e),this.selected=[this.rows[e]]}break}},complete(e,t,a){q(this,[e,[this.redit,this.cedit]],(e=>t((()=>{this.options=e}))))},append(){let e=this.rows,t=e.length,a=this;"append"in this.data&&q(this,this.search,(function(l){if(!Array.isArray(l))return u.error(l);m&&console.log("added row",l),a.search="",l=Oe(a.data,[l])[0],l.iiid=Math.random(),e.push(l),setTimeout((()=>{let e=a.rows;a.selected=[e[t]],a.showSelected(),a.data.editing||a.switchEdit(),a.select(e[t],0)}),100)}),"append")},showSelected(){if(this.selected.length){let e=this.$refs.table,t=this.rows,a=this.selected[0];if(void 0!=this.prevSelectedId){let e=this.selected.findIndex((e=>e?.iiid==this.prevSelectedId));-1!=e&&(++e>=this.selected.length&&(e=0),a=this.selected[e])}let s=a.iiid;this.prevSelectedId=s;let i=t.findIndex((e=>e.iiid==s));e.scrollTo(i),(0,l.dY)((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{e.scrollTo(i)}))}))}))}))}))}))}))}},deselectAll(){this.selected=[],this.sendMessage("changed",this.value)},chart(){let e=this.data;e.type="chart",e.tablerect=this.$refs.table.$el.getBoundingClientRect(),w[this.fullname].styleSize=this.currentStyle()},switchMode(){this.singleMode=!this.singleMode,this.singleMode&&this.selected.length>1&&this.selected.splice(1)},switchEdit(){let e=this.data;e.editing=!e.editing,this.sendMessage("editing",this.data.editing)},delSelected(){if(this.selected.length){if(this.sendMessage("delete",this.value),this.singleMode)this.rows.splice(this.value,1);else{let e=this.value;e.sort((function(e,t){return t-e}));for(let t of e)this.rows.splice(t,1)}this.selected=[]}else u.error("Rows are not selected!")}},watch:{selected(e){const t=this.data;Me(this.updated,this.selected)||(this.sendMessage("changed",this.value),this.updated=this.selected),t.show&&(this.showSelected(),t.show=!1)},search(e){this.data.id&&this.sendMessage("search",e)}},computed:{fullname(){return`${this.data.name}@${this.pdata.name}`},redit(){return this.data.editing&&this.selected.length?this.selected[0].iiid:null},editable(){return 0!=this.data["edit"]},value(){let e=this.selected.map((e=>this.rows.findIndex((t=>t.iiid===e.iiid))));return-1!=e.indexOf(-1)&&console.error("selected row in a table did not found!"),this.singleMode?1==e.length?e[0]:null:e},name(){return"_"==this.data.name?"":this.data.name},headers(){let e=this.data;return e.headers.filter((e=>!e.startsWith(Ie)))},columns(){let e=!this.data.id;return this.headers.map((t=>({name:t,label:t,align:"left",sortable:e,field:t})))}},props:{data:Object,pdata:Object,styleSize:String}});var Ke=a(8098),Te=a(6384),Ne=a(7410),Pe=a(9270),He=a(4488),Be=a(7722),je=a(5262),Ue=a(460),Ge=a(9183);const Ye=(0,K.A)(Ve,[["render",Qe]]),Je=Ye;j()(Ve,"components",{QTable:Ke.A,QBtn:Te.A,QTooltip:Ne.A,QInput:Pe.A,QIcon:P.A,QTr:He.A,QTh:Be.A,QTd:je.A,QCheckbox:Ue.A,QSelect:Ge.A});const Ze={key:0,id:"header"};function et(e,t,a,i,n,o){return(0,l.uX)(),(0,l.CE)("div",{ref:"graph",style:(0,s.Tr)(a.styleSize),id:"graph"},[(0,l.Lk)("div",null,["_"!=a.data.name[0]?((0,l.uX)(),(0,l.CE)("div",Ze,(0,s.v_)(a.data.name),1)):(0,l.Q3)("",!0)])],4)}var tt=a(1522),at=a(8911);var lt=a(3668),st=a.n(lt),it=a(1944),nt=a.n(it),ot=a(5793);let rt="#091159",dt={enableEdgeEvents:!0,hideEdgesOnMove:!1,hideLabelsOnMove:!1,renderLabels:!0,renderEdgeLabels:!0,enableEdgeClickEvents:!0,enableEdgeWheelEvents:!1,enableEdgeHoverEvents:!0,enableEdgeHovering:!0,allowInvalidContainer:!0,enableEdgeClickEvents:!0,enableEdgeHoverEvents:!0,defaultNodeColor:"#FCA072",defaultNodeType:"circle",defaultEdgeColor:"#888",defaultEdgeType:"arrow",labelFont:"Arial",labelSize:14,labelWeight:"normal",labelColor:{color:"#00838F",attribute:"#000"},edgeLabelFont:"Arial",edgeLabelSize:14,edgeLabelWeight:"normal",edgeLabelColor:{attribute:"color"},stagePadding:30,labelDensity:1,labelGridCellSize:100,labelRenderedSizeThreshold:6,animationsTime:1e3,borderSize:2,outerBorderSize:3,defaultNodeOuterBorderColor:"rgb(236, 81, 72)",edgeHoverHighlightNodes:"circle",sideMargin:1,edgeHoverColor:"edge",defaultEdgeHoverColor:"#062646",edgeHoverSizeRatio:1,edgeHoverExtremities:!0,scalingMode:"outside",nodeProgramClasses:{image:ot.C$}};const ct={name:"sgraph",props:{data:{type:Object,required:!0},pdata:{type:Object,required:!0},styleSize:String},data(){return{Dark:Le.A,s:null,state:{searchQuery:""},selectedNodes:[],selectedEdges:[],graph:null,fa2start:null,fa2stop:null,fa2run:null}},methods:{sendMessage(e,t){x([this.pdata["name"],this.data["name"],e,t])},refresh(){let e=this.graph();const t=nt().inferSettings(e);let a=new(st())(e,{settings:t});m&&console.log("refresh graph",this.data.name,this.pdata.name),a.isRunning()||(a.start(),setTimeout((function(){a.stop()}),1e3))},setSelectedEdges(e){this.s.selectEdges(e)},setSearchQuery(e){if(e){const t=e.toLowerCase(),a=this.graph().nodes().map((e=>({id:e,label:graph.getNodeAttribute(e,"label")}))).filter((({label:e})=>e.toLowerCase().includes(t)));if(1===a.length&&a[0].label===e){this.state.selectedNode=a[0].id,this.state.suggestions=void 0;const e=this.s.getNodeDisplayData(this.state.selectedNode);this.s.getCamera().animate(e,{duration:500})}else this.state.selectedNode=void 0,this.state.suggestions=new Set(a.map((({id:e})=>e)))}else this.state.selectedNode=void 0,this.state.suggestions=void 0;this.s.refresh()},load(e){let t=e.value;this.selectedNodes=t.nodes?t.nodes.map((e=>String(e))):[],this.selectedEdges=t.edges?t.edges.map((e=>String(e))):[];let a=e.sizing,l=e.nodes,s=this.graph(),i=[],n=[],o=new Map;for(let u=0;u<l.length;u++){if(!l[u])continue;let e=Object.assign({},l[u]);void 0==e.id&&(e.id=u),void 0!=e.name&&(e.label=e.name);let t={key:String(e.id),attributes:e};e.size=e.size?e.size:10,i.push(t),o.set(e.id,u);let a=s._nodes.get(t.key);a?(e.x=a.attributes.x,e.y=a.attributes.y):(e.x=Math.random(),e.y=Math.random()),this.selectedNodes.includes(t.key)&&(e.highlighted=!0)}let r=[],d=new Map,c=Array(i.length).fill(0);for(let u=0;u<e.edges.length;u++){let t=Object.assign({},e.edges[u]),l=o.get(t.source),s=o.get(t.target);if(void 0==l||void 0==s)continue;if(void 0==t.id&&(t.id=u),t.name&&(t.label=t.name),t.key=String(t.id),n.push(t),a){"in"!=a&&(s=o.get(t.source),l=o.get(t.target)),c[s]++,d.has(s)?d.get(s).push(l):d.set(s,[l]);let e=r.indexOf(l),i=r.indexOf(s);if(-1==e&&(e=r.length,r.push(l)),-1==i&&(i=r.length,r.push(s)),i<e){let t=r[e];r[e]=r[i],r[i]=t}}let i=t.attributes;i||(i={},t.attributes=i),i.id=t.id,i.size=t.size?t.size:5,this.selectedEdges.includes(t.key)?(i.ocolor=i.color?i.color:dt.defaultEdgeColor,i.color=rt):t.color&&(i.color=t.color),t.label&&(i.label=t.label)}if(a)for(let u=0;u<r.length;u++){let e=r[u];if(d.has(e))for(let t of d.get(e))c[e]+=c[t];i[e].attributes.size=10+c[e]}s.clear(),s.import({nodes:i,edges:n}),this.refresh()}},computed:{value(){let e=this.graph(),t=this.selectedNodes.map((t=>e._nodes.get(t).attributes.id)),a=this.selectedEdges.map((t=>e._edges.get(t).attributes.id));return{nodes:t,edges:a}}},watch:{data:{handler(e,t){m&&console.log("data update",this.data.name,this.pdata.name),this.load(e)},deep:!0},"Dark.isActive":function(e){this.s.settings.labelColor.color=e?"#00838F":"#000",this.s.refresh()}},updated(){this.s.refresh(),m&&console.log("updated",this.data.name,this.pdata.name)},mounted(){let e=new at.MultiDirectedGraph;this.graph=()=>e;let t=this.$refs.graph;this.s=new tt.Ay(e,t,dt);let a=this.s;var l=this;function s(t){t?l.state.hoveredNeighbors=new Set(e.neighbors(t)):(l.state.hoveredNode=void 0,l.state.hoveredNeighbors=void 0),a.refresh()}function i(t,a=rt){let l=e.getEdgeAttributes(t);l.color!=a&&(l.ocolor||(l.ocolor=l.color?l.color:dt.defaultEdgeColor),e.setEdgeAttribute(t,"color",a))}function n(t,a=rt){let l=e.getEdgeAttributes(t);if(l.color==a){let a=e.getEdgeAttribute(t,"ocolor");e.setEdgeAttribute(t,"color",a)}}this.s.settings.labelColor.color=Le.A.isActive?"#00838F":"#000",a.on("clickNode",(function(t){let s=t.node;if(!u.shiftKey){for(let e of l.selectedEdges)n(e);l.selectedEdges=[]}if(l.selectedNodes.includes(s))if(e.setNodeAttribute(s,"highlighted",!1),u.shiftKey){let e=l.selectedNodes.indexOf(s);-1!=e&&l.selectedNodes.array.splice(e,1)}else l.selectedNodes=[];else{if(!u.shiftKey&&l.selectedNodes.length>0){for(let t of l.selectedNodes)e.setNodeAttribute(t,"highlighted",!1);l.selectedNodes=[]}e.setNodeAttribute(s,"highlighted",!0),l.selectedNodes.push(s)}a.refresh(),l.sendMessage("changed",l.value)})),a.on("clickEdge",(function({edge:t}){if(!u.shiftKey){for(let t of l.selectedNodes)e.setNodeAttribute(t,"highlighted",!1);l.selectedNodes=[]}if(l.selectedEdges.includes(t))if(n(t),u.shiftKey){let e=l.selectedEdges.indexOf(t);-1!=e&&l.selectedEdges.array.splice(e,1)}else l.selectedEdges=[];else{if(!u.shiftKey&&l.selectedEdges.length>0){for(let e of l.selectedEdges)n(e);l.selectedEdges=[]}i(t),l.selectedEdges.push(t)}a.refresh(),l.sendMessage("changed",l.value)})),a.on("enterNode",(function({node:t}){for(let a of e.edgeEntries())a.target==t?i(a.edge,"#808000"):a.source==t&&i(a.edge,"#2F4F4F");s(t)})),a.on("leaveNode",(function({node:t}){for(let a of e.edgeEntries())a.target==t?l.selectedEdges.includes(a.edge)?e.setEdgeAttribute(a.edge,"color",rt):n(a.edge,"#808000"):a.source==t&&(l.selectedEdges.includes(a.edge)?e.setEdgeAttribute(a.edge,"color",rt):n(a.edge,"#2F4F4F"));s(void 0)})),a.on("enterEdge",(function({edge:e}){l.selectedEdges.includes(e)||i(e)})),a.on("leaveEdge",(function({edge:e}){l.selectedEdges.includes(e)||n(e)}));const o=new ResizeObserver((e=>a.refresh()));o.observe(t);let r=null,d=!1;a.on("downNode",(t=>{d=!0,r=t.node,e.setNodeAttribute(r,"highlighted",!0)})),a.getMouseCaptor().on("mousemovebody",(t=>{if(!d||!r)return;const l=a.viewportToGraph(t);e.setNodeAttribute(r,"x",l.x),e.setNodeAttribute(r,"y",l.y),t.preventSigmaDefault(),t.original.preventDefault(),t.original.stopPropagation()})),a.getMouseCaptor().on("mouseup",(()=>{r&&e.removeNodeAttribute(r,"highlighted"),d=!1,r=null})),a.getMouseCaptor().on("mousedown",(()=>{a.getCustomBBox()||a.setCustomBBox(a.getBBox())})),this.load(this.data)}},ut=(0,K.A)(ct,[["render",et],["__scopeId","data-v-419ab6c8"]]),ht=ut;function pt(e,t,a,i,n,o){const r=(0,l.g2)("v-chart");return(0,l.uX)(),(0,l.CE)("div",{style:(0,s.Tr)(a.styleSize?a.styleSize:o.currentStyle())},[(0,l.bF)(r,{ref:"chart","manual-update":!0,onClick:o.clicked,autoresize:!0},null,8,["onClick"])],4)}var gt=a(559),mt=a(6224),ft=a(596),yt=a(16),bt=a(6926),vt=a(1259),kt=a(5951),wt=a(42),At=a(6532),Ct=a(1795),xt=a(9e3),_t=a(4907);(0,vt.Y)([mt.a,ft.a,bt.a,yt.a]),(0,vt.Y)([kt.a,wt.a,At.a,Ct.a,xt.a]);let St=["","#80FFA5","#00DDFF","#37A2FF","#FF0087","#FFBF00","rgba(128, 255, 165)","rgba(77, 119, 255)"];const Et={name:"linechart",components:{VChart:gt.Ay},props:{data:Object,pdata:Object,styleSize:String},data(){const e=(0,_t.A)();return{$q:e,model:!1,animation:null,markPoint:null,options:{responsive:!0,maintainAspectRatio:!1,legend:{data:[],bottom:10,textStyle:{color:"#4DD0E1"}},tooltip:{trigger:"axis",position:function(e){return[e[0],"10%"]}},title:{left:"center",text:""},toolbox:{feature:{}},xAxis:{type:"category",boundaryGap:!1,data:null},yAxis:{type:"value",boundaryGap:[0,"100%"]},dataZoom:[{type:"inside",start:0,end:10},{start:0,end:10}],series:[]}}},computed:{fullname(){return`${this.data.name}@${this.pdata.name}`}},methods:{setOptions(){this.$refs.chart.setOption(this.options)},currentStyle(){let e=this.data.tablerect,t=e?e.width:300,a=e?e.height:200;return`width: ${t}px; height: ${a}px`},processCoord(e,t,a){let l=null;for(let s of t)if(e[0]==s.coord[0]){l=s;break}a?l?t.splice(t.indexOf(l),1):t.push({coord:e}):(t.splice(0,t.length),l||t.push({coord:e}))},clicked(e){let t=[e.dataIndex,this.options.series[e.seriesIndex].data[e.dataIndex]];this.processCoord(t,this.markPoint.data,u.shiftKey);let a=this.markPoint.data.map((e=>e.coord[0])),l=this.data;if(l.value=Array.isArray(l.value)||a.length>1?a:a.length?a[0]:null,this.animation){let e=this.options.dataZoom;e[0].start=this.animation.start,e[1].start=this.animation.start,e[0].end=this.animation.end,e[1].end=this.animation.end}this.setOptions(),x([this.pdata.name,this.data.name,"changed",this.data.value])},calcSeries(){this.options.toolbox.feature.mySwitcher={show:!0,title:"Switch view to the table",icon:"image:M0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V2zm15 2h-4v3h4V4zm0 4h-4v3h4V8zm0 4h-4v3h3a1 1 0 0 0 1-1v-2zm-5 3v-3H6v3h4zm-5 0v-3H1v2a1 1 0 0 0 1 1h3zm-4-4h4V8H1v3zm0-4h4V4H1v3zm5-3v3h4V4H6zm4 4H6v3h4V8z",onclick:()=>{let e=this.data;e.type="table",e.tablerect=this.$refs.chart.$el.getBoundingClientRect(),w[this.fullname].styleSize=this.currentStyle()}};let e=this.data.view,t=this.data.headers;"_"!=this.data.name[0]&&(this.options.title.text=this.data.name);let a=e.split("-"),l=a[1].split(",");l.unshift(a[0]);let s=[];for(let n=0;n<l.length;n++)l[n]="i"==l[n]?-1:parseInt(l[n]),s.push([]),n&&(this.options.series.push({name:t[l[n]],type:"line",symbol:"circle",symbolSize:10,sampling:"lttb",itemStyle:{color:St[n]},data:s[n]}),this.options.legend.data.push(t[l[n]]));this.options.xAxis.data=s[0];let i=this.data.rows;for(let n=0;n<i.length;n++)for(let e=0;e<l.length;e++)s[e].push(-1==l[e]?n:i[n][l[e]]);if(this.options.series[1]){let e=[],t=this.options.series[1].data,a=Array.isArray(this.data.value)?this.data.value:null===this.data.value?[]:[this.data.value];for(let l=0;l<a.length;l++)this.processCoord([a[l],t[a[l]]],e,!0);this.markPoint={symbol:"rect",symbolSize:10,animationDuration:300,silent:!0,label:{color:"#fff"},itemStyle:{color:"blue"},data:e},this.options.series[1].markPoint=this.markPoint}this.setOptions()}},mounted(){this.calcSeries();let e=this;this.$refs.chart.chart.on("datazoom",(function(t){(t.start||t.end)&&(e.animation=t)}))}},qt=(0,K.A)(Et,[["render",pt]]),Xt=qt;let Ft={right:"4px",borderRadius:"7px",backgroundColor:"#027be3",width:"4px",opacity:.75},Wt={right:"2px",borderRadius:"9px",backgroundColor:"#027be3",width:"8px",opacity:.2},$t=0;function zt(e){let t=new FormData;t.append("image",e);let a=new XMLHttpRequest;a.open("POST",v,!0),a.onload=function(){200===this.status?console.log(this.response):console.error(a)},a.send(t)}const Dt=(0,l.pM)({name:"element",components:{utable:Je,sgraph:ht,linechart:Xt},setup(){const e=(0,Xe.KR)($t);$t++;const t=()=>{e.value=$t,$t++};return{forceUpdate:t,key:e}},methods:{log(e){console.log(e)},showSelected(){if("tree"==this.type||"list"==this.type){let e=this.value;e&&requestAnimationFrame((()=>{requestAnimationFrame((()=>{let t=this.$refs.tree.$el,a=this.$refs.scroller.$el;for(let l of t.getElementsByTagName("div"))if(l.innerHTML==e){const{bottom:e,height:t,top:s}=l.getBoundingClientRect();if(s){const l=a.getBoundingClientRect();(s<=l.top?l.top-s<=t:e-l.bottom<=t)||this.$refs.scroller.setScrollPosition("vertical",s-l.top);break}}}))}))}},onAdded(e){0!==e.length&&(0!==this.fileArr.length?(this.$refs.uploaderRef.removeFile(this.fileArr[0]),this.fileArr.splice(0,1,e[0])):this.fileArr.push(e[0]))},sendMessage(e,t){x([this.pdata["name"],this.data["name"],e,t])},pressedEnter(){"update"in this.data&&this.sendMessage("update",this.value)},updateDom(e){let t=e.files.length;t&&this.sendMessage("changed",e.xhr.responseText)},sendValue(){this.sendMessage("changed",this.value)},switchValue(){this.value=!this.value},setValue(e){this.value=e},complete(e,t,a){q(this,e,(e=>t((()=>{this.options=e}))))},lens(){u.lens(this.data)},toggleCamera(){this.isCameraOpen?(this.isCameraOpen=!1,this.isPhotoTaken=!1,this.isShotPhoto=!1,this.stopCameraStream()):(this.isCameraOpen=!0,this.createCameraElement())},createCameraElement(){this.isLoading=!0;const e=window.constraints={audio:!1,video:!0};navigator.mediaDevices.getUserMedia(e).then((e=>{this.isLoading=!1,this.$refs.camera.srcObject=e})).catch((e=>{this.isLoading=!1,alert("May the browser didn't support or there are some errors.")}))},stopCameraStream(){let e=this.$refs.camera.srcObject.getTracks();e.forEach((e=>{e.stop()}))},takePhoto(){if(!this.isPhotoTaken){this.isShotPhoto=!0;const e=50;setTimeout((()=>{this.isShotPhoto=!1}),e)}this.isPhotoTaken=!this.isPhotoTaken;const e=this.$refs.canvas.getContext("2d");e.drawImage(this.$refs.camera,0,0,450,337.5)},downloadImage(){document.getElementById("downloadPhoto"),document.getElementById("photoTaken").toBlob(zt,"image/jpeg")},rect(){let e="clientHeight"in this.$el?this.$el:this.$el.nextElementSibling;return e.getBoundingClientRect()},geom(){let e=this.type,t=this.$el;t="tree"==e||"list"==e?t.querySelector(".scroll"):"clientHeight"in t?t:t.nextElementSibling,t||(t=this.$el.previousElementSibling,t="clientHeight"in t?t:t.nextElementSibling);const a="text"==e||"graph"==e||"chart"==e?t:t.querySelector("table"==e?".scroll":".q-tree"),l=t.getBoundingClientRect();return{el:t,inner:a,left:l.left,right:l.right,top:l.top,bottom:l.bottom,scrollHeight:a.scrollHeight,scrollWidth:a.scrollWidth}}},updated(){w[this.fullname]=this,this.showSelected(),m&&console.log("updated",this.fullname)},mounted(){let e=this.data;w[this.fullname]=this,e.id&&"table"==e.type&&!e.filter&&(this.update=e.update),e.focus&&this.$refs.inputRef.$el.focus(),this.showSelected(),m&&console.log("mounted",this.fullname)},data(){return{Dark:Le.A,value:this.data.value,styleSize:_?E(this):null,has_recalc:!0,host_path:v,options:[],expandedKeys:[],thumbStyle:Ft,barStyle:Wt,updated:"#027be3sds",isCameraOpen:!1,isPhotoTaken:!1,isShotPhoto:!1,isLoading:!1,link:"#",fileArr:[]}},computed:{elemSize(){let e="";return this.data.width&&(e=`width:${this.data.width}px`),this.data.height&&(""!=e&&(e+="; "),e+=`height:${this.data.height}px`),""==e?this.styleSize:e},parent_name(){return this.pdata?this.pdata.name:null},name(){return this.data.name},fullname(){return`${this.data.name}@${this.pdata.name}`},showname(){let e=this.data.name;return e&&"_"!=e[0]},name2show(){let e=this.data.name;return e&&"_"!=e[0]?e:""},nameLabel(){return this.data.label?this.data.label:"_"!=this.data.name[0]?this.data.name:""},text(){return this.data.text},expanding(){return y.includes(this.type)},expanding_width(){return!this.data.width&&(this.expanding&&"list"!=this.type)},expanding_height(){return!this.data.height&&this.expanding},selection(){return this.data.selection},icon(){return this.data.icon},type(){return this.data.type},treeNodes(){var e=[];if("list"==this.type)return this.data.options.map((e=>({label:e,children:[]})));var t={};for(const[s,i]of Object.entries(this.data.options)){var a=t[s];if(a||(a={label:s,children:[]},t[s]=a),i){var l=t[i];l||(l={label:i,children:[]},t[i]=l),l.children.push(a)}else e.push(a)}return e}},props:{data:{type:Object,required:!0},pdata:{type:Object,required:!0}},watch:{value(e,t){"tree"!=this.type&&"list"!=this.type||(this.data.options[e]==t&&this.expandedKeys.indexOf(t)<0&&this.expandedKeys.push(t),this.showSelected()),e!==this.updated&&(m&&console.log("value changed",e,t),this.sendValue(),this.updated=e)},selection(e){m&&console.log("selection changed",e,this.$refs.inputRef),Array.isArray(e)||(e=[0,0]);let t=this.$refs.inputRef.$el;t.focus();let a=t.getElementsByTagName("textarea");0==a.length&&(a=t.getElementsByTagName("input")),a[0].setSelectionRange(e[0],e[1])},data(e,t){m&&console.log("data update",this.fullname,t.name),this.styleSize||(this.styleSize=null),u.screen.reload&&"tree"==this.type&&this.$refs.tree&&this.$refs.tree.expandAll();let a=this.data;this.value=a.value,this.updated=this.value,w[this.fullname]=this}}});var Qt=a(5046),Lt=a(6908),Mt=a(3954),It=a(1444),Ot=a(6939),Rt=a(8958),Vt=a(7567),Kt=a(386),Tt=a(1298),Nt=a(2157);const Pt=(0,K.A)(Dt,[["render",qe],["__scopeId","data-v-644cc909"]]),Ht=Pt;j()(Dt,"components",{QImg:Qt.A,QIcon:P.A,QSelect:Ge.A,QCheckbox:Ue.A,QToggle:Lt.A,QBadge:Mt.A,QSlider:It.A,QBtn:Te.A,QBtnToggle:Ot.A,QInput:Pe.A,QScrollArea:Rt.A,QTree:Vt.A,QSeparator:Kt.A,QUploader:Tt.A,QTooltip:Ne.A,QSpinnerIos:Nt.A});const Bt=(0,l.pM)({name:"block",components:{element:Ht},data(){return{Dark:Le.A,styleSize:null,thumbStyle:{right:"4px",borderRadius:"7px",backgroundColor:"#027be3",width:"4px",opacity:.75},barStyle:{right:"2px",borderRadius:"9px",backgroundColor:"#027be3",width:"8px",opacity:.2}}},methods:{log(){console.log(Object.keys(k).length,this.name,this.$el.getBoundingClientRect())},close(){x([this.data.name,null,"close",!0])},geom(){let e="clientHeight"in this.$el?this.$el:this.$el.nextElementSibling,t=e.querySelector(".q-scrollarea");t||(t=e);const a=t.getBoundingClientRect();return{el:e,inner:t,left:a.left,right:a.right,top:a.top,bottom:a.bottom,scrollHeight:window.innerHeight,scrollWidth:window.innerWidth}},free_right_delta4(e,t){for(let a of this.data.value)if(Array.isArray(a)){for(let l of a)if(l==e.data){let l=a[a.length-1];return l==e.data?t:f.includes(l.type)?0:w[`${l.name}@${this.name}`].$el.getBoundingClientRect().right}}else if(a===e)return t;return 0}},mounted(){k[this.data.name]=this,(this.expanding||this.data.width)&&(w[this.fullname]=this)},computed:{name(){return this.data.name},fullname(){return`${this.data.scroll?"_scroll":"_space"}@${this.name}`},icon(){return this.data.icon},type(){return this.data.type},expanding(){return this.data.scroll},expanding_width(){return this.expanding&&!this.data.width},name_elements(){if(this.expanding)return[this.fullname];let e=[];for(let t of this.data.value)if(Array.isArray(t))for(let a of t)e.push(`${a.name}@${this.name}`);else e.push(`${t.name}@${this.name}`);return e},hlevelements(){if(this.expanding)return[[w[this.fullname]]];let e=[];for(let t of this.data.value)if(Array.isArray(t)){let a=t.map((e=>w[`${e.name}@${this.name}`])).filter((e=>e.expanding));a.length&&e.push(a)}else{let a=w[`${t.name}@${this.name}`];a.expanding&&e.push([a])}return e},only_fixed_elems(){if(this.expanding)return!1;for(let e of this.data.value)if(Array.isArray(e)){for(let t of e)if(y.includes(t.type))return!1}else if(y.includes(e.type))return!1;return!0},expanding_height(){return!this.data.height&&(this.expanding||this.only_fixed_elems)},tops(){let e=this.data.value;return e.length?Array.isArray(e[0])?e[0]:[e[0]]:[]}},props:{data:{type:Object,required:!0}},watch:{data(e){m&&console.log("data update",this.name),k[this.name]=this,this.expanding&&(w[this.fullname]=this)}}});var jt=a(3316),Ut=a(3676);const Gt=(0,K.A)(Bt,[["render",oe]]),Yt=Gt;function Jt(){let e=_&&w.size==A.size;if(e)for(let[t,a]of Object.entries(w))if(!A[t]){e=!1;break}e||(I(document.documentElement.scrollWidth>window.innerWidth),(0,l.dY)((()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{u.visible(!0)}))}))})))}j()(Bt,"components",{QCard:jt.A,QIcon:P.A,QSpace:Ut.A,QBtn:Te.A,QTooltip:Ne.A,QScrollArea:Rt.A});const Zt=(0,l.pM)({name:"zone",components:{block:Yt},props:{data:Object},updated(e){(0,l.dY)((()=>{requestAnimationFrame((()=>{requestAnimationFrame(Jt)}))}))}}),ea=(0,K.A)(Zt,[["render",ee]]),ta=ea,aa={class:"row q-gutter-sm row-md"};function la(e,t,a,i,n,o){const r=(0,l.g2)("block"),d=(0,l.g2)("q-item-label"),c=(0,l.g2)("q-space"),u=(0,l.g2)("q-btn"),h=(0,l.g2)("q-card"),p=(0,l.g2)("q-dialog");return(0,l.uX)(),(0,l.Wv)(p,{ref:"dialog",onHide:o.onDialogHide,onKeyup:(0,re.jR)(o.pressedEnter,["enter"])},{default:(0,l.k6)((()=>[(0,l.bF)(h,{class:"q-dialog-plugin q-pa-md items-start q-gutter-md",bordered:"",style:(0,s.Tr)(a.data.internal?"width: 800px; max-width: 80vw;":"")},{default:(0,l.k6)((()=>[a.data?((0,l.uX)(),(0,l.Wv)(r,{key:0,data:a.data},null,8,["data"])):(0,l.Q3)("",!0),(0,l.bF)(d,{class:"text-h6"},{default:(0,l.k6)((()=>[(0,l.eW)((0,s.v_)(a.data.text?a.data.text:""),1)])),_:1}),(0,l.Lk)("div",aa,[(0,l.bF)(c),((0,l.uX)(!0),(0,l.CE)(l.FK,null,(0,l.pI)(a.commands,(e=>((0,l.uX)(),(0,l.Wv)(u,{class:"col-md-3",label:e,"no-caps":"",color:a.commands[0]==e?"primary":"secondary",onClick:t=>o.sendMessage(e)},null,8,["label","color","onClick"])))),256))])])),_:1},8,["style"])])),_:1},8,["onHide","onKeyup"])}const sa={props:{data:Object,commands:Array},components:{block:Yt},emits:["ok","hide"],data(){return{closed:!1}},methods:{show(){this.$refs.dialog.show(),u.dialog=this},message4(e){return[this.data["name"],null,"changed",e]},sendMessage(e){this.data.internal||x(this.message4(e)),this.closed=!0,this.hide()},hide(){this.$refs.dialog.hide(),u.dialog=null},onDialogHide(){this.$emit("hide"),this.closed||this.data.internal||x(this.message4(null))},pressedEnter(){this.sendMessage(this.commands[0])},onOKClick(){this.$emit("ok"),this.hide()},onCancelClick(){this.hide()}}};var ia=a(558);const na=(0,K.A)(sa,[["render",la]]),oa=na;j()(sa,"components",{QDialog:ia.A,QCard:jt.A,QItemLabel:H.A,QSpace:Ut.A,QBtn:Te.A});var ra=a(5022);let da="theme";try{Le.A.set(ra.A.getItem(da))}catch(Ca){}let ca=null,ua=["complete","append","get"],ha=null;const pa=(0,l.pM)({name:"MainLayout",data(){return{leftDrawerOpen:!1,Dark:Le.A,menu:[],tab:"",tooldata:{name:"toolbar"},localServer:!0,statusConnect:!1,screen:{blocks:[],toolbar:[]},visibility:!0,designCycle:0,shiftKey:!1,isListening:!1,voice_button:!0,voice_str_length:0}},components:{menubar:G,zone:ta,element:Ht},created(){C(this)},unmounted(){window.removeEventListener("resize",this.onResize),ha&&ha.stop()},computed:{left_toolbar(){return this.screen.toolbar.filter((e=>!e.right))},right_toolbar(){return this.screen.toolbar.filter((e=>e.right))}},methods:{toggleListening(){if(this.isListening=!this.isListening,this.isListening){if(!ha){const e=window.webkitSpeechRecognition;e?(ha=new e,ha.lang=this.screen.lang||"en-US",ha.continuous=!0,ha.interimResults=!0,ha.onresult=e=>{let t="";for(const l of e.results)l.isFinal&&(t+=l[0].transcript);let a=t.substring(this.voice_str_length).trim();this.voice_str_length=t.length,a&&x(["voice",null,"changed",a])},ha.onend=()=>{this.isListening&&ha.start()}):(this.error("Speech Recognition not supported by this browser."),this.voice_button=!1)}ha.start()}else ha.stop();x(["voice",null,"listen",this.isListening])},switchTheme(){Le.A.set(!Le.A.isActive),ra.A.set(da,Le.A.isActive)},toggleLeftDrawer(){this.leftDrawerOpen=!this.leftDrawerOpen},tabclick(e){x(["root",null,"changed",e])},visible(e){this.visibility!=e&&(this.$refs.page.$el.style.visibility=e?"":"hidden",this.visibility=e)},handleKeyDown(e){"Shift"==e.key&&(this.shiftKey=!0)},handleKeyUp(e){"Shift"==e.key&&(this.shiftKey=!1)},onResize(e){m&&console.log(`window has been resized w = ${window.innerWidth}, h=${window.innerHeight}`),this.designCycle=0,M()},lens(e){let t={title:"Photo lens",message:e.text,cancel:!0,persistent:!0,component:oa},{height:a,...l}=e;l.width=750;let s={name:`Picture lens of ${e.name}`,value:[[],l],internal:!0};t.componentProps={data:s,commands:["Close"]},this.$q.dialog(t)},notify(e,t){let a=t,l={message:e,type:t,position:"top",icon:a};"progress"==t?null==ca?(l={group:!1,timeout:0,spinner:!0,type:"info",message:e||"Progress..",position:"top",color:"secondary"},ca=this.$q.notify(l)):null==e?(ca(),ca=null):(l={caption:e},ca(l)):("error"==t&&l.type,this.$q.notify(l))},error(e){this.notify(e,"error")},info(e){this.notify(e,"info")},processMessage(e){if("screen"==e.type){if(this.screen.name!=e.name)S(!1),F(),m||this.visible(!1);else if(e.reload){this.designCycle=0,this.visible(!1);for(let e of Object.values(w))e.has_recalc=!0,e.styleSize=null;L()}this.screen=e,this.menu=e.menu.map((e=>({name:e[0],icon:e[1],order:e[2]}))),this.tab=this.screen.name}else if("dialog"==e.type){let t={title:e.name,message:e.text,cancel:!0,persistent:!0};t.component=oa,t.componentProps={data:e,commands:e.commands},this.$q.dialog(t)}else if(ua.includes(e.type))D(e);else if("action"==e.type)"close"!=e.value?z(e):(this.dialog&&(this.dialog.data.internal=!0),this.dialog.hide());else{let t=e.updates&&e.updates.length;t&&$(e.updates);let a=!1;["error","progress","warning","info"].includes(e.type)&&(this.notify(e.value,e.type),a=!0),a||t||(this.error("Invalid data came from the server! Look the console."),console.log(`Invalid data came from the server! ${e}`))}this.closeProgress(e)},closeProgress(e){!ca||e&&"progress"==e.type||this.notify(null,"progress")}},mounted(){window.addEventListener("resize",this.onResize);const e=new ResizeObserver((e=>{let t=document.documentElement.scrollWidth>window.innerWidth||document.documentElement.scrollHeight>window.innerHeight;t&&L(!1)}));let t=this.$refs.page.$el;e.observe(t),window.addEventListener("keydown",this.handleKeyDown),window.addEventListener("keyup",this.handleKeyUp)},beforeUnmount(){window.removeEventListener("keydown",this.handleKeyDown),window.removeEventListener("keyup",this.handleKeyUp)}});var ga=a(2008),ma=a(8416),fa=a(6914),ya=a(2980),ba=a(327),va=a(5205),ka=a(7716);const wa=(0,K.A)(pa,[["render",o]]),Aa=wa;j()(pa,"components",{QLayout:ga.A,QHeader:ma.A,QToolbar:fa.A,QBtn:Te.A,QItemLabel:H.A,QTabs:ya.A,QTab:ba.A,QSpace:Ut.A,QTooltip:Ne.A,QPageContainer:va.A,QPage:ka.A})}}]);
File without changes