Advertisement
Iceyman

AMP html

Sep 13th, 2022
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 128.00 KB | None | 0 0
  1. wget -qO- http://192.168.1.143:80 80
  2. <!DOCTYPE html>
  3.  
  4. <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <title>AMP - Application Management Panel</title>
  7. <meta charset="utf-8" />
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  10. <meta http-equiv="cleartype" content="on" />
  11. <meta name="google" value="notranslate">
  12. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximu m-scale=1.0, user-scalable=0" />
  13. <meta name="application-name" content="AMP" />
  14. <meta name="theme-color" content="#25597E" />
  15. <meta name="mobile-web-app-capable" content="yes" />
  16. <meta name="apple-mobile-web-app-capable" content="yes" />
  17. <meta name="apple-mobile-web-app-title" content="AMP" />
  18. <link rel="apple-touch-icon-precomposed" sizes="256x256" href="Images/AppIco n.png">
  19. <link rel="apple-touch-icon" href="Images/AppIcon.png">
  20. <link type="text/css" href="CSS/Stylesheet.css?v=2.4.0.4" rel="stylesheet" / >
  21. <link type="text/css" href="theme?v=2.4.0.4" rel="stylesheet" />
  22. <link type="image/x-icon" rel="shortcut icon" href="favicon.ico" />
  23. <link rel="icon" sizes="256x256" href="Images/AppIcon.png" />
  24. <link rel="manifest" href="manifest.json" />
  25. </head>
  26. <body>
  27. <div id="mainModal" class="modalbg">
  28. <div class="modalpanel">
  29. <img id="modalImage" />
  30. <h1 id="modaltitle"></h1>
  31. <div class="modalcontents">
  32. <p id="modalmessage"></p>
  33. <p id="modalsubtitle"></p>
  34. <input id="modalPromptInput" type="text" />
  35. <p id="relatedLinkArea"><span>Related Link:</span> <a href="" id ="relatedLinkA" title="" target="_blank"></a></p>
  36. <div id="modalAdvanced">
  37. <p>Advanced Details <span class="adHandle"></span></p>
  38. <pre id="modalAdvancedText"></pre>
  39. </div>
  40. </div>
  41. <div class="modalbuttons">
  42.  
  43. </div>
  44. <div class="loader" id="modalLoader"></div>
  45. </div>
  46. </div>
  47. <div id="loginSplash" class="desktopOnly">
  48. <a class="twitter-timeline" data-lang="en" data-width="300px" data-heigh t="100%" data-dnt="true" data-theme="dark" href="https://twitter.com/CubeCoders"
  49. data-chrome="noborders,noscrollbar,transparent,noheader,nofooter"></a >
  50. <iframe id="loginBrandContents"></iframe>
  51. </div>
  52. <div id="loginContainer">
  53. <div id="loginLogo">
  54. <img src="Images/FullLogo256.png" alt="Welcome to AMP" />
  55. <div id="ADSLoginWaiting">Connecting to remote AMP instance...</div>
  56. </div>
  57. <form role="form" id="loginForm" spellcheck="false">
  58. <h2 id="loginWelcome">Welcome to AMP</h2>
  59. <div id="loginModuleInfo">
  60. <h4><span>For </span><span class="AppName"></span></h4>
  61. <h6><span>&copy;</span><span class="ModuleAuthor"></span></h6>
  62. </div>
  63. <div>
  64. <label>Username</label><br />
  65. <input type="text" name="username" required="required" />
  66. </div>
  67. <div>
  68. <label>Password</label><br />
  69. <input type="password" name="password" required="required" id="l oginPasswordField" />
  70. </div>
  71. <div>
  72. <label class="checkbox">
  73. <input type="checkbox" name="rememberme" checked="checked" / >
  74. <span></span>
  75. </label>
  76. <span style="margin-left: 8px;">Remember Me</span>
  77. </div>
  78. <button class="bgGreen">Login</button><br /><br />
  79. <h3 id="loginFailureReason"></h3>
  80. <a href="https://github.com/CubeCoders/AMP/wiki/How-to-reset-your-AM P-login-details" target="_blank" id="forgotLogin">Forgotten login details?</a>
  81. </form>
  82. <div class="loader" id="loginSpinner"></div>
  83. </div>
  84. <div id="barTop">
  85. <div id="userInfo" data-viewmodel="UserInfoVM">
  86. <img class="icon smallIcon" data-bind="attr: {src: imageSmallURI}" / >
  87. <span data-bind="text: username"></span>
  88. </div>
  89. <div id="responsiveHelpers">
  90. <img src="Images/NavToggle.png" id="navToggle" alt="Navigation" />
  91. </div>
  92. <div id="tabInfo">
  93. <h2 id="tabTitle">Status</h2>
  94. <h4 id="tabCaption"></h4>
  95. </div>
  96. <div id="topSearchBox" data-viewmodel="SearchAreaVM">
  97. <div class="icon icons_search"></div>
  98. <input type="search" role="search" autocomplete="amp_off_9af765b1-21 c0-4385-b1ea-383cefb5a33f" class="searchBox" title="Search" placeholder="Search. .." data-bind="textInput: query" name="amp_search_9a7ef19d-eeb0-43c8-a706-f43336 29f5db" />
  99. <div id="searchResults" style="display:none;" data-bind="visible: re sultsVisible,foreach: results">
  100. <div class="searchResultCategory">
  101. <div class="searchResultCategoryInfo">
  102. <h3 data-bind="text: name"></h3>
  103. <p data-bind="text: description"></p>
  104. </div>
  105. <div class="searchCategoryItems" data-bind="foreach: items">
  106. <div class="searchResult" data-bind="click: click, css: {'videoResult' : imageURI != null}">
  107. <!-- ko if: imageURI != null -->
  108. <img data-bind="attr: {src: imageURI}" />
  109. <!-- /ko -->
  110. <h3 data-bind="text: title"></h3>
  111. <p data-bind="text: description"></p>
  112. <p class="source" data-bind="text: source"></p>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </div>
  119. <div id="mainBody">
  120. <div id="releaseSpec"></div>
  121. <div id="mainBodyArea">
  122. <div class="bodyTab" id="tab_currentuser" data-viewmodel="UserInfoVM ">
  123. <img data-bind="attr: {src: imageSmallURI}" alt="Gravatar" style ="float:left;" />
  124. <div class="userInfoBlock">
  125. <h2 data-bind="text: username"></h2>
  126. <!-- ko if: isLDAPUser() -->
  127. <h3>LDAP Authenticated User</h3>
  128. <!-- /ko -->
  129. <a href="https://gravatar.com/emails/" target="_new">Edit pr ofile picture</a>
  130. </div>
  131. <div class="form-group">
  132. <label>Email Address</label>
  133. <input type="email" data-bind="value: emailAddress" />
  134. </div>
  135. <br />
  136. <button data-bind="click: updateDetails" class="slimButton slide Icon icons_save"><span>Save Changes</span></button>
  137.  
  138. <h2 style="margin-top:0.8em">Two factor authentication (2FA)</h2 >
  139. <p>
  140. 2FA is currently <span style="margin-right:16px;" data-bind= "css: (isTwoFactor() ? 'bgGreen' : 'bgRed'), text: (isTwoFactor() ? 'Enabled' : 'Disabled')"></span>
  141. <button class="slimButton" data-bind="visible: !isTwoFactor( ), click: enableTwoFactor">Setup 2FA</button>
  142. <button data-bind="visible: isTwoFactor(), click: disableTwo Factor" class="slimButton bgRed slideIcon icons_warning"><span>Disable 2FA</span ></button>
  143. </p>
  144.  
  145. <!-- ko if: !isLDAPUser() -->
  146. <h2>Change Password</h2>
  147. <table class="twoColLine noZebra">
  148. <tr>
  149. <td>Old Password</td>
  150. <td><input type="password" data-bind="value: oldPassword " required="required" /></td>
  151. </tr>
  152. <tr>
  153. <td>New Password</td>
  154. <td><input type="password" data-bind="value: newPassword , valueUpdate: 'input'" required="required" autocomplete="new-password" /></td>
  155. </tr>
  156. <tr>
  157. <td>Confirm Password</td>
  158. <td><input type="password" data-bind="value: confirmPass word" required="required" autocomplete="new-password" /></td>
  159. </tr>
  160. <tr>
  161. <td>Password Strength</td>
  162. <td><div class="passwordGrade" data-bind="css: passwordG radeClass(), style: {width: passwordGradeWidth()}, visible: newPassword() != ''" ></div></td>
  163. </tr>
  164. </table>
  165. <br />
  166. <button class="slimButton" data-bind="click: changePassword">Cha nge Password</button>
  167. <!-- /ko -->
  168.  
  169. <h2>Actions</h2>
  170. <button class="slimButton" data-bind="click: mobileLogin">Mobile Login</button>
  171. <button class="slimButton" data-bind="click: serviceLogin">Servi ce Login</button>
  172. <button class="slimButton bgRed slideIcon icons_warning" data-bi nd="click: logout"><span>Logout</span></button>
  173. </div>
  174. <div class="bodyTab" id="tab_status">
  175. <div id="AMP_Core_MetricsDisplay">
  176. <!-- ko foreach: metrics -->
  177. <div class="DisplayMetric" data-bind="style: {'border-color' : color}">
  178. <div class="DisplayMetricHeader" data-bind="style: { 'ba ckground-color': color, 'color': color3 }">
  179. <div data-bind="text:name" style="font-weight:bold;" ></div>
  180. <div data-bind="text:displayValue"></div>
  181. <div class="circleChart">
  182. <svg>
  183. <g>
  184. <circle r="32" cx="48" cy="56"></circle>
  185. <circle r="32" cx="48" cy="56" class="va lue" data-bind="style:{ 'stroke-dashoffset': dashOffset() }"></circle>
  186. </g>
  187. </svg>
  188. </div>
  189. </div>
  190. <div class="DisplayMetricGraph" data-bind="attr: { id: e lementId }"></div>
  191. </div>
  192. <!-- /ko -->
  193. <div id="AMP_Core_PrimaryTask">
  194. <span class="appStateIcon" data-bind="style:{ 'backgroun d-color' : stateColor }">&nbsp;</span>
  195. <span>Application State: <span data-bind="text: stateTex t"></span></span>
  196. <!-- ko if: primaryTask() != null -->
  197. <!-- ko with: primaryTask -->
  198. <div class="notification" data-bind="css: { failed: Stat e() == 3 }">
  199. <div class="notificationProgessContainer" style="wid th: calc(100% + 12px); margin-left: -7px;">
  200. <div class="notificationProgressBar" data-bind=" css: { progUnknown: IsIndeterminate }, style: { width : IsIndeterminate() ? '20% ' : ProgressPercent() + '%' }">
  201. <div class="notificationSpeed" data-bind="te xt: Speed, visible: !IsIndeterminate()"></div>
  202. </div>
  203. </div>
  204. </div>
  205. <!-- /ko -->
  206. <!-- /ko -->
  207. </div>
  208. </div>
  209. <br />
  210. <div class="buttonGroup" id="AMP_Core_ServerStatus" style="width : auto; margin: 0 8px 16px 0;">
  211. <button class="bgGreen slideIcon icons_play" data-module="Co re" data-method="Start" data-showstates="0,100" data-permission="Core.AppManagem ent.StartApplication"><span>Start</span></button>
  212. <button class="bgGreen slideIcon icons_play" data-module="Co re" data-method="Start" data-showstates="50" data-permission="Core.AppManagement .StartApplication"><span>Wake Up</span></button>
  213. <button class="bgAmber slideIcon icons_restart" data-module= "Core" data-method="UpdateApplication" data-showstates="0,100" data-permission=" Core.AppManagement.UpdateApplication"><span>Update</span></button>
  214. <button class="slideIcon icons_restart" data-module="Core" d ata-method="Restart" data-showstates="20" data-permission="Core.AppManagement.Re startApplication"><span>Restart</span></button>
  215. <button class="bgRed slideIcon icons_stop" data-module="Core " data-method="Stop" data-showstates="20,50" data-permission="Core.AppManagement .StopApplication"><span>Stop</span></button>
  216. <button class="bgAmber slideIcon icons_pause" data-module="C ore" data-method="Sleep" data-showstates="20" id="sleepButton" data-permission=" Core.AppManagement.StopApplication"><span>Sleep</span></button>
  217. <button class="bgRed slideIcon icons_warning" data-module="C ore" data-method="Kill" data-showstates="30,40" data-permission="Core.AppManagem ent.StopApplication"><span>Kill</span></button>
  218. <button class="bgRed slideIcon icons_warning" data-module="C ore" data-method="Kill" data-showstates="10,70" data-permission="Core.AppManagem ent.StopApplication"><span>Abort</span></button>
  219. <button class="slideIcon icons_server" data-bind="visible: ( endpointURI() != '' || primaryEndpoint() != '') && state() == 20, click: connect ToServer"><span>Connect to Server</span></button>
  220. <a style="text-decoration:none;" data-bind="visible: endpoin tURI() != '' && state() == 20, attr: {href:endpointURI()}">🔗</a>
  221. </div>
  222. </div>
  223. <div class="bodyTab noOverflowTab" id="tab_console">
  224. <div class="buttonGroup slimButtonGroup" id="AMP_Core_ConsoleBut tons">
  225. <button class="slimButton slimShrinkable bgGreen slideIcon i cons_play" data-module="Core" data-method="Start" data-showstates="0,100" data-p ermission="Core.AppManagement.StartApplication"><span>Start</span></button>
  226. <button class="slimButton slimShrinkable bgGreen slideIcon i cons_play" data-module="Core" data-method="Start" data-showstates="50" data-perm ission="Core.AppManagement.StartApplication"><span>Wake Up</span></button>
  227. <button class="slimButton slimShrinkable bgAmber slideIcon i cons_restart" data-module="Core" data-method="UpdateApplication" data-showstates ="0,100" data-permission="Core.AppManagement.UpdateApplication"><span>Update</sp an></button>
  228. <button class="slimButton slimShrinkable slideIcon icons_res tart" data-module="Core" data-method="Restart" data-showstates="20" data-permiss ion="Core.AppManagement.RestartApplication"><span>Restart</span></button>
  229. <button class="slimButton slimShrinkable bgRed slideIcon ico ns_stop" data-module="Core" data-method="Stop" data-showstates="20,50" data-perm ission="Core.AppManagement.StopApplication"><span>Stop</span></button>
  230. <button class="slimButton slimShrinkable bgAmber slideIcon i cons_pause" data-module="Core" data-method="Sleep" data-showstates="20" id="slee pButton" data-permission="Core.AppManagement.StopApplication"><span>Sleep</span> </button>
  231. <button class="slimButton slimShrinkable bgRed slideIcon ico ns_warning" data-module="Core" data-method="Kill" data-showstates="30,40" data-p ermission="Core.AppManagement.StopApplication"><span>Kill</span></button>
  232. <button class="slimButton slimShrinkable bgRed slideIcon ico ns_warning" data-module="Core" data-method="Kill" data-showstates="10,70" data-p ermission="Core.AppManagement.StopApplication"><span>Abort</span></button>
  233. </div>
  234. <div id="AMP_Core_ConsoleStatus">
  235. <span class="appStateIcon" data-bind="style:{ 'background-co lor' : stateColor }">&nbsp;</span>
  236. <span>Application State: <span data-bind="text: stateText">< /span></span>
  237. </div>
  238. <div id="consoleContainer" data-viewmodel="UserListVM">
  239. <div id="consoleUsers" data-bind="foreach: users">
  240. <div class="consoleUserEntry" data-bind="text: name, sty le: {color: userColor}, click: click, attr: {'data-name': name, 'data-id': id}"> </div>
  241. </div>
  242. <div id="consoleArea">
  243.  
  244. </div>
  245. <div id="consoleLine">
  246. <input id="consoleLineEntry" type="text" autocomplete="o ff" spellcheck="false" />
  247. </div>
  248. </div>
  249. </div>
  250.  
  251. <div id="settingsBody" data-bind="foreach: categories" data-viewmode l="SettingsVM">
  252. <!-- ko if: settings().length > 0 -->
  253. <div class="settingsGroup bodyTab" data-bind="attr: {id: tabName ()}">
  254. <div class="groupBody" data-bind="template: {name: 'settingE ditorTemplate', foreach: settings}"></div>
  255. </div>
  256. <!-- /ko -->
  257. </div>
  258.  
  259. <script id="settingEditorTemplate" type="text/html">
  260. <div class="settingContainer" data-bind="visible: visible, css: { highlighted : isHighlighted }">
  261. <!-- ko if: settingType().startsWith("List<") -->
  262. <button class="slimButton listEditButton slideIcon icons_add _item" data-bind="click: addValue"><span>Add</span></button>
  263. <button class="slimButton listEditButton slideIcon icons_rem ove bgRed" data-bind="click: removeValue"><span>Remove</span></button>
  264. <button class="slimButton listEditButton" data-bind="click: moveValueDown" style="min-width:30px !important;margin-left:1px;"><span>⬇</span> </button>
  265. <button class="slimButton listEditButton" data-bind="click: moveValueUp" style="min-width:30px !important"><span>⬆</span></button>
  266. <!-- /ko -->
  267. <div class="settingLabel" data-bind="style: { position: (!se ttingType().startsWith('List<') && !settingType().startsWith('Dictionary<')) ? ' relative' : 'unset'}, css: {'provisionSpec': provisionSpec}">
  268. <!-- ko if: settingType() == "Boolean" -->
  269. <label class="checkbox">
  270. <input type="checkbox" data-bind="checked: value" />
  271. <span></span>
  272. </label>
  273. <!-- /ko -->
  274. <div data-bind="text: name"></div>
  275. <!-- ko if: description != "" -->
  276. <div class="settingDescription" data-bind="text: descrip tion"></div>
  277. <!-- /ko -->
  278. <!-- ko if: settingType() == "Enum" && inputType() != "R adio" -->
  279. <select data-bind="options: enumValues, value: value, op tionsText: 'name', optionsValue: 'value', disable: isReadOnly"></select>
  280. <!-- /ko -->
  281. <!-- ko if: settingType() == "Combo" -->
  282. <input type="text" data-bind="value: value, attr: { 'lis t' : 'list_' + node() }, event: {dblclick: clearValue}, disable: isReadOnly" />
  283. <datalist data-bind="attr: {id:'list_' + node()}, foreac h: enumValues">
  284. <option data-bind="val: value, text: name"></option>
  285. </datalist>
  286. <!-- /ko -->
  287. <!-- ko if: inputType() == "Radio" -->
  288. <div data-bind="foreach: enumValues" class="radioList">
  289. <label data-bind="css: {selected: $parent.value == v alue}"><input type="radio" data-bind="checked: $parent.value, uniqueName: false, attr: {name: 'list_' + $parent.node, value: value}, disable: isReadOnly" /><spa n data-bind="text: name"></span></label>
  290. </div>
  291. <!-- /ko -->
  292. <!-- ko if: inputType() == "Textarea" -->
  293. <textarea data-bind="textInput: value, disabled: isReadO nly"></textarea>
  294. <!-- /ko -->
  295. <!-- ko if: settingType().startsWith("List<") -->
  296. <select multiple="multiple" data-bind="options: value, v alue: selectedValue, valueAllowUnset: true, disabled: isReadOnly"></select>
  297. <!-- /ko -->
  298. <!-- ko if: settingType().startsWith("Dictionary<") -->
  299. <table>
  300. <thead>
  301. <tr>
  302. <th>Key</th>
  303. <th>Value</th>
  304. <!-- ko if: isReadOnly === false -->
  305. <th></th>
  306. <!-- /ko -->
  307. </tr>
  308. </thead>
  309. <tbody data-bind="foreach: value">
  310. <tr>
  311. <td data-bind="text: Key"></td>
  312. <td data-bind="text: Value"></td>
  313. <!-- ko if: $parent.isReadOnly === false -->
  314. <td><button class="slimButton listEditButton slideIcon icons_remove bgRed" data-bind="click: $parent.removeKVP"><span>Remove </span></button></td>
  315. <!-- /ko -->
  316. </tr>
  317. </tbody>
  318. <tfoot>
  319. <tr>
  320. <td><input type="text" data-bind="value: new KVPkey" placeholder="Key" /></td>
  321. <td><input type="text" data-bind="value: new KVPvalue" placeholder="Value" /></td>
  322. <!-- ko if: isReadOnly === false -->
  323. <td><button class="slimButton listEditButton slideIcon icons_add_item" data-bind="click: addKVP"><span>Add</span></button></ td>
  324. <!-- /ko -->
  325. </tr>
  326. </tfoot>
  327. </table>
  328. <!-- /ko -->
  329. <!-- ko if: settingType() == "Uri" -->
  330. <input type="url" data-bind="value: value, disable: isRe adOnly, attr: {'placeholder' : placeholder}" />
  331. <!-- /ko -->
  332. <!-- ko if: inputType() == "RandomPassword" -->
  333. <button class="slimButton slideIcon icons_edit" style="m argin-bottom:16px" data-bind="click: generateRandomPassword"><span>Generate Pass word</span></button> <button class="slimButton bgRed slideIcon icons_remove" dat a-bind="click: clearPassword"><span>Clear Password</span></button>
  334. <!-- /ko -->
  335. <!-- ko if: (settingType() == "String" || inputType() == "number" || inputType() == "range") && inputType() != "Textarea" && inputType() != "RandomPassword" -->
  336. <input data-bind="attr: {'type': inputType(), 'placehold er' : placeholder, 'min': minValue, 'max': maxValue}, value: value, disable: isR eadOnly" />
  337. <!-- ko if: suffix != null && suffix != "" -->
  338. <span class="inputFieldSuffix" data-bind="text: suffix"> </span>
  339. <!-- /ko -->
  340. <!-- /ko -->
  341. <div data-bind="foreach: actions" class="settingActionsL ist">
  342. <button type="button" data-bind="text: caption, clic k: click"></button>
  343. </div>
  344. <!-- ko if: !settingType().startsWith("List<") && !setti ngType().startsWith("Dictionary<") -->
  345. <div data-bind="fadeVisible: tooltipVisible, attr: {'cla ss': tooltipClass}"><span data-bind="text: tooltipText"></span><!--<img src="Ima ges/settingWait.gif" alt="Updating..." data-bind="visible: updating" />--></div>
  346. <!-- /ko -->
  347. </div>
  348. <!-- ko if: provisionSpec === true -->
  349. <div class="settingWarning">You can change this by selecting "Edit Ports" for this instance in ADS.</div>
  350. <!-- /ko -->
  351. </div>
  352. </script>
  353.  
  354. <div class="bodyTab" id="tab_schedule" data-viewmodel="ScheduleVM">
  355. <!-- ko if: populatedTriggers().length === 0 -->
  356. <h1>No Schedule Set</h1>
  357. <p style="margin-bottom:48px">Create a new schedule trigger to m ake tasks run either at a given interval, or in response to an event.</p>
  358. <!-- /ko -->
  359. <div class="flexButtonGroup">
  360. <button class="slideIcon icons_add_item bgGreen" data-bind=" click: addNewTrigger"><span>Add new trigger</span></button>
  361. </div>
  362. <div id="scheduleTriggersContainer">
  363. <!-- ko foreach: populatedTriggers -->
  364. <div class="scheduleTriggerInfo">
  365. <div class="scheduleTriggerTaskDropper">
  366. <div class="iconButton icons_play" data-bind="click: RunNow" title="Run this trigger immediately"></div>
  367. <div class="iconButton icons_edit" data-bind="click: Edit, visible: IsEditable" title="Edit Trigger"></div>
  368. <div class="iconButton icons_remove" data-bind="clic k: Delete" title="Delete Trigger"></div>
  369. </div>
  370. <div class="scheduleTriggerDescription">
  371. <div class="scheduleTriggerHeaderItem">
  372. <div class="scheduleHeader">Trigger</div>
  373. <div class="scheduleTriggerDescriptionTitle" dat a-bind="text: Description"></div>
  374. </div>
  375. <div class="scheduleTriggerDescriptionVariables sche duleTriggerHeaderItem">
  376. <div class="scheduleHeader">Emitted Values</div>
  377. <div class="scheduleTriggerDescriptionVariables" >
  378. <!-- ko if: (Emits().length === 0) -->
  379. <div class="scheduleTriggerVariable">(None)< /div>
  380. <!-- /ko -->
  381. <!-- ko foreach: Emits -->
  382. <div class="scheduleTriggerVariable" data-bi nd="text: Name"></div>
  383. <!-- /ko -->
  384. </div>
  385. </div>
  386. </div>
  387. <div class="scheduleTriggerContents">
  388. <!-- ko foreach: Tasks -->
  389. <div class="scheduleTriggerTask">
  390. <div class="scheduleTriggerTaskDropper">
  391. <!-- ko if: (ParameterMappings().length > 0) -->
  392. <div class="iconButton icons_edit" data-bind ="click: Edit" title="Edit Task"></div>
  393. <!-- /ko -->
  394. <div class="iconButton icons_moveUp" data-bi nd="click: MoveUp" title="Move task up in list"></div>
  395. <div class="iconButton icons_moveDown" data- bind="click: MoveDown" title="Move down up in list"></div>
  396. <div class="iconButton icons_remove bgRed" d ata-bind="click: Delete" title="Delete task"></div>
  397. </div>
  398. <div class="scheduleTriggerTaskTitle" data-bind= "text: Description"></div>
  399. <!-- ko if: (ParameterMappings().length > 0) -->
  400. <table class="TwoColLine">
  401. <tbody data-bind="foreach: ParameterMappings ">
  402. <tr>
  403. <td data-bind="text: Param"></td>
  404. <td data-bind="text: Value" class="p arameterMapping"></td>
  405. </tr>
  406. </tbody>
  407. </table>
  408. <!-- /ko -->
  409. </div>
  410. <!-- /ko -->
  411. <!-- ko if: (Tasks().length == 0) -->
  412. <div style="padding:16px">
  413. <h2>No Tasks Added</h2>
  414. <p style="margin-bottom:16px">Add a new task to this trigger to perform actions once this trigger is activated, such as taking a backup.</p>
  415. </div>
  416. <!-- /ko -->
  417. <div class="scheduleTriggerTask">
  418. <button class="slideIcon icons_add_item slimButt on bgGreen" data-bind="click: AddTask" title="Add new task"><span>Add new task</ span></button>
  419. </div>
  420. </div>
  421. </div>
  422. <!-- /ko -->
  423. </div>
  424. </div>
  425.  
  426. <div class="bodyTab" id="tab_activesessions" data-viewmodel="Session ManagementVM">
  427. <form id="currentSessionsForm">
  428. <table class="rowSelect">
  429. <thead>
  430. <tr>
  431. <th>Username</th>
  432. <th>Logged in at</th>
  433. <th>Last activity</th>
  434. <th>IP Address</th>
  435. <th>Device</th>
  436. </tr>
  437. </thead>
  438. <tbody data-bind="foreach: sessions">
  439. <tr data-bind="click: click, css: {selected: selecte d}">
  440. <td data-bind="text: Username"></td>
  441. <td data-bind="text: DisplayStartTime"></td>
  442. <td data-bind="text: DisplayLastActivity"></td>
  443. <td data-bind="text: Source"></td>
  444. <td><div data-bind="attr: {'class' : SessionType Icon()}"></div></td>
  445. </tr>
  446. </tbody>
  447. </table>
  448. </form>
  449. <br />
  450. <div class="buttonGroup" data-bind="visible: selectedSession() ! = null">
  451. <!--<button>End Session</button>-->
  452. </div>
  453. <h3></h3>
  454. </div>
  455.  
  456. <div class="bodyTab noPaddingTab" id="tab_usermanagement" data-viewm odel="AMPUserListVM">
  457. <div class="sideItemList">
  458. <button class="slideIcon icons_add_item slimButton" data-bin d="click: createUser"><span>Create User</span></button>
  459.  
  460. <div>
  461. <div data-bind="foreach: users" class="itemList">
  462. <div class="userManagement_user item" data-bind="cli ck: click, css:{selected: selected}">
  463. <img data-bind="attr:{src: gravatar}" alt="Grava tar" />
  464. <span data-bind="text: username"></span>
  465. </div>
  466. </div>
  467. </div>
  468. </div>
  469.  
  470. <div class="sideItemData" style="margin-top:16px;">
  471. <!-- ko with: editUser -->
  472. <img data-bind="attr: {src: GravatarImageUri}" alt="Gravatar " style="float:left; width: 128px" />
  473. <div class="userInfoBlock">
  474. <h2 data-bind="text: Name"></h2>
  475. <!-- ko if: IsLDAPUser() -->
  476. <h3>LDAP Authenticated User</h3>
  477. <!-- /ko -->
  478. <p>Last login: <span data-bind="text: LastLoginTimestamp "></span></p>
  479. </div>
  480.  
  481. <div class="sideItemDataTable">
  482. <div class="provisionSetting" style="grid-column: 1/span 2">
  483. <h4>Email Address</h4>
  484. <input type="email" data-bind="value: EmailAddress" />
  485. </div>
  486.  
  487. <div class="provisionSetting">
  488. <h4>Disabled</h4>
  489. <p class="settingDescription">Disabled users cannot login, but retail all their data.</p>
  490. <label class="checkbox">
  491. <input type="checkbox" data-bind="checked: Disab led" />
  492. <span></span>
  493. </label>
  494. </div>
  495.  
  496. <!-- ko if: !IsLDAPUser() -->
  497. <div class="provisionSetting">
  498. <h4>Password Expires</h4>
  499. <p class="settingDescription">If enabled, user passw ords expire after 90 days and must be changed in order to log in again.</p>
  500. <label class="checkbox">
  501. <input type="checkbox" data-bind="checked: Passw ordExpires" />
  502. <span></span>
  503. </label>
  504. </div>
  505.  
  506. <div class="provisionSetting">
  507. <h4>Cannot Change Password</h4>
  508. <p class="settingDescription">Prevents this user fro m being able to change their own password, but it can still be changed by an adm inistrator. Useful for bots or service accounts.</p>
  509. <label class="checkbox">
  510. <input type="checkbox" data-bind="checked: Canno tChangePassword" />
  511. <span></span>
  512. </label>
  513. </div>
  514.  
  515. <div class="provisionSetting">
  516. <h4>Require Password Change</h4>
  517. <p class="settingDescription">Mandates that the user change their password next time they log in. This flag is cleared automatically once the user has done this.</p>
  518. <label class="checkbox">
  519. <input type="checkbox" data-bind="checked: MustC hangePassword" />
  520. <span></span>
  521. </label>
  522. </div>
  523. <!-- /ko -->
  524. </div>
  525. <br />
  526. <button class="slideIcon icons_save" data-bind="click: saveC hanges"><span>Save Changes</span></button>
  527. <hr />
  528. <!-- ko if: !IsLDAPUser() -->
  529. <h3>Change Password</h3>
  530. <div class="sideItemDataTable">
  531. <div class="provisionSetting">
  532. <h4>New Password</h4>
  533. <input type="password" data-bind="textInput: Passwor d" autocomplete="new-password" />
  534. </div>
  535.  
  536. <div class="provisionSetting">
  537. <h4>Confirm Password</h4>
  538. <input type="password" data-bind="value: Password2" autocomplete="new-password" />
  539. </div>
  540.  
  541. <div class="provisionSetting" style="grid-column: 1/span 2">
  542. <h4>Password Strength</h4>
  543. <div class="passwordGrade" data-bind="css: passwordG radeClass, style: { width : (passwordGrade() * 28) + 'px' }"></div>
  544. </div>
  545. </div>
  546. <br />
  547. <button class="slideIcon icons_save" data-bind="click: chang ePassword"><span>Change Password</span></button>
  548. <hr />
  549. <h3>Role Membership</h3>
  550. <div data-bind="foreach: RoleMembership">
  551. <div class="treeEntry treeItem noParent">
  552. <div class="treeItemText">
  553. <div class="treeName" data-bind="click: Toggle, text: Name"></div>
  554. <div class="permNodeSelection" data-bind="click: Toggle, text: IsMember() == true ? '✓' : '✗', css: IsMember() ? 'granted' : 'de nied'"></div>
  555. </div>
  556. </div>
  557. </div>
  558. <button data-bind="click: editPermissions">Edit User Permiss ions</button>
  559. <!-- /ko -->
  560. <h3>Delete User</h3>
  561. <p>This will permemently delete this user and all associated data.</p>
  562. <!-- ko if: IsLDAPUser() -->
  563. <p>If this user logs in again over LDAP, the user will be re created. You should delete the user in your directory server before deleting it here.</p>
  564. <!-- /ko -->
  565. <button class="bgRed slideIcon icons_warning" data-bind="cli ck: deleteUser"><span>Delete User Forever</span></button>
  566. <!-- /ko -->
  567. <p>&nbsp;<br /></p>
  568. </div>
  569. </div>
  570.  
  571. <div class="bodyTab" id="tab_auditlog" data-viewmodel="AuditLogVM">
  572. <table id="auditLogTable">
  573. <thead>
  574. <tr>
  575. <th>Timestamp</th>
  576. <th>Source</th>
  577. <th>User</th>
  578. <th>Category</th>
  579. <th>Message</th>
  580. </tr>
  581. </thead>
  582. <tbody data-bind="foreach: entries">
  583. <tr>
  584. <td data-bind="text: DisplayTime"></td>
  585. <td data-bind="text: Source"></td>
  586. <td data-bind="text: User"></td>
  587. <td data-bind="text: Category"></td>
  588. <td data-bind="text: Message"></td>
  589. </tr>
  590. </tbody>
  591. </table>
  592. <button class="bgGreen" data-bind="click:advance">More &gt;&gt;< /button>
  593. </div>
  594.  
  595. <div class="bodyTab noPaddingTab" id="tab_rolemanagement" data-viewm odel="PermissionManagementVM">
  596. <div class="sideItemList">
  597. <button class="slideIcon icons_add_item slimButton" data-bin d="click: createRole"><span>Create Role</span></button>
  598. <button class="slideIcon icons_add_item slimButton" data-bin d="click: createTemplateRole, visible: canCreateTemplates"><span>Create Template Role</span></button>
  599.  
  600. <div>
  601. <div data-bind="foreach: roles" class="itemList">
  602. <div class="roleManagement_role item" data-bind="tex t: Name, click: Click, css:{selected: selected}"></div>
  603. </div>
  604. </div>
  605. </div>
  606.  
  607. <div class="sideItemData">
  608. <!-- ko with: currentRole -->
  609. <h3>Permissions for <span data-bind="text: Name"></span></h3 >
  610. <p data-bind="text: Description"></p>
  611. <!-- ko if: IsInstanceSpecific -->
  612. <p>This role is specific to this instance and is not visible to other instances.</p>
  613. <!-- /ko -->
  614. <!-- ko if: !IsInstanceSpecific -->
  615. <p>This role is shared across all instances.</p>
  616. <!-- /ko -->
  617. <!-- ko if: DisableEdits -->
  618. <p>This role cannot be modified.</p>
  619. <!-- /ko -->
  620. <!-- /ko -->
  621. <script type="text/html" id="permissionNestedTemplate">
  622. <div class="treeEntry treeItem" data-bind="css: {noParen t : Parent == null}">
  623. <div class="treeItemText">
  624. <div data-bind="text: (Expanded()) ? '⊟' : '⊞', click: Toggle, visible: CanExpand" class="treeExpando"></div>
  625. <div class="treeName" data-bind="click: Toggle"> <span data-bind=", text: DisplayName"></span></div>
  626. <div class="permNodeSelection" data-bind="click: Click, text: HasPermission() == true ? '✓' : '✗', css: cssClass()"></div>
  627. <!-- ko if: Description != null -->
  628. <div data-bind="text: Description" class="permNo deDescription"></div>
  629. <!-- /ko -->
  630. </div>
  631. <!-- ko if: Children().length > 0 -->
  632. <div data-bind="visible: Expanded, template: { name: 'permissionNestedTemplate', foreach: Children}" class="treeContents"></div>
  633. <!-- /ko -->
  634. </div>
  635. </script>
  636.  
  637. <div data-bind="template: { name: 'permissionNestedTemplate' , foreach: permissions}" id="rolePermissionsSelector"></div>
  638. <hr style="margin: 16px -8px; color: #333;" />
  639. <!--<h3>Members of <span data-bind="text: Name"></span></h3> -->
  640. <!-- ko with: currentRole -->
  641. <!-- ko if: !IsDefault && !IsHidden() && !DisableEdits -->
  642. <h3>Delete Role</h3>
  643. <p>This will permemently delete this role and any associated data</p>
  644. <button class="bgRed slideIcon icons_warning" data-bind="cli ck: deleteRole"><span>Delete Role Forever</span></button>
  645. <!-- /ko -->
  646. <!-- /ko -->
  647. <p>&nbsp;<br /></p>
  648. </div>
  649. </div>
  650.  
  651. <div class="bodyTab" id="tab_support" data-viewmodel="DiagnosticsVM" >
  652. <h2>Support</h2>
  653.  
  654. <!-- ko if: branded() -->
  655. <a data-bind="attr: {href: brandURL}" style="float:right"><img d ata-bind="attr: {src: brandLogo, alt: brandName}" /></a>
  656. <p>Server provided by <a data-bind="attr: {href: brandURL}, text : brandName"></a> | <a data-bind="attr: {href: supportUrl}">Support Home</a></p>
  657. <button data-bind="click: createTicket, visible: showCreateTicke t">Create support ticket</button>
  658. <p data-bind="text: supportText()"></p>
  659. <!-- /ko -->
  660. <!-- ko if: !branded() -->
  661. <p>Want help fast? <a href="https://discord.gg/hg3ycc5">Join Cub eCoders on Discord!</a></p>
  662. <p>Otherwise, for support with AMP please visit the <a href="htt ps://support.cubecoders.com">support board</a>.</p>
  663. <p>Always make sure to include the information listed below.</p>
  664. <!-- /ko -->
  665. <!-- ko if: !upgradePending() -->
  666. <p>AMP is up-to-date.</p>
  667. <!-- /ko -->
  668. <!-- ko if: upgradePending() -->
  669. <p>AMP Update Available: <span data-bind="text: upgradeVersion"> </span></p>
  670. <!-- /ko -->
  671. <p>Currently running version <span data-bind="text: installedVer sion"></span></p>
  672. <button data-bind="click: showReleaseNotes">View Latest Release Notes</button>
  673.  
  674. <h2>Diagnostics Data</h2>
  675. <table id="diagTable">
  676. <tbody data-bind="foreach: diaginfo">
  677. <tr>
  678. <td data-bind="text: key"></td>
  679. <td data-bind="text: value"></td>
  680. </tr>
  681. </tbody>
  682. </table>
  683. <!-- ko if: !branded -->
  684. <br />
  685. <a data-bind="attr: {href: reportsUrl}">View submitted error rep orts</a>
  686. <!-- /ko -->
  687. <br /><br />
  688. <button data-bind="click: restartAMP, visible: restartAvailable" class="slideIcon bgRed icons_restart"><span>Restart this AMP instance</span></b utton>&nbsp;<button data-bind="click: upgradeAMP" class="slideIcon icons_restart "><span>Upgrade this AMP instance</span></button>
  689. </div>
  690.  
  691. <!-- Merlin tabs should go below here -->
  692. <div class="bodyTab wizardTab" id="tab_console_userinfo">
  693. <div class="wizardContents wizardPopup">
  694. <h2>User Information</h2>
  695. <table class="TwoColLine">
  696. <tr>
  697. <td>Name</td>
  698. <td id="tab_console_name"></td>
  699. </tr>
  700. <tr>
  701. <td>UUID</td>
  702. <td id="tab_console_uuid"></td>
  703. </tr>
  704. <tr>
  705. <td>IP Address</td>
  706. <td id="tab_console_ip"></td>
  707. </tr>
  708. <tr>
  709. <td>Join Time</td>
  710. <td id="tab_console_join"></td>
  711. </tr>
  712. </table>
  713.  
  714. <br />
  715. <button class="bgRed slideIcon icons_remove" data-wizard="fi nish" data-wizardname="viewUserInfo"><span>Close</span></button>
  716. <div id="userContentsButtonsArea" class="buttonGroup flexBut tonGroup">
  717.  
  718. </div>
  719. </div>
  720. </div>
  721.  
  722. <div class="bodyTab wizardTab" id="tab_schedule_newTask" data-viewmo del="ScheduleVM">
  723. <div class="wizardContents wizardPopup">
  724. <!-- ko if: editing() -->
  725. <h2>Edit task</h2>
  726. <!-- /ko -->
  727. <!-- ko if: !editing() -->
  728. <h2>Add a new task</h2>
  729.  
  730. <p>What task would you like to perform?</p>
  731.  
  732. <select data-bind="options: availableMethods, optionsText: ' Description', value: selectedTask"></select>
  733. <!-- /ko -->
  734.  
  735. <h4>Consumed Values</h4>
  736.  
  737. <!-- ko with: editing() ? editingTask : selectedTask -->
  738. <!-- ko if: Consumes().length == 0 -->
  739. <p>This task consumes no values.</p>
  740. <!-- /ko -->
  741. <!-- ko if: Consumes().length > 0 -->
  742. <div>
  743. <table class="TwoColLine">
  744. <thead>
  745. <tr>
  746. <th>Name</th>
  747. <th>Value</th>
  748. </tr>
  749. </thead>
  750. <tbody data-bind="foreach: Consumes">
  751. <tr>
  752. <td data-bind="text: Param"></td>
  753. <td>
  754. <!-- ko if: InputType == "Enum" -->
  755. <select data-bind="options: enumValues, value: Value, optionsText: 'name', optionsValue: 'value'"></select>
  756. <!-- /ko -->
  757. <!-- ko if: (InputType == "text" || Inpu tType == "number") -->
  758. <input class="scheduleTriggerContents" d ata-bind="attr: {'type': InputType}, value: Value, valueUpdate: 'input', click: $root.setSelected($element)" />
  759. <!-- /ko -->
  760. <!-- ko if: ValueType == "Uri" -->
  761. <input class="scheduleTriggerContents" t ype="url" data-bind="value: Value, valueUpdate: 'input', click: $root.setSelecte d($element)" />
  762. <!-- /ko -->
  763. <!-- ko if: InputType === "Boolean" -->
  764. <label class="checkbox">
  765. <input type="checkbox" data-bind="ch ecked: Value" />
  766. <span></span>
  767. </label>
  768. <!-- /ko -->
  769. </td>
  770. </tr>
  771. </tbody>
  772. </table>
  773.  
  774. <h4>Available Variables</h4>
  775. <!-- ko with: $root.selectedTrigger() -->
  776. <!-- ko if: Emits().length == 0 -->
  777. <p>The selected trigger emits no values.</p>
  778. <!-- /ko -->
  779. <!-- ko if: Emits().length > 0 -->
  780. <div class="emitsList" data-bind="foreach: Emits">
  781. <div class="button emitValue" data-bind="text: Name, click: () => {$root.insertParam(Name());}"></div>
  782. </div>
  783. <p>Click on a parameter to insert it into your value.</p >
  784. <!-- /ko -->
  785. <!-- /ko -->
  786. </div>
  787. <!-- /ko -->
  788. <!-- /ko -->
  789. <br />
  790. <button class="bgRed slideIcon icons_remove" data-wizard="ca ncel"><span>Cancel</span></button>
  791. <button class="bgGreen slideIcon icons_go" data-bind="click: addEditTask"><span data-bind="text: editing() ? 'Edit Task' : 'Add Task'"></spa n></button>
  792. </div>
  793. </div>
  794.  
  795. <div class="bodyTab wizardTab" id="tab_schedule_newTrigger" data-vie wmodel="ScheduleVM">
  796. <div class="wizardContents wizardPopup">
  797. <!-- Merlin -->
  798. <!-- ko if: editing() -->
  799. <h2>Edit trigger</h2>
  800. <!-- /ko -->
  801. <!-- ko if: !editing() -->
  802. <h2>Add a new trigger</h2>
  803. <!-- /ko -->
  804.  
  805. <div data-bind="visible: newTriggerType() == -1">
  806. <p>What type of trigger would you like to add?</p>
  807.  
  808. <label class="radioButtons">
  809. <input type="radio" name="NewTriggerType" value="0" data-bind="checked: newTriggerType" />
  810. <span>
  811. <strong>Event Trigger</strong><br />For respondi ng to events raised by in-application actions or by other AMP components
  812. <img src="Images/Glyphicons/glyphicons-basic-556 -flash@3x.png" alt="Lightning bolt symbol representing an 'event'" />
  813. </span>
  814. </label>
  815.  
  816.  
  817. <label class="radioButtons">
  818. <input type="radio" name="NewTriggerType" value="15" data-bind="checked: newTriggerType" />
  819. <span>
  820. <strong>Simple Time Interval</strong><br />Creat e a trigger that runs at a fixed interval (daily, weekly, etc)
  821. <img src="Images/Glyphicons/glyphicons-basic-60- timer@3x.png" alt="A clock icon representing a regular interval" />
  822. </span>
  823. </label>
  824.  
  825.  
  826. <label class="radioButtons">
  827. <input type="radio" name="NewTriggerType" value="10" data-bind="checked: newTriggerType" />
  828. <span>
  829. <strong>Advanced Time Interval</strong><br />Cre ate a trigger that runs at a more variable interval (E.g. only on weekdays but n ot weekends)
  830. <img src="Images/Glyphicons/AdvSchedule.png" alt ="A calendar overlaid with a clock representing a variable interval" />
  831. </span>
  832. </label>
  833.  
  834. <!--
  835. <label class="radioButtons">
  836. <input type="radio" name="NewTriggerType" value="20" disabled />
  837. <span><strong>Fixed Time</strong><br />One-shot trig gers that occur at a specific time, and are then removed</span>
  838. </label>
  839. -->
  840. </div>
  841.  
  842. <div data-bind="visible: newTriggerType() == 0">
  843. <h3>Event Trigger</h3>
  844. <select data-bind="options: availableTriggers, optionsTe xt: 'Description', value: newTriggerEvent"></select>
  845. </div>
  846.  
  847. <div data-bind="visible: newTriggerType() == 10" class="sche duleAdvSegments">
  848. <h3>Advanced Time Interval Trigger</h3>
  849.  
  850. <h4>Months</h4>
  851. <div class="twelveSegmentContainer" data-bind="foreach: newTriggerMonths">
  852. <div class="timeSegment" data-bind="text: text, clic k: toggle, css: {selected: selected}"></div>
  853. </div>
  854. <h4>Days</h4>
  855. <div class="sevenSegmentContainer" data-bind="foreach: n ewTriggerDays">
  856. <div class="timeSegment" data-bind="text: text, clic k: toggle, css: {selected: selected}"></div>
  857. </div>
  858. <h4>Hours</h4>
  859. <div class="hoursSegmentContainer" data-bind="foreach: n ewTriggerHours">
  860. <div class="timeSegment" data-bind="text: text, clic k: toggle, css: {selected: selected}"></div>
  861. </div>
  862. <h4>Minutes</h4>
  863. <div class="minutesSegmentContainer" data-bind="foreach: newTriggerMinutes">
  864. <div class="timeSegment" data-bind="text: text, clic k: toggle, css: {selected: selected}"></div>
  865. </div>
  866.  
  867. <div class="segmentKeyContainer" style="float: right; po sition: unset;">
  868. <div class="timeSegment selected" style="float:right ;">Selected</div>
  869. <div class="timeSegment" style="float:right;">Not Se lected</div>
  870. </div>
  871.  
  872. <div style="margin-top:8px">
  873. <h4>What do you want to call this trigger?</h4>
  874. <input data-bind="value: newTriggerName" type="text" required="required" />
  875. </div>
  876. </div>
  877.  
  878. <div data-bind="visible: newTriggerType() == 15">
  879. <h3>Simple Time Interval Trigger</h3>
  880.  
  881. <select data-bind="value: newSimpleTriggerType">
  882. <option value="0">Once per week</option>
  883. <option value="10">Once per day</option>
  884. <option value="20">Every X hours</option>
  885. <option value="30">Every X minutes</option>
  886. <option value="40">Once per month</option>
  887. <option value="50">On the (nth) (day) of each month< /option>
  888. </select>
  889.  
  890. <br /><br />
  891.  
  892. <span data-bind="visible: newSimpleTriggerType() != 10 & & newSimpleTriggerType() != 40 && newSimpleTriggerType() != 50">Every</span>
  893. <span data-bind="visible: newSimpleTriggerType() == 40 | | newSimpleTriggerType() == 50">On the</span>
  894.  
  895. <select data-bind="visible: newSimpleTriggerType() == 50 , value: simpleNthDayOf">
  896. <option value="0">first</option>
  897. <option value="1">second</option>
  898. <option value="2">third</option>
  899. <option value="3">fourth</option>
  900. <option value="4">fifth</option>
  901. </select>
  902.  
  903. <select data-bind="visible: newSimpleTriggerType() == 0 || newSimpleTriggerType() == 50, value: simpleWeekday">
  904. <option value="0">Monday</option>
  905. <option value="1">Tuesday</option>
  906. <option value="2">Wednesday</option>
  907. <option value="3">Thursday</option>
  908. <option value="4">Friday</option>
  909. <option value="5">Saturday</option>
  910. <option value="6">Sunday</option>
  911. </select>
  912.  
  913. <select data-bind="visible: newSimpleTriggerType() == 20 , value: simpleIntervalHours">
  914. <option value="1">1</option>
  915. <option value="2">2</option>
  916. <option value="3">3</option>
  917. <option value="4">4</option>
  918. <option value="6">6</option>
  919. <option value="8">8</option>
  920. <option value="12">12</option>
  921. </select>
  922.  
  923. <select data-bind="visible: newSimpleTriggerType() == 30 , value: simpleIntervalMinutes">
  924. <option value="1">1</option>
  925. <option value="2">2</option>
  926. <option value="3">3</option>
  927. <option value="4">4</option>
  928. <option value="5">5</option>
  929. <option value="6">6</option>
  930. <option value="10">10</option>
  931. <option value="12">12</option>
  932. <option value="15">15</option>
  933. <option value="20">20</option>
  934. <option value="30">30</option>
  935. </select>
  936.  
  937. <select data-bind="visible: newSimpleTriggerType() == 40 , value: simpleIntervalDayOfMonth" id="scheduleSimpleDayOfMonth">
  938. <option value="1">1st</option>
  939. <option value="2">2nd</option>
  940. <option value="3">3rd</option>
  941. <option value="4">4th</option>
  942. <option value="5">5th</option>
  943. <option value="6">6th</option>
  944. <option value="7">7th</option>
  945. <option value="8">8th</option>
  946. <option value="9">9th</option>
  947. <option value="10">10th</option>
  948. <option value="11">11th</option>
  949. <option value="12">12th</option>
  950. <option value="13">13th</option>
  951. <option value="14">14th</option>
  952. <option value="15">15th</option>
  953. <option value="16">16th</option>
  954. <option value="17">17th</option>
  955. <option value="18">18th</option>
  956. <option value="19">19th</option>
  957. <option value="20">20th</option>
  958. <option value="21">21st</option>
  959. <option value="22">22nd</option>
  960. <option value="23">23rd</option>
  961. <option value="24">24th</option>
  962. <option value="25">25th</option>
  963. <option value="26">26th</option>
  964. <option value="27">27th</option>
  965. <option value="28">28th</option>
  966. <option value="29">29th</option>
  967. <option value="30">30th</option>
  968. <option value="31">31st</option>
  969. </select>
  970.  
  971. <span data-bind="visible: newSimpleTriggerType() == 30"> Minutes </span>
  972. <span data-bind="visible: newSimpleTriggerType() == 20"> Hours </span>
  973. <span data-bind="visible: newSimpleTriggerType() == 0 || newSimpleTriggerType() == 10"> at </span>
  974. <span data-bind="visible: newSimpleTriggerType() == 40 | | newSimpleTriggerType() == 50"> of each month at </span>
  975.  
  976. <span data-bind="visible: newSimpleTriggerType() == 0 || newSimpleTriggerType() == 10 || newSimpleTriggerType() == 40 || newSimpleTrigge rType() == 50">
  977. <select data-bind="value: simpleHours">
  978. <option value="0">00</option>
  979. <option value="1">01</option>
  980. <option value="2">02</option>
  981. <option value="3">03</option>
  982. <option value="4">04</option>
  983. <option value="5">05</option>
  984. <option value="6">06</option>
  985. <option value="7">07</option>
  986. <option value="8">08</option>
  987. <option value="9">09</option>
  988. <option value="10">10</option>
  989. <option value="11">11</option>
  990. <option value="12">12</option>
  991. <option value="13">13</option>
  992. <option value="14">14</option>
  993. <option value="15">15</option>
  994. <option value="16">16</option>
  995. <option value="17">17</option>
  996. <option value="18">18</option>
  997. <option value="19">19</option>
  998. <option value="20">20</option>
  999. <option value="21">21</option>
  1000. <option value="22">22</option>
  1001. <option value="23">23</option>
  1002. </select>
  1003. <span>:</span>
  1004. <select data-bind="value: simpleMinutes">
  1005. <option value="0">00</option>
  1006. <option value="1">01</option>
  1007. <option value="2">02</option>
  1008. <option value="3">03</option>
  1009. <option value="4">04</option>
  1010. <option value="5">05</option>
  1011. <option value="6">06</option>
  1012. <option value="7">07</option>
  1013. <option value="8">08</option>
  1014. <option value="9">09</option>
  1015. <option value="10">10</option>
  1016. <option value="11">11</option>
  1017. <option value="12">12</option>
  1018. <option value="13">13</option>
  1019. <option value="14">14</option>
  1020. <option value="15">15</option>
  1021. <option value="16">16</option>
  1022. <option value="17">17</option>
  1023. <option value="18">18</option>
  1024. <option value="19">19</option>
  1025. <option value="20">20</option>
  1026. <option value="21">21</option>
  1027. <option value="22">22</option>
  1028. <option value="23">23</option>
  1029. <option value="24">24</option>
  1030. <option value="25">25</option>
  1031. <option value="26">26</option>
  1032. <option value="27">27</option>
  1033. <option value="28">28</option>
  1034. <option value="29">29</option>
  1035. <option value="30">30</option>
  1036. <option value="31">31</option>
  1037. <option value="32">32</option>
  1038. <option value="33">33</option>
  1039. <option value="34">34</option>
  1040. <option value="35">35</option>
  1041. <option value="36">36</option>
  1042. <option value="37">37</option>
  1043. <option value="38">38</option>
  1044. <option value="39">39</option>
  1045. <option value="40">40</option>
  1046. <option value="41">41</option>
  1047. <option value="42">42</option>
  1048. <option value="43">43</option>
  1049. <option value="44">44</option>
  1050. <option value="45">45</option>
  1051. <option value="46">46</option>
  1052. <option value="47">47</option>
  1053. <option value="48">48</option>
  1054. <option value="49">49</option>
  1055. <option value="50">50</option>
  1056. <option value="51">51</option>
  1057. <option value="52">52</option>
  1058. <option value="53">53</option>
  1059. <option value="54">54</option>
  1060. <option value="55">55</option>
  1061. <option value="56">56</option>
  1062. <option value="57">57</option>
  1063. <option value="58">58</option>
  1064. <option value="59">59</option>
  1065. </select>
  1066. </span>
  1067.  
  1068. <p data-bind="visible: newSimpleTriggerType() == 40 && s impleIntervalDayOfMonth() > 28" class="inlineWarning">This trigger will not fire on months that have fewer than <span style="font-weight:bold" data-bind="text: simpleIntervalDayOfMonth()"></span> days.</p>
  1069. </div>
  1070.  
  1071. <!-- ko if: newTriggerType() != -1 -->
  1072. <h4>Emitted Values</h4>
  1073. <!-- /ko -->
  1074. <!-- ko if: newTriggerType() == 0 -->
  1075. <!-- ko with: newTriggerEvent -->
  1076. <!-- ko if: Emits().length > 0 -->
  1077. <ul id="triggerEmittedValues" data-bind="foreach: Emits">
  1078. <li data-bind="text: Name"></li>
  1079. </ul>
  1080. <!-- /ko -->
  1081. <!-- ko if: Emits().length == 0 -->
  1082. <p>This trigger emits no values.</p>
  1083. <!-- /ko -->
  1084. <!-- /ko -->
  1085. <!-- /ko -->
  1086. <ul data-bind="visible: (newTriggerType() == 10 || newTrigge rType() == 15 || newTriggerType() == 20 || newTriggerType() == 40)">
  1087. <li>Time</li>
  1088. </ul>
  1089.  
  1090. <br />
  1091. <button class="bgRed slideIcon icons_remove" data-wizard="ca ncel"><span>Cancel</span></button>
  1092. <!-- ko if: newTriggerType() != -1 -->
  1093. <!-- ko if: !editing() -->
  1094. <button data-bind="click: backButton"><span>Back</span></but ton>
  1095. <!-- /ko -->
  1096. <button class="bgGreen slideIcon icons_add_item" data-bind=" click: addTrigger"><span data-bind="text: (editing()) ? 'Edit Trigger' : 'Add Tr igger'"></span></button>
  1097. <!-- /ko -->
  1098. </div>
  1099. </div>
  1100.  
  1101. <div class="bodyTab wizardTab" id="tab_mobileLogin">
  1102. <div class="wizardContents">
  1103. <h2>Mobile Login</h2>
  1104. <img id="mobileLoginQR" alt="A single-use QR code. Scan this with a mobile device." />
  1105. <p>Scan this QR code on your mobile device to log in as the current user.</p>
  1106. <p>This is a single-use code that cannot be used again once scanned. It will remain valid for 30 seconds.</p>
  1107. <br />
  1108. <button class="" data-wizard="finish" data-wizardname="mobil eLogin"><span>Finish</span></button>
  1109. </div>
  1110. </div>
  1111.  
  1112. <div class="bodyTab wizardTab" id="tab_changepassword">
  1113. <div class="wizardContents">
  1114. <h2>Change Password</h2>
  1115. <h3 id="passwdChangeRequiredText">A password change is requi red to login with this user</h3>
  1116. <form id="changePasswordForm">
  1117. <table class="twoColLine noZebra">
  1118. <tr>
  1119. <td>Username</td>
  1120. <td id="changepw_showusername" data-formfield="u sername"></td>
  1121. </tr>
  1122. <tr>
  1123. <td>Old Password</td>
  1124. <td><input type="password" name="oldpassword" re quired="required" /></td>
  1125. </tr>
  1126. <tr>
  1127. <td>New Password</td>
  1128. <td><input type="password" id="changepw_newpwd" name="newpassword" required="required" /></td>
  1129. </tr>
  1130. <tr>
  1131. <td>Confirm Password</td>
  1132. <td><input type="password" name="confirmpassword " required="required" /></td>
  1133. </tr>
  1134. <tr id="showChangePW2FA">
  1135. <td>2FA Code (If enabled)</td>
  1136. <td><input type="number" name="changepw2fa" /></ td>
  1137. </tr>
  1138. <tr>
  1139. <td>Password Strength</td>
  1140. <td><div id="passwordGrade" class="passwordGrade "></div></td>
  1141. </tr>
  1142. </table>
  1143. <br />
  1144. <button class="bgRed slideIcon icons_remove" data-wizard ="cancel" data-wizardname="tab_changepassword" type="button"><span>Cancel</span> </button>
  1145. <button class="bgGreen slideIcon icons_go" data-wizard=" finish" data-wizardname="tab_changepassword" type="submit"><span>Change Password </span></button>
  1146. </form>
  1147. </div>
  1148. </div>
  1149. </div>
  1150. </div>
  1151.  
  1152. <script type="text/html" id="notificationTemplate">
  1153. <div class="notification" data-bind="css: { failed: State() == 3 }">
  1154. <div class="notificationTitle">
  1155. <span data-bind="text: Name"></span>
  1156. <button data-bind="click: Cancel, visible: IsCancellable() && St ate() == 0">Cancel</button>
  1157. <button class="bgRed" data-bind="click: Dismiss, visible: State( ) == 3">Dismiss</button>
  1158. </div>
  1159. <!-- ko if: Actions().length == 0 -->
  1160. <div class="notificationDescription" data-bind="text: Description">< /div>
  1161. <div class="notificationProgessContainer">
  1162. <div class="notificationProgressBar" data-bind="css: { progUnkno wn: IsIndeterminate }, style: { width : IsIndeterminate() ? '20%' : ProgressPerc ent() + '%' }">
  1163. <div class="notificationSpeed" data-bind="text: Speed"></div >
  1164. </div>
  1165. </div>
  1166. <!-- /ko -->
  1167. <!-- ko if: Actions().length > 0 -->
  1168. <div class="notificationDescription" style="margin: 16px 0px" data-b ind="text: Description"></div>
  1169. <!-- /ko -->
  1170. <!-- ko foreach: Actions -->
  1171. <button class="slimButton" data-bind="click: click, text: text, css: cssClass"></button>
  1172. <!-- /ko -->
  1173. </div>
  1174. </script>
  1175.  
  1176. <div id="notificationContainer" data-bind="fadeVisible: Visible">
  1177. <div class="notificationBanner">
  1178. <span>Notifications</span> (<span class="notificationCount" data-bin d="text: Notifications().length"></span>)
  1179. </div>
  1180. <!-- ko template: {name: 'notificationTemplate', foreach: Notifications, beforeRemove: BeforeRemove} -->
  1181. <!-- /ko -->
  1182. </div>
  1183.  
  1184. <div id="sideMenuContainer">
  1185. <div id="sideMenu">
  1186. <div class="menuTitle">Main Menu</div>
  1187.  
  1188. <script type="text/html" id="menuSubmenu">
  1189. <!-- ko if: children().length > 0 && visible() -->
  1190. <div class="multiMenuContainer">
  1191. <a data-bind="click:click, css:{small: small}"><img data-bin d="attr:{src: image}" /><span data-bind="text:title"></span></a>
  1192. <div class="subMenuWell" data-bind="css: {appear: expanded}" >
  1193. <div class="menuTitle" data-bind="text:title"></div>
  1194. <div class="navBackContainer">
  1195. <a data-bind="click:click" class="menuNav"><span>Bac k</span></a>
  1196. </div>
  1197. <div data-bind="template: { name: 'menuSubmenu', foreach : children}">
  1198. </div>
  1199. </div>
  1200. </div>
  1201. <!-- /ko -->
  1202. <!-- ko if: children().length == 0 && visible() -->
  1203. <a data-bind="attr:{href: tab, 'data-permission': requiredPermis sion}, click:click, css:{selected: selected, small: small}"><img data-bind="attr :{src: image}" /><span data-bind="text:title"></span></a>
  1204. <!-- /ko -->
  1205. </script>
  1206.  
  1207. <div id="sideMenuPresenter" data-bind="template: {name: 'menuSubmenu ', foreach: sideMenuData}">
  1208.  
  1209. </div>
  1210. </div>
  1211.  
  1212. <div id="bgtext" data-viewmodel="DiagnosticsVM">
  1213. <span id="versionHeadline" data-bind="visible: !upgradePending()">AM P Release "Halimede"</span>
  1214. <div class="tiny" data-bind="visible: !upgradePending(), text: versi onTitle()"></div>
  1215. <div data-bind="visible: upgradePending()" id="updateAvailable">
  1216. <span>AMP Update Available: <span data-bind="text: upgradeVersio n"></span></span>
  1217. <button data-bind="click: showReleaseNotes">Release Notes</butto n>
  1218. <button data-bind="click: upgradeAMP">Update Now</button>
  1219. </div>
  1220. </div>
  1221. </div>
  1222.  
  1223. <!-- Scripts -->
  1224. <!--Third Party-->
  1225. <script type="text/javascript" src="Scripts/jquery-3.6.0.min.js" charset="ut f-8"></script>
  1226. <script type="text/javascript" src="Scripts/swiped-events.min.js"></script>
  1227. <script type="text/javascript" src="Scripts/jquery.flot.min.js" charset="utf -8"></script>
  1228. <script type="text/javascript" src="Scripts/jquery.flot.resize.min.js" chars et="utf-8"></script>
  1229. <script type="text/javascript" src="Scripts/knockout-3.5.1.js" charset="utf- 8"></script>
  1230. <script type="text/javascript" src="Scripts/knockout.quickmap.js" charset="u tf-8"></script>
  1231. <script type="text/javascript" src="Scripts/FileSaver.js" charset="utf-8"></ script>
  1232. <!--End Third Party-->
  1233. <!--Internal-->
  1234. <script type="text/javascript" src="Scripts/FeatureTest.js" charset="utf-8"> </script>
  1235. <script type="text/javascript" src="Scripts/Common.js?v=2.4.0.4" charset="ut f-8"></script>
  1236. <script type="text/javascript" src="Scripts/API.js?v=2.4.0.4" charset="utf-8 "></script>
  1237. <script type="text/javascript" src="Scripts/Locale.js?v=2.4.0.4" charset="ut f-8"></script>
  1238. <script type="text/javascript" src="Scripts/UI.js?v=2.4.0.4" charset="utf-8" ></script>
  1239. <script type="text/javascript" src="Scripts/PluginHandler.js?v=2.4.0.4" char set="utf-8"></script>
  1240. <script async defer type="text/javascript" src="Scripts/AMP.js?v=2.4.0.4" ch arset="utf-8"></script>
  1241. <!--End Internal-->
  1242. <!--<script type="text/javascript" src="Scripts/AMPBundle.js"></script>-->
  1243. </body>
  1244.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement