@tak-ps/cloudtak 12.54.0 → 12.55.0

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.
Files changed (456) hide show
  1. package/package.json +7 -3
  2. package/dist/types/src/App.vue.d.ts +0 -5
  3. package/dist/types/src/base/validators.d.ts +0 -9
  4. package/dist/types/src/components/Admin/AdminImports.vue.d.ts +0 -3
  5. package/dist/types/src/components/Admin/AdminLayers.vue.d.ts +0 -3
  6. package/dist/types/src/components/Admin/AdminMissionTemplate.vue.d.ts +0 -3
  7. package/dist/types/src/components/Admin/AdminMissionTemplateLog.vue.d.ts +0 -3
  8. package/dist/types/src/components/Admin/AdminMissionTemplates.vue.d.ts +0 -3
  9. package/dist/types/src/components/Admin/AdminOverlays.vue.d.ts +0 -3
  10. package/dist/types/src/components/Admin/AdminPalette.vue.d.ts +0 -3
  11. package/dist/types/src/components/Admin/AdminPaletteFeature.vue.d.ts +0 -3
  12. package/dist/types/src/components/Admin/AdminPalettes.vue.d.ts +0 -3
  13. package/dist/types/src/components/Admin/AdminServer.vue.d.ts +0 -3
  14. package/dist/types/src/components/Admin/AdminTasks.vue.d.ts +0 -3
  15. package/dist/types/src/components/Admin/AdminUser.vue.d.ts +0 -3
  16. package/dist/types/src/components/Admin/AdminUsers.vue.d.ts +0 -3
  17. package/dist/types/src/components/Admin/AdminVideos.vue.d.ts +0 -3
  18. package/dist/types/src/components/Admin/Server/ServerConnection.vue.d.ts +0 -3
  19. package/dist/types/src/components/Admin/Server/ServerInjectorModal.vue.d.ts +0 -11
  20. package/dist/types/src/components/Admin/Server/ServerInjectors.vue.d.ts +0 -3
  21. package/dist/types/src/components/Admin/Server/ServerPackages.vue.d.ts +0 -3
  22. package/dist/types/src/components/Admin/Server/ServerRepeaters.vue.d.ts +0 -3
  23. package/dist/types/src/components/Admin/Server/ServerVideos.vue.d.ts +0 -3
  24. package/dist/types/src/components/Admin/Tasks/AdminRawTasks.vue.d.ts +0 -3
  25. package/dist/types/src/components/Admin/Videos/AdminVideoLeases.vue.d.ts +0 -3
  26. package/dist/types/src/components/Admin/Videos/AdminVideoService.vue.d.ts +0 -3
  27. package/dist/types/src/components/Admin/Videos/VideoConfig.vue.d.ts +0 -7
  28. package/dist/types/src/components/Admin/Videos/VideoConfigPort.vue.d.ts +0 -8
  29. package/dist/types/src/components/CloudTAK/CoTView.vue.d.ts +0 -3
  30. package/dist/types/src/components/CloudTAK/CoordInput.vue.d.ts +0 -7
  31. package/dist/types/src/components/CloudTAK/DrawTools.vue.d.ts +0 -3
  32. package/dist/types/src/components/CloudTAK/FeatView.vue.d.ts +0 -8
  33. package/dist/types/src/components/CloudTAK/GeoJSONInput.vue.d.ts +0 -24
  34. package/dist/types/src/components/CloudTAK/MainMenu.vue.d.ts +0 -9
  35. package/dist/types/src/components/CloudTAK/MainMenuContents.vue.d.ts +0 -16
  36. package/dist/types/src/components/CloudTAK/Map.vue.d.ts +0 -8
  37. package/dist/types/src/components/CloudTAK/MapLoading.vue.d.ts +0 -3
  38. package/dist/types/src/components/CloudTAK/Menu/Debugger.vue.d.ts +0 -3
  39. package/dist/types/src/components/CloudTAK/Menu/MenuBasemaps.vue.d.ts +0 -3
  40. package/dist/types/src/components/CloudTAK/Menu/MenuChannels.vue.d.ts +0 -3
  41. package/dist/types/src/components/CloudTAK/Menu/MenuChats.vue.d.ts +0 -3
  42. package/dist/types/src/components/CloudTAK/Menu/MenuConnections.vue.d.ts +0 -3
  43. package/dist/types/src/components/CloudTAK/Menu/MenuContacts.vue.d.ts +0 -3
  44. package/dist/types/src/components/CloudTAK/Menu/MenuFeatures.vue.d.ts +0 -3
  45. package/dist/types/src/components/CloudTAK/Menu/MenuFeaturesDeleted.vue.d.ts +0 -3
  46. package/dist/types/src/components/CloudTAK/Menu/MenuFiles.vue.d.ts +0 -3
  47. package/dist/types/src/components/CloudTAK/Menu/MenuImport.vue.d.ts +0 -3
  48. package/dist/types/src/components/CloudTAK/Menu/MenuImports.vue.d.ts +0 -3
  49. package/dist/types/src/components/CloudTAK/Menu/MenuItemCard.vue.d.ts +0 -101
  50. package/dist/types/src/components/CloudTAK/Menu/MenuMission.vue.d.ts +0 -3
  51. package/dist/types/src/components/CloudTAK/Menu/MenuMissions.vue.d.ts +0 -3
  52. package/dist/types/src/components/CloudTAK/Menu/MenuOverlayExplorer.vue.d.ts +0 -3
  53. package/dist/types/src/components/CloudTAK/Menu/MenuOverlays.vue.d.ts +0 -3
  54. package/dist/types/src/components/CloudTAK/Menu/MenuPackage.vue.d.ts +0 -3
  55. package/dist/types/src/components/CloudTAK/Menu/MenuPackages.vue.d.ts +0 -3
  56. package/dist/types/src/components/CloudTAK/Menu/MenuRoutes.vue.d.ts +0 -3
  57. package/dist/types/src/components/CloudTAK/Menu/MenuRoutesNew.vue.d.ts +0 -3
  58. package/dist/types/src/components/CloudTAK/Menu/MenuSettings.vue.d.ts +0 -3
  59. package/dist/types/src/components/CloudTAK/Menu/MenuSettingsCallsign.vue.d.ts +0 -3
  60. package/dist/types/src/components/CloudTAK/Menu/MenuSettingsDisplay.vue.d.ts +0 -3
  61. package/dist/types/src/components/CloudTAK/Menu/MenuVideos.vue.d.ts +0 -3
  62. package/dist/types/src/components/CloudTAK/Menu/MenuVideosRemote.vue.d.ts +0 -3
  63. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionContents.vue.d.ts +0 -11
  64. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionCreate.vue.d.ts +0 -7
  65. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionInfo.vue.d.ts +0 -11
  66. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionInviteModal.vue.d.ts +0 -17
  67. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerCreate.vue.d.ts +0 -13
  68. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerEdit.vue.d.ts +0 -15
  69. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerTree.vue.d.ts +0 -15
  70. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayers.vue.d.ts +0 -8
  71. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLog.vue.d.ts +0 -9
  72. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLogs.vue.d.ts +0 -7
  73. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionTimeline.vue.d.ts +0 -7
  74. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionUsers.vue.d.ts +0 -7
  75. package/dist/types/src/components/CloudTAK/Menu/Mission/PendingInvites.vue.d.ts +0 -11
  76. package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeMission.vue.d.ts +0 -7
  77. package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeVector.vue.d.ts +0 -13
  78. package/dist/types/src/components/CloudTAK/Menu/Videos/VideoLeaseModal.vue.d.ts +0 -16
  79. package/dist/types/src/components/CloudTAK/Menu/Videos/VideosRemoteFeed.vue.d.ts +0 -13
  80. package/dist/types/src/components/CloudTAK/Notifications.vue.d.ts +0 -3
  81. package/dist/types/src/components/CloudTAK/Query/Magnetic.vue.d.ts +0 -7
  82. package/dist/types/src/components/CloudTAK/Query/Reverse.vue.d.ts +0 -8
  83. package/dist/types/src/components/CloudTAK/Query/Sun.vue.d.ts +0 -7
  84. package/dist/types/src/components/CloudTAK/Query/Weather.vue.d.ts +0 -7
  85. package/dist/types/src/components/CloudTAK/QueryView.vue.d.ts +0 -3
  86. package/dist/types/src/components/CloudTAK/RangeInput.vue.d.ts +0 -7
  87. package/dist/types/src/components/CloudTAK/RangeRingsInput.vue.d.ts +0 -7
  88. package/dist/types/src/components/CloudTAK/util/Breadcrumb.vue.d.ts +0 -6
  89. package/dist/types/src/components/CloudTAK/util/ChannelInfo.vue.d.ts +0 -15
  90. package/dist/types/src/components/CloudTAK/util/ContactPuck.vue.d.ts +0 -7
  91. package/dist/types/src/components/CloudTAK/util/Coordinate.vue.d.ts +0 -67
  92. package/dist/types/src/components/CloudTAK/util/CoordinateType.vue.d.ts +0 -27
  93. package/dist/types/src/components/CloudTAK/util/CopyButton.vue.d.ts +0 -32
  94. package/dist/types/src/components/CloudTAK/util/CopyField.vue.d.ts +0 -122
  95. package/dist/types/src/components/CloudTAK/util/DrawOverlay.vue.d.ts +0 -3
  96. package/dist/types/src/components/CloudTAK/util/EmptyInfo.vue.d.ts +0 -24
  97. package/dist/types/src/components/CloudTAK/util/FeatureIcon.vue.d.ts +0 -23
  98. package/dist/types/src/components/CloudTAK/util/FeatureRow.vue.d.ts +0 -81
  99. package/dist/types/src/components/CloudTAK/util/FloatingAttachment.vue.d.ts +0 -17
  100. package/dist/types/src/components/CloudTAK/util/FloatingVideo.vue.d.ts +0 -27
  101. package/dist/types/src/components/CloudTAK/util/GroupSelect.vue.d.ts +0 -14
  102. package/dist/types/src/components/CloudTAK/util/JSONModal.vue.d.ts +0 -27
  103. package/dist/types/src/components/CloudTAK/util/Keywords.vue.d.ts +0 -6
  104. package/dist/types/src/components/CloudTAK/util/LineLength.vue.d.ts +0 -24
  105. package/dist/types/src/components/CloudTAK/util/MenuTemplate.vue.d.ts +0 -71
  106. package/dist/types/src/components/CloudTAK/util/MultipleSelect.vue.d.ts +0 -7
  107. package/dist/types/src/components/CloudTAK/util/NotificationIcon.vue.d.ts +0 -10
  108. package/dist/types/src/components/CloudTAK/util/NotificationToast.vue.d.ts +0 -13
  109. package/dist/types/src/components/CloudTAK/util/PolygonArea.vue.d.ts +0 -24
  110. package/dist/types/src/components/CloudTAK/util/PropertyBattery.vue.d.ts +0 -13
  111. package/dist/types/src/components/CloudTAK/util/PropertyBearing.vue.d.ts +0 -58
  112. package/dist/types/src/components/CloudTAK/util/PropertyCreator.vue.d.ts +0 -7
  113. package/dist/types/src/components/CloudTAK/util/PropertyDistance.vue.d.ts +0 -54
  114. package/dist/types/src/components/CloudTAK/util/PropertyElevation.vue.d.ts +0 -32
  115. package/dist/types/src/components/CloudTAK/util/PropertyEmail.vue.d.ts +0 -13
  116. package/dist/types/src/components/CloudTAK/util/PropertyLinks.vue.d.ts +0 -14
  117. package/dist/types/src/components/CloudTAK/util/PropertyMetadata.vue.d.ts +0 -7
  118. package/dist/types/src/components/CloudTAK/util/PropertyMilSym.vue.d.ts +0 -25
  119. package/dist/types/src/components/CloudTAK/util/PropertyPhone.vue.d.ts +0 -13
  120. package/dist/types/src/components/CloudTAK/util/PropertySpeed.vue.d.ts +0 -23
  121. package/dist/types/src/components/CloudTAK/util/PropertyStyle.vue.d.ts +0 -7
  122. package/dist/types/src/components/CloudTAK/util/PropertyTimes.vue.d.ts +0 -7
  123. package/dist/types/src/components/CloudTAK/util/PropertyType.vue.d.ts +0 -27
  124. package/dist/types/src/components/CloudTAK/util/SearchBox.vue.d.ts +0 -37
  125. package/dist/types/src/components/CloudTAK/util/SelectFeats.vue.d.ts +0 -7
  126. package/dist/types/src/components/CloudTAK/util/SettingsCallsign.vue.d.ts +0 -28
  127. package/dist/types/src/components/CloudTAK/util/Share.vue.d.ts +0 -14
  128. package/dist/types/src/components/CloudTAK/util/ShareToMission.vue.d.ts +0 -53
  129. package/dist/types/src/components/CloudTAK/util/ShareToPackage.vue.d.ts +0 -62
  130. package/dist/types/src/components/CloudTAK/util/SlideDownHeader.vue.d.ts +0 -41
  131. package/dist/types/src/components/CloudTAK/util/StandardItem.vue.d.ts +0 -18
  132. package/dist/types/src/components/CloudTAK/util/Subscriptions.vue.d.ts +0 -7
  133. package/dist/types/src/components/CloudTAK/util/VideoLeaseSourceType.vue.d.ts +0 -6
  134. package/dist/types/src/components/CloudTAK/util/WarnChannels.vue.d.ts +0 -7
  135. package/dist/types/src/components/CloudTAK/util/WarnConfiguration.vue.d.ts +0 -7
  136. package/dist/types/src/components/Configure.vue.d.ts +0 -3
  137. package/dist/types/src/components/ETL/Connection/AgencyBadge.vue.d.ts +0 -8
  138. package/dist/types/src/components/ETL/Connection/ConnectionFiles.vue.d.ts +0 -3
  139. package/dist/types/src/components/ETL/Connection/ConnectionTokens.vue.d.ts +0 -3
  140. package/dist/types/src/components/ETL/Connection/ConnectionVideos.vue.d.ts +0 -3
  141. package/dist/types/src/components/ETL/Connection/StatusDot.vue.d.ts +0 -13
  142. package/dist/types/src/components/ETL/Connection/TokenModal.vue.d.ts +0 -16
  143. package/dist/types/src/components/ETL/Connection.vue.d.ts +0 -3
  144. package/dist/types/src/components/ETL/ConnectionCard.vue.d.ts +0 -16
  145. package/dist/types/src/components/ETL/Connections.vue.d.ts +0 -3
  146. package/dist/types/src/components/ETL/Data.vue.d.ts +0 -3
  147. package/dist/types/src/components/ETL/Layer/LayerIncomingConfig.vue.d.ts +0 -27
  148. package/dist/types/src/components/ETL/Layer/LayerOutgoingConfig.vue.d.ts +0 -27
  149. package/dist/types/src/components/ETL/Layer/utils/QueryInput.vue.d.ts +0 -56
  150. package/dist/types/src/components/ETL/Layer/utils/StatusDot.vue.d.ts +0 -7
  151. package/dist/types/src/components/ETL/Layer.vue.d.ts +0 -3
  152. package/dist/types/src/components/Home.vue.d.ts +0 -13
  153. package/dist/types/src/components/Loading.vue.d.ts +0 -3
  154. package/dist/types/src/components/Login.vue.d.ts +0 -7
  155. package/dist/types/src/components/LostUser.vue.d.ts +0 -3
  156. package/dist/types/src/components/PageFooter.vue.d.ts +0 -3
  157. package/dist/types/src/components/ServerAdmin.vue.d.ts +0 -3
  158. package/dist/types/src/components/VideoWall/Main.vue.d.ts +0 -3
  159. package/dist/types/src/components/VideoWall.vue.d.ts +0 -13
  160. package/dist/types/src/components/util/GroupSelect.vue.d.ts +0 -14
  161. package/dist/types/src/components/util/InitialAuthor.vue.d.ts +0 -6
  162. package/dist/types/src/components/util/StatusDot.vue.d.ts +0 -8
  163. package/dist/types/src/components/util/Upload.vue.d.ts +0 -46
  164. package/dist/types/src/components/util/UploadLogo.vue.d.ts +0 -14
  165. package/dist/types/src/main.d.ts +0 -1
  166. package/dist/types/src/pages/admin/main.d.ts +0 -1
  167. package/dist/types/src/pages/connection/main.d.ts +0 -1
  168. package/dist/types/src/pages/docs/App.vue.d.ts +0 -4
  169. package/dist/types/src/pages/docs/main.d.ts +0 -1
  170. package/dist/types/src/pages/video/main.d.ts +0 -1
  171. package/dist/types/src/stores/brand.d.ts +0 -7
  172. package/dist/types/src/stores/float.d.ts +0 -42
  173. package/dist/types/src/test/setup.d.ts +0 -1
  174. package/dist/types/src/timediff.d.ts +0 -1
  175. package/dist/types/src/video.d.ts +0 -1
  176. package/src/App.vue +0 -341
  177. package/src/base/chatroom-chats.ts +0 -124
  178. package/src/base/chatroom.ts +0 -202
  179. package/src/base/cot.ts +0 -625
  180. package/src/base/database.ts +0 -150
  181. package/src/base/events.ts +0 -43
  182. package/src/base/filter.ts +0 -163
  183. package/src/base/handler.ts +0 -67
  184. package/src/base/icon.ts +0 -16
  185. package/src/base/notification.ts +0 -163
  186. package/src/base/overlay.ts +0 -558
  187. package/src/base/subscription-feature.ts +0 -224
  188. package/src/base/subscription-log.ts +0 -174
  189. package/src/base/subscription.ts +0 -489
  190. package/src/base/utils/styles.ts +0 -430
  191. package/src/base/validators.ts +0 -66
  192. package/src/components/Admin/AdminConfig.vue +0 -487
  193. package/src/components/Admin/AdminConnections.vue +0 -195
  194. package/src/components/Admin/AdminDatas.vue +0 -165
  195. package/src/components/Admin/AdminExport.vue +0 -121
  196. package/src/components/Admin/AdminImports.vue +0 -222
  197. package/src/components/Admin/AdminLayerTemplate.vue +0 -91
  198. package/src/components/Admin/AdminLayers.vue +0 -301
  199. package/src/components/Admin/AdminMissionTemplate.vue +0 -259
  200. package/src/components/Admin/AdminMissionTemplateLog.vue +0 -273
  201. package/src/components/Admin/AdminMissionTemplates.vue +0 -189
  202. package/src/components/Admin/AdminOverlays.vue +0 -232
  203. package/src/components/Admin/AdminOverlaysEdit.vue +0 -355
  204. package/src/components/Admin/AdminPalette.vue +0 -214
  205. package/src/components/Admin/AdminPaletteFeature.vue +0 -208
  206. package/src/components/Admin/AdminPalettes.vue +0 -189
  207. package/src/components/Admin/AdminServer.vue +0 -143
  208. package/src/components/Admin/AdminTasks.vue +0 -60
  209. package/src/components/Admin/AdminUser.vue +0 -263
  210. package/src/components/Admin/AdminUsers.vue +0 -183
  211. package/src/components/Admin/AdminVideos.vue +0 -60
  212. package/src/components/Admin/Server/ServerConnection.vue +0 -322
  213. package/src/components/Admin/Server/ServerInjectorModal.vue +0 -125
  214. package/src/components/Admin/Server/ServerInjectors.vue +0 -104
  215. package/src/components/Admin/Server/ServerPackages.vue +0 -159
  216. package/src/components/Admin/Server/ServerRepeaters.vue +0 -105
  217. package/src/components/Admin/Server/ServerVideos.vue +0 -83
  218. package/src/components/Admin/Tasks/AdminRawTasks.vue +0 -148
  219. package/src/components/Admin/Tasks/AdminTasks.vue +0 -286
  220. package/src/components/Admin/Videos/AdminVideoLeases.vue +0 -198
  221. package/src/components/Admin/Videos/AdminVideoService.vue +0 -67
  222. package/src/components/Admin/Videos/VideoConfig.vue +0 -132
  223. package/src/components/Admin/Videos/VideoConfigPath.vue +0 -58
  224. package/src/components/Admin/Videos/VideoConfigPort.vue +0 -40
  225. package/src/components/CloudTAK/CoTView.vue +0 -915
  226. package/src/components/CloudTAK/CoordInput.vue +0 -110
  227. package/src/components/CloudTAK/DrawTools.vue +0 -200
  228. package/src/components/CloudTAK/FeatView.vue +0 -242
  229. package/src/components/CloudTAK/GeoJSONInput.vue +0 -226
  230. package/src/components/CloudTAK/MainMenu.vue +0 -190
  231. package/src/components/CloudTAK/MainMenuContents.vue +0 -360
  232. package/src/components/CloudTAK/Map.vue +0 -972
  233. package/src/components/CloudTAK/MapLoading.vue +0 -31
  234. package/src/components/CloudTAK/Menu/Basemaps/EditModal.vue +0 -427
  235. package/src/components/CloudTAK/Menu/Debugger.vue +0 -118
  236. package/src/components/CloudTAK/Menu/Iconset/EditModal.vue +0 -118
  237. package/src/components/CloudTAK/Menu/MenuBasemaps.vue +0 -410
  238. package/src/components/CloudTAK/Menu/MenuChannels.vue +0 -206
  239. package/src/components/CloudTAK/Menu/MenuChat.vue +0 -222
  240. package/src/components/CloudTAK/Menu/MenuChats.vue +0 -167
  241. package/src/components/CloudTAK/Menu/MenuConnections.vue +0 -166
  242. package/src/components/CloudTAK/Menu/MenuContacts.vue +0 -245
  243. package/src/components/CloudTAK/Menu/MenuFeatures.vue +0 -718
  244. package/src/components/CloudTAK/Menu/MenuFeaturesDeleted.vue +0 -217
  245. package/src/components/CloudTAK/Menu/MenuFiles.vue +0 -433
  246. package/src/components/CloudTAK/Menu/MenuIcon.vue +0 -236
  247. package/src/components/CloudTAK/Menu/MenuIconset.vue +0 -128
  248. package/src/components/CloudTAK/Menu/MenuIconsets.vue +0 -266
  249. package/src/components/CloudTAK/Menu/MenuImport.vue +0 -198
  250. package/src/components/CloudTAK/Menu/MenuImports.vue +0 -199
  251. package/src/components/CloudTAK/Menu/MenuItemCard.vue +0 -240
  252. package/src/components/CloudTAK/Menu/MenuMission.vue +0 -324
  253. package/src/components/CloudTAK/Menu/MenuMissions.vue +0 -334
  254. package/src/components/CloudTAK/Menu/MenuOverlayExplorer.vue +0 -434
  255. package/src/components/CloudTAK/Menu/MenuOverlays.vue +0 -560
  256. package/src/components/CloudTAK/Menu/MenuPackage.vue +0 -340
  257. package/src/components/CloudTAK/Menu/MenuPackages.vue +0 -193
  258. package/src/components/CloudTAK/Menu/MenuRoutes.vue +0 -186
  259. package/src/components/CloudTAK/Menu/MenuRoutesNew.vue +0 -193
  260. package/src/components/CloudTAK/Menu/MenuSettings.vue +0 -95
  261. package/src/components/CloudTAK/Menu/MenuSettingsCallsign.vue +0 -12
  262. package/src/components/CloudTAK/Menu/MenuSettingsDisplay.vue +0 -144
  263. package/src/components/CloudTAK/Menu/MenuSettingsTokens.vue +0 -83
  264. package/src/components/CloudTAK/Menu/MenuVideos.vue +0 -436
  265. package/src/components/CloudTAK/Menu/MenuVideosRemote.vue +0 -203
  266. package/src/components/CloudTAK/Menu/Mission/MissionContents.vue +0 -211
  267. package/src/components/CloudTAK/Menu/Mission/MissionCreate.vue +0 -372
  268. package/src/components/CloudTAK/Menu/Mission/MissionInfo.vue +0 -331
  269. package/src/components/CloudTAK/Menu/Mission/MissionInviteModal.vue +0 -107
  270. package/src/components/CloudTAK/Menu/Mission/MissionLayerCreate.vue +0 -77
  271. package/src/components/CloudTAK/Menu/Mission/MissionLayerEdit.vue +0 -77
  272. package/src/components/CloudTAK/Menu/Mission/MissionLayerTree.vue +0 -194
  273. package/src/components/CloudTAK/Menu/Mission/MissionLayers.vue +0 -157
  274. package/src/components/CloudTAK/Menu/Mission/MissionLog.vue +0 -170
  275. package/src/components/CloudTAK/Menu/Mission/MissionLogs.vue +0 -194
  276. package/src/components/CloudTAK/Menu/Mission/MissionTimeline.vue +0 -142
  277. package/src/components/CloudTAK/Menu/Mission/MissionUsers.vue +0 -74
  278. package/src/components/CloudTAK/Menu/Mission/PendingInvites.vue +0 -130
  279. package/src/components/CloudTAK/Menu/Overlays/DeleteModal.vue +0 -57
  280. package/src/components/CloudTAK/Menu/Overlays/TreeCots.vue +0 -497
  281. package/src/components/CloudTAK/Menu/Overlays/TreeMission.vue +0 -32
  282. package/src/components/CloudTAK/Menu/Overlays/TreeVector.vue +0 -113
  283. package/src/components/CloudTAK/Menu/Settings/TokenModal.vue +0 -110
  284. package/src/components/CloudTAK/Menu/Videos/VideoLeaseModal.vue +0 -753
  285. package/src/components/CloudTAK/Menu/Videos/VideosRemoteFeed.vue +0 -75
  286. package/src/components/CloudTAK/Notifications.vue +0 -195
  287. package/src/components/CloudTAK/Query/Magnetic.vue +0 -80
  288. package/src/components/CloudTAK/Query/Reverse.vue +0 -65
  289. package/src/components/CloudTAK/Query/Sun.vue +0 -178
  290. package/src/components/CloudTAK/Query/Weather.vue +0 -195
  291. package/src/components/CloudTAK/QueryView.vue +0 -134
  292. package/src/components/CloudTAK/RadialMenu/LICENSE +0 -21
  293. package/src/components/CloudTAK/RadialMenu/README.md +0 -63
  294. package/src/components/CloudTAK/RadialMenu/RadialMenu.css +0 -85
  295. package/src/components/CloudTAK/RadialMenu/RadialMenu.js +0 -534
  296. package/src/components/CloudTAK/RadialMenu/RadialMenu.vue +0 -257
  297. package/src/components/CloudTAK/RangeInput.vue +0 -155
  298. package/src/components/CloudTAK/RangeRingsInput.vue +0 -269
  299. package/src/components/CloudTAK/util/Breadcrumb.vue +0 -85
  300. package/src/components/CloudTAK/util/ChannelInfo.vue +0 -25
  301. package/src/components/CloudTAK/util/Contact.vue +0 -131
  302. package/src/components/CloudTAK/util/ContactPuck.vue +0 -40
  303. package/src/components/CloudTAK/util/Coordinate.vue +0 -313
  304. package/src/components/CloudTAK/util/CoordinateType.vue +0 -134
  305. package/src/components/CloudTAK/util/CopyButton.vue +0 -67
  306. package/src/components/CloudTAK/util/CopyField.vue +0 -286
  307. package/src/components/CloudTAK/util/DrawOverlay.vue +0 -254
  308. package/src/components/CloudTAK/util/EmptyInfo.vue +0 -71
  309. package/src/components/CloudTAK/util/FeatureIcon.vue +0 -134
  310. package/src/components/CloudTAK/util/FeatureRow.vue +0 -206
  311. package/src/components/CloudTAK/util/FloatingAttachment.vue +0 -191
  312. package/src/components/CloudTAK/util/FloatingVideo.vue +0 -654
  313. package/src/components/CloudTAK/util/GenericSelect.vue +0 -125
  314. package/src/components/CloudTAK/util/GroupSelect.vue +0 -129
  315. package/src/components/CloudTAK/util/Icons.vue +0 -146
  316. package/src/components/CloudTAK/util/JSONModal.vue +0 -57
  317. package/src/components/CloudTAK/util/Keywords.vue +0 -31
  318. package/src/components/CloudTAK/util/LineLength.vue +0 -121
  319. package/src/components/CloudTAK/util/MenuItem.vue +0 -21
  320. package/src/components/CloudTAK/util/MenuTemplate.vue +0 -137
  321. package/src/components/CloudTAK/util/MultipleSelect.vue +0 -103
  322. package/src/components/CloudTAK/util/NotificationIcon.vue +0 -50
  323. package/src/components/CloudTAK/util/NotificationToast.vue +0 -125
  324. package/src/components/CloudTAK/util/PolygonArea.vue +0 -109
  325. package/src/components/CloudTAK/util/PropertyAttachments.vue +0 -224
  326. package/src/components/CloudTAK/util/PropertyBattery.vue +0 -44
  327. package/src/components/CloudTAK/util/PropertyBearing.vue +0 -148
  328. package/src/components/CloudTAK/util/PropertyCreator.vue +0 -61
  329. package/src/components/CloudTAK/util/PropertyDistance.vue +0 -182
  330. package/src/components/CloudTAK/util/PropertyElevation.vue +0 -84
  331. package/src/components/CloudTAK/util/PropertyEmail.vue +0 -44
  332. package/src/components/CloudTAK/util/PropertyLinks.vue +0 -148
  333. package/src/components/CloudTAK/util/PropertyMetadata.vue +0 -53
  334. package/src/components/CloudTAK/util/PropertyMilSym.vue +0 -62
  335. package/src/components/CloudTAK/util/PropertyPhone.vue +0 -61
  336. package/src/components/CloudTAK/util/PropertySensor.vue +0 -129
  337. package/src/components/CloudTAK/util/PropertySpeed.vue +0 -91
  338. package/src/components/CloudTAK/util/PropertyStyle.vue +0 -202
  339. package/src/components/CloudTAK/util/PropertyTimes.vue +0 -95
  340. package/src/components/CloudTAK/util/PropertyType.vue +0 -274
  341. package/src/components/CloudTAK/util/SearchBox.vue +0 -314
  342. package/src/components/CloudTAK/util/SelectFeats.vue +0 -190
  343. package/src/components/CloudTAK/util/SettingsCallsign.vue +0 -151
  344. package/src/components/CloudTAK/util/Share.vue +0 -496
  345. package/src/components/CloudTAK/util/ShareToMission.vue +0 -223
  346. package/src/components/CloudTAK/util/ShareToPackage.vue +0 -250
  347. package/src/components/CloudTAK/util/SlideDownHeader.vue +0 -92
  348. package/src/components/CloudTAK/util/StandardItem.vue +0 -42
  349. package/src/components/CloudTAK/util/Subscriptions.vue +0 -151
  350. package/src/components/CloudTAK/util/TagEntry.vue +0 -301
  351. package/src/components/CloudTAK/util/UploadImport.vue +0 -195
  352. package/src/components/CloudTAK/util/VideoLeaseSourceType.vue +0 -66
  353. package/src/components/CloudTAK/util/WarnChannels.vue +0 -56
  354. package/src/components/CloudTAK/util/WarnConfiguration.vue +0 -34
  355. package/src/components/Configure.vue +0 -259
  356. package/src/components/ETL/Connection/AgencyBadge.vue +0 -102
  357. package/src/components/ETL/Connection/AgencySelect.vue +0 -185
  358. package/src/components/ETL/Connection/CertificateLogin.vue +0 -75
  359. package/src/components/ETL/Connection/CertificateMachineUser.vue +0 -228
  360. package/src/components/ETL/Connection/CertificateP12.vue +0 -104
  361. package/src/components/ETL/Connection/CertificateRaw.vue +0 -50
  362. package/src/components/ETL/Connection/ConnectionData.vue +0 -174
  363. package/src/components/ETL/Connection/ConnectionFiles.vue +0 -182
  364. package/src/components/ETL/Connection/ConnectionGroups.vue +0 -181
  365. package/src/components/ETL/Connection/ConnectionLayer.vue +0 -180
  366. package/src/components/ETL/Connection/ConnectionTokens.vue +0 -147
  367. package/src/components/ETL/Connection/ConnectionVideos.vue +0 -151
  368. package/src/components/ETL/Connection/Events.vue +0 -88
  369. package/src/components/ETL/Connection/StatusDot.vue +0 -48
  370. package/src/components/ETL/Connection/TokenModal.vue +0 -136
  371. package/src/components/ETL/Connection.vue +0 -194
  372. package/src/components/ETL/ConnectionCard.vue +0 -265
  373. package/src/components/ETL/ConnectionEdit.vue +0 -448
  374. package/src/components/ETL/Connections.vue +0 -148
  375. package/src/components/ETL/Data/DataFiles.vue +0 -245
  376. package/src/components/ETL/Data/DataGroups.vue +0 -45
  377. package/src/components/ETL/Data/DataLayer.vue +0 -144
  378. package/src/components/ETL/Data/Location.vue +0 -238
  379. package/src/components/ETL/Data.vue +0 -259
  380. package/src/components/ETL/DataEdit.vue +0 -212
  381. package/src/components/ETL/Layer/LayerAlarm.vue +0 -307
  382. package/src/components/ETL/Layer/LayerDeployment.vue +0 -388
  383. package/src/components/ETL/Layer/LayerEnvironment.vue +0 -259
  384. package/src/components/ETL/Layer/LayerIncomingConfig.vue +0 -401
  385. package/src/components/ETL/Layer/LayerIncomingEnvironmentArcGIS.vue +0 -354
  386. package/src/components/ETL/Layer/LayerIncomingSchema.vue +0 -138
  387. package/src/components/ETL/Layer/LayerIncomingStyles.vue +0 -349
  388. package/src/components/ETL/Layer/LayerOutgoingConfig.vue +0 -204
  389. package/src/components/ETL/Layer/LayerOutgoingEnvironmentArcGIS.vue +0 -279
  390. package/src/components/ETL/Layer/utils/QueryInput.vue +0 -52
  391. package/src/components/ETL/Layer/utils/Schema.vue +0 -322
  392. package/src/components/ETL/Layer/utils/SchemaModal.vue +0 -77
  393. package/src/components/ETL/Layer/utils/StatusDot.vue +0 -38
  394. package/src/components/ETL/Layer/utils/StyleLinkModal.vue +0 -83
  395. package/src/components/ETL/Layer/utils/StyleLinks.vue +0 -139
  396. package/src/components/ETL/Layer/utils/StyleSingle.vue +0 -885
  397. package/src/components/ETL/Layer/utils/StyleTemplate.vue +0 -97
  398. package/src/components/ETL/Layer/utils/TaskModal.vue +0 -217
  399. package/src/components/ETL/Layer.vue +0 -560
  400. package/src/components/ETL/LayerEdit.vue +0 -276
  401. package/src/components/ETL/Styling/Layer.vue +0 -311
  402. package/src/components/ETL/Styling/ObjectInput.vue +0 -46
  403. package/src/components/ETL/Styling/Style.vue +0 -233
  404. package/src/components/Home.vue +0 -17
  405. package/src/components/Loading.vue +0 -42
  406. package/src/components/Login.vue +0 -198
  407. package/src/components/LostUser.vue +0 -31
  408. package/src/components/PageFooter.vue +0 -41
  409. package/src/components/ServerAdmin.vue +0 -408
  410. package/src/components/VideoWall/Main.vue +0 -79
  411. package/src/components/VideoWall.vue +0 -17
  412. package/src/components/util/DataSelect.vue +0 -148
  413. package/src/components/util/EsriFilter.vue +0 -140
  414. package/src/components/util/EsriPortal.vue +0 -422
  415. package/src/components/util/EsriPortalCreate.vue +0 -72
  416. package/src/components/util/EsriServer.vue +0 -368
  417. package/src/components/util/GroupSelect.vue +0 -166
  418. package/src/components/util/IconSelect.vue +0 -302
  419. package/src/components/util/InitialAuthor.vue +0 -28
  420. package/src/components/util/LayerSelect.vue +0 -162
  421. package/src/components/util/LayerTaskSelect.vue +0 -311
  422. package/src/components/util/LayerTemplateSelect.vue +0 -173
  423. package/src/components/util/LoginModal.vue +0 -110
  424. package/src/components/util/PublicTilesSelect.vue +0 -171
  425. package/src/components/util/StatusDot.vue +0 -31
  426. package/src/components/util/TableFooter.vue +0 -64
  427. package/src/components/util/TableHeader.vue +0 -127
  428. package/src/components/util/Upload.vue +0 -220
  429. package/src/components/util/UploadCSV.vue +0 -46
  430. package/src/components/util/UploadLogo.vue +0 -83
  431. package/src/components/util/UploadP12.vue +0 -93
  432. package/src/components/util/UserSelect.vue +0 -151
  433. package/src/derived-types.d.ts +0 -35243
  434. package/src/main.ts +0 -264
  435. package/src/pages/admin/main.ts +0 -208
  436. package/src/pages/connection/main.ts +0 -158
  437. package/src/pages/docs/App.vue +0 -19
  438. package/src/pages/docs/main.ts +0 -6
  439. package/src/pages/video/main.ts +0 -27
  440. package/src/std.ts +0 -152
  441. package/src/stores/brand.ts +0 -28
  442. package/src/stores/float.ts +0 -113
  443. package/src/stores/map.ts +0 -931
  444. package/src/stores/modules/draw.ts +0 -413
  445. package/src/stores/modules/icons.ts +0 -185
  446. package/src/stores/modules/menu.ts +0 -281
  447. package/src/test/setup.ts +0 -43
  448. package/src/timediff.ts +0 -33
  449. package/src/types.ts +0 -226
  450. package/src/video.ts +0 -27
  451. package/src/vite-env.d.ts +0 -9
  452. package/src/workers/atlas-connection.ts +0 -236
  453. package/src/workers/atlas-database.ts +0 -764
  454. package/src/workers/atlas-profile.ts +0 -374
  455. package/src/workers/atlas-team.ts +0 -90
  456. package/src/workers/atlas.ts +0 -81
