Update: Plugin Framework
This commit is contained in:
1 parent
9b80fd743b
commit
c205386bcf
18 files changed
+162
-67
No files matched your search
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0225.1950")]
|
[assembly: AssemblyVersion("1.2.0304.2046")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0225.1950")]
|
[assembly: AssemblyFileVersion("1.2.0304.2046")]
|
||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0225.1950")]
|
[assembly: AssemblyVersion("1.2.0304.2046")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0225.1950")]
|
[assembly: AssemblyFileVersion("1.2.0304.2046")]
|
||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0225.1951")]
|
[assembly: AssemblyVersion("1.2.0304.2046")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0225.1951")]
|
[assembly: AssemblyFileVersion("1.2.0304.2046")]
|
||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0225.1951")]
|
[assembly: AssemblyVersion("1.2.0304.2046")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0225.1951")]
|
[assembly: AssemblyFileVersion("1.2.0304.2046")]
|
||||||
@@ -24,6 +24,10 @@ namespace Disco.Services.Plugins.Features.UIExtension
|
|||||||
{
|
{
|
||||||
return new LiteralResult(this.Manifest, null);
|
return new LiteralResult(this.Manifest, null);
|
||||||
}
|
}
|
||||||
|
protected LiteralResult ScriptInline(string JavaScriptContent)
|
||||||
|
{
|
||||||
|
return new LiteralResult(this.Manifest, string.Concat("<script type=\"text/javascript\">\n//<!--\n", JavaScriptContent, "\n//-->\n</script>"));
|
||||||
|
}
|
||||||
protected PluginResourceScriptResult ScriptResource(string Resource, bool PlaceInPageHead)
|
protected PluginResourceScriptResult ScriptResource(string Resource, bool PlaceInPageHead)
|
||||||
{
|
{
|
||||||
return new PluginResourceScriptResult(this.Manifest, Resource, PlaceInPageHead);
|
return new PluginResourceScriptResult(this.Manifest, Resource, PlaceInPageHead);
|
||||||
|
|||||||
@@ -11,5 +11,6 @@ namespace Disco.Services.Plugins
|
|||||||
{
|
{
|
||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
public bool PrimaryFeature { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -14,6 +14,7 @@ namespace Disco.Services.Plugins
|
|||||||
public string Id { get; set; }
|
public string Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string TypeName { get; set; }
|
public string TypeName { get; set; }
|
||||||
|
public bool PrimaryFeature { get; set; }
|
||||||
|
|
||||||
[JsonProperty]
|
[JsonProperty]
|
||||||
private string CategoryTypeName { get; set; }
|
private string CategoryTypeName { get; set; }
|
||||||
@@ -77,6 +78,7 @@ namespace Disco.Services.Plugins
|
|||||||
|
|
||||||
var featureId = featureAttribute.Id;
|
var featureId = featureAttribute.Id;
|
||||||
var featureName = featureAttribute.Name;
|
var featureName = featureAttribute.Name;
|
||||||
|
var featurePrimary = featureAttribute.PrimaryFeature;
|
||||||
|
|
||||||
// Determine Feature Category
|
// Determine Feature Category
|
||||||
var featureCategoryType = featureType.BaseType;
|
var featureCategoryType = featureType.BaseType;
|
||||||
@@ -84,6 +86,10 @@ namespace Disco.Services.Plugins
|
|||||||
if (featureCategoryType == null)
|
if (featureCategoryType == null)
|
||||||
throw new ArgumentException(string.Format("Plugin Feature found [{0}], but has no Base Type to determine its Category", featureType.Name), "featureType");
|
throw new ArgumentException(string.Format("Plugin Feature found [{0}], but has no Base Type to determine its Category", featureType.Name), "featureType");
|
||||||
|
|
||||||
|
// Handle Generic-Type Features (Only use base-feature, not generic parameters)
|
||||||
|
if (featureCategoryType.IsGenericType)
|
||||||
|
featureCategoryType = featureCategoryType.GetGenericTypeDefinition();
|
||||||
|
|
||||||
if (featureCategoryType == typeof(PluginFeature) || !typeof(PluginFeature).IsAssignableFrom(featureCategoryType))
|
if (featureCategoryType == typeof(PluginFeature) || !typeof(PluginFeature).IsAssignableFrom(featureCategoryType))
|
||||||
throw new ArgumentException(string.Format("Plugin Feature found [{0}], but its Base Type is not a valid Feature Category Type (Base Feature or not assignable)", featureType.Name), "featureType");
|
throw new ArgumentException(string.Format("Plugin Feature found [{0}], but its Base Type is not a valid Feature Category Type (Base Feature or not assignable)", featureType.Name), "featureType");
|
||||||
|
|
||||||
@@ -97,6 +103,7 @@ namespace Disco.Services.Plugins
|
|||||||
PluginManifest = pluginManifest,
|
PluginManifest = pluginManifest,
|
||||||
Id = featureId,
|
Id = featureId,
|
||||||
Name = featureName,
|
Name = featureName,
|
||||||
|
PrimaryFeature = featurePrimary,
|
||||||
Type = featureType,
|
Type = featureType,
|
||||||
TypeName = featureType.FullName,
|
TypeName = featureType.FullName,
|
||||||
CategoryType = featureCategoryType,
|
CategoryType = featureCategoryType,
|
||||||
|
|||||||
@@ -414,5 +414,31 @@ namespace Disco.Services.Plugins
|
|||||||
|
|
||||||
return new Tuple<string, string>(resourcePath, resourceHash.Item1);
|
return new Tuple<string, string>(resourcePath, resourceHash.Item1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void LogException(Exception PluginException)
|
||||||
|
{
|
||||||
|
PluginsLog.LogPluginException(this.ToString(), PluginException);
|
||||||
|
}
|
||||||
|
public void LogWarning(string Message)
|
||||||
|
{
|
||||||
|
LogWarning(Message, null);
|
||||||
|
}
|
||||||
|
public void LogWarning(string MessageFormat, params object[] Args)
|
||||||
|
{
|
||||||
|
PluginsLog.LogPluginWarning(this, string.Format(MessageFormat, Args), Args);
|
||||||
|
}
|
||||||
|
public void LogMessage(string Message)
|
||||||
|
{
|
||||||
|
LogMessage(Message, null);
|
||||||
|
}
|
||||||
|
public void LogMessage(string MessageFormat, params object[] Args)
|
||||||
|
{
|
||||||
|
PluginsLog.LogPluginMessage(this, string.Format(MessageFormat, Args), Args);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return string.Format("{0} [{1} v{2}]", this.Name, this.Id, this.VersionFormatted);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,6 +28,8 @@ namespace Disco.Services.Plugins
|
|||||||
InitializeExceptionWithInner,
|
InitializeExceptionWithInner,
|
||||||
PluginException = 20,
|
PluginException = 20,
|
||||||
PluginExceptionWithInner,
|
PluginExceptionWithInner,
|
||||||
|
PluginWarning = 30,
|
||||||
|
PluginMessage = 40,
|
||||||
PluginReferenceAssemblyLoaded = 50,
|
PluginReferenceAssemblyLoaded = 50,
|
||||||
PluginConfigurationLoaded = 100,
|
PluginConfigurationLoaded = 100,
|
||||||
PluginConfigurationSaved = 104,
|
PluginConfigurationSaved = 104,
|
||||||
@@ -142,6 +144,39 @@ namespace Disco.Services.Plugins
|
|||||||
Log(EventTypeIds.PluginException, Component, ex.GetType().Name, ex.Message, ex.StackTrace);
|
Log(EventTypeIds.PluginException, Component, ex.GetType().Name, ex.Message, ex.StackTrace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static void LogPluginWarning(PluginManifest Manifest, string Message, params object[] ExportData)
|
||||||
|
{
|
||||||
|
LogPluginWarningOrMessage(EventTypeIds.PluginWarning, Manifest, Message, ExportData);
|
||||||
|
}
|
||||||
|
public static void LogPluginMessage(PluginManifest Manifest, string Message, params object[] ExportData)
|
||||||
|
{
|
||||||
|
LogPluginWarningOrMessage(EventTypeIds.PluginMessage, Manifest, Message, ExportData);
|
||||||
|
}
|
||||||
|
private static void LogPluginWarningOrMessage(EventTypeIds WarningOrMessage, PluginManifest Manifest, string Message, object[] ExportData)
|
||||||
|
{
|
||||||
|
if (WarningOrMessage != EventTypeIds.PluginMessage && WarningOrMessage != EventTypeIds.PluginWarning)
|
||||||
|
throw new ArgumentException("Only PluginMessage/PluginWarning is allowed", "WarningOrMessage");
|
||||||
|
|
||||||
|
object[] LogData;
|
||||||
|
|
||||||
|
if (ExportData == null || ExportData.Length == 0)
|
||||||
|
{
|
||||||
|
LogData = new object[3];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogData = new object[4 + ExportData.Length];
|
||||||
|
for (int i = 0; i < ExportData.Length; i++)
|
||||||
|
LogData[4 + i] = ExportData[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
LogData[0] = Manifest.Name;
|
||||||
|
LogData[1] = Manifest.Id;
|
||||||
|
LogData[2] = Manifest.VersionFormatted;
|
||||||
|
LogData[3] = Message;
|
||||||
|
|
||||||
|
Log(WarningOrMessage, LogData);
|
||||||
|
}
|
||||||
|
|
||||||
protected override List<Logging.Models.LogEventType> LoadEventTypes()
|
protected override List<Logging.Models.LogEventType> LoadEventTypes()
|
||||||
{
|
{
|
||||||
@@ -257,6 +292,28 @@ namespace Disco.Services.Plugins
|
|||||||
UsePersist = true,
|
UsePersist = true,
|
||||||
UseDisplay = true
|
UseDisplay = true
|
||||||
},
|
},
|
||||||
|
new LogEventType
|
||||||
|
{
|
||||||
|
Id = (int)EventTypeIds.PluginWarning,
|
||||||
|
ModuleId = _ModuleId,
|
||||||
|
Name = "Plugin Warning",
|
||||||
|
Format = "{0} [{1} v{2}]: {3}",
|
||||||
|
Severity = (int)LogEventType.Severities.Warning,
|
||||||
|
UseLive = true,
|
||||||
|
UsePersist = true,
|
||||||
|
UseDisplay = true
|
||||||
|
},
|
||||||
|
new LogEventType
|
||||||
|
{
|
||||||
|
Id = (int)EventTypeIds.PluginMessage,
|
||||||
|
ModuleId = _ModuleId,
|
||||||
|
Name = "Plugin Message",
|
||||||
|
Format = "{0} [{1} v{2}]: {3}",
|
||||||
|
Severity = (int)LogEventType.Severities.Information,
|
||||||
|
UseLive = true,
|
||||||
|
UsePersist = true,
|
||||||
|
UseDisplay = true
|
||||||
|
},
|
||||||
new LogEventType
|
new LogEventType
|
||||||
{
|
{
|
||||||
Id = (int)EventTypeIds.PluginReferenceAssemblyLoaded,
|
Id = (int)EventTypeIds.PluginReferenceAssemblyLoaded,
|
||||||
|
|||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0225.1951")]
|
[assembly: AssemblyVersion("1.2.0304.2046")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0225.1951")]
|
[assembly: AssemblyFileVersion("1.2.0304.2046")]
|
||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0225.1951")]
|
[assembly: AssemblyVersion("1.2.0304.2046")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0225.1951")]
|
[assembly: AssemblyFileVersion("1.2.0304.2046")]
|
||||||
@@ -34,41 +34,36 @@ namespace Disco.Web.Areas.Config.Models.Plugins
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Tuple<Type, List<PluginManifest>>> PluginManifestsByType
|
public List<Tuple<Type, List<PluginManifest>>> PluginManifestsByCategory
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (PluginManifests.Count == 0)
|
if (PluginManifests.Count == 0)
|
||||||
return new List<Tuple<Type, List<PluginManifest>>>();
|
return null;
|
||||||
|
|
||||||
var categorisedManifests = PluginManifests.SelectMany(pm => pm.Features)
|
|
||||||
.GroupBy(fm => fm.CategoryType)
|
|
||||||
.Select(g => new Tuple<Type, List<PluginManifest>>(g.Key, g.Select(fm => fm.PluginManifest).Distinct().OrderBy(fm => fm.Name).ToList())).ToList();
|
|
||||||
|
|
||||||
// Ensure all plugins are represented
|
List<Tuple<Type, PluginManifest>> pluginsByCategory = new List<Tuple<Type, PluginManifest>>();
|
||||||
var allCategorisedManifests = categorisedManifests.SelectMany(g => g.Item2).ToList();
|
|
||||||
|
|
||||||
var unrepresentedPlugins = PluginManifests.Where(m => !allCategorisedManifests.Contains(m)).ToList();
|
foreach (var pluginManifest in PluginManifests)
|
||||||
if (unrepresentedPlugins.Count > 0)
|
|
||||||
{
|
{
|
||||||
Tuple<Type, List<PluginManifest>> otherCategory = null;
|
var orderedFeatures = pluginManifest.Features.OrderBy(pf => pf.Id);
|
||||||
foreach (var category in categorisedManifests)
|
var primaryFeature = orderedFeatures.Where(pf => pf.PrimaryFeature).FirstOrDefault();
|
||||||
{
|
Type categoryType;
|
||||||
if (category.Item1 == typeof(OtherFeature))
|
|
||||||
{
|
if (primaryFeature == null)
|
||||||
otherCategory = category;
|
primaryFeature = orderedFeatures.FirstOrDefault();
|
||||||
}
|
|
||||||
}
|
if (primaryFeature == null)
|
||||||
if (otherCategory == null)
|
categoryType = typeof(OtherFeature);
|
||||||
{
|
else
|
||||||
otherCategory = new Tuple<Type, List<PluginManifest>>(typeof(OtherFeature), new List<PluginManifest>());
|
categoryType = primaryFeature.CategoryType;
|
||||||
categorisedManifests.Add(otherCategory);
|
|
||||||
}
|
pluginsByCategory.Add(new Tuple<Type, PluginManifest>(categoryType, pluginManifest));
|
||||||
foreach (var pluginManifest in unrepresentedPlugins)
|
|
||||||
otherCategory.Item2.Add(pluginManifest);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return categorisedManifests;
|
return pluginsByCategory.GroupBy(p => p.Item1)
|
||||||
|
.OrderBy(g => g.Key.Name)
|
||||||
|
.Select(g => new Tuple<Type, List<PluginManifest>>(g.Key, g.Select(pg => pg.Item2).OrderBy(p => p.Name).ToList())).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var pluginGroups = Model.PluginManifestsByType;
|
var pluginGroups = Model.PluginManifestsByCategory;
|
||||||
|
|
||||||
|
|
||||||
int itemsPerColumn = pluginGroups.Count / 3;
|
int itemsPerColumn = pluginGroups.Count / 3;
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<h3>@pluginDefinition.Name</h3>
|
<h3>@pluginDefinition.Name</h3>
|
||||||
</a>
|
</a>
|
||||||
<div class="pageMenuBlurb">
|
<div class="pageMenuBlurb">
|
||||||
<span class="pluginId">@pluginDefinition.Id</span> | <span class="pluginVersion">v@(pluginDefinition.VersionFormatted)</span> | @pluginDefinition.Author | <a href="@pluginDefinition.Url" target="_blank">More Information</a>
|
<span class="pluginVersion">v@(pluginDefinition.VersionFormatted)</span> | @pluginDefinition.Author | <a href="@pluginDefinition.Url" target="_blank">More Information</a>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ namespace Disco.Web.Areas.Config.Views.Plugins
|
|||||||
using Disco.Web;
|
using Disco.Web;
|
||||||
using Disco.Web.Extensions;
|
using Disco.Web.Extensions;
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.4.0")]
|
||||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Config/Views/Plugins/Index.cshtml")]
|
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Config/Views/Plugins/Index.cshtml")]
|
||||||
public class Index : System.Web.Mvc.WebViewPage<Disco.Web.Areas.Config.Models.Plugins.IndexViewModel>
|
public partial class Index : System.Web.Mvc.WebViewPage<Disco.Web.Areas.Config.Models.Plugins.IndexViewModel>
|
||||||
{
|
{
|
||||||
public Index()
|
public Index()
|
||||||
{
|
{
|
||||||
@@ -88,7 +88,7 @@ WriteLiteral(">\r\n <h2>No Plugins are Installed</h2>\r\n </di
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var pluginGroups = Model.PluginManifestsByType;
|
var pluginGroups = Model.PluginManifestsByCategory;
|
||||||
|
|
||||||
|
|
||||||
int itemsPerColumn = pluginGroups.Count / 3;
|
int itemsPerColumn = pluginGroups.Count / 3;
|
||||||
@@ -169,14 +169,14 @@ WriteLiteral("</h2>\r\n");
|
|||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral(" <a");
|
WriteLiteral(" <a");
|
||||||
|
|
||||||
WriteAttribute("href", Tuple.Create(" href=\"", 1435), Tuple.Create("\"", 1504)
|
WriteAttribute("href", Tuple.Create(" href=\"", 1439), Tuple.Create("\"", 1508)
|
||||||
|
|
||||||
#line 37 "..\..\Areas\Config\Views\Plugins\Index.cshtml"
|
#line 37 "..\..\Areas\Config\Views\Plugins\Index.cshtml"
|
||||||
, Tuple.Create(Tuple.Create("", 1442), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Config.Plugins.Configure(pluginDefinition.Id))
|
, Tuple.Create(Tuple.Create("", 1446), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Config.Plugins.Configure(pluginDefinition.Id))
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
, 1442), false)
|
, 1446), false)
|
||||||
);
|
);
|
||||||
|
|
||||||
WriteLiteral(">\r\n <h3>");
|
WriteLiteral(">\r\n <h3>");
|
||||||
@@ -196,19 +196,6 @@ WriteLiteral(" class=\"pageMenuBlurb\"");
|
|||||||
|
|
||||||
WriteLiteral(">\r\n <span");
|
WriteLiteral(">\r\n <span");
|
||||||
|
|
||||||
WriteLiteral(" class=\"pluginId\"");
|
|
||||||
|
|
||||||
WriteLiteral(">");
|
|
||||||
|
|
||||||
|
|
||||||
#line 41 "..\..\Areas\Config\Views\Plugins\Index.cshtml"
|
|
||||||
Write(pluginDefinition.Id);
|
|
||||||
|
|
||||||
|
|
||||||
#line default
|
|
||||||
#line hidden
|
|
||||||
WriteLiteral("</span> | <span");
|
|
||||||
|
|
||||||
WriteLiteral(" class=\"pluginVersion\"");
|
WriteLiteral(" class=\"pluginVersion\"");
|
||||||
|
|
||||||
WriteLiteral(">v");
|
WriteLiteral(">v");
|
||||||
@@ -231,14 +218,14 @@ WriteLiteral("</span> | ");
|
|||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral(" | <a");
|
WriteLiteral(" | <a");
|
||||||
|
|
||||||
WriteAttribute("href", Tuple.Create(" href=\"", 1885), Tuple.Create("\"", 1913)
|
WriteAttribute("href", Tuple.Create(" href=\"", 1836), Tuple.Create("\"", 1864)
|
||||||
|
|
||||||
#line 41 "..\..\Areas\Config\Views\Plugins\Index.cshtml"
|
#line 41 "..\..\Areas\Config\Views\Plugins\Index.cshtml"
|
||||||
, Tuple.Create(Tuple.Create("", 1892), Tuple.Create<System.Object, System.Int32>(pluginDefinition.Url
|
, Tuple.Create(Tuple.Create("", 1843), Tuple.Create<System.Object, System.Int32>(pluginDefinition.Url
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
, 1892), false)
|
, 1843), false)
|
||||||
);
|
);
|
||||||
|
|
||||||
WriteLiteral(" target=\"_blank\"");
|
WriteLiteral(" target=\"_blank\"");
|
||||||
|
|||||||
@@ -731,6 +731,13 @@ div.logEventsViewport table.logEventsViewport > tbody > tr > td.eventType {
|
|||||||
#plugins .pageMenuArea a > h3:hover {
|
#plugins .pageMenuArea a > h3:hover {
|
||||||
color: #4f81bd;
|
color: #4f81bd;
|
||||||
}
|
}
|
||||||
|
#plugins .pageMenuArea .pageMenuBlurb {
|
||||||
|
padding-left: 18px;
|
||||||
|
}
|
||||||
|
#plugins #pageMenu td .pageMenuArea:not(:last-child) {
|
||||||
|
padding-bottom: 5px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
#plugins #pageMenu td .pageMenuArea > a {
|
#plugins #pageMenu td .pageMenuArea > a {
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90CDRcZMTlpMjsAAAKbSURBVDjLbZHBS2NHHMc/82ZeXpLaiNJHDylF6KEIGxFa0Jtdi4IFqfQq2P/As4f9D0rwplIwsDlZiofHStaTVQJCj+6a9SpKL3HhkTx5cZLMTA9uHov4Pf2Y33w/fL8z4vj4mHfv3vNUHz60ouXl5VmtNScnJ3eVmZkfn96ZqVRQj6P7HXj56VwAFAqFsenp6W+73S7NZjMRUH/iPwVqnwC8nJ2drU9NTb3I5XIDpVS6u7v7qlQqEQQBxWLxq83NzX+EEIUkSYJ8Pj+xs7Pz0+cAyuXyTqPR+F5KiTEGrTVCCHzfR2v99d7eXg3AGMPGxsZb4CPwWEEIAUC73ebm5gYhBKVSiTiOcc4RBAHn5+dYa9Fas76+nvXIEvi+jzEG5xyrq6vEcczV1RW+77O2tka73WZ/f58wDHHOZQBvNEgp6ff7hGHI4eEhSinOzs64uLjg+vqaWq3GYDBASom19vkEWmuMMYyPjxNFEUtLS1hrOTg4wBiD53k4554HeJ6H1pp+v59VaTQaWGuRUqKUYjAYADwPcM6Rpim9Xg9jDFJKgiBASokQAuccDw8P5PP5ZwHOOUe1WsU5hxACz/Oy3xlplCZJkmw3Apw2m81fx8bGEEJkFay12YuPDMPhkDiOvwP+/gwgXhtjTq21Yb/fTyuVysPt7e3PW1tbf/q+T7Va/U0p9b7VahW11vlOp3Pt53JtAOI4RimFUgohRG5+fv6Po6Ojf7e3twcLCwtucXHR1ev1NIqiN3Nzc6+klEUpJVJK7u/vEXEcE4YhgJBSfjE5OfnDysrKX4VC4ctSqdQCXKfTedHr9T5GUfRLmqb/DYfDBDB3d3ePgJGSJOHy8pJOt4vneQS5HABaa6xzfFMuUy6XmZiYyDz/AxHBRmZKLqH0AAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIcon16.png*/;
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90CDRcZMTlpMjsAAAKbSURBVDjLbZHBS2NHHMc/82ZeXpLaiNJHDylF6KEIGxFa0Jtdi4IFqfQq2P/As4f9D0rwplIwsDlZiofHStaTVQJCj+6a9SpKL3HhkTx5cZLMTA9uHov4Pf2Y33w/fL8z4vj4mHfv3vNUHz60ouXl5VmtNScnJ3eVmZkfn96ZqVRQj6P7HXj56VwAFAqFsenp6W+73S7NZjMRUH/iPwVqnwC8nJ2drU9NTb3I5XIDpVS6u7v7qlQqEQQBxWLxq83NzX+EEIUkSYJ8Pj+xs7Pz0+cAyuXyTqPR+F5KiTEGrTVCCHzfR2v99d7eXg3AGMPGxsZb4CPwWEEIAUC73ebm5gYhBKVSiTiOcc4RBAHn5+dYa9Fas76+nvXIEvi+jzEG5xyrq6vEcczV1RW+77O2tka73WZ/f58wDHHOZQBvNEgp6ff7hGHI4eEhSinOzs64uLjg+vqaWq3GYDBASom19vkEWmuMMYyPjxNFEUtLS1hrOTg4wBiD53k4554HeJ6H1pp+v59VaTQaWGuRUqKUYjAYADwPcM6Rpim9Xg9jDFJKgiBASokQAuccDw8P5PP5ZwHOOUe1WsU5hxACz/Oy3xlplCZJkmw3Apw2m81fx8bGEEJkFay12YuPDMPhkDiOvwP+/gwgXhtjTq21Yb/fTyuVysPt7e3PW1tbf/q+T7Va/U0p9b7VahW11vlOp3Pt53JtAOI4RimFUgohRG5+fv6Po6Ojf7e3twcLCwtucXHR1ev1NIqiN3Nzc6+klEUpJVJK7u/vEXEcE4YhgJBSfjE5OfnDysrKX4VC4ctSqdQCXKfTedHr9T5GUfRLmqb/DYfDBDB3d3ePgJGSJOHy8pJOt4vneQS5HABaa6xzfFMuUy6XmZiYyDz/AxHBRmZKLqH0AAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIcon16.png*/;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,9 @@
|
|||||||
background-image: url(data:image/png;base64,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 truncated
|
background-image: url(data:image/png;base64,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 truncated
|
||||||
background-position: 10px center;
|
background-position: 10px center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
a.button {
|
|
||||||
|
a.button
|
||||||
|
{
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -967,6 +969,16 @@ div.logEventsViewport
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pageMenuArea .pageMenuBlurb {
|
||||||
|
padding-left: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pageMenu td .pageMenuArea:not(:last-child)
|
||||||
|
{
|
||||||
|
padding-bottom: 5px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
#pageMenu td .pageMenuArea > a
|
#pageMenu td .pageMenuArea > a
|
||||||
{
|
{
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90CDRcZMTlpMjsAAAKbSURBVDjLbZHBS2NHHMc/82ZeXpLaiNJHDylF6KEIGxFa0Jtdi4IFqfQq2P/As4f9D0rwplIwsDlZiofHStaTVQJCj+6a9SpKL3HhkTx5cZLMTA9uHov4Pf2Y33w/fL8z4vj4mHfv3vNUHz60ouXl5VmtNScnJ3eVmZkfn96ZqVRQj6P7HXj56VwAFAqFsenp6W+73S7NZjMRUH/iPwVqnwC8nJ2drU9NTb3I5XIDpVS6u7v7qlQqEQQBxWLxq83NzX+EEIUkSYJ8Pj+xs7Pz0+cAyuXyTqPR+F5KiTEGrTVCCHzfR2v99d7eXg3AGMPGxsZb4CPwWEEIAUC73ebm5gYhBKVSiTiOcc4RBAHn5+dYa9Fas76+nvXIEvi+jzEG5xyrq6vEcczV1RW+77O2tka73WZ/f58wDHHOZQBvNEgp6ff7hGHI4eEhSinOzs64uLjg+vqaWq3GYDBASom19vkEWmuMMYyPjxNFEUtLS1hrOTg4wBiD53k4554HeJ6H1pp+v59VaTQaWGuRUqKUYjAYADwPcM6Rpim9Xg9jDFJKgiBASokQAuccDw8P5PP5ZwHOOUe1WsU5hxACz/Oy3xlplCZJkmw3Apw2m81fx8bGEEJkFay12YuPDMPhkDiOvwP+/gwgXhtjTq21Yb/fTyuVysPt7e3PW1tbf/q+T7Va/U0p9b7VahW11vlOp3Pt53JtAOI4RimFUgohRG5+fv6Po6Ojf7e3twcLCwtucXHR1ev1NIqiN3Nzc6+klEUpJVJK7u/vEXEcE4YhgJBSfjE5OfnDysrKX4VC4ctSqdQCXKfTedHr9T5GUfRLmqb/DYfDBDB3d3ePgJGSJOHy8pJOt4vneQS5HABaa6xzfFMuUy6XmZiYyDz/AxHBRmZKLqH0AAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIcon16.png*/;
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90CDRcZMTlpMjsAAAKbSURBVDjLbZHBS2NHHMc/82ZeXpLaiNJHDylF6KEIGxFa0Jtdi4IFqfQq2P/As4f9D0rwplIwsDlZiofHStaTVQJCj+6a9SpKL3HhkTx5cZLMTA9uHov4Pf2Y33w/fL8z4vj4mHfv3vNUHz60ouXl5VmtNScnJ3eVmZkfn96ZqVRQj6P7HXj56VwAFAqFsenp6W+73S7NZjMRUH/iPwVqnwC8nJ2drU9NTb3I5XIDpVS6u7v7qlQqEQQBxWLxq83NzX+EEIUkSYJ8Pj+xs7Pz0+cAyuXyTqPR+F5KiTEGrTVCCHzfR2v99d7eXg3AGMPGxsZb4CPwWEEIAUC73ebm5gYhBKVSiTiOcc4RBAHn5+dYa9Fas76+nvXIEvi+jzEG5xyrq6vEcczV1RW+77O2tka73WZ/f58wDHHOZQBvNEgp6ff7hGHI4eEhSinOzs64uLjg+vqaWq3GYDBASom19vkEWmuMMYyPjxNFEUtLS1hrOTg4wBiD53k4554HeJ6H1pp+v59VaTQaWGuRUqKUYjAYADwPcM6Rpim9Xg9jDFJKgiBASokQAuccDw8P5PP5ZwHOOUe1WsU5hxACz/Oy3xlplCZJkmw3Apw2m81fx8bGEEJkFay12YuPDMPhkDiOvwP+/gwgXhtjTq21Yb/fTyuVysPt7e3PW1tbf/q+T7Va/U0p9b7VahW11vlOp3Pt53JtAOI4RimFUgohRG5+fv6Po6Ojf7e3twcLCwtucXHR1ev1NIqiN3Nzc6+klEUpJVJK7u/vEXEcE4YhgJBSfjE5OfnDysrKX4VC4ctSqdQCXKfTedHr9T5GUfRLmqb/DYfDBDB3d3ePgJGSJOHy8pJOt4vneQS5HABaa6xzfFMuUy6XmZiYyDz/AxHBRmZKLqH0AAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIcon16.png*/;
|
||||||
@@ -976,7 +988,6 @@ div.logEventsViewport
|
|||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4klEQVQ4jWWRTWhcVRTHf/fd+958JJMw+aDFaYNUtChNTDHYFBdNm4K0IEI3lW7ErZR2IWhKi0tba6gBMRAXhaYiiJskjRgENWlVEC3VJrGFgpaIaetMM515kzfzvu51kZmhxrM6i3N+nN//iLm5OW7eXGRznXfHpg8eGui/zwqLs4X8O9kTA5tn+np7UfX+dWB/vRcAyXSidXDHSz23dIrbqugCk5v254GLDcD+/v7dkzue3L4rpdJhlAi8qanZM52ZTp4xz5FN3u46efLN7xyTSJUqawk72ZL9eHx86HEAT+S2jU98fXenUAoT2sj1LSAiElKh11u3vDuxfNGXNVS0zsixga+AAlBXEGCwuPUwxa/l4ygrINWeYdW9x0rLHYK2R0z8+Qpx1EX64QHePrq76aEa0sqWRJHGijO8+Fobzqrk+z+uUWor0PeGQ3l1Owvvu2x19qGN3ggKsBokqRTVMKAnMcrVS6vca8/z48K3/H7jNx7cCVk4l0YXziNUhNGmeUETYCuFF2jKtQpdfMQvl6s8/fyz9HTs5OfxNXTpLVA+xoDWuvGs5huRlqTqx1RCTRz7BOWzXP9sFGMewPoEMuUTBxag6wD+C8Bo3GrEWk0QaMC2SIjTWEoiOkOMsfGqGidZxfwfIIw2mm/eO4g2gBBYlkCIRsQbzlqDY2mi8v2GQfOC+R+uXX01lWlHCIsojqDuqo0BDJbYiCsKA0rFwlPAF48DLsVxPG/FfnfoB15vX2/tr5WV4ZFTI5/Yymb0woUjtrIXl5cX0zU/TD4quXdtR/0DQLFYRCmFUgohhLN3cO8HV2a//Gnsw7FwaN+QGT4wbC5PfurNTM9cGdwzeEZKmZZSIqWkUqkgisUi3d3dAEJK2dLR0fHCy4cOf55OpTPtba3LgCmV3F1e1SvMTE8d9jzv7yiKXCDO5/MbgEa5rsvS0hKlchnLskg4DgC+76ONYVsuRy6XI5vNNnf+BS/0P9OBtw+RAAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIconHover16.png*/;
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4klEQVQ4jWWRTWhcVRTHf/fd+958JJMw+aDFaYNUtChNTDHYFBdNm4K0IEI3lW7ErZR2IWhKi0tba6gBMRAXhaYiiJskjRgENWlVEC3VJrGFgpaIaetMM515kzfzvu51kZmhxrM6i3N+nN//iLm5OW7eXGRznXfHpg8eGui/zwqLs4X8O9kTA5tn+np7UfX+dWB/vRcAyXSidXDHSz23dIrbqugCk5v254GLDcD+/v7dkzue3L4rpdJhlAi8qanZM52ZTp4xz5FN3u46efLN7xyTSJUqawk72ZL9eHx86HEAT+S2jU98fXenUAoT2sj1LSAiElKh11u3vDuxfNGXNVS0zsixga+AAlBXEGCwuPUwxa/l4ygrINWeYdW9x0rLHYK2R0z8+Qpx1EX64QHePrq76aEa0sqWRJHGijO8+Fobzqrk+z+uUWor0PeGQ3l1Owvvu2x19qGN3ggKsBokqRTVMKAnMcrVS6vca8/z48K3/H7jNx7cCVk4l0YXziNUhNGmeUETYCuFF2jKtQpdfMQvl6s8/fyz9HTs5OfxNXTpLVA+xoDWuvGs5huRlqTqx1RCTRz7BOWzXP9sFGMewPoEMuUTBxag6wD+C8Bo3GrEWk0QaMC2SIjTWEoiOkOMsfGqGidZxfwfIIw2mm/eO4g2gBBYlkCIRsQbzlqDY2mi8v2GQfOC+R+uXX01lWlHCIsojqDuqo0BDJbYiCsKA0rFwlPAF48DLsVxPG/FfnfoB15vX2/tr5WV4ZFTI5/Yymb0woUjtrIXl5cX0zU/TD4quXdtR/0DQLFYRCmFUgohhLN3cO8HV2a//Gnsw7FwaN+QGT4wbC5PfurNTM9cGdwzeEZKmZZSIqWkUqkgisUi3d3dAEJK2dLR0fHCy4cOf55OpTPtba3LgCmV3F1e1SvMTE8d9jzv7yiKXCDO5/MbgEa5rsvS0hKlchnLskg4DgC+76ONYVsuRy6XI5vNNnf+BS/0P9OBtw+RAAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIconHover16.png*/;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pluginCatalog
|
#pluginCatalog
|
||||||
@@ -1002,7 +1013,7 @@ div.logEventsViewport
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&>h2:first-child
|
& > h2:first-child
|
||||||
{
|
{
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4klEQVQ4jWWRTWhcVRTHf/fd+958JJMw+aDFaYNUtChNTDHYFBdNm4K0IEI3lW7ErZR2IWhKi0tba6gBMRAXhaYiiJskjRgENWlVEC3VJrGFgpaIaetMM515kzfzvu51kZmhxrM6i3N+nN//iLm5OW7eXGRznXfHpg8eGui/zwqLs4X8O9kTA5tn+np7UfX+dWB/vRcAyXSidXDHSz23dIrbqugCk5v254GLDcD+/v7dkzue3L4rpdJhlAi8qanZM52ZTp4xz5FN3u46efLN7xyTSJUqawk72ZL9eHx86HEAT+S2jU98fXenUAoT2sj1LSAiElKh11u3vDuxfNGXNVS0zsixga+AAlBXEGCwuPUwxa/l4ygrINWeYdW9x0rLHYK2R0z8+Qpx1EX64QHePrq76aEa0sqWRJHGijO8+Fobzqrk+z+uUWor0PeGQ3l1Owvvu2x19qGN3ggKsBokqRTVMKAnMcrVS6vca8/z48K3/H7jNx7cCVk4l0YXziNUhNGmeUETYCuFF2jKtQpdfMQvl6s8/fyz9HTs5OfxNXTpLVA+xoDWuvGs5huRlqTqx1RCTRz7BOWzXP9sFGMewPoEMuUTBxag6wD+C8Bo3GrEWk0QaMC2SIjTWEoiOkOMsfGqGidZxfwfIIw2mm/eO4g2gBBYlkCIRsQbzlqDY2mi8v2GQfOC+R+uXX01lWlHCIsojqDuqo0BDJbYiCsKA0rFwlPAF48DLsVxPG/FfnfoB15vX2/tr5WV4ZFTI5/Yymb0woUjtrIXl5cX0zU/TD4quXdtR/0DQLFYRCmFUgohhLN3cO8HV2a//Gnsw7FwaN+QGT4wbC5PfurNTM9cGdwzeEZKmZZSIqWkUqkgisUi3d3dAEJK2dLR0fHCy4cOf55OpTPtba3LgCmV3F1e1SvMTE8d9jzv7yiKXCDO5/MbgEa5rsvS0hKlchnLskg4DgC+76ONYVsuRy6XI5vNNnf+BS/0P9OBtw+RAAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIconHover16.png*/;
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC4klEQVQ4jWWRTWhcVRTHf/fd+958JJMw+aDFaYNUtChNTDHYFBdNm4K0IEI3lW7ErZR2IWhKi0tba6gBMRAXhaYiiJskjRgENWlVEC3VJrGFgpaIaetMM515kzfzvu51kZmhxrM6i3N+nN//iLm5OW7eXGRznXfHpg8eGui/zwqLs4X8O9kTA5tn+np7UfX+dWB/vRcAyXSidXDHSz23dIrbqugCk5v254GLDcD+/v7dkzue3L4rpdJhlAi8qanZM52ZTp4xz5FN3u46efLN7xyTSJUqawk72ZL9eHx86HEAT+S2jU98fXenUAoT2sj1LSAiElKh11u3vDuxfNGXNVS0zsixga+AAlBXEGCwuPUwxa/l4ygrINWeYdW9x0rLHYK2R0z8+Qpx1EX64QHePrq76aEa0sqWRJHGijO8+Fobzqrk+z+uUWor0PeGQ3l1Owvvu2x19qGN3ggKsBokqRTVMKAnMcrVS6vca8/z48K3/H7jNx7cCVk4l0YXziNUhNGmeUETYCuFF2jKtQpdfMQvl6s8/fyz9HTs5OfxNXTpLVA+xoDWuvGs5huRlqTqx1RCTRz7BOWzXP9sFGMewPoEMuUTBxag6wD+C8Bo3GrEWk0QaMC2SIjTWEoiOkOMsfGqGidZxfwfIIw2mm/eO4g2gBBYlkCIRsQbzlqDY2mi8v2GQfOC+R+uXX01lWlHCIsojqDuqo0BDJbYiCsKA0rFwlPAF48DLsVxPG/FfnfoB15vX2/tr5WV4ZFTI5/Yymb0woUjtrIXl5cX0zU/TD4quXdtR/0DQLFYRCmFUgohhLN3cO8HV2a//Gnsw7FwaN+QGT4wbC5PfurNTM9cGdwzeEZKmZZSIqWkUqkgisUi3d3dAEJK2dLR0fHCy4cOf55OpTPtba3LgCmV3F1e1SvMTE8d9jzv7yiKXCDO5/MbgEa5rsvS0hKlchnLskg4DgC+76ONYVsuRy6XI5vNNnf+BS/0P9OBtw+RAAAAAElFTkSuQmCC) /*Images/Actions/pluginDownloadIconHover16.png*/;
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
.tableData{border:solid 1px #e8eef4;border-collapse:collapse}.tableData>tbody>tr>td{border:solid 1px #e8eef4;background-color:#fff}.tableData>tbody>tr:nth-child(odd)>td{background-color:#fcfcfd}.tableData>thead>tr>th,.tableData>tbody>tr>th{background-color:#e8eef4;border:solid 1px #e8eef4}.tableData>tbody>tr:hover>td{background-color:#e8eef4}.tableDataDark{border:solid 1px #8db2d8;border-collapse:collapse}.tableDataDark td{border:solid 1px #8db2d8;background-color:#fff}.tableDataDark th{background-color:#8db2d8;border:solid 1px #8db2d8}.tableDataContainer{background-color:#fff}.tableDataVertical{border:solid 1px #e8eef4;border-collapse:collapse}.tableDataVertical>tbody>tr:nth-child(odd){background-color:#e8eef4;margin:0;padding:0}.tableDataVertical>tbody>tr>th.name{width:170px;text-align:right}.tableDataVertical table.sub>tbody>tr:not(:first-child)>th,.tableDataVertical table.sub>tbody>tr:not(:first-child)>td{border-top:1px dashed #aaa}.tableDataVertical table.sub>tbody>tr>th{font-weight:normal;text-align:right}.tableDataVertical table.sub>tbody>tr>th.name{text-align:right}.icon16{display:inline-block;height:16px;width:16px;margin-left:2px;cursor:pointer}.subtleUntilHover{-moz-opacity:.3;opacity:.3}.subtleUntilHover:hover{-moz-opacity:1;opacity:1}#pageMenu td .pageMenuArea>a.config{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4y41T3UtTcRie3QaNRhKC/4SgN4KBeSGK4EAvuzChNZQSvJgXYldCV5tMiUzEDVuZ84M0P4OmpjO3lV+bs21nH2fnbGd69mFuMz/39DunFsUadODh/Hj5vc/zPu/7/iQAJP9CQ0NDrU6nO9Lr9YnS0tKqfPdyAoODg7daWlpuqFQqYyyeQDKVQmdnp6G9vf26RqO5nZfAYDC0vZ2ezuj0es5oHEuGuQhCYQ7RWAznFxeYmpo6fmkwcCaTKfO8v1/5F4FMJrv26vUIQ7MhxOJxEYc8DzrIgItEcHB4iONkEql0Gqdn5xgdHfXnVFBXV6cNkATK54M/QMNm+4yPq2vY3NqCl8QSR0ci0icnqK6ufppDoO3t3fSRROe+C/PzCyKJ3e64CjLslZC0tLyMyMHPSjQ9PZbfBEqlslar1fIut/uS8vpgtdoQCoVB/NJSqVReWFh4b2FxkY8SW0JVQl88FHXZ19fHl5eXV0kqK++qInwU+y43duwOrJnXQVE+1NfLn2RVHigUAx7KC/P6BulLEH6aJs2No6LiTpukrKzsEcOy2HN+xfbOLlbXzOCjMajV6vdZgiGd7oswlZnZOdj3nAjQhCQQQElJiUJCPmlTU9MsGR1H/GJre0ds1uTkJEZG3nwzGo3HY+Pj4jSsNhu8/gD0w8OskCPk/rl5z1LpE7DE/wfTkjjGXWLJQRRpovhuZgYO5z4pP4iamhp1zhS6u7u572dniCcScHs8sFisWN+w4NMvWIi6QB4ku9LV1RXKIVB1dJjJX1iiDNm+TJjjRL+CqrAfRDlDFusqHDlAa2vrSg6B4KexsXGiqKjofnFx8WNSxalfbBYNyutNkvhDElfI5fIJ4W7ex5TFi4EBF0umwzAMmpubV/77NWZRUFAgI52eE0DON/Pd+wH6O+vw3ozilAAAAABJRU5ErkJggg==)}#pageMenu td .pageMenuArea>a.config:hover{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiElEQVQ4y41Ta0iTYRQe/ShCTCpJiiRIKvtTiUE3+2VRiMR+JEk3ktKMslmGJZVEf1aZhpFFS/uRQ7Jcq2jVKvKCu2S66eZl05zu5qd9m+5i28TtO73njYXyNeiDw/dyOOc5z3me9xUAgOBfUXYgNUv3+JxH/0Q0lZ22MjNWHS/R9agwsfZU+hL5hZ0vAi4HhLwsKC5lSBuLtsepbx9MignQ/bRENCC7xekkRYyx4brf6zCB194Pv1gbhGeCMNAk9pEaZlgp4Tru5xXOA0hKWLSg59kVu8dqBJyK4R+3wJSlG3xOM/iZHxD0TEDI54LZ4DQYpFdHeAyK96+rxgb3YAdMDevBoZXDaHM9jH1/R3MBt5PGjH8SzmSmiHkAmru5Omz8aWyGwbf3KAijV0YIqwg2WT7XgW9siDJR38n59hdAcjI9S1NxiGX728M4ya5uAo+tF8i+1sT4hcLk5YuPDikesLgWskJdXCZNWFt1hM3ZtjpTcDxjTen0xAiwfW04EUZbpOA2a6Eka315dMrDE2kS0gTWtgaqC7JDcXN3JIsExOMinIjUGd1HCoCA7WLhpygAuQ9d6Ir5TRWM93yhABj7NiUVCMiXUHl4s4JYx6ALTNcHKlZf400w1Jd5Sd7X+/wGdcOueQWTQ52gry12YA/2zr15NWgTsiFeUxtxpQnDVzrNJK+gLPF8dm9KJc+FlvI9zGzAR++Aa0AFNtXLeYHTERxDeXm3kwfw+uIuFReJIABHBOJwZ9yXTv0jHEf+EczX5W9t5QHgPteEG2VrV8Tlpa6KP09YhKJiEVf8JH+a5AtKszfIsDbmY4pGZ02+mVImwlYf29L6369xDqNlROn3GOS8NFbdbzB85s9H8NGVAAAAAElFTkSuQmCC)}#updateAvailableContainer{float:right;border:1px dashed #ddd;background-color:#fff;font-size:.6em;line-height:1em;padding:4px 10px 4px 70px;text-align:right;height:64px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAABACAYAAACz4p94AAAVPUlEQVRo3s2aWaxk13Wev7X3PkONd+6+PQ+cmoNItkha4iCYtBVLpGQ7MkQ78EMICBZt+EFAAENMgAAKkAQInYcEQR6Sl8AKHE1OBBkg2YJFKS0O8iCSgimymyLZTXY3e+471q1bVWfYKw/7nLrVDCkDQQNhNQ7OrdNVe69/Tf9aa5dwLV+P/ycOuE1z8fxZKaa2U4pQYkEBY0m3tZk79pKePXbc8/ZPrtm27pqscvfn4aWnYO+exq5WvqCptUOXMHAJmYkZFYpzMfO7usysnSnOvnnqIpB9tEC89BQArW5zenpK7ugPB+nQRLRtQm4tK3lJZCKmui1ttFt9Ytf76IGoXs00WUib9oHp6dlOZoyU4siNxY9KrHV0Gw1Va5dw9nVg9SMJIo3jxTSJPjnXbc8UYqWwjhzDMCmxxtFsNXQTvUDkvguc/kiCEGsX4ii6ud3tTJXGUIhjKJbesERcRLedMvB+Gmu713LfawoC9Q1nbDrTdHFpHKWxbIil5RTjItrNhEtIijWNjyyIIi8iI0g3TSisozQOVUPTCDZKaDYjBBVEoo8siOFoJKinncTk1lLaiEwtqXNESUI3teABMeYjC2IwGIovSpqxIzeO0jr6RKQupptEbIs8AmBEP7og+hv4vCB2DmsdhYtwGtHEMR8J2xyIEhj8IxvYvR5lNsIaQYxBjMFhaakw42C23k2uLYhr6ptcPJ8x3FQjghXBVEASK7Ss0A67KSvr2TW1xF9897uRM/aPW63mnla7U7Zb7bC5UN0FEETkqmfhOUglrBHDn3z32cM220yCpDJWuAGsASuQRK79L77y2Jef+Mf/40EFUdlaQyb2kbAZBkFRijwnyzLyoiDPMrJwRXme/5UzmEjEfBkxtwqCMeHaEnTr76ufT2wuAqIcmmlxYZDhvWppVEpVCpQcyD1kHk0i17hp1/bfCZKCqdarARgRMBPPjCAalBeAMt5bVVHV0llr1BjJjAhxHBEnCda6qzRvEMSAiA2LimDEhA3HloDIOWBEXnopjacsPUP19MXQK6HnEUWI4pi02awiPAgKEnxbggWlAmOqTxljq2ASvCp5ntcgCmeMwVpLmjb43z/8AUl+kZgMjEHiGfCKiWJwCUWRUSKIsYhmCAXYFCmGiHpeO9OnffAuhmVJQYliGPmCnhiuGEvHwWiwyQ/+15+z9uPv4FUxrS6MelDm+NYUuBhrLNYlaL+HZhkap2AU1ZCieyPLdTffwaFDN6GqODGVyQRmZ2f4/V/7OKkbgFho7YM8g7QFaYdvP3+MYxeWKLMR4kugBBOD5qhXfvOR69HWHFfyAu+FUmHolT5wxSSkubB9cZ5z76zyzsJ1eO+RRgufD1AtyLine truncated
|
.tableData{border:solid 1px #e8eef4;border-collapse:collapse}.tableData>tbody>tr>td{border:solid 1px #e8eef4;background-color:#fff}.tableData>tbody>tr:nth-child(odd)>td{background-color:#fcfcfd}.tableData>thead>tr>th,.tableData>tbody>tr>th{background-color:#e8eef4;border:solid 1px #e8eef4}.tableData>tbody>tr:hover>td{background-color:#e8eef4}.tableDataDark{border:solid 1px #8db2d8;border-collapse:collapse}.tableDataDark td{border:solid 1px #8db2d8;background-color:#fff}.tableDataDark th{background-color:#8db2d8;border:solid 1px #8db2d8}.tableDataContainer{background-color:#fff}.tableDataVertical{border:solid 1px #e8eef4;border-collapse:collapse}.tableDataVertical>tbody>tr:nth-child(odd){background-color:#e8eef4;margin:0;padding:0}.tableDataVertical>tbody>tr>th.name{width:170px;text-align:right}.tableDataVertical table.sub>tbody>tr:not(:first-child)>th,.tableDataVertical table.sub>tbody>tr:not(:first-child)>td{border-top:1px dashed #aaa}.tableDataVertical table.sub>tbody>tr>th{font-weight:normal;text-align:right}.tableDataVertical table.sub>tbody>tr>th.name{text-align:right}.icon16{display:inline-block;height:16px;width:16px;margin-left:2px;cursor:pointer}.subtleUntilHover{-moz-opacity:.3;opacity:.3}.subtleUntilHover:hover{-moz-opacity:1;opacity:1}#pageMenu td .pageMenuArea>a.config{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACsElEQVQ4y41T3UtTcRie3QaNRhKC/4SgN4KBeSGK4EAvuzChNZQSvJgXYldCV5tMiUzEDVuZ84M0P4OmpjO3lV+bs21nH2fnbGd69mFuMz/39DunFsUadODh/Hj5vc/zPu/7/iQAJP9CQ0NDrU6nO9Lr9YnS0tKqfPdyAoODg7daWlpuqFQqYyyeQDKVQmdnp6G9vf26RqO5nZfAYDC0vZ2ezuj0es5oHEuGuQhCYQ7RWAznFxeYmpo6fmkwcCaTKfO8v1/5F4FMJrv26vUIQ7MhxOJxEYc8DzrIgItEcHB4iONkEql0Gqdn5xgdHfXnVFBXV6cNkATK54M/QMNm+4yPq2vY3NqCl8QSR0ci0icnqK6ufppDoO3t3fSRROe+C/PzCyKJ3e64CjLslZC0tLyMyMHPSjQ9PZbfBEqlslar1fIut/uS8vpgtdoQCoVB/NJSqVReWFh4b2FxkY8SW0JVQl88FHXZ19fHl5eXV0kqK++qInwU+y43duwOrJnXQVE+1NfLn2RVHigUAx7KC/P6BulLEH6aJs2No6LiTpukrKzsEcOy2HN+xfbOLlbXzOCjMajV6vdZgiGd7oswlZnZOdj3nAjQhCQQQElJiUJCPmlTU9MsGR1H/GJre0ds1uTkJEZG3nwzGo3HY+Pj4jSsNhu8/gD0w8OskCPk/rl5z1LpE7DE/wfTkjjGXWLJQRRpovhuZgYO5z4pP4iamhp1zhS6u7u572dniCcScHs8sFisWN+w4NMvWIi6QB4ku9LV1RXKIVB1dJjJX1iiDNm+TJjjRL+CqrAfRDlDFusqHDlAa2vrSg6B4KexsXGiqKjofnFx8WNSxalfbBYNyutNkvhDElfI5fIJ4W7ex5TFi4EBF0umwzAMmpubV/77NWZRUFAgI52eE0DON/Pd+wH6O+vw3ozilAAAAABJRU5ErkJggg==)}#pageMenu td .pageMenuArea>a.config:hover{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACiElEQVQ4y41Ta0iTYRQe/ShCTCpJiiRIKvtTiUE3+2VRiMR+JEk3ktKMslmGJZVEf1aZhpFFS/uRQ7Jcq2jVKvKCu2S66eZl05zu5qd9m+5i28TtO73njYXyNeiDw/dyOOc5z3me9xUAgOBfUXYgNUv3+JxH/0Q0lZ22MjNWHS/R9agwsfZU+hL5hZ0vAi4HhLwsKC5lSBuLtsepbx9MignQ/bRENCC7xekkRYyx4brf6zCB194Pv1gbhGeCMNAk9pEaZlgp4Tru5xXOA0hKWLSg59kVu8dqBJyK4R+3wJSlG3xOM/iZHxD0TEDI54LZ4DQYpFdHeAyK96+rxgb3YAdMDevBoZXDaHM9jH1/R3MBt5PGjH8SzmSmiHkAmru5Omz8aWyGwbf3KAijV0YIqwg2WT7XgW9siDJR38n59hdAcjI9S1NxiGX728M4ya5uAo+tF8i+1sT4hcLk5YuPDikesLgWskJdXCZNWFt1hM3ZtjpTcDxjTen0xAiwfW04EUZbpOA2a6Eka315dMrDE2kS0gTWtgaqC7JDcXN3JIsExOMinIjUGd1HCoCA7WLhpygAuQ9d6Ir5TRWM93yhABj7NiUVCMiXUHl4s4JYx6ALTNcHKlZf400w1Jd5Sd7X+/wGdcOueQWTQ52gry12YA/2zr15NWgTsiFeUxtxpQnDVzrNJK+gLPF8dm9KJc+FlvI9zGzAR++Aa0AFNtXLeYHTERxDeXm3kwfw+uIuFReJIABHBOJwZ9yXTv0jHEf+EczX5W9t5QHgPteEG2VrV8Tlpa6KP09YhKJiEVf8JH+a5AtKszfIsDbmY4pGZ02+mVImwlYf29L6369xDqNlROn3GOS8NFbdbzB85s9H8NGVAAAAAElFTkSuQmCC)}#updateAvailableContainer{float:right;border:1px dashed #ddd;background-color:#fff;font-size:.6em;line-height:1em;padding:4px 10px 4px 70px;text-align:right;height:64px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAABACAYAAACz4p94AAAVPUlEQVRo3s2aWaxk13Wev7X3PkONd+6+PQ+cmoNItkha4iCYtBVLpGQ7MkQ78EMICBZt+EFAAENMgAAKkAQInYcEQR6Sl8AKHE1OBBkg2YJFKS0O8iCSgimymyLZTXY3e+471q1bVWfYKw/7nLrVDCkDQQNhNQ7OrdNVe69/Tf9aa5dwLV+P/ycOuE1z8fxZKaa2U4pQYkEBY0m3tZk79pKePXbc8/ZPrtm27pqscvfn4aWnYO+exq5WvqCptUOXMHAJmYkZFYpzMfO7usysnSnOvnnqIpB9tEC89BQArW5zenpK7ugPB+nQRLRtQm4tK3lJZCKmui1ttFt9Ytf76IGoXs00WUib9oHp6dlOZoyU4siNxY9KrHV0Gw1Va5dw9nVg9SMJIo3jxTSJPjnXbc8UYqWwjhzDMCmxxtFsNXQTvUDkvguc/kiCEGsX4ii6ud3tTJXGUIhjKJbesERcRLedMvB+Gmu713LfawoC9Q1nbDrTdHFpHKWxbIil5RTjItrNhEtIijWNjyyIIi8iI0g3TSisozQOVUPTCDZKaDYjBBVEoo8siOFoJKinncTk1lLaiEwtqXNESUI3teABMeYjC2IwGIovSpqxIzeO0jr6RKQupptEbIs8AmBEP7og+hv4vCB2DmsdhYtwGtHEMR8J2xyIEhj8IxvYvR5lNsIaQYxBjMFhaakw42C23k2uLYhr6ptcPJ8x3FQjghXBVEASK7Ss0A67KSvr2TW1xF9897uRM/aPW63mnla7U7Zb7bC5UN0FEETkqmfhOUglrBHDn3z32cM220yCpDJWuAGsASuQRK79L77y2Jef+Mf/40EFUdlaQyb2kbAZBkFRijwnyzLyoiDPMrJwRXme/5UzmEjEfBkxtwqCMeHaEnTr76ufT2wuAqIcmmlxYZDhvWppVEpVCpQcyD1kHk0i17hp1/bfCZKCqdarARgRMBPPjCAalBeAMt5bVVHV0llr1BjJjAhxHBEnCda6qzRvEMSAiA2LimDEhA3HloDIOWBEXnopjacsPUP19MXQK6HnEUWI4pi02awiPAgKEnxbggWlAmOqTxljq2ASvCp5ntcgCmeMwVpLmjb43z/8AUl+kZgMjEHiGfCKiWJwCUWRUSKIsYhmCAXYFCmGiHpeO9OnffAuhmVJQYliGPmCnhiuGEvHwWiwyQ/+15+z9uPv4FUxrS6MelDm+NYUuBhrLNYlaL+HZhkap2AU1ZCieyPLdTffwaFDN6GqODGVyQRmZ2f4/V/7OKkbgFho7YM8g7QFaYdvP3+MYxeWKLMR4kugBBOD5qhXfvOR69HWHFfyAu+FUmHolT5wxSSkubB9cZ5z76zyzsJ1eO+RRgufD1AtyLine truncated
|
||||||
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
[assembly: AssemblyVersion("1.2.0225.1951")]
|
[assembly: AssemblyVersion("1.2.0304.2046")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0225.1951")]
|
[assembly: AssemblyFileVersion("1.2.0304.2046")]
|
||||||
Reference in new issue
Block a user