update dependencies: jQuery, jQuery UI, jQuery Validate, jQuery Validate Unobtrusive, SignalR

This commit is contained in:
Gary Sharp
2025-08-09 19:00:29 +10:00
parent 0c0a7bf297
commit 53fdea5325
58 changed files with 53657 additions and 46301 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,26 +1,26 @@
/* NUGET: BEGIN LICENSE TEXT
*
* Microsoft grants you the right to use these script files for the sole
* purpose of either: (i) interacting through your browser with the Microsoft
* website or online service, subject to the applicable licensing or use
* terms; or (ii) using the files as included with a Microsoft product subject
* to that product's license terms. Microsoft reserves all other rights to the
* files not expressly granted by Microsoft, whether by implication, estoppel
* or otherwise. Insofar as a script file is dual licensed under GPL,
* Microsoft neither took the code under GPL nor distributes it thereunder but
* under the terms set out in this paragraph. All notices and licenses
* below are for informational purposes only.
*
* NUGET: END LICENSE TEXT */
/*!
** Unobtrusive validation support library for jQuery and jQuery Validate
** Copyright (C) Microsoft Corporation. All rights reserved.
*/
/**
* @license
* Unobtrusive validation support library for jQuery and jQuery Validate
* Copyright (c) .NET Foundation. All rights reserved.
* Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
* @version <placeholder>
*/
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
/*global document: false, jQuery: false */
(function ($) {
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define("jquery.validate.unobtrusive", ['jquery-validation'], factory);
} else if (typeof module === 'object' && module.exports) {
// CommonJS-like environments that support module.exports
module.exports = factory(require('jquery-validation'));
} else {
// Browser global
jQuery.validator.unobtrusive = factory(jQuery);
}
}(function ($) {
var $jQval = $.validator,
adapters,
data_validation = "unobtrusiveValidation";
@@ -55,7 +55,7 @@
function onError(error, inputElement) { // 'this' is the form element
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
replaceAttrValue = container.attr("data-valmsg-replace"),
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;
replace = replaceAttrValue ? JSON.parse(replaceAttrValue) !== false : null;
container.removeClass("field-validation-valid").addClass("field-validation-error");
error.data("unobtrusiveContainer", container);
@@ -84,11 +84,12 @@
}
function onSuccess(error) { // 'this' is the form element
var container = error.data("unobtrusiveContainer"),
replaceAttrValue = container.attr("data-valmsg-replace"),
replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;
var container = error.data("unobtrusiveContainer");
if (container) {
var replaceAttrValue = container.attr("data-valmsg-replace"),
replace = replaceAttrValue ? JSON.parse(replaceAttrValue) : null;
container.addClass("field-validation-valid").removeClass("field-validation-error");
error.removeData("unobtrusiveContainer");
@@ -99,8 +100,19 @@
}
function onReset(event) { // 'this' is the form element
var $form = $(this);
$form.data("validator").resetForm();
var $form = $(this),
key = '__jquery_unobtrusive_validation_form_reset';
if ($form.data(key)) {
return;
}
// Set a flag that indicates we're currently resetting the form.
$form.data(key, true);
try {
$form.data("validator").resetForm();
} finally {
$form.removeData(key);
}
$form.find(".validation-summary-errors")
.addClass("validation-summary-valid")
.removeClass("validation-summary-errors");
@@ -109,29 +121,43 @@
.removeClass("field-validation-error")
.removeData("unobtrusiveContainer")
.find(">*") // If we were using valmsg-replace, get the underlying error
.removeData("unobtrusiveContainer");
.removeData("unobtrusiveContainer");
}
function validationInfo(form) {
var $form = $(form),
result = $form.data(data_validation),
onResetProxy = $.proxy(onReset, form);
onResetProxy = $.proxy(onReset, form),
defaultOptions = $jQval.unobtrusive.options || {},
execInContext = function (name, args) {
var func = defaultOptions[name];
func && typeof func === "function" && func.apply(form, args);
};
if (!result) {
result = {
options: { // options structure passed to jQuery Validate's validate() method
errorClass: "input-validation-error",
errorElement: "span",
errorPlacement: $.proxy(onError, form),
invalidHandler: $.proxy(onErrors, form),
errorClass: defaultOptions.errorClass || "input-validation-error",
errorElement: defaultOptions.errorElement || "span",
errorPlacement: function () {
onError.apply(form, arguments);
execInContext("errorPlacement", arguments);
},
invalidHandler: function () {
onErrors.apply(form, arguments);
execInContext("invalidHandler", arguments);
},
messages: {},
rules: {},
success: $.proxy(onSuccess, form)
success: function () {
onSuccess.apply(form, arguments);
execInContext("success", arguments);
}
},
attachValidation: function () {
$form
.unbind("reset." + data_validation, onResetProxy)
.bind("reset." + data_validation, onResetProxy)
.off("reset." + data_validation, onResetProxy)
.on("reset." + data_validation, onResetProxy)
.validate(this.options);
},
validate: function () { // a validation function that is called by unobtrusive Ajax
@@ -206,15 +232,17 @@
/// attribute values.
/// </summary>
/// <param name="selector" type="String">Any valid jQuery selector.</param>
var $forms = $(selector)
.parents("form")
.andSelf()
.add($(selector).find("form"))
.filter("form");
// :input is a psuedoselector provided by jQuery which selects input and input-like elements
// combining :input with other selectors significantly decreases performance.
$(selector).find(":input").filter("[data-val=true]").each(function () {
// $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one
// element with data-val=true
var $selector = $(selector),
$forms = $selector.parents()
.addBack()
.filter("form")
.add($selector.find("form"))
.has("[data-val=true]");
$selector.find("[data-val=true]").each(function () {
$jQval.unobtrusive.parseElement(this, true);
});
@@ -370,7 +398,15 @@
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {
var paramName = appendModelPrefix(fieldName, prefix);
value.data[paramName] = function () {
return $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']").val();
var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']");
// For checkboxes and radio buttons, only pick up values from checked fields.
if (field.is(":checkbox")) {
return field.filter(":checked").val() || field.filter(":hidden").val() || '';
}
else if (field.is(":radio")) {
return field.filter(":checked").val() || '';
}
return field.val();
};
});
@@ -387,8 +423,13 @@
setValidationValues(options, "regex", options.params.regex);
}
});
adapters.add("fileextensions", ["extensions"], function (options) {
setValidationValues(options, "extension", options.params.extensions);
});
$(function () {
$jQval.unobtrusive.parse(document);
});
}(jQuery));
return $jQval.unobtrusive;
}));
@@ -95,16 +95,23 @@ DiscoExpressionEditor.prototype = {
this.expressionHtml = this.parseExpression(this.expression, this.expressionException);
this.hostContainer.html(this.expressionHtml);
},
validateExpression: function () {
validateExpression: async function () {
var that = this;
var e = that.getExpression();
$.getJSON(that.validateUrl, { Expression: e }, function (response, result) {
that.setException(response);
that.renderExpression();
if (that.expressionValidated)
that.expressionValidated(response.ExpressionValid, response);
})
const body = new FormData();
body.append('Expression', e);
body.append('__RequestVerificationToken', document.body.dataset.antiforgery);
const response = await fetch(that.validateUrl, {
method: 'POST',
body: body
});
const result = await response.json();
that.setException(result);
that.renderExpression();
if (that.expressionValidated)
that.expressionValidated(result.ExpressionValid, result);
}
}
String.prototype.trim = function () {
@@ -1 +1 @@
function DiscoExpressionEditor(n,t,i){this.host=n;this.hostDocument=null;this.hostContainer=null;this.validateUrl=t;this.expression=i?i:"";this.expressionHtml="";this.expressionException=null;this.hostInited=null;this.expressionValidated=null;this.expressionExceptionChanged=null}DiscoExpressionEditor.prototype={hostInit:function(){var n=this,i=function(){n.hostDocument=n.host.contents();n.hostContainer=n.hostDocument.find("body");n.host.focus(function(){n.setException(null);n.renderExpression()});n.hostContainer.bind("paste",function(){setTimeout(function(){n.setExpression(n.hostContainer.text())},50)});n.expression&&n.setExpression(n.expression);n.hostInited&&n.hostInited()},t=function(){n.host.unbind("load",t);n.host.load(i);n.host[0].contentWindow.document.designMode="on"};n.host.load(t)},parseExpression:function(n,t){for(var f,r,u=n.split("\n"),i=0;i<u.length;i++)t&&t.PositionRow==i+1?(f=u[i].trim(),r='<p id="line'+i+'" class="line lineError">',f.length>=t.PositionColumn?(r+=f.substr(0,t.PositionColumn-1),r+='<span class="error">'+f.substr(t.PositionColumn-1,1)+"<\/span>",r+=f.substr(t.PositionColumn)):(r+=f,r+='<span class="error">&nbsp;<\/span>'),r+="<\/p>",u[i]=r):u[i]='<p id="line'+i+'" class="line">'+u[i].trim()+"<\/p>";return u.join("")},setExpression:function(n){this.expression=n;this.setException(null);this.renderExpression()},getExpression:function(){var n=null;return $("p",this.hostContainer).each(function(){n==null?n=$(this).text():n+="\n"+$(this).text()}),this.expression=n,n},setException:function(n){this.expressionException!==n&&(this.expressionException=n,this.expressionExceptionChanged&&this.expressionExceptionChanged(n))},renderExpression:function(){this.expressionHtml=this.parseExpression(this.expression,this.expressionException);this.hostContainer.html(this.expressionHtml)},validateExpression:function(){var n=this,t=n.getExpression();$.getJSON(n.validateUrl,{Expression:t},function(t){n.setException(t);n.renderExpression();n.expressionValidated&&n.expressionValidated(t.ExpressionValid,t)})}};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};
function DiscoExpressionEditor(n,t,i){this.host=n;this.hostDocument=null;this.hostContainer=null;this.validateUrl=t;this.expression=i?i:"";this.expressionHtml="";this.expressionException=null;this.hostInited=null;this.expressionValidated=null;this.expressionExceptionChanged=null}DiscoExpressionEditor.prototype={hostInit:function(){var n=this,i=function(){n.hostDocument=n.host.contents();n.hostContainer=n.hostDocument.find("body");n.host.focus(function(){n.setException(null);n.renderExpression()});n.hostContainer.bind("paste",function(){setTimeout(function(){n.setExpression(n.hostContainer.text())},50)});n.expression&&n.setExpression(n.expression);n.hostInited&&n.hostInited()},t=function(){n.host.unbind("load",t);n.host.load(i);n.host[0].contentWindow.document.designMode="on"};n.host.load(t)},parseExpression:function(n,t){for(var f,r,u=n.split("\n"),i=0;i<u.length;i++)t&&t.PositionRow==i+1?(f=u[i].trim(),r='<p id="line'+i+'" class="line lineError">',f.length>=t.PositionColumn?(r+=f.substr(0,t.PositionColumn-1),r+='<span class="error">'+f.substr(t.PositionColumn-1,1)+"<\/span>",r+=f.substr(t.PositionColumn)):(r+=f,r+='<span class="error">&nbsp;<\/span>'),r+="<\/p>",u[i]=r):u[i]='<p id="line'+i+'" class="line">'+u[i].trim()+"<\/p>";return u.join("")},setExpression:function(n){this.expression=n;this.setException(null);this.renderExpression()},getExpression:function(){var n=null;return $("p",this.hostContainer).each(function(){n==null?n=$(this).text():n+="\n"+$(this).text()}),this.expression=n,n},setException:function(n){this.expressionException!==n&&(this.expressionException=n,this.expressionExceptionChanged&&this.expressionExceptionChanged(n))},renderExpression:function(){this.expressionHtml=this.parseExpression(this.expression,this.expressionException);this.hostContainer.html(this.expressionHtml)},validateExpression:async function(){var n=this,r=n.getExpression();const t=new FormData;t.append("Expression",r);t.append("__RequestVerificationToken",document.body.dataset.antiforgery);const u=await fetch(n.validateUrl,{method:"POST",body:t}),i=await u.json();n.setException(i);n.renderExpression();n.expressionValidated&&n.expressionValidated(i.ExpressionValid,i)}};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -475,6 +475,7 @@ span.fancytree-drop-target.fancytree-drop-reject {
span.fancytree-node {
padding: 1px;
border: none;
box-sizing: border-box;
}
span.fancytree-node > span.fancytree-icon {
background: none;
@@ -3,41 +3,46 @@
// Default Disco Fancytree Styles
.fancytree-container {
border: none;
}
border: none;
}
span.fancytree-node {
padding: 1px;
border: none;
}
span.fancytree-node {
padding: 1px;
border: none;
box-sizing: border-box;
}
span.fancytree-node > span.fancytree-icon {
background: none;
display: inline-block;
font-family: FontAwesome;
font-size: 1.2em;
width: 14px;
}
span.fancytree-ico-ef > span.fancytree-icon:before{
color: @StatusClosed;
font-size: 1em;
content: "\f07c";
}
span.fancytree-ico-cf > span.fancytree-icon:before{
color: @StatusClosed;
font-size: 1em;
content: "\f07b";
}
span.fancytree-ico-c > span.fancytree-icon:before{
color: @StatusRemove;
content: "\f023";
}
span.fancytree-ico-c.fancytree-selected > span.fancytree-icon:before{
color: @StatusSuccess;
content: "\f09c";
}
span.fancytree-node > span.fancytree-icon {
background: none;
display: inline-block;
font-family: FontAwesome;
font-size: 1.2em;
width: 14px;
}
span.fancytree-node.fancytree-selected {
font-style: normal;
background: none;
}
span.fancytree-ico-ef > span.fancytree-icon:before {
color: @StatusClosed;
font-size: 1em;
content: "\f07c";
}
span.fancytree-ico-cf > span.fancytree-icon:before {
color: @StatusClosed;
font-size: 1em;
content: "\f07b";
}
span.fancytree-ico-c > span.fancytree-icon:before {
color: @StatusRemove;
content: "\f023";
}
span.fancytree-ico-c.fancytree-selected > span.fancytree-icon:before {
color: @StatusSuccess;
content: "\f09c";
}
span.fancytree-node.fancytree-selected {
font-style: normal;
background: none;
}
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -314,4 +314,7 @@ body .ui-tooltip {
border-width: 1px;
-webkit-box-shadow: none;
box-shadow: none;
}
.ui-menu .ui-menu-item-wrapper {
display: block;
}
@@ -296,3 +296,7 @@ body .ui-tooltip {
-webkit-box-shadow: none;
box-shadow: none;
}
.ui-menu .ui-menu-item-wrapper {
display: block;
}
File diff suppressed because one or more lines are too long
+14 -28
View File
@@ -51,11 +51,11 @@
<Reference Include="MarkdownSharp">
<HintPath>..\packages\MarkdownSharp.1.13.0.0\lib\35\MarkdownSharp.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SignalR.Core, Version=2.1.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.1.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath>
<Reference Include="Microsoft.AspNet.SignalR.Core, Version=2.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.4.3\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SignalR.SystemWeb, Version=2.1.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.1.2\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath>
<Reference Include="Microsoft.AspNet.SignalR.SystemWeb, Version=2.4.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.4.3\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Owin, Version=4.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -1553,6 +1553,8 @@
<Content Include="ClientSource\Scripts\Core\disco.dataTables.extensions.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Core\disco.moment.extensions.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Core\disco.unobtrusiveValidation.extensions.js" Condition=" '$(Configuration)' == 'Debug' " />
<None Include="ClientSource\Scripts\Core\jquery-3.7.1.js" />
<Content Include="ClientSource\Scripts\Core\jquery-ui.js" />
<Content Include="ClientSource\Scripts\Core\jquery.dataTables.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Core\jquery.watermark.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Core\disco.uicore.js" Condition=" '$(Configuration)' == 'Debug' " />
@@ -1612,6 +1614,7 @@
<Content Include="ClientSource\Scripts\Modules\jQuery-Fancytree\jquery.fancytree-all.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Modules\jQuery-NumberFormatter\jquery.numberformatter.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Modules\jQuery-NumberFormatter\jshashtable-2.1.js" Condition=" '$(Configuration)' == 'Debug' " />
<None Include="ClientSource\Scripts\Modules\jQuery-SignalR\jquery.signalR-2.4.3.js" />
<Content Include="ClientSource\Scripts\Modules\jQueryUI-DynaTree\jquery.dynatree.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Modules\jQueryUI-TimePicker\jquery-ui-timepicker-addon.js" Condition=" '$(Configuration)' == 'Debug' " />
<Content Include="ClientSource\Scripts\Modules\Shadowbox\shadowbox.js" Condition=" '$(Configuration)' == 'Debug' " />
@@ -1754,6 +1757,13 @@
<Content Include="ClientSource\Style\Images\AttachmentTypes\txt.png" />
<Content Include="ClientSource\Style\Images\AttachmentTypes\video.png" />
<Content Include="ClientSource\Style\Images\UnknownPhoto.png" />
<None Include="ClientSource\Style\jQueryUI\jquery-ui.less" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_444444_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_555555_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_777620_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_777777_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_cc0000_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_ffffff_256x240.png" />
<Content Include="ClientSource\Style\Shadowbox.min.css">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -1925,21 +1935,6 @@
<Content Include="ClientSource\Style\jQueryUI\dynatree\ui.dynatree.min.css">
<DependentUpon>ui.dynatree.css</DependentUpon>
</Content>
<None Include="ClientSource\Style\jQueryUI\images\animated-overlay.gif" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_flat_0_aaaaaa_40x100.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_flat_75_ffffff_40x100.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_glass_55_fbf9ee_1x400.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_glass_65_ffffff_1x400.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_glass_75_dadada_1x400.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_glass_75_e6e6e6_1x400.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_glass_95_fef1ec_1x400.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-bg_highlight-soft_75_cccccc_1x100.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_222222_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_2e83ff_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_454545_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_888888_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\images\ui-icons_cd0a0a_256x240.png" />
<None Include="ClientSource\Style\jQueryUI\jquery-ui.less" />
<None Include="ClientSource\Style\normalize.less" />
<None Include="ClientSource\Style\normalize.css">
<DependentUpon>normalize.less</DependentUpon>
@@ -1947,12 +1942,6 @@
<None Include="ClientSource\Style\normalize.min.css">
<DependentUpon>normalize.less</DependentUpon>
</None>
<None Include="ClientSource\Style\jQueryUI\jquery-ui.css">
<DependentUpon>jquery-ui.less</DependentUpon>
</None>
<None Include="ClientSource\Style\jQueryUI\jquery-ui.min.css">
<DependentUpon>jquery-ui.less</DependentUpon>
</None>
<None Include="ClientSource\Style\Public\HeldDevices.css">
<DependentUpon>HeldDevices.less</DependentUpon>
</None>
@@ -2074,7 +2063,6 @@
</None>
<None Include="Properties\PublishProfiles\SRV-WEB03 Production.pubxml" />
<None Include="ClientSource\Scripts\Modules\Highcharts\highcharts.src.js" />
<None Include="ClientSource\Scripts\Core\jquery-2.1.1.js" />
<None Include="ClientSource\Scripts\Modules\tinymce\jquery.tinymce.min.js" />
<None Include="ClientSource\Scripts\Modules\tinymce\license.txt" />
<None Include="ClientSource\Scripts\Modules\tinymce\skins\lightgray\content.inline.min.css" />
@@ -2621,8 +2609,6 @@
<None Include="ClientSource\Scripts\Core\jquery.validate.unobtrusive.js" />
<None Include="ClientSource\Scripts\Modules\Knockout\knockout-3.1.0.js" />
<None Include="ClientSource\Scripts\Core\modernizr-2.7.2.js" />
<None Include="ClientSource\Scripts\Core\jquery-ui-1.10.4.js" />
<None Include="ClientSource\Scripts\Modules\jQuery-SignalR\jquery.signalR-2.1.2.js" />
<Content Include="Web.config">
<SubType>Designer</SubType>
</Content>
@@ -76,10 +76,10 @@
});
}
function renderComment(c, quick, canRemove) {
let t = '<div><span class="author" />';
let t = '<div><span class="author"></span>';
if (canRemove)
t += '<span class="remove fa fa-times-circle" />';
t += '<span class="timestamp" /><div class="comment" /></div>';
t += '<span class="remove fa fa-times-circle"></span>';
t += '<span class="timestamp"></span><div class="comment"></div></div>';
const e = $(t);
e.attr('data-commentid', c.Id);
@@ -336,21 +336,21 @@ WriteLiteral(" </div>\r\n</div>\r\n<script>\r\n if (!document.DiscoFunctio
"unction () {\r\n const $this = $(this);\r\n $this.find" +
"(\'.timestamp\').livestamp(\'destroy\');\r\n $this.remove();\r\n " +
" });\r\n }\r\n function renderComment(c, quick, canRemove) {\r\n " +
" let t = \'<div><span class=\"author\" />\';\r\n if (canRemove)\r\n " +
" t += \'<span class=\"remove fa fa-times-circle\" />\';\r\n t += " +
"\'<span class=\"timestamp\" /><div class=\"comment\" /></div>\';\r\n\r\n const " +
"e = $(t);\r\n e.attr(\'data-commentid\', c.Id);\r\n e.find(\'.aut" +
"hor\').text(c.Author);\r\n e.find(\'.timestamp\').text(c.TimestampFull).at" +
"tr(\'title\', c.TimestampFull).livestamp(c.TimestampUnixEpoc);\r\n e.find" +
"(\'.comment\').html(c.HtmlComments);\r\n\r\n $commentOutput.append(e);\r\n\r\n " +
" if (!quick) {\r\n e.animate({ backgroundColor: \'#ffff99\'" +
" }, 500, function () {\r\n e.animate({ backgroundColor: \'#fafaf" +
"a\' }, 500, function () {\r\n e.css(\'background-color\', \'\');" +
"\r\n });\r\n });\r\n $commentOutput.a" +
"nimate({ scrollTop: $commentOutput[0].scrollHeight }, 250)\r\n }\r\n " +
" }\r\n\r\n document.DiscoFunctions.onCommentAdded = onCommentAdded;\r\n " +
" document.DiscoFunctions.onCommentRemoved = onCommentRemoved;\r\n });\r\n</scrip" +
"t>\r\n");
" let t = \'<div><span class=\"author\"></span>\';\r\n if (canRemove)\r\n" +
" t += \'<span class=\"remove fa fa-times-circle\"></span>\';\r\n " +
" t += \'<span class=\"timestamp\"></span><div class=\"comment\"></div></div>\';\r\n\r" +
"\n const e = $(t);\r\n e.attr(\'data-commentid\', c.Id);\r\n " +
" e.find(\'.author\').text(c.Author);\r\n e.find(\'.timestamp\').text(" +
"c.TimestampFull).attr(\'title\', c.TimestampFull).livestamp(c.TimestampUnixEpoc);\r" +
"\n e.find(\'.comment\').html(c.HtmlComments);\r\n\r\n $commentOut" +
"put.append(e);\r\n\r\n if (!quick) {\r\n e.animate({ backgro" +
"undColor: \'#ffff99\' }, 500, function () {\r\n e.animate({ backg" +
"roundColor: \'#fafafa\' }, 500, function () {\r\n e.css(\'back" +
"ground-color\', \'\');\r\n });\r\n });\r\n " +
" $commentOutput.animate({ scrollTop: $commentOutput[0].scrollHeight }, 250)\r\n " +
" }\r\n }\r\n\r\n document.DiscoFunctions.onCommentAdded = onCo" +
"mmentAdded;\r\n document.DiscoFunctions.onCommentRemoved = onCommentRemoved" +
";\r\n });\r\n</script>\r\n");
#line 106 "..\..\Views\Device\DeviceParts\_Comments.cshtml"
@@ -248,10 +248,10 @@
});
}
function addComment(c, quick, canRemove) {
let t = '<div><span class="author" />';
let t = '<div><span class="author"></span>';
if (canRemove)
t += '<span class="remove fa fa-times-circle" />';
t += '<span class="timestamp" /><div class="comment" /></div>';
t += '<span class="remove fa fa-times-circle"></span>';
t += '<span class="timestamp"></span><div class="comment"></div></div>';
const e = $(t);
e.attr('data-logid', c.Id);
@@ -933,24 +933,24 @@ WriteLiteral("\r\n async function loadLiveComment(id) {\r\n\r\n
"300).queue(function () {\r\n const $this = $(this);\r\n " +
" $this.find(\'.timestamp\').livestamp(\'destroy\');\r\n $t" +
"his.remove();\r\n });\r\n }\r\n function addComme" +
"nt(c, quick, canRemove) {\r\n let t = \'<div><span class=\"author\" />" +
"\';\r\n if (canRemove)\r\n t += \'<span class=\"remov" +
"e fa fa-times-circle\" />\';\r\n t += \'<span class=\"timestamp\" /><div" +
" class=\"comment\" /></div>\';\r\n\r\n const e = $(t);\r\n " +
"e.attr(\'data-logid\', c.Id);\r\n e.find(\'.author\').text(c.Author);\r\n" +
" e.find(\'.timestamp\').text(c.TimestampFull).attr(\'title\', c.Times" +
"tampFull).livestamp(c.TimestampUnixEpoc);\r\n e.find(\'.comment\').ht" +
"ml(c.HtmlComments);\r\n\r\n $CommentOutput.append(e);\r\n\r\n " +
" if (!quick) {\r\n e.animate({ backgroundColor: \'#ffff99\' }," +
" 500, function () {\r\n e.animate({ backgroundColor: \'#fafa" +
"fa\' }, 500, function () {\r\n e.css(\'background-color\'," +
" \'\');\r\n });\r\n });\r\n " +
" $CommentOutput.animate({ scrollTop: $CommentOutput[0].scrollHeight }, 250)\r\n " +
" }\r\n }\r\n\r\n // Add Globally Available Functions" +
"\r\n document.DiscoFunctions.liveLoadComment = function (id) {\r\n " +
" loadLiveComment(id);\r\n };\r\n document.DiscoFunctio" +
"ns.liveRemoveComment = liveRemoveComment;\r\n //#endregion\r\n });" +
"\r\n </script>\r\n");
"nt(c, quick, canRemove) {\r\n let t = \'<div><span class=\"author\"></" +
"span>\';\r\n if (canRemove)\r\n t += \'<span class=\"" +
"remove fa fa-times-circle\"></span>\';\r\n t += \'<span class=\"timesta" +
"mp\"></span><div class=\"comment\"></div></div>\';\r\n\r\n const e = $(t)" +
";\r\n e.attr(\'data-logid\', c.Id);\r\n e.find(\'.author\'" +
").text(c.Author);\r\n e.find(\'.timestamp\').text(c.TimestampFull).at" +
"tr(\'title\', c.TimestampFull).livestamp(c.TimestampUnixEpoc);\r\n e." +
"find(\'.comment\').html(c.HtmlComments);\r\n\r\n $CommentOutput.append(" +
"e);\r\n\r\n if (!quick) {\r\n e.animate({ background" +
"Color: \'#ffff99\' }, 500, function () {\r\n e.animate({ back" +
"groundColor: \'#fafafa\' }, 500, function () {\r\n e.css(" +
"\'background-color\', \'\');\r\n });\r\n });\r\n" +
" $CommentOutput.animate({ scrollTop: $CommentOutput[0].scroll" +
"Height }, 250)\r\n }\r\n }\r\n\r\n // Add Globally " +
"Available Functions\r\n document.DiscoFunctions.liveLoadComment = funct" +
"ion (id) {\r\n loadLiveComment(id);\r\n };\r\n do" +
"cument.DiscoFunctions.liveRemoveComment = liveRemoveComment;\r\n //#end" +
"region\r\n });\r\n </script>\r\n");
#line 282 "..\..\Views\Job\JobParts\Resources.cshtml"
@@ -76,10 +76,10 @@
});
}
function renderComment(c, quick, canRemove) {
let t = '<div><span class="author" />';
let t = '<div><span class="author"></span>';
if (canRemove)
t += '<span class="remove fa fa-times-circle" />';
t += '<span class="timestamp" /><div class="comment" /></div>';
t += '<span class="remove fa fa-times-circle"></span>';
t += '<span class="timestamp"></span><div class="comment"></div></div>';
const e = $(t);
e.attr('data-commentid', c.Id);
@@ -336,21 +336,21 @@ WriteLiteral(" </div>\r\n</div>\r\n<script>\r\n if (!document.DiscoFunctio
"ion () {\r\n const $this = $(this);\r\n $this.find(\'.t" +
"imestamp\').livestamp(\'destroy\');\r\n $this.remove();\r\n }" +
");\r\n }\r\n function renderComment(c, quick, canRemove) {\r\n " +
" let t = \'<div><span class=\"author\" />\';\r\n if (canRemove)\r\n " +
" t += \'<span class=\"remove fa fa-times-circle\" />\';\r\n t += \'<sp" +
"an class=\"timestamp\" /><div class=\"comment\" /></div>\';\r\n\r\n const e = " +
"$(t);\r\n e.attr(\'data-commentid\', c.Id);\r\n e.find(\'.author\'" +
").text(c.Author);\r\n e.find(\'.timestamp\').text(c.TimestampFull).attr(\'" +
"title\', c.TimestampFull).livestamp(c.TimestampUnixEpoc);\r\n e.find(\'.c" +
"omment\').html(c.HtmlComments);\r\n\r\n $commentOutput.append(e);\r\n\r\n " +
" if (!quick) {\r\n e.animate({ backgroundColor: \'#ffff99\' }, " +
"500, function () {\r\n e.animate({ backgroundColor: \'#fafafa\' }" +
", 500, function () {\r\n e.css(\'background-color\', \'\');\r\n " +
" });\r\n });\r\n $commentOutput.anima" +
"te({ scrollTop: $commentOutput[0].scrollHeight }, 250)\r\n }\r\n }" +
"\r\n\r\n document.DiscoFunctions.onCommentAdded = onCommentAdded;\r\n do" +
"cument.DiscoFunctions.onCommentRemoved = onCommentRemoved;\r\n });\r\n</script>\r\n" +
"");
" let t = \'<div><span class=\"author\"></span>\';\r\n if (canRemove)\r\n " +
" t += \'<span class=\"remove fa fa-times-circle\"></span>\';\r\n " +
" t += \'<span class=\"timestamp\"></span><div class=\"comment\"></div></div>\';\r\n\r\n " +
" const e = $(t);\r\n e.attr(\'data-commentid\', c.Id);\r\n " +
" e.find(\'.author\').text(c.Author);\r\n e.find(\'.timestamp\').text(c.Ti" +
"mestampFull).attr(\'title\', c.TimestampFull).livestamp(c.TimestampUnixEpoc);\r\n " +
" e.find(\'.comment\').html(c.HtmlComments);\r\n\r\n $commentOutput." +
"append(e);\r\n\r\n if (!quick) {\r\n e.animate({ backgroundC" +
"olor: \'#ffff99\' }, 500, function () {\r\n e.animate({ backgroun" +
"dColor: \'#fafafa\' }, 500, function () {\r\n e.css(\'backgrou" +
"nd-color\', \'\');\r\n });\r\n });\r\n $" +
"commentOutput.animate({ scrollTop: $commentOutput[0].scrollHeight }, 250)\r\n " +
" }\r\n }\r\n\r\n document.DiscoFunctions.onCommentAdded = onCommen" +
"tAdded;\r\n document.DiscoFunctions.onCommentRemoved = onCommentRemoved;\r\n " +
" });\r\n</script>\r\n");
#line 106 "..\..\Views\User\UserParts\_Comments.cshtml"
+6 -2
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
@@ -49,6 +49,10 @@
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.AspNet.SignalR.Core" publicKeyToken="31BF3856AD364E35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.4.3.0" newVersion="2.4.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
@@ -124,4 +128,4 @@
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>
</system.data>
</configuration>
</configuration>
+3 -3
View File
@@ -3,11 +3,11 @@
"outputFileName": "ClientSource/Scripts/Core.js",
"inputFiles": [
"ClientSource/Scripts/Core/modernizr-2.7.2.js",
"ClientSource/Scripts/Core/jquery-2.1.1.js",
"ClientSource/Scripts/Core/jquery-3.7.1.js",
"ClientSource/Scripts/Core/jquery.validate.js",
"ClientSource/Scripts/Core/jquery.validate.unobtrusive.js",
"ClientSource/Scripts/Core/disco.unobtrusiveValidation.extensions.js",
"ClientSource/Scripts/Core/jquery-ui-1.10.4.js",
"ClientSource/Scripts/Core/jquery-ui.js",
"ClientSource/Scripts/Core/jquery.watermark.js",
"ClientSource/Scripts/Core/jquery.dataTables.js",
"ClientSource/Scripts/Core/moment-with-locales.js",
@@ -99,7 +99,7 @@
{
"outputFileName": "ClientSource/Scripts/Modules/jQuery-SignalR.js",
"inputFiles": [
"ClientSource/Scripts/Modules/jQuery-SignalR/jquery.signalR-2.1.2.js",
"ClientSource/Scripts/Modules/jQuery-SignalR/jquery.signalR-2.4.3.js",
"ClientSource/Scripts/Modules/jQuery-SignalR/disco-hubs.js"
]
},
-4
View File
@@ -3,10 +3,6 @@
"outputFile": "ClientSource/Style/Fancytree/disco.fancytree.css",
"inputFile": "ClientSource/Style/Fancytree/disco.fancytree.less"
},
{
"outputFile": "ClientSource/Style/jQueryUI/jquery-ui.css",
"inputFile": "ClientSource/Style/jQueryUI/jquery-ui.less"
},
{
"outputFile": "ClientSource/Style/Public/HeldDevices.css",
"inputFile": "ClientSource/Style/Public/HeldDevices.less"
+5 -8
View File
@@ -6,18 +6,15 @@
<package id="EntityFramework" version="5.0.0" targetFramework="net45" />
<package id="EntityFramework.SqlServerCompact" version="4.3.6" targetFramework="net45" />
<package id="FontAwesome" version="4.1.0" targetFramework="net45" />
<package id="jQuery" version="2.1.1" targetFramework="net45" />
<package id="jQuery.UI.Combined" version="1.10.4" targetFramework="net45" />
<package id="jQuery.UI.Themes.lightness" version="1.8.22" targetFramework="net45" />
<package id="jQuery.Validation" version="1.12.0" targetFramework="net45" />
<package id="jQuery" version="1.9.0" targetFramework="net462" />
<package id="knockoutjs" version="3.1.0" targetFramework="net45" />
<package id="MarkdownSharp" version="1.13.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="4.0.30506.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="2.0.30506.0" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR" version="2.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.JS" version="2.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.1.2" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR" version="2.4.3" targetFramework="net462" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.4.3" targetFramework="net462" />
<package id="Microsoft.AspNet.SignalR.JS" version="2.4.3" targetFramework="net462" />
<package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.4.3" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi" version="4.0.30506.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="4.0.30506.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="4.0.30506.0" targetFramework="net45" />