Advertisement
Iceyman

AMP html 2

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