@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,915 +0,0 @@
1
- <template>
2
- <TablerNone
3
- v-if='!cot'
4
- :create='false'
5
- label='CoT Marker'
6
- />
7
- <template v-else>
8
- <div
9
- :key='String(route.params.uid)'
10
- class='col-12 border-light border-bottom d-flex'
11
- style='border-radius: 0px;'
12
- >
13
- <div class='col-12 card-header row my-2 d-flex'>
14
- <div class='card-title d-flex'>
15
- <div class='col-auto ms-2 my-1'>
16
- <PropertyBattery
17
- v-if='cot && cot.properties.status && cot.properties.status.battery && !isNaN(parseInt(cot.properties.status.battery))'
18
- :battery='Number(cot.properties.status.battery)'
19
- />
20
- <FeatureIcon
21
- v-else
22
- :key='cot.properties.type'
23
- :size='32'
24
- :feature='cot'
25
- />
26
- </div>
27
- <div
28
- class='col-auto mx-2'
29
- :style='`
30
- width: calc(100% - 50px);
31
- `'
32
- >
33
- <CopyField
34
- :model-value='cot.properties.callsign'
35
- :edit='is_editable'
36
- :minheight='44'
37
- :hover='is_editable'
38
- @submit='updateProperty("callsign", $event)'
39
- />
40
- </div>
41
- </div>
42
- <div class='col-12 d-flex my-2 mx-2'>
43
- <div class='btn-list'>
44
- <IconStarFilled
45
- v-if='cot.properties.archived'
46
- title='Saved Feature'
47
- :size='32'
48
- stroke='1'
49
- />
50
- <TablerIconButton
51
- v-else-if='cot.is_archivable'
52
- title='Save Feature'
53
- @click='cot.properties.archived = true'
54
- >
55
- <IconStar
56
- :size='32'
57
- stroke='1'
58
- />
59
- </TablerIconButton>
60
-
61
- <TablerIconButton
62
- title='Zoom To'
63
- @click='cot.flyTo()'
64
- >
65
- <IconZoomPan
66
- :size='32'
67
- stroke='1'
68
- />
69
- </TablerIconButton>
70
-
71
- <TablerIconButton
72
- v-if='cot.geometry.type === "Point"'
73
- :title='isLocked ? "Unlock" : "Lock On"'
74
- @click='toggleLock'
75
- >
76
- <IconLock
77
- v-if='isLocked'
78
- :size='32'
79
- stroke='1'
80
- />
81
- <IconLockOpen
82
- v-else
83
- :size='32'
84
- stroke='1'
85
- />
86
- </TablerIconButton>
87
-
88
-
89
- <TablerIconButton
90
- v-if='cot.properties.video && cot.properties.video.url'
91
- title='View Video Stream'
92
- @click='floatStore.addCOT(String(route.params.uid))'
93
- >
94
- <IconPlayerPlay
95
- size='32'
96
- stroke='1'
97
- />
98
- </TablerIconButton>
99
- <TablerIconButton
100
- title='Share'
101
- @click='share = true'
102
- >
103
- <IconShare2
104
- :size='32'
105
- stroke='1'
106
- />
107
- </TablerIconButton>
108
- </div>
109
- <div class='ms-auto btn-list mx-2'>
110
- <TablerDropdown
111
- v-if='cot.is_skittle'
112
- >
113
- <TablerIconButton
114
- title='Load Breadcrumb'
115
- >
116
- <IconRoute
117
- size='32'
118
- stroke='1'
119
- />
120
- </TablerIconButton>
121
-
122
- <template #dropdown>
123
- <Breadcrumb :uid='cot.id' />
124
- </template>
125
- </TablerDropdown>
126
-
127
- <TablerDelete
128
- v-if='is_editable'
129
- displaytype='icon'
130
- @delete='deleteCOT'
131
- />
132
-
133
- <TablerIconButton
134
- v-if='is_editable'
135
- title='Edit'
136
- @click='editGeometry'
137
- >
138
- <IconPencil
139
- :size='32'
140
- stroke='1'
141
- />
142
- </TablerIconButton>
143
-
144
- <TablerIconButton
145
- v-if='cot.properties.group && !cot.is_self'
146
- title='Chat'
147
- @click='router.push(`/menu/chats/new?callsign=${cot.properties.callsign}&uid=${cot.id}`)'
148
- >
149
- <IconMessage
150
- :size='32'
151
- stroke='1'
152
- />
153
- </TablerIconButton>
154
-
155
- <TablerDropdown
156
- v-if='is_editable'
157
- >
158
- <TablerIconButton
159
- title='Add Properties'
160
- >
161
- <IconDotsVertical
162
- :size='32'
163
- stroke='1'
164
- />
165
- </TablerIconButton>
166
-
167
- <template #dropdown>
168
- <div class='card'>
169
- <div class='card-body'>
170
- <div
171
- v-if='
172
- cot.properties.attachments !== undefined
173
- && cot.properties.video !== undefined
174
- && cot.properties.sensor !== undefined
175
- '
176
- >
177
- No Properties to add
178
- </div>
179
- <template v-else>
180
- <div
181
- v-if='cot.properties.attachments === undefined'
182
- role='button'
183
- class='hover px-2 py-2 d-flex align-items-center rounded'
184
- @click='updatePropertyAttachment([])'
185
- >
186
- <IconPaperclip
187
- stroke='1'
188
- :size='32'
189
- /><div class='mx-2'>
190
- Add Attachment
191
- </div>
192
- </div>
193
- <div
194
- v-if='cot.properties.video === undefined'
195
- role='button'
196
- class='hover px-2 py-2 d-flex align-items-center rounded'
197
- @click='updateProperty("video", { url: "" })'
198
- >
199
- <IconMovie
200
- stroke='1'
201
- :size='32'
202
- /><div class='mx-2'>
203
- Add Video
204
- </div>
205
- </div>
206
- <div
207
- v-if='cot.properties.sensor === undefined'
208
- role='button'
209
- class='hover px-2 py-2 d-flex align-items-center rounded'
210
- @click='updateProperty("sensor", {})'
211
- >
212
- <IconCone
213
- stroke='1'
214
- :size='32'
215
- /><div class='mx-2'>
216
- Add Sensor
217
- </div>
218
- </div>
219
- </template>
220
- </div>
221
- </div>
222
- </template>
223
- </TablerDropdown>
224
- </div>
225
- </div>
226
- </div>
227
- </div>
228
-
229
- <div class='col-12 px-2 py-2'>
230
- <div
231
- class='btn-group w-100'
232
- role='group'
233
- >
234
- <input
235
- id='btn-mode-info'
236
- type='radio'
237
- class='btn-check'
238
- name='btn-mode'
239
- autocomplete='off'
240
- :checked='mode === "default"'
241
- @click='mode = "default"'
242
- >
243
- <label
244
- for='btn-mode-info'
245
- type='button'
246
- class='btn'
247
- >
248
- <IconInfoCircle
249
- :size='20'
250
- stroke='1'
251
- class='cursor-pointer'
252
- @click='mode = "raw"'
253
- />
254
- <span class='mx-2'>Info</span>
255
- </label>
256
- <template v-if='cot.is_skittle'>
257
- <input
258
- id='btn-mode-channels'
259
- type='radio'
260
- class='btn-check'
261
- name='btn-mode'
262
- autocomplete='off'
263
- :checked='mode === "channels"'
264
- @click='mode = "channels"'
265
- >
266
- <label
267
- for='btn-mode-channels'
268
- type='button'
269
- class='btn'
270
- >
271
- <IconAffiliate
272
- :size='20'
273
- stroke='1'
274
- class='cursor-pointer'
275
- />
276
- <span class='mx-2'>Channels</span>
277
- </label>
278
- </template>
279
- <input
280
- id='btn-mode-raw'
281
- type='radio'
282
- class='btn-check'
283
- name='btn-mode'
284
- autocomplete='off'
285
- :checked='mode === "raw"'
286
- @click='mode = "raw"'
287
- >
288
- <label
289
- for='btn-mode-raw'
290
- type='button'
291
- class='btn'
292
- >
293
- <IconCode
294
- :size='20'
295
- stroke='1'
296
- class='cursor-pointer'
297
- />
298
- <span class='mx-2'>Raw</span>
299
- </label>
300
- </div>
301
- </div>
302
-
303
- <div
304
- v-if='mode === "default"'
305
- class='overflow-auto overflow-x-hidden'
306
- style='height: calc(100vh - 225px)'
307
- >
308
- <div class='row g-0'>
309
- <div
310
- v-if='subscription'
311
- class='col-12'
312
- >
313
- <div class='d-flex align-items-center py-2 px-2 my-2 mx-2 rounded bg-accent'>
314
- <IconAmbulance
315
- :size='32'
316
- stroke='1'
317
- />
318
- <span class='ms-2'>From:</span>
319
- <a
320
- class='mx-2 cursor-pointer'
321
- @click='router.push(`/menu/missions/${subscription.meta.guid}`)'
322
- v-text='subscription.meta.name'
323
- />
324
- </div>
325
- </div>
326
-
327
- <div class='pt-2 col-12 px-2'>
328
- <PropertyType
329
- v-if='cot.properties.type.startsWith("a-") || cot.properties.type.startsWith("u-")'
330
- :key='cot.properties.type'
331
- :edit='is_editable'
332
- :model-value='cot.properties.type'
333
- @update:model-value='updatePropertyType($event)'
334
- />
335
- </div>
336
-
337
- <div
338
- class='pt-2'
339
- :class='{
340
- "col-md-8": center.length > 2,
341
- "col-12": center.length <= 2,
342
- }'
343
- >
344
- <Coordinate
345
- :key='String(route.params.uid)'
346
- :label='cot.geometry.type === "Point" ? "Location" : "Center"'
347
- :edit='is_editable'
348
- :hover='is_editable'
349
- :model-value='center'
350
- @update:model-value='updateCoordinates($event)'
351
- />
352
- </div>
353
- <div
354
- v-if='center.length > 2'
355
- class='col-md-4 pt-2'
356
- >
357
- <PropertyElevation
358
- :key='String(route.params.uid)'
359
- label='Elevation'
360
- :unit='units.display_elevation'
361
- :elevation='center[2]'
362
- />
363
- </div>
364
-
365
- <div
366
- v-if='cot && cot.geometry.type === "LineString"'
367
- class='col-12 pt-2'
368
- >
369
- <LineLength
370
- :key='String(route.params.uid)'
371
- :cot='cot'
372
- :unit='units.display_distance'
373
- />
374
- </div>
375
-
376
- <div
377
- v-if='cot && cot.geometry.type === "Polygon"'
378
- class='col-12 pt-2'
379
- >
380
- <PolygonArea
381
- :key='String(route.params.uid)'
382
- :cot='cot'
383
- />
384
- </div>
385
-
386
- <div
387
- v-if='cot && cot.properties.shape && cot.properties.shape.ellipse && cot.properties.shape.ellipse.major === cot.properties.shape.ellipse.minor'
388
- class='col-12 pt-2'
389
- >
390
- <PropertyDistance
391
- :key='cot.properties.id'
392
- label='Radius'
393
- :unit='units.display_distance'
394
- :model-value='cot.properties.shape.ellipse.major * 0.001'
395
- />
396
- </div>
397
-
398
- <div
399
- v-if='cot.properties.speed !== undefined && !isNaN(cot.properties.speed)'
400
- class='pt-2'
401
- :class='{
402
- "col-md-6": cot.properties.course,
403
- "col-12": !cot.properties.course,
404
- }'
405
- >
406
- <PropertySpeed
407
- :key='cot.properties.id'
408
- :unit='units.display_speed'
409
- :speed='cot.properties.speed'
410
- />
411
- </div>
412
-
413
- <div
414
- v-if='cot.properties.course !== undefined && !isNaN(cot.properties.course)'
415
- class='pt-2'
416
- :class='{
417
- "col-md-6": cot.properties.course,
418
- "col-12": !cot.properties.course,
419
- }'
420
- >
421
- <PropertyBearing
422
- :key='cot.properties.id'
423
- label='Course'
424
- :model-value='cot.properties.course'
425
- />
426
- </div>
427
-
428
- <div
429
- v-if='cot.properties.contact && cot.properties.contact.phone'
430
- class='pt-2'
431
- >
432
- <PropertyPhone
433
- :key='cot.properties.id'
434
- :phone='cot.properties.contact.phone'
435
- />
436
- </div>
437
- </div>
438
-
439
- <div
440
- v-if='username'
441
- class='col-12 pt-2'
442
- >
443
- <PropertyEmail
444
- :key='cot.properties.id'
445
- :email='username'
446
- />
447
- </div>
448
-
449
-
450
-
451
- <div
452
- v-if='cot.properties.remarks !== undefined'
453
- class='col-12 pt-2'
454
- >
455
- <div
456
- class='d-flex align-items-center cursor-pointer user-select-none py-2 px-2 rounded transition-all mx-2'
457
- :class='{ "bg-accent": remarksExpanded, "hover": !remarksExpanded }'
458
- @click='remarksExpanded = !remarksExpanded'
459
- >
460
- <IconBlockquote
461
- :size='18'
462
- stroke='1'
463
- color='#6b7990'
464
- class='ms-2 me-1'
465
- />
466
- <label class='subheader cursor-pointer m-0'>Remarks</label>
467
- <div class='ms-auto d-flex align-items-center'>
468
- <IconChevronDown
469
- class='transition-transform'
470
- :class='{ "rotate-180": !remarksExpanded }'
471
- :size='18'
472
- />
473
- </div>
474
- </div>
475
-
476
- <div
477
- class='grid-transition'
478
- :class='{ expanded: remarksExpanded }'
479
- >
480
- <div class='overflow-hidden'>
481
- <div class='px-2 pt-2'>
482
- <CopyField
483
- :model-value='cot.properties.remarks'
484
- :rows='10'
485
- :edit='is_editable'
486
- :hover='is_editable'
487
- @submit='updateProperty("remarks", $event)'
488
- />
489
- </div>
490
- </div>
491
- </div>
492
- </div>
493
-
494
- <template
495
- v-if='!cot.properties.contact'
496
- >
497
- <PropertyAttachments
498
- :key='cot.properties.id'
499
- :model-value='cot.properties.attachments || []'
500
- @update:model-value='updatePropertyAttachment($event)'
501
- />
502
- </template>
503
-
504
- <div
505
- v-if='cot.properties.geofence'
506
- class='col-12 py-2'
507
- >
508
- <div class='col-12'>
509
- <IconFence
510
- :size='18'
511
- stroke='1'
512
- color='#6b7990'
513
- class='ms-2 me-1'
514
- />
515
- <label class='subheader user-select-none'>Geofence</label>
516
- </div>
517
-
518
- <div class='mx-2 bg-accent row user-select-none'>
519
- <TablerToggle
520
- label='Elevation Monitored'
521
- :model-value='cot.properties.geofence.elevationMonitored'
522
- :disabled='true'
523
- />
524
-
525
- <div
526
- v-if='cot.properties.geofence.trigger === "Both" || cot.properties.geofence.trigger === "Enter"'
527
- class='col-6 py-2'
528
- >
529
- <IconDoorEnter
530
- :size='32'
531
- stroke='1'
532
- class='mx-2'
533
- />
534
- <span>Alarm on Enter</span>
535
- </div>
536
- <div
537
- v-if='cot.properties.geofence.trigger === "Both" || cot.properties.geofence.trigger === "Exit"'
538
- class='col-6 py-2'
539
- >
540
- <IconDoorExit
541
- :size='32'
542
- stroke='1'
543
- class='mx-2'
544
- />
545
-
546
- <span>Alarm on Exit</span>
547
- </div>
548
- </div>
549
- </div>
550
-
551
- <PropertyLinks
552
- v-if='cot.properties.links'
553
- :links='cot.properties.links'
554
- />
555
-
556
- <PropertyTimes
557
- v-if='!cot.properties.archived'
558
- :cot='cot'
559
- />
560
-
561
- <PropertySensor
562
- v-if='cot.properties.sensor !== undefined'
563
- :key='cot.properties.id'
564
- :model-value='cot.properties.sensor'
565
- @update:model-value='updateProperty("sensor", $event)'
566
- />
567
-
568
- <PropertyMilSym
569
- v-if='cot.properties.milsym'
570
- :key='cot.properties.id'
571
- label='Unit Information'
572
- :model-value='cot.properties.milsym.id'
573
- />
574
-
575
- <PropertyStyle
576
- v-if='is_editable && !cot.is_self'
577
- :cot='cot'
578
- />
579
-
580
- <PropertyCreator
581
- v-if='cot.properties.creator'
582
- :key='cot.properties.id'
583
- :creator='cot.properties.creator'
584
- />
585
-
586
- <PropertyMetadata
587
- v-if='
588
- cot.properties.takv
589
- && cot.properties.takv
590
- && Object.keys(cot.properties.takv).length
591
- '
592
- :cot='cot'
593
- />
594
- </div>
595
- <template v-else-if='mode === "channels"'>
596
- <div
597
- style='height: calc(100vh - 225px)'
598
- class='overflow-auto overflow-x-hidden'
599
- >
600
- <Subscriptions :cot='cot' />
601
- </div>
602
- </template>
603
- <template v-else-if='mode === "raw"'>
604
- <div
605
- style='height: calc(100vh - 225px)'
606
- class='overflow-auto col-12'
607
- >
608
- <CopyField
609
- mode='pre'
610
- style='
611
- width: calc(100% - 100px);
612
- height: calc(100vh - 225px);
613
- '
614
- :model-value='JSON.stringify(cot.as_feature(), null, 4)'
615
- />
616
- </div>
617
- </template>
618
- </template>
619
-
620
- <Share
621
- v-if='share && cot'
622
- :feats='[cot.as_feature()]'
623
- @done='share = false'
624
- @close='share = false'
625
- />
626
- </template>
627
-
628
- <script setup lang='ts'>
629
- import { ref, computed, watch, onMounted } from 'vue';
630
- import { useRoute, useRouter } from 'vue-router'
631
- import FeatureIcon from './util/FeatureIcon.vue';
632
- import type COT from '../../base/cot.ts';
633
- import type { COTType } from '../../types.ts';
634
- import { OriginMode } from '../../base/cot.ts'
635
- import Subscription from '../../base/subscription.ts'
636
- import {
637
- TablerNone,
638
- TablerDelete,
639
- TablerToggle,
640
- TablerDropdown,
641
- TablerIconButton,
642
- } from '@tak-ps/vue-tabler';
643
-
644
- import CopyField from './util/CopyField.vue';
645
- import Share from './util/Share.vue';
646
- import LineLength from './util/LineLength.vue';
647
- import PolygonArea from './util/PolygonArea.vue';
648
- import Coordinate from './util/Coordinate.vue';
649
- import PropertyType from './util/PropertyType.vue';
650
- import PropertyBattery from './util/PropertyBattery.vue';
651
- import PropertyDistance from './util/PropertyDistance.vue';
652
- import PropertyBearing from './util/PropertyBearing.vue';
653
- import PropertyMilSym from './util/PropertyMilSym.vue';
654
- import PropertySensor from './util/PropertySensor.vue';
655
- import PropertyPhone from './util/PropertyPhone.vue';
656
- import PropertyCreator from './util/PropertyCreator.vue';
657
- import PropertyEmail from './util/PropertyEmail.vue';
658
- import PropertySpeed from './util/PropertySpeed.vue';
659
- import Breadcrumb from './util/Breadcrumb.vue';
660
- import PropertyElevation from './util/PropertyElevation.vue';
661
- import PropertyAttachments from './util/PropertyAttachments.vue';
662
- import PropertyLinks from './util/PropertyLinks.vue';
663
- import PropertyTimes from './util/PropertyTimes.vue';
664
- import PropertyMetadata from './util/PropertyMetadata.vue';
665
- import PropertyStyle from './util/PropertyStyle.vue';
666
- import {
667
- IconPencil,
668
- IconFence,
669
- IconMovie,
670
- IconRoute,
671
- IconCone,
672
- IconStar,
673
- IconDoorEnter,
674
- IconDoorExit,
675
- IconStarFilled,
676
- IconMessage,
677
- IconBlockquote,
678
- IconDotsVertical,
679
- IconChevronDown,
680
- IconAmbulance,
681
- IconPlayerPlay,
682
- IconShare2,
683
- IconZoomPan,
684
- IconCode,
685
- IconAffiliate,
686
- IconInfoCircle,
687
- IconPaperclip,
688
- IconLock,
689
- IconLockOpen,
690
- } from '@tabler/icons-vue';
691
- import Subscriptions from './util/Subscriptions.vue';
692
- import { std } from '../../std.ts';
693
- import { useMapStore } from '../../stores/map.ts';
694
- import { useFloatStore } from '../../stores/float.ts';
695
-
696
- const mapStore = useMapStore();
697
-
698
- const floatStore = useFloatStore();
699
- const route = useRoute();
700
- const router = useRouter();
701
-
702
- const cot = ref<COT | undefined>(undefined);
703
-
704
- const subscription = ref<Subscription | undefined>();
705
-
706
- const share = ref(false);
707
- const units = ref({
708
- display_speed: 'mi/h',
709
- display_elevation: 'feet',
710
- display_distance: 'mile'
711
- });
712
-
713
- const username = ref<string | undefined>();
714
- const type = ref<COTType | undefined>();
715
- const mode = ref('default');
716
- const remarksExpanded = ref(true);
717
-
718
- const currentTime = ref(new Date());
719
- const interval = ref<ReturnType<typeof setInterval> | undefined>();
720
-
721
- watch(cot, async () => {
722
- if (cot.value) {
723
- if (cot.value.origin.mode === OriginMode.MISSION && cot.value.origin.mode_id) {
724
- subscription.value = await Subscription.from(cot.value.origin.mode_id, localStorage.token);
725
- } else {
726
- subscription.value = undefined;
727
- }
728
- }
729
- });
730
-
731
- watch(route, async () => {
732
- mode.value = 'default'
733
- await load_cot();
734
- });
735
-
736
- onMounted(async () => {
737
- await load_cot();
738
-
739
- const profile = await mapStore.worker.profile.load();
740
- if (profile) {
741
- units.value.display_speed = profile.display_speed;
742
- units.value.display_elevation = profile.display_elevation;
743
- units.value.display_distance = profile.display_distance;
744
- }
745
-
746
- interval.value = setInterval(async () => {
747
- currentTime.value = new Date();
748
-
749
- if (!cot.value) {
750
- await load_cot();
751
- }
752
- }, 1000)
753
- });
754
-
755
- const is_editable = computed(() => {
756
- if (!cot.value || !cot.value.is_editable) return false;
757
-
758
- if (!subscription.value) {
759
- return true
760
- } else {
761
- return subscription.value.role && subscription.value.role.permissions.includes("MISSION_WRITE");
762
- }
763
- });
764
-
765
- const center = computed(() => {
766
- if (!cot.value) return [0,0];
767
-
768
- const arr = [
769
- Math.round(cot.value.properties.center[0] * 1000000) / 1000000,
770
- Math.round(cot.value.properties.center[1] * 1000000) / 1000000,
771
- ]
772
-
773
- if (cot.value.properties.center.length > 2) {
774
- arr.push(Math.round(cot.value.properties.center[2] * 100) / 100)
775
- }
776
-
777
- return arr;
778
- })
779
-
780
- const isLocked = computed(() => {
781
- if (!cot.value) return false;
782
- const id = cot.value.properties.id || cot.value.id;
783
- return mapStore.locked.length > 0 && mapStore.locked[mapStore.locked.length - 1] === id;
784
- });
785
-
786
- function toggleLock() {
787
- if (!cot.value) return;
788
- const id = cot.value.properties.id || cot.value.id;
789
-
790
- if (isLocked.value) {
791
- mapStore.locked = mapStore.locked.filter(l => l !== id);
792
- } else {
793
- mapStore.locked.push(id);
794
- }
795
- }
796
-
797
- async function load_cot() {
798
- username.value = undefined;
799
-
800
- const baseCOT = (await mapStore.worker.db.get(String(route.params.uid), {
801
- mission: true
802
- }))
803
-
804
- if (baseCOT && baseCOT.origin.mode === OriginMode.MISSION && baseCOT.origin.mode_id) {
805
- subscription.value = await Subscription.from(baseCOT.origin.mode_id, localStorage.token);
806
- }
807
-
808
- if (baseCOT) {
809
- cot.value = baseCOT
810
-
811
- cot.value.reactivity();
812
-
813
- if (cot.value.is_skittle) {
814
- username.value = await cot.value.username()
815
- } else {
816
- username.value = undefined;
817
- }
818
-
819
- await fetchType();
820
- }
821
- }
822
-
823
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
824
- function updateProperty(key: string, event: any) {
825
- if (!cot.value) return;
826
-
827
- if (typeof event === 'string' || typeof event === 'number') {
828
- if (cot.value.properties[key] !== event) {
829
- cot.value.properties[key] = event;
830
- cot.value.update({})
831
- }
832
- } else {
833
- cot.value.properties[key] = event;
834
- cot.value.update({})
835
- }
836
- }
837
-
838
- function updatePropertyType(type: string): void {
839
- if (!cot.value) return;
840
-
841
- if (type.startsWith('a-') && cot.value.properties.type.startsWith('u-')) {
842
- cot.value.properties["marker-color"] = '#FFFFFF';
843
- }
844
-
845
- cot.value.properties.type = type;
846
-
847
- if (!cot.value.properties.icon || !cot.value.properties.icon.includes(':')) {
848
- cot.value.properties.icon = type;
849
- }
850
-
851
- cot.value.update({});
852
- }
853
-
854
- function updateCoordinates(center: number[]): void {
855
- if (!cot.value) return;
856
-
857
- cot.value.properties.center = center;
858
-
859
- if (cot.value.geometry.type === 'Point') {
860
- cot.value.geometry.coordinates = center;
861
- }
862
-
863
- cot.value.update({});
864
- }
865
-
866
- async function editGeometry() {
867
- if (!cot.value) return;
868
- mapStore.draw.edit(cot.value);
869
- }
870
-
871
- async function fetchType() {
872
- if (!cot.value) return;
873
- type.value = await std(`/api/type/cot/${cot.value.properties.type}`) as COTType
874
- }
875
-
876
- function updatePropertyAttachment(hashes: string[]) {
877
- if (!cot.value) return;
878
-
879
- if (!cot.value.properties.attachments) {
880
- cot.value.properties.attachments = [];
881
- }
882
-
883
- cot.value.properties.attachments = hashes
884
-
885
- cot.value.update({});
886
- }
887
-
888
- async function deleteCOT() {
889
- if (!cot.value) return;
890
- await mapStore.worker.db.remove(cot.value.id, {
891
- mission: !!subscription.value
892
- });
893
- router.push('/');
894
- }
895
- </script>
896
-
897
- <style scoped>
898
- .grid-transition {
899
- display: grid;
900
- grid-template-rows: 0fr;
901
- transition: grid-template-rows 0.3s ease-out;
902
- }
903
-
904
- .grid-transition.expanded {
905
- grid-template-rows: 1fr;
906
- }
907
-
908
- .rotate-180 {
909
- transform: rotate(-90deg);
910
- }
911
-
912
- .transition-transform {
913
- transition: transform 0.3s ease-out;
914
- }
915
- </style>