@@ -1,753 +0,0 @@
1
- <template>
2
- <TablerModal size='xl'>
3
- <div class='modal-status bg-yellow' />
4
- <button
5
- type='button'
6
- class='btn-close'
7
- aria-label='Close'
8
- @click='emit("refresh")'
9
- />
10
- <div class='modal-header'>
11
- <div
12
- v-if='wizard > 0'
13
- v-text='`Configuration Wizard Step #${wizard}`'
14
- />
15
- <div
16
- v-else-if='disabled'
17
- class='d-flex align-items-center'
18
- >
19
- <VideoLeaseSourceType :source-type='editLease.source_type' />
20
- <div class='row mx-2'>
21
- <span
22
- class='modal-title'
23
- v-text='editLease.name'
24
- />
25
- <span
26
- v-if='editLease.source_model'
27
- class='subheader'
28
- v-text='editLease.source_model'
29
- />
30
- </div>
31
- </div>
32
- <div
33
- v-else
34
- class='modal-title'
35
- v-text='editLease.id ? "Edit Lease" : "New Lease"'
36
- />
37
-
38
- <div class='ms-auto btn-list'>
39
- <TablerRefreshButton
40
- v-if='disabled && editLease.id'
41
- title='Refresh'
42
- :loading='loading'
43
- @click='fetchLease'
44
- />
45
-
46
- <TablerIconButton
47
- v-if='disabled && editLease.id'
48
- title='Edit'
49
- @click='disabled = false'
50
- >
51
- <IconPencil
52
- :size='32'
53
- stroke='1'
54
- />
55
- </TablerIconButton>
56
-
57
- <TablerDelete
58
- v-if='editLease.id'
59
- displaytype='icon'
60
- @delete='deleteLease'
61
- />
62
- </div>
63
- </div>
64
-
65
- <TablerLoading v-if='loading' />
66
- <template v-else-if='wizard > 0'>
67
- <div class='d-flex align-items-center w-100 justify-content-center'>
68
- <div class='py-2'>
69
- <img
70
- style='max-width: 100%; height: auto; max-height: 600px;'
71
- alt='UAS Tool Wizard Image'
72
- :src='`/wizard/Step${wizard}.png`'
73
- class='rounded'
74
- >
75
-
76
- <div v-if='wizard === 8'>
77
- <div class='subheader pt-4'>
78
- RTSP Path
79
- </div>
80
- <CopyField
81
- v-if='protocols.rtsp'
82
- :model-value='protocols.rtsp.url.replace(/.*\//, "")'
83
- />
84
- </div>
85
- </div>
86
- </div>
87
-
88
- <div class='modal-footer'>
89
- <div class='d-flex align-items-center w-100'>
90
- <button
91
- class='btn btn-secondary'
92
- @click='wizard = wizard -= 1'
93
- >
94
- <IconChevronLeft
95
- :size='20'
96
- stroke='1'
97
- />
98
- <span
99
- v-if='wizard === 1'
100
- class='mx-2'
101
- >Close</span>
102
- <span
103
- v-else
104
- class='mx-2'
105
- >Back</span>
106
- </button>
107
-
108
- <div class='ms-auto'>
109
- <button
110
- class='btn btn-primary'
111
- @click='wizard = wizard > 10 ? 0 : wizard + 1'
112
- >
113
- <span
114
- v-if='wizard < 10'
115
- class='mx-2'
116
- >Next</span>
117
- <span
118
- v-else
119
- class='mx-2'
120
- >Done</span>
121
- <IconChevronRight
122
- :size='20'
123
- stroke='1'
124
- />
125
- </button>
126
- </div>
127
- </div>
128
- </div>
129
- </template>
130
- <template v-else-if='disabled'>
131
- <div class='modal-body row'>
132
- <template v-if='Object.keys(protocols).length'>
133
- <div class='col-12 d-flex align-items-center'>
134
- <div class='subheader user-select-none'>
135
- Video Streaming Protocols
136
- </div>
137
-
138
- <div class='ms-auto'>
139
- <div
140
- v-if='editLease.proxy'
141
- class='d-flex align-items-center user-select-none'
142
- >
143
- <IconServer
144
- :size='24'
145
- stroke='1'
146
- />
147
- <span class='ms-2'>External Stream URL</span>
148
- </div>
149
- <div
150
- v-else-if='!secure'
151
- class='d-flex align-items-center user-select-none'
152
- >
153
- <IconArrowsLeftRight
154
- v-tooltip='"Read/Write User"'
155
- :size='24'
156
- stroke='1'
157
- />
158
- <span class='ms-2'>Read-Write User</span>
159
- </div>
160
- <div
161
- v-else
162
- class='p-1 round btn-group w-100'
163
- role='group'
164
- >
165
- <input
166
- id='read-user'
167
- type='radio'
168
- class='btn-check'
169
- autocomplete='off'
170
- :checked='mode === "read"'
171
- @click='mode = "read"'
172
- >
173
- <label
174
- for='read-user'
175
- type='button'
176
- class='btn btn-sm'
177
- >
178
- <IconBook2
179
- v-tooltip='"Read User"'
180
- :size='24'
181
- stroke='1'
182
- />
183
- <span class='mx-2'>Read User</span>
184
- </label>
185
-
186
- <input
187
- id='publish-user'
188
- type='radio'
189
- class='btn-check'
190
- autocomplete='off'
191
- :checked='mode === "publish"'
192
- @click='mode = "publish"'
193
- >
194
- <label
195
- for='publish-user'
196
- type='button'
197
- class='btn btn-sm'
198
- >
199
- <IconPencil
200
- v-tooltip='"Write User"'
201
- :size='24'
202
- stroke='1'
203
- />
204
- <span class='mx-2'>Write User</span>
205
- </label>
206
- </div>
207
- </div>
208
- </div>
209
- <template v-if='expired(editLease.expiration)'>
210
- <TablerAlert
211
- title='Expired Lease'
212
- :err='new Error("Renew the lease to continue using the video stream")'
213
- :advanced='false'
214
- />
215
-
216
- <div class='col-12 d-flex justify-content-center pb-3'>
217
- <TablerEnum
218
- v-model='editLease.duration'
219
- :options='durations'
220
- style='width: 300px;'
221
- />
222
- </div>
223
- <div class='col-12 d-flex justify-content-center'>
224
- <button
225
- class='btn btn-primary'
226
- style='width: 280px'
227
- @click='saveLease'
228
- >
229
- Renew Lease
230
- </button>
231
- </div>
232
- </template>
233
- <template v-else>
234
- <template v-if='secure && mode === "publish"'>
235
- <div class='col-md-6'>
236
- <CopyField
237
- label='Write Username'
238
- :model-value='editLease.stream_user || ""'
239
- />
240
- </div>
241
- <div class='col-md-6'>
242
- <CopyField
243
- label='Write Password'
244
- :model-value='editLease.stream_pass || ""'
245
- />
246
- </div>
247
- </template>
248
- <template v-else-if='secure && mode === "read"'>
249
- <div class='col-12 col-md-6'>
250
- <CopyField
251
- label='Read Username'
252
- :model-value='editLease.read_user || ""'
253
- />
254
- </div>
255
- <div class='col-12 col-md-6'>
256
- <CopyField
257
- label='Read Password'
258
- :model-value='editLease.read_pass || ""'
259
- />
260
- </div>
261
- </template>
262
- <div
263
- v-for='protocol in protocols'
264
- class='pt-2'
265
- >
266
- <template v-if='protocol'>
267
- <CopyField
268
- v-if='secure && mode === "read"'
269
- :label='protocol.name'
270
- :model-value='protocol.url.replace("{{mode}}", mode).replace("{{username}}", editLease.read_user || "").replace("{{password}}", editLease.read_pass || "")'
271
- />
272
- <CopyField
273
- v-else-if='secure && mode === "publish"'
274
- :label='protocol.name'
275
- :model-value='protocol.url.replace("{{mode}}", mode).replace("{{username}}", editLease.stream_user || "").replace("{{password}}", editLease.stream_pass || "")'
276
- />
277
- <CopyField
278
- v-else
279
- :label='protocol.name'
280
- :model-value='protocol.url.replace("{{mode}}", mode)'
281
- />
282
- </template>
283
- </div>
284
- </template>
285
-
286
- <div
287
- v-if='disabled'
288
- class='col-12 pt-2'
289
- >
290
- <div class='col-12 d-flex align-items-center mb-1'>
291
- <label>Expiration</label>
292
-
293
- <div class='ms-auto'>
294
- <span
295
- v-if='expired(editLease.expiration)'
296
- class='badge bg-red text-white mt-2'
297
- >Expired</span>
298
- <span
299
- v-else-if='editLease.expiration === null'
300
- class='badge bg-blue text-white mt-2'
301
- >Permanent</span>
302
- </div>
303
- </div>
304
-
305
- <div class='col-12'>
306
- <CopyField
307
- v-if='editLease.expiration'
308
- :model-value='editLease.expiration'
309
- />
310
- </div>
311
- </div>
312
- </template>
313
-
314
- <div
315
- v-if='editLease.proxy'
316
- class='col-12 pt-4'
317
- >
318
- <div class='subheader user-select-none'>
319
- External Stream Config
320
- </div>
321
- <div class='pt-2'>
322
- <CopyField
323
- label='External Stream URL'
324
- :model-value='editLease.proxy'
325
- />
326
- </div>
327
- </div>
328
- </div>
329
- <div class='modal-footer'>
330
- <button
331
- v-if='protocols.rtsp && !expired(editLease.expiration)'
332
- class='btn btn-secondary'
333
- @click='wizard = 1'
334
- >
335
- <IconWand
336
- :size='20'
337
- stroke='1'
338
- />
339
- <span class='mx-2'>UAS Tool Wizard</span>
340
- </button>
341
- </div>
342
- </template>
343
- <template v-else>
344
- <div
345
- class='modal-body row g-2'
346
- >
347
- <div class='col-12'>
348
- <div
349
- class='p-1 round btn-group w-100'
350
- role='group'
351
- >
352
- <input
353
- id='lease-host'
354
- type='radio'
355
- class='btn-check'
356
- autocomplete='off'
357
- :checked='typeof editLease.proxy !== "string"'
358
- @click='editLease.proxy = null'
359
- >
360
- <label
361
- for='lease-host'
362
- type='button'
363
- class='btn btn-sm'
364
- ><IconDrone
365
- v-tooltip='"Provide a stream URL to push data to"'
366
- :size='24'
367
- stroke='1'
368
- /><span class='ms-2'>Hosted Stream URL</span></label>
369
-
370
- <input
371
- id='lease-proxy'
372
- type='radio'
373
- class='btn-check'
374
- autocomplete='off'
375
- :checked='typeof editLease.proxy === "string"'
376
- @click='editLease.proxy = ""'
377
- >
378
- <label
379
- for='lease-proxy'
380
- type='button'
381
- class='btn btn-sm'
382
- ><IconServer
383
- v-tooltip='"Pull from existing external Stream URL"'
384
- :size='24'
385
- stroke='1'
386
- /><span class='ms-2'>External Stream URL</span></label>
387
- </div>
388
- </div>
389
- <div class='col-12 col-md-8'>
390
- <TablerInput
391
- v-model='editLease.name'
392
- description='The human readable name of the Lease'
393
- :disabled='disabled'
394
- :required='true'
395
- label='Name'
396
- />
397
- </div>
398
- <div class='col-12 col-md-4'>
399
- <TablerEnum
400
- v-model='editLease.duration'
401
- :options='durations'
402
- :disabled='disabled'
403
- label='Duration'
404
- description='Leases remain active on the server for the duration specified. Once the lease expires the lease can be renewed without the Lease URL changing'
405
- />
406
- </div>
407
- <div class='col-12 col-md-6'>
408
- <TablerEnum
409
- v-model='editLease.source_type'
410
- default='unknown'
411
- :options='[
412
- "unknown",
413
- "fixed",
414
- "vehicle",
415
- "screenshare",
416
- "personal",
417
- "rotor",
418
- "fixedwing",
419
- "uas-rotor",
420
- "uas-fixedwing"
421
- ]'
422
- :disabled='disabled'
423
- label='Source Type'
424
- description='The type of sensor that is broadcasting'
425
- />
426
- </div>
427
- <div class='col-12 col-md-6'>
428
- <TablerInput
429
- v-model='editLease.source_model'
430
- :disabled='disabled'
431
- label='Source Model'
432
- description='Model Information about the sensor or source'
433
- />
434
- </div>
435
- <div
436
- v-if='typeof editLease.proxy === "string"'
437
- class='col-12'
438
- >
439
- <TablerInput
440
- v-model='editLease.proxy'
441
- :disabled='disabled'
442
- label='Media URL'
443
- :required='true'
444
- :error='validateURL(editLease.proxy, { protocols: ["http", "https", "rtsp", "rtsps", "rtmp", "rtmps", "srt"] })'
445
- description='Pull media into the Video Manager from an existing URL.'
446
- />
447
- </div>
448
- <div class='col-12 col-md-6'>
449
- <TablerToggle
450
- v-model='editLease.publish'
451
- label='Publish to TAK Server'
452
- :disabled='disabled'
453
- description='Publish the non-geolocated Video Stream to the Video Manager'
454
- />
455
- </div>
456
- <div class='col-12 col-md-6'>
457
- <TablerToggle
458
- v-model='editLease.recording'
459
- label='Record Stream'
460
- :disabled='disabled'
461
- description='Record stream when it is broadcasting'
462
- />
463
- </div>
464
- <div
465
- v-if='typeof editLease.proxy !== "string"'
466
- class='col-12 col-md-6'
467
- >
468
- <TablerToggle
469
- v-model='secure'
470
- label='Read/Write Security'
471
- :disabled='disabled'
472
- description='Create a seperate Read/Write user to ensure unauthorized users cannot publish to a stream'
473
- />
474
- </div>
475
- <div class='col-12 col-md-6'>
476
- <TablerToggle
477
- v-model='editLease.share'
478
- description='By default only the user that created a Lease can manage it. If you are operating as part of an agency, turn on Lease Sharing to allow all users in your Channel to manage the lease'
479
- :disabled='disabled'
480
- label='Shared Lease'
481
- />
482
- </div>
483
- <div
484
- v-if='editLease.share || editLease.publish'
485
- class='col-12'
486
- >
487
- <div
488
- v-if='!disabled'
489
- style='height: 20vh; min-height: 200px; overflow-y: auto;'
490
- >
491
- <GroupSelect
492
- v-model='channels'
493
- :limit='1'
494
- />
495
- </div>
496
- <div
497
- v-else
498
- class='border border-white rounded px-2 py-2'
499
- >
500
- <IconAffiliate
501
- :size='32'
502
- stroke='1'
503
- /> <span v-text='editLease.channel' />
504
- </div>
505
- </div>
506
- </div>
507
- <div class='modal-footer d-flex'>
508
- <button
509
- v-if='!disabled'
510
- class='btn btn-secondary'
511
- @click='emit("close")'
512
- >
513
- Cancel
514
- </button>
515
-
516
- <div class='ms-auto btn-list'>
517
- <button
518
- v-if='protocols.rtsp && !expired(editLease.expiration)'
519
- class='btn btn-secondary'
520
- @click='wizard = 1'
521
- >
522
- <IconWand
523
- :size='20'
524
- stroke='1'
525
- />
526
- <span class='mx-2'>UAS Tool Wizard</span>
527
- </button>
528
- <button
529
- v-if='!disabled'
530
- class='btn btn-primary'
531
- @click='saveLease'
532
- >
533
- Save
534
- </button>
535
- <button
536
- v-if='disabled'
537
- class='btn btn-primary'
538
- @click='emit("close")'
539
- >
540
- Done
541
- </button>
542
- </div>
543
- </div>
544
- </template>
545
- </TablerModal>
546
- </template>
547
-
548
- <script setup lang='ts'>
549
- import { std } from '../../../../std.ts';
550
- import { validateURL } from '../../../../base/validators.ts';
551
- import CopyField from '../../util/CopyField.vue';
552
- import { ref, onMounted } from 'vue';
553
- import type { VideoLease, VideoLeaseResponse, VideoLeaseProtocols, VideoLeaseMetadata } from '../../../../types.ts';
554
- import VideoLeaseSourceType from '../../util/VideoLeaseSourceType.vue'
555
- import GroupSelect from '../../../util/GroupSelect.vue';
556
- import {
557
- IconDrone,
558
- IconServer,
559
- IconPencil,
560
- IconWand,
561
- IconArrowsLeftRight,
562
- IconBook2,
563
- IconAffiliate,
564
- IconChevronRight,
565
- IconChevronLeft,
566
- } from '@tabler/icons-vue';
567
- import {
568
- TablerRefreshButton,
569
- TablerIconButton,
570
- TablerLoading,
571
- TablerToggle,
572
- TablerAlert,
573
- TablerModal,
574
- TablerInput,
575
- TablerEnum,
576
- TablerDelete
577
- } from '@tak-ps/vue-tabler'
578
-
579
- const props = withDefaults(defineProps<{
580
- lease: VideoLease,
581
- isSystemAdmin?: boolean
582
- }>(), {
583
- isSystemAdmin: false
584
- });
585
-
586
- const emit = defineEmits([ 'close', 'refresh' ])
587
-
588
- const mode = ref('read');
589
- const loading = ref(true);
590
- const secure = ref(false);
591
- const disabled = ref(true);
592
- const wizard = ref(0);
593
- const protocols = ref<VideoLeaseProtocols>({});
594
-
595
- const channels = ref<string[]>([]);
596
-
597
- const durations = ref<Array<string>>(["16 Hours", "12 Hours", "6 Hours", "1 Hour"]);
598
-
599
- const editLease = ref<{
600
- id?: number
601
- name: string
602
- duration: string
603
- recording: boolean
604
- publish: boolean
605
- share: boolean
606
- channel: string | null
607
- source_type: string
608
- source_model: string
609
- proxy?: string | null
610
- expiration?: string | null
611
- stream_user: string | null
612
- stream_pass: string | null
613
- read_user: string | null
614
- read_pass: string | null
615
- }>({
616
- name: '',
617
- duration: '16 Hours',
618
- channel: null,
619
- recording: false,
620
- publish: false,
621
- share: true,
622
- source_type: 'unknown',
623
- source_model: '',
624
- stream_user: '',
625
- stream_pass: '',
626
- read_user: '',
627
- read_pass: ''
628
- });
629
-
630
- onMounted(async () => {
631
- if (props.isSystemAdmin) {
632
- durations.value.push('Permanent');
633
- }
634
-
635
- if (props.lease.id) {
636
- editLease.value = {
637
- ...props.lease,
638
- duration: '16 Hours'
639
- }
640
-
641
- await fetchLease();
642
- } else {
643
- disabled.value = false;
644
- }
645
-
646
- loading.value = false
647
- });
648
-
649
- function expired(expiration?: string | null) {
650
- if (!expiration) return false;
651
- return +new Date(expiration) < +new Date();
652
- }
653
-
654
- async function fetchLease() {
655
- loading.value = true;
656
-
657
- disabled.value = true;
658
-
659
- const res = await std(`/api/video/lease/${editLease.value.id}`, {
660
- method: 'GET',
661
- }) as VideoLeaseResponse;
662
-
663
- editLease.value = {
664
- ...res,
665
- duration: res.expiration ? '16 Hours' : 'Permanent'
666
- }
667
-
668
- if (editLease.value.stream_user && editLease.value.read_user) {
669
- secure.value = true;
670
- } else {
671
- secure.value = false;
672
- }
673
-
674
- if (editLease.value.channel) {
675
- channels.value = [ editLease.value.channel ];
676
- } else {
677
- channels.value = [];
678
- }
679
-
680
- const resMetadata = await std(`/api/video/lease/${editLease.value.id}/metadata`, {
681
- method: 'GET',
682
- }) as VideoLeaseMetadata;
683
-
684
- protocols.value = resMetadata.protocols;
685
-
686
- disabled.value = true;
687
- loading.value = false;
688
- }
689
-
690
- async function deleteLease() {
691
- try {
692
- loading.value = true;
693
-
694
- await std(`/api/video/lease/${editLease.value.id}`, {
695
- method: 'DELETE',
696
- });
697
-
698
- loading.value = false;
699
-
700
- emit('refresh');
701
- } catch (err) {
702
- loading.value = false;
703
- throw err;
704
- }
705
- }
706
-
707
- async function saveLease() {
708
- try {
709
- loading.value = true;
710
-
711
- if (editLease.value.id) {
712
- await std(`/api/video/lease/${editLease.value.id}`, {
713
- method: 'PATCH',
714
- body: {
715
- name: editLease.value.name,
716
- secure: secure.value,
717
- proxy: editLease.value.proxy,
718
- channel: channels.value.length ? channels.value[0] : null,
719
- duration: editLease.value.duration === 'Permanent' ? undefined : parseInt(editLease.value.duration.split(' ')[0]) * 60 * 60,
720
- permanent: editLease.value.duration === 'Permanent' ? true : false,
721
- recording: editLease.value.recording,
722
- publish: editLease.value.publish,
723
- share: editLease.value.share,
724
- source_type: editLease.value.source_type,
725
- source_model: editLease.value.source_model,
726
- }
727
- });
728
- } else {
729
- editLease.value.id = ((await std('/api/video/lease', {
730
- method: 'POST',
731
- body: {
732
- name: editLease.value.name,
733
- secure: secure.value,
734
- channel: channels.value.length ? channels.value[0] : null,
735
- proxy: editLease.value.proxy,
736
- duration: editLease.value.duration === 'Permanent' ? undefined : parseInt(editLease.value.duration.split(' ')[0]) * 60 * 60,
737
- permanent: editLease.value.duration === 'Permanent' ? true : false,
738
- recording: editLease.value.recording,
739
- publish: editLease.value.publish,
740
- share: editLease.value.share,
741
- source_type: editLease.value.source_type,
742
- source_model: editLease.value.source_model,
743
- }
744
- })) as VideoLeaseResponse).id;
745
- }
746
-
747
- await fetchLease();
748
- } catch (err) {
749
- loading.value = false;
750
- throw err;
751
- }
752
- }
753
- </script>