Files
Disco/Disco.Web/Areas/Public/Views/HeldDevices/Noticeboard.generated.cs
T
2014-07-10 17:49:36 +10:00

418 lines
23 KiB
C#

#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.34014
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Disco.Web.Areas.Public.Views.HeldDevices
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Web;
using System.Web.Helpers;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using System.Web.Mvc.Html;
using System.Web.Routing;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using Disco.BI.Extensions;
using Disco.Models.Repository;
using Disco.Services;
using Disco.Services.Authorization;
using Disco.Services.Web;
using Disco.Web;
using Disco.Web.Extensions;
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/HeldDevices/Noticeboard.cshtml")]
public partial class Noticeboard : Disco.Services.Web.WebViewPage<dynamic>
{
public Noticeboard()
{
}
public override void Execute()
{
#line 1 "..\..\Areas\Public\Views\HeldDevices\Noticeboard.cshtml"
Layout = null;
Html.BundleDeferred("~/ClientScripts/Modules/Knockout");
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-SignalR");
Html.BundleDeferred("~/ClientScripts/Core");
Html.BundleDeferred("~/Style/Public/HeldDevicesNoticeboard");
#line default
#line hidden
WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta");
WriteLiteral(" charset=\"utf-8\"");
WriteLiteral(" />\r\n <meta");
WriteLiteral(" http-equiv=\"X-UA-Compatible\"");
WriteLiteral(" content=\"IE=edge\"");
WriteLiteral(" />\r\n <title>Disco ICT - Held Devices</title>\r\n");
WriteLiteral(" ");
#line 14 "..\..\Areas\Public\Views\HeldDevices\Noticeboard.cshtml"
Write(Html.BundleRenderDeferred());
#line default
#line hidden
WriteLiteral("\r\n</head>\r\n<body");
WriteLiteral(" class=\"status-connecting\"");
WriteLiteral(">\r\n <div");
WriteLiteral(" id=\"page\"");
WriteLiteral(">\r\n <header");
WriteLiteral(" id=\"header\"");
WriteLiteral(">\r\n <div");
WriteLiteral(" id=\"heading\"");
WriteLiteral(">Held Devices</div>\r\n <div");
WriteLiteral(" id=\"statusConnecting\"");
WriteLiteral("><i");
WriteLiteral(" class=\"fa fa-cog fa-spin\"");
WriteLiteral("></i><span>connecting...</span></div>\r\n <div");
WriteLiteral(" id=\"statusError\"");
WriteLiteral("><i");
WriteLiteral(" class=\"fa fa-cog fa-spin\"");
WriteLiteral("></i><span>disconnected, reconnecting...</span></div>\r\n <div");
WriteLiteral(" id=\"credits\"");
WriteLiteral(">\r\n powered by Disco ICT <i");
WriteLiteral(" title=\"Disco ICT - Jobs\"");
WriteLiteral("></i>\r\n </div>\r\n </header>\r\n <section");
WriteLiteral(" id=\"mainSection\"");
WriteLiteral(">\r\n <div");
WriteLiteral(" id=\"inProcess\"");
WriteLiteral(" class=\"list\"");
WriteLiteral(">\r\n <h3>In Process (<span");
WriteLiteral(" data-bind=\"text: inProcess().length\"");
WriteLiteral("></span>)\r\n </h3>\r\n <div");
WriteLiteral(" class=\"content\"");
WriteLiteral(">\r\n <!-- ko if: inProcess().length == 0 -->\r\n " +
" <div");
WriteLiteral(" class=\"noContent\"");
WriteLiteral(">&lt;None&gt;</div>\r\n <!-- /ko -->\r\n <ul");
WriteLiteral(" data-bind=\"template: { name: \'item-template\', foreach: inProcess, afterRender: o" +
"nAdd, beforeRemove: onRemove }\"");
WriteLiteral("></ul>\r\n </div>\r\n </div>\r\n <div");
WriteLiteral(" id=\"readyForReturn\"");
WriteLiteral(" class=\"list\"");
WriteLiteral(">\r\n <h3>Ready for Return (<span");
WriteLiteral(" data-bind=\"text: readyForReturn().length\"");
WriteLiteral("></span>)\r\n </h3>\r\n <div");
WriteLiteral(" class=\"content\"");
WriteLiteral(">\r\n <!-- ko if: readyForReturn().length == 0 -->\r\n " +
" <div");
WriteLiteral(" class=\"noContent\"");
WriteLiteral(">&lt;None&gt;</div>\r\n <!-- /ko -->\r\n <ul");
WriteLiteral(" data-bind=\"template: { name: \'item-template\', foreach: readyForReturn, afterRend" +
"er: onAdd, beforeRemove: onRemove }\"");
WriteLiteral("></ul>\r\n </div>\r\n </div>\r\n <div");
WriteLiteral(" id=\"waitingForUserAction\"");
WriteLiteral(" class=\"list\"");
WriteLiteral(">\r\n <h3>Waiting for User Action (<span");
WriteLiteral(" data-bind=\"text: waitingForUserAction().length\"");
WriteLiteral("></span>)\r\n </h3>\r\n <div");
WriteLiteral(" class=\"content\"");
WriteLiteral(">\r\n <!-- ko if: waitingForUserAction().length == 0 -->\r\n " +
" <div");
WriteLiteral(" class=\"noContent\"");
WriteLiteral(">&lt;None&gt;</div>\r\n <!-- /ko -->\r\n <ul");
WriteLiteral(" data-bind=\"template: { name: \'item-template\', foreach: waitingForUserAction, aft" +
"erAdd: onAdd, beforeRemove: onRemove }\"");
WriteLiteral("></ul>\r\n </div>\r\n </div>\r\n <footer");
WriteLiteral(" id=\"footer\"");
WriteLiteral(">\r\n </footer>\r\n </section>\r\n </div>\r\n <script");
WriteLiteral(" type=\"text/html\"");
WriteLiteral(" id=\"item-template\"");
WriteLiteral(">\r\n <li data-bind=\"css: { alert: IsAlert }\">\r\n <span data-bind=" +
"\"text: DeviceDescription\"></span>\r\n <!-- ko if: !ReadyForReturn && Es" +
"timatedReturnTimeUnixEpoc -->\r\n <span class=\"small\">(Expected <span d" +
"ata-bind=\"livestamp: EstimatedReturnTimeUnixEpoc\"></span>)</span>\r\n <" +
"!-- /ko -->\r\n <!-- ko if: WaitingForUserAction -->\r\n <span" +
" class=\"small\">(Since <span data-bind=\"livestamp: WaitingForUserActionSinceUnixE" +
"poc\"></span>)</span>\r\n <!-- /ko -->\r\n <!-- ko if: ReadyFor" +
"Return && !WaitingForUserAction -->\r\n <span class=\"small\">(Ready <spa" +
"n data-bind=\"livestamp: ReadyForReturnSinceUnixEpoc\"></span>)</span>\r\n " +
" <!-- /ko -->\r\n </li>\r\n </script>\r\n <script>\r\n ko.bindingHa" +
"ndlers.livestamp = {\r\n init: function (element, valueAccessor, allBin" +
"dings, viewModel, bindingContext) {\r\n var value = valueAccessor()" +
";\r\n var valueUnwrapped = ko.unwrap(value);\r\n\r\n if " +
"(valueUnwrapped)\r\n $(element).livestamp(valueUnwrapped);\r\n " +
" else\r\n $(element).livestamp(\'destroy\');\r\n " +
" }\r\n };\r\n </script>\r\n <script>\r\n $(function () {\r\n " +
" var hub;\r\n var viewModel;\r\n\r\n var rotateSpeed = 3000" +
";\r\n var itemFilters;\r\n\r\n var $inProcessList = $(\'#inProces" +
"s\').find(\'ul\');\r\n var $readyForReturnList = $(\'#readyForReturn\').find" +
"(\'ul\');\r\n var $waitingForUserActionList = $(\'#waitingForUserAction\')." +
"find(\'ul\');\r\n\r\n function noticeboardViewModel(inProcess, readyForRetu" +
"rn, waitingForUserAction) {\r\n var self = this;\r\n\r\n " +
" self.initialized = false;\r\n\r\n self.inProcess = ko.observableArra" +
"y(inProcess);\r\n self.readyForReturn = ko.observableArray(readyFor" +
"Return);\r\n self.waitingForUserAction = ko.observableArray(waiting" +
"ForUserAction);\r\n\r\n self.onRemove = function (element, index, dat" +
"a) {\r\n $(element).slideUp(400, function () {\r\n " +
" $(this).remove();\r\n });\r\n }\r\n " +
" self.onAdd = function (element, index, data) {\r\n if (" +
"self.initialized)\r\n $(element).hide().slideDown(400);\r\n " +
" }\r\n }\r\n\r\n function init() {\r\n " +
" // Connect to Hub\r\n hub = $.connection.noticeboardUpdates;\r\n\r\n " +
" // Map Functions\r\n hub.client.updateHeldDevice = up" +
"dateHeldDevice;\r\n\r\n $.connection.hub.qs = { Noticeboard: \'");
#line 127 "..\..\Areas\Public\Views\HeldDevices\Noticeboard.cshtml"
Write(Disco.Services.Jobs.Noticeboards.HeldDevices.Name);
#line default
#line hidden
WriteLiteral(@"' };
$.connection.hub.error(connectionError);
$.connection.hub.disconnected(connectionError);
$.connection.hub.reconnected(connectionError);
// Start Connection
$.connection.hub.start().fail(connectionError).done(loadData);
}
// Called after SignalR is connected
function loadData() {
$.getJSON('");
#line 138 "..\..\Areas\Public\Views\HeldDevices\Noticeboard.cshtml"
Write(Url.Action(MVC.Public.HeldDevices.HeldDevices()));
#line default
#line hidden
WriteLiteral("\', null, function (data) {\r\n\r\n var inProcess = [];\r\n " +
" var readyForReturn = [];\r\n var waitingForUserAction" +
" = [];\r\n\r\n data.filter(function (heldDeviceItem) {\r\n " +
" return includeItem(heldDeviceItem)\r\n }).forEac" +
"h(function (heldDeviceItem) {\r\n if (isWaitingForUserActio" +
"n(heldDeviceItem))\r\n waitingForUserAction.push(heldDe" +
"viceItem);\r\n else if (isReadyForReturn(heldDeviceItem))\r\n" +
" readyForReturn.push(heldDeviceItem);\r\n " +
" else if (isInProcess(heldDeviceItem))\r\n inP" +
"rocess.push(heldDeviceItem);\r\n });\r\n\r\n inP" +
"rocess.sort(sortFunction);\r\n readyForReturn.sort(sortFunction" +
");\r\n waitingForUserAction.sort(sortFunction);\r\n\r\n " +
" viewModel = new noticeboardViewModel(inProcess, readyForReturn, waitingF" +
"orUserAction);\r\n\r\n ko.applyBindings(viewModel);\r\n " +
" viewModel.initialized = true;\r\n\r\n $(\'body\').removeCla" +
"ss(\'status-connecting\');\r\n\r\n window.setTimeout(scheduleRotati" +
"on, rotateSpeed);\r\n });\r\n buildFilters();\r\n " +
" }\r\n\r\n // Called by SignalR\r\n function updateHeldDevic" +
"e(updates) {\r\n if (viewModel) {\r\n\r\n $.each(upd" +
"ates, function (deviceSerialNumber, heldDeviceItem) {\r\n /" +
"/ Remove Existing\r\n removeItem(deviceSerialNumber);\r\n\r\n " +
" // Add Item\r\n addItem(heldDeviceIte" +
"m);\r\n });\r\n }\r\n }\r\n\r\n fu" +
"nction removeItem(deviceSerialNumber) {\r\n removeItemFromArray(vie" +
"wModel.inProcess, deviceSerialNumber);\r\n removeItemFromArray(view" +
"Model.readyForReturn, deviceSerialNumber);\r\n removeItemFromArray(" +
"viewModel.waitingForUserAction, deviceSerialNumber);\r\n }\r\n\r\n " +
" function addItem(heldDeviceItem) {\r\n if (heldDeviceItem !== nu" +
"ll &&\r\n heldDeviceItem !== undefined &&\r\n " +
"includeItem(heldDeviceItem)) {\r\n\r\n var array;\r\n\r\n " +
" if (isWaitingForUserAction(heldDeviceItem))\r\n arr" +
"ay = viewModel.waitingForUserAction;\r\n else if (isReadyForRet" +
"urn(heldDeviceItem))\r\n array = viewModel.readyForReturn;\r" +
"\n else if (isInProcess(heldDeviceItem))\r\n " +
" array = viewModel.inProcess;\r\n\r\n if (array().length === 0" +
") {\r\n array.push(heldDeviceItem);\r\n } " +
"else {\r\n var index = findSortedInsertIndex(array, heldDev" +
"iceItem);\r\n if (index === -1)\r\n " +
" array.push(heldDeviceItem);\r\n else\r\n " +
" array.splice(index, 0, heldDeviceItem);\r\n }\r\n " +
" }\r\n }\r\n\r\n function rotateArrays() {\r\n " +
" rotateArray(viewModel.inProcess, $inProcessList);\r\n rotateArr" +
"ay(viewModel.readyForReturn, $readyForReturnList);\r\n rotateArray(" +
"viewModel.waitingForUserAction, $waitingForUserActionList);\r\n }\r\n\r\n " +
" function scheduleRotation() {\r\n rotateArrays();\r\n\r\n " +
" window.setTimeout(scheduleRotation, rotateSpeed);\r\n }\r\n\r\n" +
" function includeItem(heldDeviceItem) {\r\n if (itemFilt" +
"ers == null || itemFilters.length == 0)\r\n return true;\r\n\r\n " +
" return itemFilters.reduce(function (previousValue, currentValue, in" +
"dex, array) {\r\n if (previousValue === false)\r\n " +
" return false;\r\n return currentValue(heldDeviceItem);" +
"\r\n }, true);\r\n }\r\n\r\n function buildFilters(" +
") {\r\n var filters = [];\r\n var queryStringParameter" +
"s = getQueryStringParameters();\r\n\r\n if (queryStringParameters !==" +
" null) {\r\n $.each(queryStringParameters, function (key, value" +
") {\r\n switch (key.toLowerCase()) {\r\n " +
" case \'deviceaddressinclude\':\r\n var deviceA" +
"ddresses = value.split(\",\").map(function (v) { return v.toLowerCase(); });\r\n " +
" if (deviceAddresses.length > 0) {\r\n " +
" filters.push(function (heldDeviceItem) {\r\n " +
" // false if DeviceAddressShortName is null\r\n " +
" if (!heldDeviceItem.DeviceAddressShortName)\r\n " +
" return false;\r\n\r\n " +
" // true if DeviceAddressShortName is included\r\n " +
" return $.inArray(heldDeviceItem.DeviceAddressShortName.toLower" +
"Case(), deviceAddresses) >= 0;\r\n });\r\n " +
" }\r\n break;\r\n " +
" case \'deviceaddressexclude\':\r\n va" +
"r deviceAddresses = value.split(\",\").map(function (v) { return v.toLowerCase(); " +
"});\r\n if (deviceAddresses.length > 0) {\r\n " +
" filters.push(function (heldDeviceItem) {\r\n " +
" // true if DeviceAddressShortName is null\r\n " +
" if (!heldDeviceItem.DeviceAddressShortName)\r\n " +
" return true;\r\n\r\n " +
" // true if DeviceAddressShortName is excluded\r\n " +
" return $.inArray(heldDeviceItem.DeviceAddressShortName." +
"toLowerCase(), deviceAddresses) < 0;\r\n });\r\n " +
" }\r\n break;\r\n " +
" case \'deviceprofileinclude\':\r\n " +
" var deviceProfiles = value.split(\",\").map(function (v) { return parseInt(v);" +
" });\r\n if (deviceProfiles.length > 0) {\r\n " +
" filters.push(function (heldDeviceItem) {\r\n " +
" // true if DeviceProfileId is included\r\n " +
" return $.inArray(heldDeviceItem.DeviceProfileId, d" +
"eviceProfiles) >= 0;\r\n });\r\n " +
" }\r\n break;\r\n " +
" case \'deviceprofileexclude\':\r\n var devicePr" +
"ofiles = value.split(\",\").map(function (v) { return parseInt(v); });\r\n " +
" if (deviceProfiles.length > 0) {\r\n " +
" filters.push(function (heldDeviceItem) {\r\n " +
" // true if DeviceProfileId is excluded\r\n " +
" return $.inArray(heldDeviceItem.DeviceProfileId, deviceProfiles) <" +
" 0;\r\n });\r\n }\r" +
"\n break;\r\n }\r\n " +
" });\r\n }\r\n\r\n if (filters.length > 0)\r\n " +
" itemFilters = filters;\r\n else\r\n " +
" itemFilters = null;\r\n }\r\n\r\n function connectionError() {\r" +
"\n try {\r\n $(\'body\').addClass(\'status-error\');\r" +
"\n $.connection.hub.stop();\r\n } catch (e) {\r\n " +
" // Ignore\r\n }\r\n\r\n window.setTime" +
"out(function () {\r\n window.location.href = window.location.hr" +
"ef;\r\n }, 10000);\r\n }\r\n\r\n // Helpers\r\n " +
" function rotateArray(koArray, element) {\r\n var items = koAr" +
"ray();\r\n\r\n if (items.length <= 1)\r\n return 0;\r" +
"\n\r\n if (element.height() < (element.parent().height() - 30)) {\r\n\r" +
"\n if (findUnsortedArrayTopIndex(items) !== 0)\r\n " +
" koArray.sort(sortFunction);\r\n\r\n // Don\'t rotate if " +
"small & sorted correctly\r\n return;\r\n }\r\n\r\n " +
" // Move Last Item to Top\r\n var item = koArray.pop();\r" +
"\n koArray.unshift(item);\r\n }\r\n function rem" +
"oveItemFromArray(koArray, deviceSerialNumber) {\r\n var items = koA" +
"rray();\r\n for (var i = 0; i < items.length; i++) {\r\n " +
" if (items[i].DeviceSerialNumber == deviceSerialNumber) {\r\n " +
" koArray.splice(i, 1);\r\n items = koArray();\r\n " +
" i--;\r\n }\r\n }\r\n " +
"}\r\n function findUnsortedArrayTopIndex(items) {\r\n // O" +
"nly one Item\r\n if (items.length <= 1)\r\n return" +
" 0;\r\n\r\n for (var i = 1; i < items.length; i++) {\r\n " +
" var s = sortFunction(items[i - 1], items[i]);\r\n if (s > " +
"0)\r\n return i;\r\n }\r\n\r\n retu" +
"rn 0;\r\n }\r\n function findSortedInsertIndex(koArray, heldDe" +
"viceItem) {\r\n var items = koArray();\r\n var startIn" +
"dex = findUnsortedArrayTopIndex(items);\r\n for (var i = startIndex" +
"; i < items.length; i++) {\r\n var s = sortFunction(heldDeviceI" +
"tem, items[i]);\r\n if (s <= 0)\r\n return" +
" i;\r\n }\r\n if (startIndex !== 0) {\r\n " +
" for (var i = 0; i < startIndex; i++) {\r\n var s = sor" +
"tFunction(heldDeviceItem, items[i]);\r\n if (s <= 0)\r\n " +
" return i;\r\n }\r\n ret" +
"urn startIndex;\r\n } else {\r\n return -1;\r\n " +
" }\r\n }\r\n function sortFunction(l, r) {\r\n " +
" return l.DeviceDescription.toLowerCase() == r.DeviceDescription.toLowerC" +
"ase() ? 0 : (l.DeviceDescription.toLowerCase() < r.DeviceDescription.toLowerCase" +
"() ? -1 : 1)\r\n }\r\n function isInProcess(i) {\r\n " +
" return !i.ReadyForReturn && !i.WaitingForUserAction;\r\n }\r\n " +
" function isReadyForReturn(i) {\r\n return i.ReadyForReturn && " +
"!i.WaitingForUserAction;\r\n }\r\n function isWaitingForUserAc" +
"tion(i) {\r\n return i.WaitingForUserAction;\r\n }\r\n " +
" function getQueryStringParameters() {\r\n\r\n if (window.locati" +
"on.search.length === 0)\r\n return null;\r\n\r\n var" +
" params = {};\r\n window.location.search.substr(1).split(\"&\").forEa" +
"ch(function (pair) {\r\n if (pair === \"\") return;\r\n " +
" var parts = pair.split(\"=\");\r\n params[parts[0]] = par" +
"ts[1] && decodeURIComponent(parts[1].replace(/\\+/g, \" \"));\r\n });\r" +
"\n return params;\r\n }\r\n\r\n init();\r\n }" +
");\r\n </script>\r\n</body>\r\n</html>");
}
}
}
#pragma warning restore 1591