@tak-ps/cloudtak 12.54.0 → 12.94.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 (482) hide show
  1. package/package.json +26 -17
  2. package/dist/types/plugin.d.ts +0 -99
  3. package/dist/types/src/App.vue.d.ts +0 -5
  4. package/dist/types/src/base/chatroom-chats.d.ts +0 -17
  5. package/dist/types/src/base/chatroom.d.ts +0 -47
  6. package/dist/types/src/base/cot.d.ts +0 -94
  7. package/dist/types/src/base/database.d.ts +0 -115
  8. package/dist/types/src/base/events.d.ts +0 -30
  9. package/dist/types/src/base/filter.d.ts +0 -41
  10. package/dist/types/src/base/handler.d.ts +0 -11
  11. package/dist/types/src/base/icon.d.ts +0 -4
  12. package/dist/types/src/base/notification.d.ts +0 -37
  13. package/dist/types/src/base/overlay.d.ts +0 -94
  14. package/dist/types/src/base/subscription-feature.d.ts +0 -49
  15. package/dist/types/src/base/subscription-log.d.ts +0 -32
  16. package/dist/types/src/base/subscription.d.ts +0 -115
  17. package/dist/types/src/base/utils/styles.d.ts +0 -11
  18. package/dist/types/src/base/validators.d.ts +0 -9
  19. package/dist/types/src/components/Admin/AdminImports.vue.d.ts +0 -3
  20. package/dist/types/src/components/Admin/AdminLayers.vue.d.ts +0 -3
  21. package/dist/types/src/components/Admin/AdminMissionTemplate.vue.d.ts +0 -3
  22. package/dist/types/src/components/Admin/AdminMissionTemplateLog.vue.d.ts +0 -3
  23. package/dist/types/src/components/Admin/AdminMissionTemplates.vue.d.ts +0 -3
  24. package/dist/types/src/components/Admin/AdminOverlays.vue.d.ts +0 -3
  25. package/dist/types/src/components/Admin/AdminPalette.vue.d.ts +0 -3
  26. package/dist/types/src/components/Admin/AdminPaletteFeature.vue.d.ts +0 -3
  27. package/dist/types/src/components/Admin/AdminPalettes.vue.d.ts +0 -3
  28. package/dist/types/src/components/Admin/AdminServer.vue.d.ts +0 -3
  29. package/dist/types/src/components/Admin/AdminTasks.vue.d.ts +0 -3
  30. package/dist/types/src/components/Admin/AdminUser.vue.d.ts +0 -3
  31. package/dist/types/src/components/Admin/AdminUsers.vue.d.ts +0 -3
  32. package/dist/types/src/components/Admin/AdminVideos.vue.d.ts +0 -3
  33. package/dist/types/src/components/Admin/Server/ServerConnection.vue.d.ts +0 -3
  34. package/dist/types/src/components/Admin/Server/ServerInjectorModal.vue.d.ts +0 -11
  35. package/dist/types/src/components/Admin/Server/ServerInjectors.vue.d.ts +0 -3
  36. package/dist/types/src/components/Admin/Server/ServerPackages.vue.d.ts +0 -3
  37. package/dist/types/src/components/Admin/Server/ServerRepeaters.vue.d.ts +0 -3
  38. package/dist/types/src/components/Admin/Server/ServerVideos.vue.d.ts +0 -3
  39. package/dist/types/src/components/Admin/Tasks/AdminRawTasks.vue.d.ts +0 -3
  40. package/dist/types/src/components/Admin/Videos/AdminVideoLeases.vue.d.ts +0 -3
  41. package/dist/types/src/components/Admin/Videos/AdminVideoService.vue.d.ts +0 -3
  42. package/dist/types/src/components/Admin/Videos/VideoConfig.vue.d.ts +0 -7
  43. package/dist/types/src/components/Admin/Videos/VideoConfigPort.vue.d.ts +0 -8
  44. package/dist/types/src/components/CloudTAK/CoTView.vue.d.ts +0 -3
  45. package/dist/types/src/components/CloudTAK/CoordInput.vue.d.ts +0 -7
  46. package/dist/types/src/components/CloudTAK/DrawTools.vue.d.ts +0 -3
  47. package/dist/types/src/components/CloudTAK/FeatView.vue.d.ts +0 -8
  48. package/dist/types/src/components/CloudTAK/GeoJSONInput.vue.d.ts +0 -24
  49. package/dist/types/src/components/CloudTAK/MainMenu.vue.d.ts +0 -9
  50. package/dist/types/src/components/CloudTAK/MainMenuContents.vue.d.ts +0 -16
  51. package/dist/types/src/components/CloudTAK/Map.vue.d.ts +0 -8
  52. package/dist/types/src/components/CloudTAK/MapLoading.vue.d.ts +0 -3
  53. package/dist/types/src/components/CloudTAK/Menu/Debugger.vue.d.ts +0 -3
  54. package/dist/types/src/components/CloudTAK/Menu/MenuBasemaps.vue.d.ts +0 -3
  55. package/dist/types/src/components/CloudTAK/Menu/MenuChannels.vue.d.ts +0 -3
  56. package/dist/types/src/components/CloudTAK/Menu/MenuChats.vue.d.ts +0 -3
  57. package/dist/types/src/components/CloudTAK/Menu/MenuConnections.vue.d.ts +0 -3
  58. package/dist/types/src/components/CloudTAK/Menu/MenuContacts.vue.d.ts +0 -3
  59. package/dist/types/src/components/CloudTAK/Menu/MenuFeatures.vue.d.ts +0 -3
  60. package/dist/types/src/components/CloudTAK/Menu/MenuFeaturesDeleted.vue.d.ts +0 -3
  61. package/dist/types/src/components/CloudTAK/Menu/MenuFiles.vue.d.ts +0 -3
  62. package/dist/types/src/components/CloudTAK/Menu/MenuImport.vue.d.ts +0 -3
  63. package/dist/types/src/components/CloudTAK/Menu/MenuImports.vue.d.ts +0 -3
  64. package/dist/types/src/components/CloudTAK/Menu/MenuItemCard.vue.d.ts +0 -101
  65. package/dist/types/src/components/CloudTAK/Menu/MenuMission.vue.d.ts +0 -3
  66. package/dist/types/src/components/CloudTAK/Menu/MenuMissions.vue.d.ts +0 -3
  67. package/dist/types/src/components/CloudTAK/Menu/MenuOverlayExplorer.vue.d.ts +0 -3
  68. package/dist/types/src/components/CloudTAK/Menu/MenuOverlays.vue.d.ts +0 -3
  69. package/dist/types/src/components/CloudTAK/Menu/MenuPackage.vue.d.ts +0 -3
  70. package/dist/types/src/components/CloudTAK/Menu/MenuPackages.vue.d.ts +0 -3
  71. package/dist/types/src/components/CloudTAK/Menu/MenuRoutes.vue.d.ts +0 -3
  72. package/dist/types/src/components/CloudTAK/Menu/MenuRoutesNew.vue.d.ts +0 -3
  73. package/dist/types/src/components/CloudTAK/Menu/MenuSettings.vue.d.ts +0 -3
  74. package/dist/types/src/components/CloudTAK/Menu/MenuSettingsCallsign.vue.d.ts +0 -3
  75. package/dist/types/src/components/CloudTAK/Menu/MenuSettingsDisplay.vue.d.ts +0 -3
  76. package/dist/types/src/components/CloudTAK/Menu/MenuVideos.vue.d.ts +0 -3
  77. package/dist/types/src/components/CloudTAK/Menu/MenuVideosRemote.vue.d.ts +0 -3
  78. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionContents.vue.d.ts +0 -11
  79. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionCreate.vue.d.ts +0 -7
  80. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionInfo.vue.d.ts +0 -11
  81. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionInviteModal.vue.d.ts +0 -17
  82. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerCreate.vue.d.ts +0 -13
  83. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerEdit.vue.d.ts +0 -15
  84. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayerTree.vue.d.ts +0 -15
  85. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLayers.vue.d.ts +0 -8
  86. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLog.vue.d.ts +0 -9
  87. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionLogs.vue.d.ts +0 -7
  88. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionTimeline.vue.d.ts +0 -7
  89. package/dist/types/src/components/CloudTAK/Menu/Mission/MissionUsers.vue.d.ts +0 -7
  90. package/dist/types/src/components/CloudTAK/Menu/Mission/PendingInvites.vue.d.ts +0 -11
  91. package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeMission.vue.d.ts +0 -7
  92. package/dist/types/src/components/CloudTAK/Menu/Overlays/TreeVector.vue.d.ts +0 -13
  93. package/dist/types/src/components/CloudTAK/Menu/Videos/VideoLeaseModal.vue.d.ts +0 -16
  94. package/dist/types/src/components/CloudTAK/Menu/Videos/VideosRemoteFeed.vue.d.ts +0 -13
  95. package/dist/types/src/components/CloudTAK/Notifications.vue.d.ts +0 -3
  96. package/dist/types/src/components/CloudTAK/Query/Magnetic.vue.d.ts +0 -7
  97. package/dist/types/src/components/CloudTAK/Query/Reverse.vue.d.ts +0 -8
  98. package/dist/types/src/components/CloudTAK/Query/Sun.vue.d.ts +0 -7
  99. package/dist/types/src/components/CloudTAK/Query/Weather.vue.d.ts +0 -7
  100. package/dist/types/src/components/CloudTAK/QueryView.vue.d.ts +0 -3
  101. package/dist/types/src/components/CloudTAK/RangeInput.vue.d.ts +0 -7
  102. package/dist/types/src/components/CloudTAK/RangeRingsInput.vue.d.ts +0 -7
  103. package/dist/types/src/components/CloudTAK/util/Breadcrumb.vue.d.ts +0 -6
  104. package/dist/types/src/components/CloudTAK/util/ChannelInfo.vue.d.ts +0 -15
  105. package/dist/types/src/components/CloudTAK/util/ContactPuck.vue.d.ts +0 -7
  106. package/dist/types/src/components/CloudTAK/util/Coordinate.vue.d.ts +0 -67
  107. package/dist/types/src/components/CloudTAK/util/CoordinateType.vue.d.ts +0 -27
  108. package/dist/types/src/components/CloudTAK/util/CopyButton.vue.d.ts +0 -32
  109. package/dist/types/src/components/CloudTAK/util/CopyField.vue.d.ts +0 -122
  110. package/dist/types/src/components/CloudTAK/util/DrawOverlay.vue.d.ts +0 -3
  111. package/dist/types/src/components/CloudTAK/util/EmptyInfo.vue.d.ts +0 -24
  112. package/dist/types/src/components/CloudTAK/util/FeatureIcon.vue.d.ts +0 -23
  113. package/dist/types/src/components/CloudTAK/util/FeatureRow.vue.d.ts +0 -81
  114. package/dist/types/src/components/CloudTAK/util/FloatingAttachment.vue.d.ts +0 -17
  115. package/dist/types/src/components/CloudTAK/util/FloatingVideo.vue.d.ts +0 -27
  116. package/dist/types/src/components/CloudTAK/util/GroupSelect.vue.d.ts +0 -14
  117. package/dist/types/src/components/CloudTAK/util/JSONModal.vue.d.ts +0 -27
  118. package/dist/types/src/components/CloudTAK/util/Keywords.vue.d.ts +0 -6
  119. package/dist/types/src/components/CloudTAK/util/LineLength.vue.d.ts +0 -24
  120. package/dist/types/src/components/CloudTAK/util/MenuTemplate.vue.d.ts +0 -71
  121. package/dist/types/src/components/CloudTAK/util/MultipleSelect.vue.d.ts +0 -7
  122. package/dist/types/src/components/CloudTAK/util/NotificationIcon.vue.d.ts +0 -10
  123. package/dist/types/src/components/CloudTAK/util/NotificationToast.vue.d.ts +0 -13
  124. package/dist/types/src/components/CloudTAK/util/PolygonArea.vue.d.ts +0 -24
  125. package/dist/types/src/components/CloudTAK/util/PropertyBattery.vue.d.ts +0 -13
  126. package/dist/types/src/components/CloudTAK/util/PropertyBearing.vue.d.ts +0 -58
  127. package/dist/types/src/components/CloudTAK/util/PropertyCreator.vue.d.ts +0 -7
  128. package/dist/types/src/components/CloudTAK/util/PropertyDistance.vue.d.ts +0 -54
  129. package/dist/types/src/components/CloudTAK/util/PropertyElevation.vue.d.ts +0 -32
  130. package/dist/types/src/components/CloudTAK/util/PropertyEmail.vue.d.ts +0 -13
  131. package/dist/types/src/components/CloudTAK/util/PropertyLinks.vue.d.ts +0 -14
  132. package/dist/types/src/components/CloudTAK/util/PropertyMetadata.vue.d.ts +0 -7
  133. package/dist/types/src/components/CloudTAK/util/PropertyMilSym.vue.d.ts +0 -25
  134. package/dist/types/src/components/CloudTAK/util/PropertyPhone.vue.d.ts +0 -13
  135. package/dist/types/src/components/CloudTAK/util/PropertySpeed.vue.d.ts +0 -23
  136. package/dist/types/src/components/CloudTAK/util/PropertyStyle.vue.d.ts +0 -7
  137. package/dist/types/src/components/CloudTAK/util/PropertyTimes.vue.d.ts +0 -7
  138. package/dist/types/src/components/CloudTAK/util/PropertyType.vue.d.ts +0 -27
  139. package/dist/types/src/components/CloudTAK/util/SearchBox.vue.d.ts +0 -37
  140. package/dist/types/src/components/CloudTAK/util/SelectFeats.vue.d.ts +0 -7
  141. package/dist/types/src/components/CloudTAK/util/SettingsCallsign.vue.d.ts +0 -28
  142. package/dist/types/src/components/CloudTAK/util/Share.vue.d.ts +0 -14
  143. package/dist/types/src/components/CloudTAK/util/ShareToMission.vue.d.ts +0 -53
  144. package/dist/types/src/components/CloudTAK/util/ShareToPackage.vue.d.ts +0 -62
  145. package/dist/types/src/components/CloudTAK/util/SlideDownHeader.vue.d.ts +0 -41
  146. package/dist/types/src/components/CloudTAK/util/StandardItem.vue.d.ts +0 -18
  147. package/dist/types/src/components/CloudTAK/util/Subscriptions.vue.d.ts +0 -7
  148. package/dist/types/src/components/CloudTAK/util/VideoLeaseSourceType.vue.d.ts +0 -6
  149. package/dist/types/src/components/CloudTAK/util/WarnChannels.vue.d.ts +0 -7
  150. package/dist/types/src/components/CloudTAK/util/WarnConfiguration.vue.d.ts +0 -7
  151. package/dist/types/src/components/Configure.vue.d.ts +0 -3
  152. package/dist/types/src/components/ETL/Connection/AgencyBadge.vue.d.ts +0 -8
  153. package/dist/types/src/components/ETL/Connection/ConnectionFiles.vue.d.ts +0 -3
  154. package/dist/types/src/components/ETL/Connection/ConnectionTokens.vue.d.ts +0 -3
  155. package/dist/types/src/components/ETL/Connection/ConnectionVideos.vue.d.ts +0 -3
  156. package/dist/types/src/components/ETL/Connection/StatusDot.vue.d.ts +0 -13
  157. package/dist/types/src/components/ETL/Connection/TokenModal.vue.d.ts +0 -16
  158. package/dist/types/src/components/ETL/Connection.vue.d.ts +0 -3
  159. package/dist/types/src/components/ETL/ConnectionCard.vue.d.ts +0 -16
  160. package/dist/types/src/components/ETL/Connections.vue.d.ts +0 -3
  161. package/dist/types/src/components/ETL/Data.vue.d.ts +0 -3
  162. package/dist/types/src/components/ETL/Layer/LayerIncomingConfig.vue.d.ts +0 -27
  163. package/dist/types/src/components/ETL/Layer/LayerOutgoingConfig.vue.d.ts +0 -27
  164. package/dist/types/src/components/ETL/Layer/utils/QueryInput.vue.d.ts +0 -56
  165. package/dist/types/src/components/ETL/Layer/utils/StatusDot.vue.d.ts +0 -7
  166. package/dist/types/src/components/ETL/Layer.vue.d.ts +0 -3
  167. package/dist/types/src/components/Home.vue.d.ts +0 -13
  168. package/dist/types/src/components/Loading.vue.d.ts +0 -3
  169. package/dist/types/src/components/Login.vue.d.ts +0 -7
  170. package/dist/types/src/components/LostUser.vue.d.ts +0 -3
  171. package/dist/types/src/components/PageFooter.vue.d.ts +0 -3
  172. package/dist/types/src/components/ServerAdmin.vue.d.ts +0 -3
  173. package/dist/types/src/components/VideoWall/Main.vue.d.ts +0 -3
  174. package/dist/types/src/components/VideoWall.vue.d.ts +0 -13
  175. package/dist/types/src/components/util/GroupSelect.vue.d.ts +0 -14
  176. package/dist/types/src/components/util/InitialAuthor.vue.d.ts +0 -6
  177. package/dist/types/src/components/util/StatusDot.vue.d.ts +0 -8
  178. package/dist/types/src/components/util/Upload.vue.d.ts +0 -46
  179. package/dist/types/src/components/util/UploadLogo.vue.d.ts +0 -14
  180. package/dist/types/src/main.d.ts +0 -1
  181. package/dist/types/src/pages/admin/main.d.ts +0 -1
  182. package/dist/types/src/pages/connection/main.d.ts +0 -1
  183. package/dist/types/src/pages/docs/App.vue.d.ts +0 -4
  184. package/dist/types/src/pages/docs/main.d.ts +0 -1
  185. package/dist/types/src/pages/video/main.d.ts +0 -1
  186. package/dist/types/src/std.d.ts +0 -19
  187. package/dist/types/src/stores/brand.d.ts +0 -7
  188. package/dist/types/src/stores/float.d.ts +0 -42
  189. package/dist/types/src/stores/map.d.ts +0 -115
  190. package/dist/types/src/stores/modules/draw.d.ts +0 -35
  191. package/dist/types/src/stores/modules/icons.d.ts +0 -38
  192. package/dist/types/src/stores/modules/menu.d.ts +0 -34
  193. package/dist/types/src/test/setup.d.ts +0 -1
  194. package/dist/types/src/timediff.d.ts +0 -1
  195. package/dist/types/src/types.d.ts +0 -158
  196. package/dist/types/src/video.d.ts +0 -1
  197. package/dist/types/src/workers/atlas-connection.d.ts +0 -12
  198. package/dist/types/src/workers/atlas-database.d.ts +0 -134
  199. package/dist/types/src/workers/atlas-profile.d.ts +0 -39
  200. package/dist/types/src/workers/atlas-team.d.ts +0 -13
  201. package/dist/types/src/workers/atlas.d.ts +0 -19
  202. package/src/App.vue +0 -341
  203. package/src/base/chatroom-chats.ts +0 -124
  204. package/src/base/chatroom.ts +0 -202
  205. package/src/base/cot.ts +0 -625
  206. package/src/base/database.ts +0 -150
  207. package/src/base/events.ts +0 -43
  208. package/src/base/filter.ts +0 -163
  209. package/src/base/handler.ts +0 -67
  210. package/src/base/icon.ts +0 -16
  211. package/src/base/notification.ts +0 -163
  212. package/src/base/overlay.ts +0 -558
  213. package/src/base/subscription-feature.ts +0 -224
  214. package/src/base/subscription-log.ts +0 -174
  215. package/src/base/subscription.ts +0 -489
  216. package/src/base/utils/styles.ts +0 -430
  217. package/src/base/validators.ts +0 -66
  218. package/src/components/Admin/AdminConfig.vue +0 -487
  219. package/src/components/Admin/AdminConnections.vue +0 -195
  220. package/src/components/Admin/AdminDatas.vue +0 -165
  221. package/src/components/Admin/AdminExport.vue +0 -121
  222. package/src/components/Admin/AdminImports.vue +0 -222
  223. package/src/components/Admin/AdminLayerTemplate.vue +0 -91
  224. package/src/components/Admin/AdminLayers.vue +0 -301
  225. package/src/components/Admin/AdminMissionTemplate.vue +0 -259
  226. package/src/components/Admin/AdminMissionTemplateLog.vue +0 -273
  227. package/src/components/Admin/AdminMissionTemplates.vue +0 -189
  228. package/src/components/Admin/AdminOverlays.vue +0 -232
  229. package/src/components/Admin/AdminOverlaysEdit.vue +0 -355
  230. package/src/components/Admin/AdminPalette.vue +0 -214
  231. package/src/components/Admin/AdminPaletteFeature.vue +0 -208
  232. package/src/components/Admin/AdminPalettes.vue +0 -189
  233. package/src/components/Admin/AdminServer.vue +0 -143
  234. package/src/components/Admin/AdminTasks.vue +0 -60
  235. package/src/components/Admin/AdminUser.vue +0 -263
  236. package/src/components/Admin/AdminUsers.vue +0 -183
  237. package/src/components/Admin/AdminVideos.vue +0 -60
  238. package/src/components/Admin/Server/ServerConnection.vue +0 -322
  239. package/src/components/Admin/Server/ServerInjectorModal.vue +0 -125
  240. package/src/components/Admin/Server/ServerInjectors.vue +0 -104
  241. package/src/components/Admin/Server/ServerPackages.vue +0 -159
  242. package/src/components/Admin/Server/ServerRepeaters.vue +0 -105
  243. package/src/components/Admin/Server/ServerVideos.vue +0 -83
  244. package/src/components/Admin/Tasks/AdminRawTasks.vue +0 -148
  245. package/src/components/Admin/Tasks/AdminTasks.vue +0 -286
  246. package/src/components/Admin/Videos/AdminVideoLeases.vue +0 -198
  247. package/src/components/Admin/Videos/AdminVideoService.vue +0 -67
  248. package/src/components/Admin/Videos/VideoConfig.vue +0 -132
  249. package/src/components/Admin/Videos/VideoConfigPath.vue +0 -58
  250. package/src/components/Admin/Videos/VideoConfigPort.vue +0 -40
  251. package/src/components/CloudTAK/CoTView.vue +0 -915
  252. package/src/components/CloudTAK/CoordInput.vue +0 -110
  253. package/src/components/CloudTAK/DrawTools.vue +0 -200
  254. package/src/components/CloudTAK/FeatView.vue +0 -242
  255. package/src/components/CloudTAK/GeoJSONInput.vue +0 -226
  256. package/src/components/CloudTAK/MainMenu.vue +0 -190
  257. package/src/components/CloudTAK/MainMenuContents.vue +0 -360
  258. package/src/components/CloudTAK/Map.vue +0 -972
  259. package/src/components/CloudTAK/MapLoading.vue +0 -31
  260. package/src/components/CloudTAK/Menu/Basemaps/EditModal.vue +0 -427
  261. package/src/components/CloudTAK/Menu/Debugger.vue +0 -118
  262. package/src/components/CloudTAK/Menu/Iconset/EditModal.vue +0 -118
  263. package/src/components/CloudTAK/Menu/MenuBasemaps.vue +0 -410
  264. package/src/components/CloudTAK/Menu/MenuChannels.vue +0 -206
  265. package/src/components/CloudTAK/Menu/MenuChat.vue +0 -222
  266. package/src/components/CloudTAK/Menu/MenuChats.vue +0 -167
  267. package/src/components/CloudTAK/Menu/MenuConnections.vue +0 -166
  268. package/src/components/CloudTAK/Menu/MenuContacts.vue +0 -245
  269. package/src/components/CloudTAK/Menu/MenuFeatures.vue +0 -718
  270. package/src/components/CloudTAK/Menu/MenuFeaturesDeleted.vue +0 -217
  271. package/src/components/CloudTAK/Menu/MenuFiles.vue +0 -433
  272. package/src/components/CloudTAK/Menu/MenuIcon.vue +0 -236
  273. package/src/components/CloudTAK/Menu/MenuIconset.vue +0 -128
  274. package/src/components/CloudTAK/Menu/MenuIconsets.vue +0 -266
  275. package/src/components/CloudTAK/Menu/MenuImport.vue +0 -198
  276. package/src/components/CloudTAK/Menu/MenuImports.vue +0 -199
  277. package/src/components/CloudTAK/Menu/MenuItemCard.vue +0 -240
  278. package/src/components/CloudTAK/Menu/MenuMission.vue +0 -324
  279. package/src/components/CloudTAK/Menu/MenuMissions.vue +0 -334
  280. package/src/components/CloudTAK/Menu/MenuOverlayExplorer.vue +0 -434
  281. package/src/components/CloudTAK/Menu/MenuOverlays.vue +0 -560
  282. package/src/components/CloudTAK/Menu/MenuPackage.vue +0 -340
  283. package/src/components/CloudTAK/Menu/MenuPackages.vue +0 -193
  284. package/src/components/CloudTAK/Menu/MenuRoutes.vue +0 -186
  285. package/src/components/CloudTAK/Menu/MenuRoutesNew.vue +0 -193
  286. package/src/components/CloudTAK/Menu/MenuSettings.vue +0 -95
  287. package/src/components/CloudTAK/Menu/MenuSettingsCallsign.vue +0 -12
  288. package/src/components/CloudTAK/Menu/MenuSettingsDisplay.vue +0 -144
  289. package/src/components/CloudTAK/Menu/MenuSettingsTokens.vue +0 -83
  290. package/src/components/CloudTAK/Menu/MenuVideos.vue +0 -436
  291. package/src/components/CloudTAK/Menu/MenuVideosRemote.vue +0 -203
  292. package/src/components/CloudTAK/Menu/Mission/MissionContents.vue +0 -211
  293. package/src/components/CloudTAK/Menu/Mission/MissionCreate.vue +0 -372
  294. package/src/components/CloudTAK/Menu/Mission/MissionInfo.vue +0 -331
  295. package/src/components/CloudTAK/Menu/Mission/MissionInviteModal.vue +0 -107
  296. package/src/components/CloudTAK/Menu/Mission/MissionLayerCreate.vue +0 -77
  297. package/src/components/CloudTAK/Menu/Mission/MissionLayerEdit.vue +0 -77
  298. package/src/components/CloudTAK/Menu/Mission/MissionLayerTree.vue +0 -194
  299. package/src/components/CloudTAK/Menu/Mission/MissionLayers.vue +0 -157
  300. package/src/components/CloudTAK/Menu/Mission/MissionLog.vue +0 -170
  301. package/src/components/CloudTAK/Menu/Mission/MissionLogs.vue +0 -194
  302. package/src/components/CloudTAK/Menu/Mission/MissionTimeline.vue +0 -142
  303. package/src/components/CloudTAK/Menu/Mission/MissionUsers.vue +0 -74
  304. package/src/components/CloudTAK/Menu/Mission/PendingInvites.vue +0 -130
  305. package/src/components/CloudTAK/Menu/Overlays/DeleteModal.vue +0 -57
  306. package/src/components/CloudTAK/Menu/Overlays/TreeCots.vue +0 -497
  307. package/src/components/CloudTAK/Menu/Overlays/TreeMission.vue +0 -32
  308. package/src/components/CloudTAK/Menu/Overlays/TreeVector.vue +0 -113
  309. package/src/components/CloudTAK/Menu/Settings/TokenModal.vue +0 -110
  310. package/src/components/CloudTAK/Menu/Videos/VideoLeaseModal.vue +0 -753
  311. package/src/components/CloudTAK/Menu/Videos/VideosRemoteFeed.vue +0 -75
  312. package/src/components/CloudTAK/Notifications.vue +0 -195
  313. package/src/components/CloudTAK/Query/Magnetic.vue +0 -80
  314. package/src/components/CloudTAK/Query/Reverse.vue +0 -65
  315. package/src/components/CloudTAK/Query/Sun.vue +0 -178
  316. package/src/components/CloudTAK/Query/Weather.vue +0 -195
  317. package/src/components/CloudTAK/QueryView.vue +0 -134
  318. package/src/components/CloudTAK/RadialMenu/LICENSE +0 -21
  319. package/src/components/CloudTAK/RadialMenu/README.md +0 -63
  320. package/src/components/CloudTAK/RadialMenu/RadialMenu.css +0 -85
  321. package/src/components/CloudTAK/RadialMenu/RadialMenu.js +0 -534
  322. package/src/components/CloudTAK/RadialMenu/RadialMenu.vue +0 -257
  323. package/src/components/CloudTAK/RangeInput.vue +0 -155
  324. package/src/components/CloudTAK/RangeRingsInput.vue +0 -269
  325. package/src/components/CloudTAK/util/Breadcrumb.vue +0 -85
  326. package/src/components/CloudTAK/util/ChannelInfo.vue +0 -25
  327. package/src/components/CloudTAK/util/Contact.vue +0 -131
  328. package/src/components/CloudTAK/util/ContactPuck.vue +0 -40
  329. package/src/components/CloudTAK/util/Coordinate.vue +0 -313
  330. package/src/components/CloudTAK/util/CoordinateType.vue +0 -134
  331. package/src/components/CloudTAK/util/CopyButton.vue +0 -67
  332. package/src/components/CloudTAK/util/CopyField.vue +0 -286
  333. package/src/components/CloudTAK/util/DrawOverlay.vue +0 -254
  334. package/src/components/CloudTAK/util/EmptyInfo.vue +0 -71
  335. package/src/components/CloudTAK/util/FeatureIcon.vue +0 -134
  336. package/src/components/CloudTAK/util/FeatureRow.vue +0 -206
  337. package/src/components/CloudTAK/util/FloatingAttachment.vue +0 -191
  338. package/src/components/CloudTAK/util/FloatingVideo.vue +0 -654
  339. package/src/components/CloudTAK/util/GenericSelect.vue +0 -125
  340. package/src/components/CloudTAK/util/GroupSelect.vue +0 -129
  341. package/src/components/CloudTAK/util/Icons.vue +0 -146
  342. package/src/components/CloudTAK/util/JSONModal.vue +0 -57
  343. package/src/components/CloudTAK/util/Keywords.vue +0 -31
  344. package/src/components/CloudTAK/util/LineLength.vue +0 -121
  345. package/src/components/CloudTAK/util/MenuItem.vue +0 -21
  346. package/src/components/CloudTAK/util/MenuTemplate.vue +0 -137
  347. package/src/components/CloudTAK/util/MultipleSelect.vue +0 -103
  348. package/src/components/CloudTAK/util/NotificationIcon.vue +0 -50
  349. package/src/components/CloudTAK/util/NotificationToast.vue +0 -125
  350. package/src/components/CloudTAK/util/PolygonArea.vue +0 -109
  351. package/src/components/CloudTAK/util/PropertyAttachments.vue +0 -224
  352. package/src/components/CloudTAK/util/PropertyBattery.vue +0 -44
  353. package/src/components/CloudTAK/util/PropertyBearing.vue +0 -148
  354. package/src/components/CloudTAK/util/PropertyCreator.vue +0 -61
  355. package/src/components/CloudTAK/util/PropertyDistance.vue +0 -182
  356. package/src/components/CloudTAK/util/PropertyElevation.vue +0 -84
  357. package/src/components/CloudTAK/util/PropertyEmail.vue +0 -44
  358. package/src/components/CloudTAK/util/PropertyLinks.vue +0 -148
  359. package/src/components/CloudTAK/util/PropertyMetadata.vue +0 -53
  360. package/src/components/CloudTAK/util/PropertyMilSym.vue +0 -62
  361. package/src/components/CloudTAK/util/PropertyPhone.vue +0 -61
  362. package/src/components/CloudTAK/util/PropertySensor.vue +0 -129
  363. package/src/components/CloudTAK/util/PropertySpeed.vue +0 -91
  364. package/src/components/CloudTAK/util/PropertyStyle.vue +0 -202
  365. package/src/components/CloudTAK/util/PropertyTimes.vue +0 -95
  366. package/src/components/CloudTAK/util/PropertyType.vue +0 -274
  367. package/src/components/CloudTAK/util/SearchBox.vue +0 -314
  368. package/src/components/CloudTAK/util/SelectFeats.vue +0 -190
  369. package/src/components/CloudTAK/util/SettingsCallsign.vue +0 -151
  370. package/src/components/CloudTAK/util/Share.vue +0 -496
  371. package/src/components/CloudTAK/util/ShareToMission.vue +0 -223
  372. package/src/components/CloudTAK/util/ShareToPackage.vue +0 -250
  373. package/src/components/CloudTAK/util/SlideDownHeader.vue +0 -92
  374. package/src/components/CloudTAK/util/StandardItem.vue +0 -42
  375. package/src/components/CloudTAK/util/Subscriptions.vue +0 -151
  376. package/src/components/CloudTAK/util/TagEntry.vue +0 -301
  377. package/src/components/CloudTAK/util/UploadImport.vue +0 -195
  378. package/src/components/CloudTAK/util/VideoLeaseSourceType.vue +0 -66
  379. package/src/components/CloudTAK/util/WarnChannels.vue +0 -56
  380. package/src/components/CloudTAK/util/WarnConfiguration.vue +0 -34
  381. package/src/components/Configure.vue +0 -259
  382. package/src/components/ETL/Connection/AgencyBadge.vue +0 -102
  383. package/src/components/ETL/Connection/AgencySelect.vue +0 -185
  384. package/src/components/ETL/Connection/CertificateLogin.vue +0 -75
  385. package/src/components/ETL/Connection/CertificateMachineUser.vue +0 -228
  386. package/src/components/ETL/Connection/CertificateP12.vue +0 -104
  387. package/src/components/ETL/Connection/CertificateRaw.vue +0 -50
  388. package/src/components/ETL/Connection/ConnectionData.vue +0 -174
  389. package/src/components/ETL/Connection/ConnectionFiles.vue +0 -182
  390. package/src/components/ETL/Connection/ConnectionGroups.vue +0 -181
  391. package/src/components/ETL/Connection/ConnectionLayer.vue +0 -180
  392. package/src/components/ETL/Connection/ConnectionTokens.vue +0 -147
  393. package/src/components/ETL/Connection/ConnectionVideos.vue +0 -151
  394. package/src/components/ETL/Connection/Events.vue +0 -88
  395. package/src/components/ETL/Connection/StatusDot.vue +0 -48
  396. package/src/components/ETL/Connection/TokenModal.vue +0 -136
  397. package/src/components/ETL/Connection.vue +0 -194
  398. package/src/components/ETL/ConnectionCard.vue +0 -265
  399. package/src/components/ETL/ConnectionEdit.vue +0 -448
  400. package/src/components/ETL/Connections.vue +0 -148
  401. package/src/components/ETL/Data/DataFiles.vue +0 -245
  402. package/src/components/ETL/Data/DataGroups.vue +0 -45
  403. package/src/components/ETL/Data/DataLayer.vue +0 -144
  404. package/src/components/ETL/Data/Location.vue +0 -238
  405. package/src/components/ETL/Data.vue +0 -259
  406. package/src/components/ETL/DataEdit.vue +0 -212
  407. package/src/components/ETL/Layer/LayerAlarm.vue +0 -307
  408. package/src/components/ETL/Layer/LayerDeployment.vue +0 -388
  409. package/src/components/ETL/Layer/LayerEnvironment.vue +0 -259
  410. package/src/components/ETL/Layer/LayerIncomingConfig.vue +0 -401
  411. package/src/components/ETL/Layer/LayerIncomingEnvironmentArcGIS.vue +0 -354
  412. package/src/components/ETL/Layer/LayerIncomingSchema.vue +0 -138
  413. package/src/components/ETL/Layer/LayerIncomingStyles.vue +0 -349
  414. package/src/components/ETL/Layer/LayerOutgoingConfig.vue +0 -204
  415. package/src/components/ETL/Layer/LayerOutgoingEnvironmentArcGIS.vue +0 -279
  416. package/src/components/ETL/Layer/utils/QueryInput.vue +0 -52
  417. package/src/components/ETL/Layer/utils/Schema.vue +0 -322
  418. package/src/components/ETL/Layer/utils/SchemaModal.vue +0 -77
  419. package/src/components/ETL/Layer/utils/StatusDot.vue +0 -38
  420. package/src/components/ETL/Layer/utils/StyleLinkModal.vue +0 -83
  421. package/src/components/ETL/Layer/utils/StyleLinks.vue +0 -139
  422. package/src/components/ETL/Layer/utils/StyleSingle.vue +0 -885
  423. package/src/components/ETL/Layer/utils/StyleTemplate.vue +0 -97
  424. package/src/components/ETL/Layer/utils/TaskModal.vue +0 -217
  425. package/src/components/ETL/Layer.vue +0 -560
  426. package/src/components/ETL/LayerEdit.vue +0 -276
  427. package/src/components/ETL/Styling/Layer.vue +0 -311
  428. package/src/components/ETL/Styling/ObjectInput.vue +0 -46
  429. package/src/components/ETL/Styling/Style.vue +0 -233
  430. package/src/components/Home.vue +0 -17
  431. package/src/components/Loading.vue +0 -42
  432. package/src/components/Login.vue +0 -198
  433. package/src/components/LostUser.vue +0 -31
  434. package/src/components/PageFooter.vue +0 -41
  435. package/src/components/ServerAdmin.vue +0 -408
  436. package/src/components/VideoWall/Main.vue +0 -79
  437. package/src/components/VideoWall.vue +0 -17
  438. package/src/components/util/DataSelect.vue +0 -148
  439. package/src/components/util/EsriFilter.vue +0 -140
  440. package/src/components/util/EsriPortal.vue +0 -422
  441. package/src/components/util/EsriPortalCreate.vue +0 -72
  442. package/src/components/util/EsriServer.vue +0 -368
  443. package/src/components/util/GroupSelect.vue +0 -166
  444. package/src/components/util/IconSelect.vue +0 -302
  445. package/src/components/util/InitialAuthor.vue +0 -28
  446. package/src/components/util/LayerSelect.vue +0 -162
  447. package/src/components/util/LayerTaskSelect.vue +0 -311
  448. package/src/components/util/LayerTemplateSelect.vue +0 -173
  449. package/src/components/util/LoginModal.vue +0 -110
  450. package/src/components/util/PublicTilesSelect.vue +0 -171
  451. package/src/components/util/StatusDot.vue +0 -31
  452. package/src/components/util/TableFooter.vue +0 -64
  453. package/src/components/util/TableHeader.vue +0 -127
  454. package/src/components/util/Upload.vue +0 -220
  455. package/src/components/util/UploadCSV.vue +0 -46
  456. package/src/components/util/UploadLogo.vue +0 -83
  457. package/src/components/util/UploadP12.vue +0 -93
  458. package/src/components/util/UserSelect.vue +0 -151
  459. package/src/derived-types.d.ts +0 -35243
  460. package/src/main.ts +0 -264
  461. package/src/pages/admin/main.ts +0 -208
  462. package/src/pages/connection/main.ts +0 -158
  463. package/src/pages/docs/App.vue +0 -19
  464. package/src/pages/docs/main.ts +0 -6
  465. package/src/pages/video/main.ts +0 -27
  466. package/src/std.ts +0 -152
  467. package/src/stores/brand.ts +0 -28
  468. package/src/stores/float.ts +0 -113
  469. package/src/stores/map.ts +0 -931
  470. package/src/stores/modules/draw.ts +0 -413
  471. package/src/stores/modules/icons.ts +0 -185
  472. package/src/stores/modules/menu.ts +0 -281
  473. package/src/test/setup.ts +0 -43
  474. package/src/timediff.ts +0 -33
  475. package/src/types.ts +0 -226
  476. package/src/video.ts +0 -27
  477. package/src/vite-env.d.ts +0 -9
  478. package/src/workers/atlas-connection.ts +0 -236
  479. package/src/workers/atlas-database.ts +0 -764
  480. package/src/workers/atlas-profile.ts +0 -374
  481. package/src/workers/atlas-team.ts +0 -90
  482. 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>