20a12c1c99
jQuery v1.9 migrations; Isotope Update
296 lines
12 KiB
C#
296 lines
12 KiB
C#
#pragma warning disable 1591
|
|
//------------------------------------------------------------------------------
|
|
// <auto-generated>
|
|
// This code was generated by a tool.
|
|
// Runtime Version:4.0.30319.17929
|
|
//
|
|
// Changes to this file may cause incorrect behavior and will be lost if
|
|
// the code is regenerated.
|
|
// </auto-generated>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace Disco.Web.Views.Job.JobParts
|
|
{
|
|
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.Web;
|
|
using Disco.Web.Extensions;
|
|
|
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
|
[System.Web.WebPages.PageVirtualPathAttribute("~/Views/Job/JobParts/Components.cshtml")]
|
|
public class Components : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
|
{
|
|
public Components()
|
|
{
|
|
}
|
|
public override void Execute()
|
|
{
|
|
|
|
#line 2 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
|
|
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-NumberFormatter");
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\r\n<table");
|
|
|
|
WriteLiteral(" id=\"jobComponents\"");
|
|
|
|
WriteLiteral(">\r\n <tr>\r\n <th>\r\n Description\r\n </th>\r\n <th>\r\n" +
|
|
" Cost\r\n </th>\r\n <th");
|
|
|
|
WriteLiteral(" class=\"actions\"");
|
|
|
|
WriteLiteral(">\r\n \r\n </th>\r\n </tr>\r\n");
|
|
|
|
|
|
#line 17 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
|
|
#line 17 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
foreach (var jc in Model.Job.JobComponents)
|
|
{
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <tr");
|
|
|
|
WriteLiteral(" data-jobcomponentid=\"");
|
|
|
|
|
|
#line 19 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
Write(jc.Id);
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\"");
|
|
|
|
WriteLiteral(">\r\n <td>\r\n <input");
|
|
|
|
WriteLiteral(" type=\"text\"");
|
|
|
|
WriteLiteral(" class=\"description\"");
|
|
|
|
WriteAttribute("value", Tuple.Create(" value=\"", 513), Tuple.Create("\"", 536)
|
|
|
|
#line 21 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 521), Tuple.Create<System.Object, System.Int32>(jc.Description
|
|
|
|
#line default
|
|
#line hidden
|
|
, 521), false)
|
|
);
|
|
|
|
WriteLiteral(" />\r\n </td>\r\n <td>\r\n <input");
|
|
|
|
WriteLiteral(" type=\"text\"");
|
|
|
|
WriteLiteral(" class=\"cost\"");
|
|
|
|
WriteAttribute("value", Tuple.Create(" value=\"", 626), Tuple.Create("\"", 656)
|
|
|
|
#line 24 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
, Tuple.Create(Tuple.Create("", 634), Tuple.Create<System.Object, System.Int32>(jc.Cost.ToString("C")
|
|
|
|
#line default
|
|
#line hidden
|
|
, 634), false)
|
|
);
|
|
|
|
WriteLiteral(" />\r\n </td>\r\n <td>\r\n <span");
|
|
|
|
WriteLiteral(" class=\"remove\"");
|
|
|
|
WriteLiteral("></span>\r\n </td>\r\n </tr>\r\n");
|
|
|
|
|
|
#line 30 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
}
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(" <tr>\r\n <td>\r\n <a");
|
|
|
|
WriteLiteral(" href=\"#\"");
|
|
|
|
WriteLiteral(" id=\"jobComponentsAdd\"");
|
|
|
|
WriteLiteral(">Add Component</a>\r\n </td>\r\n <td");
|
|
|
|
WriteLiteral(" colspan=\"2\"");
|
|
|
|
WriteLiteral(" class=\"totalCost\"");
|
|
|
|
WriteLiteral(">\r\n Total: <span");
|
|
|
|
WriteLiteral(" id=\"jobComponentsTotalCost\"");
|
|
|
|
WriteLiteral("></span>\r\n </td>\r\n </tr>\r\n</table>\r\n<div");
|
|
|
|
WriteLiteral(" id=\"dialogRemoveComponent\"");
|
|
|
|
WriteLiteral(" title=\"Remove this Component?\"");
|
|
|
|
WriteLiteral(">\r\n <p>\r\n <span");
|
|
|
|
WriteLiteral(" class=\"ui-icon ui-icon-alert\"");
|
|
|
|
WriteLiteral(" style=\"float: left; margin: 0 7px 20px 0;\"");
|
|
|
|
WriteLiteral("></span>\r\n Are you sure?</p>\r\n</div>\r\n<script");
|
|
|
|
WriteLiteral(" type=\"text/javascript\"");
|
|
|
|
WriteLiteral(">\r\n $(function () {\r\n var $jobComponents = $(\'#jobComponents\');\r\n\r\n " +
|
|
" $jobComponents.on(\'change\', \'input\', updateComponent);\r\n $jobComponen" +
|
|
"ts.on(\'focus\', \'input\', function () { $(this).select() });\r\n\r\n\r\n $jobComp" +
|
|
"onents.on(\'click\', \'span.remove\', removeComponent);\r\n\r\n $(\'#jobComponents" +
|
|
"Add\').click(function () {\r\n var jc = $(\'<tr><td><input type=\"text\" cl" +
|
|
"ass=\"description\" /></td><td><input type=\"text\" class=\"cost\" /></td><td><span cl" +
|
|
"ass=\"remove\"></span></td></tr>\');\r\n jc.find(\'input\').focus(function (" +
|
|
") { $(this).select() })\r\n jc.insertBefore($jobComponents.find(\'tr\').l" +
|
|
"ast());\r\n jc.find(\'input.description\').focus();\r\n return f" +
|
|
"alse;\r\n });\r\n\r\n $(\'#dialogRemoveComponent\').dialog({\r\n " +
|
|
"resizable: false,\r\n height: 140,\r\n modal: true,\r\n " +
|
|
" autoOpen: false\r\n });\r\n\r\n function removeComponent() {\r\n " +
|
|
" var componentRow = $(this).closest(\'tr\');\r\n var id = componentRo" +
|
|
"w.attr(\'data-jobcomponentid\');\r\n if (id) {\r\n var data " +
|
|
"= { id: id };\r\n\r\n var $dialogRemoveComponent = $(\'#dialogRemoveCo" +
|
|
"mponent\');\r\n $dialogRemoveComponent.dialog(\"enable\");\r\n " +
|
|
" $dialogRemoveComponent.dialog(\'option\', \'buttons\', {\r\n " +
|
|
"\"Remove\": function () {\r\n $dialogRemoveComponent.dialog(\"" +
|
|
"disable\");\r\n $dialogRemoveComponent.dialog(\"option\", \"but" +
|
|
"tons\", null);\r\n $.ajax({\r\n url" +
|
|
": \'");
|
|
|
|
|
|
#line 83 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
Write(Url.Action(MVC.API.Job.ComponentRemove()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral("\',\r\n dataType: \'json\',\r\n da" +
|
|
"ta: data,\r\n success: function (d) {\r\n " +
|
|
" if (d == \'OK\') {\r\n componentR" +
|
|
"ow.remove();\r\n updateTotalCost();\r\n " +
|
|
" } else {\r\n alert(\'Unabl" +
|
|
"e to remove component: \' + d);\r\n }\r\n " +
|
|
" $dialogRemoveComponent.dialog(\"close\");\r\n " +
|
|
" },\r\n error: function (jqXHR, textStatus, erro" +
|
|
"rThrown) {\r\n alert(\'Unable to remove component: \'" +
|
|
" + textStatus);\r\n $dialogRemoveComponent.dialog(\"" +
|
|
"close\");\r\n }\r\n });\r\n " +
|
|
" },\r\n Cancel: function () {\r\n " +
|
|
" $dialogRemoveComponent.dialog(\"close\");\r\n }\r\n " +
|
|
" });\r\n\r\n $dialogRemoveComponent.dialog(\'open\');\r\n\r\n } " +
|
|
"else {\r\n // New - Remove\r\n componentRow.remove();\r" +
|
|
"\n updateTotalCost();\r\n }\r\n }\r\n function " +
|
|
"updateTotalCost() {\r\n var totalCost = 0;\r\n\r\n $jobComponent" +
|
|
"s.find(\'input.cost\').each(function () {\r\n var v = $(this).val();\r" +
|
|
"\n v = $.parseNumber(v, { format: \'#,##0.00\', locale: \'au\' });\r\n " +
|
|
" if (!isNaN(v))\r\n totalCost += v;\r\n }" +
|
|
");\r\n var totalCostFormatted = $.formatNumber(totalCost, { format: \'#," +
|
|
"##0.00\', locale: \'au\' });\r\n $(\'#jobComponentsTotalCost\').text(\'$\' + t" +
|
|
"otalCostFormatted);\r\n }\r\n function updateComponent() {\r\n " +
|
|
" var componentRow = $(this).closest(\'tr\');\r\n\r\n componentRow.find(\'in" +
|
|
"put\').attr(\'disabled\', true).addClass(\'updating\');\r\n\r\n var id = compo" +
|
|
"nentRow.attr(\'data-jobcomponentid\');\r\n if (id) {\r\n // " +
|
|
"Update\r\n var data = {\r\n id: id,\r\n " +
|
|
" Description: componentRow.find(\'input.description\').val(),\r\n " +
|
|
" Cost: componentRow.find(\'input.cost\').val()\r\n };\r\n " +
|
|
" $.ajax({\r\n url: \'");
|
|
|
|
|
|
#line 140 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
Write(Url.Action(MVC.API.Job.ComponentUpdate()));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
dataType: 'json',
|
|
data: data,
|
|
success: function (d) {
|
|
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
|
if (d.Result == 'OK') {
|
|
componentRow.find('input.description').val(d.Component.Description);
|
|
componentRow.find('input.cost').val(d.Component.Cost);
|
|
} else {
|
|
alert('Unable to update component: ' + d.Result);
|
|
}
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert('Unable to update component: ' + textStatus);
|
|
}
|
|
});
|
|
} else {
|
|
// Add
|
|
var data = {
|
|
id: id,
|
|
Description: componentRow.find('input.description').val(),
|
|
Cost: componentRow.find('input.cost').val()
|
|
};
|
|
$.ajax({
|
|
url: '");
|
|
|
|
|
|
#line 164 "..\..\Views\Job\JobParts\Components.cshtml"
|
|
Write(Url.Action(MVC.API.Job.ComponentAdd(Model.Job.Id, null, null)));
|
|
|
|
|
|
#line default
|
|
#line hidden
|
|
WriteLiteral(@"',
|
|
dataType: 'json',
|
|
data: data,
|
|
success: function (d) {
|
|
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
|
if (d.Result == 'OK') {
|
|
componentRow.attr('data-jobcomponentid', d.Component.Id);
|
|
componentRow.find('input.description').val(d.Component.Description);
|
|
componentRow.find('input.cost').val(d.Component.Cost);
|
|
} else {
|
|
alert('Unable to add component: ' + d.Result);
|
|
}
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
alert('Unable to add component: ' + textStatus);
|
|
}
|
|
});
|
|
}
|
|
updateTotalCost();
|
|
}
|
|
updateTotalCost();
|
|
|
|
});
|
|
</script>
|
|
");
|
|
|
|
}
|
|
}
|
|
}
|
|
#pragma warning restore 1591
|