This commit is contained in:
alzaslon 2016-04-25 15:18:52 -07:00
Родитель 1ae3cb5ffc
Коммит 0cedc79614
18 изменённых файлов: 99 добавлений и 72 удалений

Просмотреть файл

@ -0,0 +1,13 @@
namespace Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
{
using System.Web;
using System.Web.Mvc;
public static class HtmlHelperExtensions
{
public static IHtmlString JavaScriptString(this HtmlHelper htmlHelper, string message)
{
return htmlHelper.Raw(HttpUtility.JavaScriptStringEncode(message));
}
}
}

Просмотреть файл

@ -1,5 +1,6 @@
@using GlobalResources @using GlobalResources
@using Newtonsoft.Json; @using Newtonsoft.Json;
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.ActionPropertiesModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.ActionPropertiesModel
@{ @{
@ -63,16 +64,16 @@
"use strict"; "use strict";
var resources = { var resources = {
retry: '@Strings.Retry', retry: '@Html.JavaScriptString(Strings.Retry)',
serviceUnavailable: '@Strings.ServiceUnavailable', serviceUnavailable: '@Html.JavaScriptString(Strings.ServiceUnavailable)',
unableToRetrieveActionFromService: '@Strings.UnableToRetrieveActionFromService', unableToRetrieveActionFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveActionFromService)',
disabled: '@Strings.Disabled', disabled: '@Html.JavaScriptString(Strings.Disabled)',
enabled: '@Strings.Enabled', enabled: '@Html.JavaScriptString(Strings.Enabled)',
failedToRetrieveActions: '@Strings.FailedToRetrieveActions', failedToRetrieveActions: '@Html.JavaScriptString(Strings.FailedToRetrieveActions)',
noActionSelected: '@Strings.NoActionSelectedLabel', noActionSelected: '@Html.JavaScriptString(Strings.NoActionSelectedLabel)',
failedToUpdateActionId: '@Strings.FailedToUpdateActionId', failedToUpdateActionId: '@Html.JavaScriptString(Strings.FailedToUpdateActionId)',
readonlyActions: '@Model.HasAssignActionPerm.ToString().ToLower()', readonlyActions: '@Model.HasAssignActionPerm.ToString().ToLower()',
actionsList: '@Strings.Actions' actionsList: '@Html.JavaScriptString(Strings.Actions)'
}; };
</script> </script>

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models.ApiRegistrationModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.Common.Models.ApiRegistrationModel
<div class="advanced_left_column"> <div class="advanced_left_column">
@ -68,7 +69,7 @@
function () { function () {
'use strict'; 'use strict';
var config = { var config = {
subheadContent: '@Strings.ApiRegistrationTitle', subheadContent: '@Html.JavaScriptString(Strings.ApiRegistrationTitle)',
goBackUrl: '@Url.Action("SelectAdvancedProcess")' goBackUrl: '@Url.Action("SelectAdvancedProcess")'
}; };
IoTApp.Advanced.initSubView(config); IoTApp.Advanced.initSubView(config);

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
<div class="dashboardLeftColumn"> <div class="dashboardLeftColumn">
@Html.Partial("_IccidAssociation") @Html.Partial("_IccidAssociation")
</div> </div>
@ -7,7 +8,7 @@
function () { function () {
'use strict'; 'use strict';
var config = { var config = {
subheadContent: '@Html.Raw(Strings.DeviceAssociationTitle)', subheadContent: '@Html.JavaScriptString(Strings.DeviceAssociationTitle)',
goBackUrl: '@Url.Action("SelectAdvancedProcess")' goBackUrl: '@Url.Action("SelectAdvancedProcess")'
}; };

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@if (ViewBag.HasRegistration) @if (ViewBag.HasRegistration)
{ {
<fieldset class="registration_content"> <fieldset class="registration_content">
@ -23,7 +24,7 @@
<script> <script>
"use strict"; "use strict";
var resources = { var resources = {
simAssociationSucceeded: '@Strings.SimAssociationSucceeded' simAssociationSucceeded: '@Html.JavaScriptString(Strings.SimAssociationSucceeded)'
}; };
</script> </script>
} }

Просмотреть файл

@ -13,20 +13,20 @@
'use strict'; 'use strict';
var resources = { var resources = {
active: '@Strings.Active', active: '@Html.JavaScriptString(Strings.Active)',
alarm: '@Strings.Alarm', alarm: '@Html.JavaScriptString(Strings.Alarm)',
alarmHistory: '@Strings.AlarmHistory', alarmHistory: '@Html.JavaScriptString(Strings.AlarmHistory)',
allClearStatusIcon: '/Content/img/icon_status_all_clear.svg', allClearStatusIcon: '/Content/img/icon_status_all_clear.svg',
cautionStatusIcon: '/Content/img/icon_status_caution.svg', cautionStatusIcon: '/Content/img/icon_status_caution.svg',
closed: '@Strings.Closed', closed: '@Html.JavaScriptString(Strings.Closed)',
criticalStatusIcon: '/Content/img/icon_status_critical.svg', criticalStatusIcon: '/Content/img/icon_status_critical.svg',
humidity: '@Strings.Humidity', humidity: '@Html.JavaScriptString(Strings.Humidity)',
information: '@Strings.Information', information: '@Html.JavaScriptString(Strings.Information)',
telemetryGaugeNumericFormat: '@Strings.TelemetryGaugeNumericFormat', telemetryGaugeNumericFormat: '@Html.JavaScriptString(Strings.TelemetryGaugeNumericFormat)',
temperature: '@Strings.Temperature', temperature: '@Html.JavaScriptString(Strings.Temperature)',
alertHistoryType: '', alertHistoryType: '',
unableToRetrieveAlertsHistoryFromService: '@Strings.UnableToRetrieveAlertsHistoryFromService', unableToRetrieveAlertsHistoryFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveAlertsHistoryFromService)',
unableToRetrieveDeviceTelemetryFromService: '@Strings.UnableToRetrieveDeviceTelemetryFromService' unableToRetrieveDeviceTelemetryFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveDeviceTelemetryFromService)'
}; };
</script> </script>

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@{ @{
ViewBag.Title = "Add a Device"; ViewBag.Title = "Add a Device";
} }
@ -24,8 +25,8 @@
"use strict"; "use strict";
var addDeviceResources = { var addDeviceResources = {
addDevice: '@Strings.AddDevice', addDevice: '@Html.JavaScriptString(Strings.AddDevice)',
stepOneHeader: '@Strings.StepOneHeader', stepOneHeader: '@Html.JavaScriptString(Strings.StepOneHeader)',
redirectToIndexUrl: '@Url.Action("Index", "Device")', redirectToIndexUrl: '@Url.Action("Index", "Device")',
deviceDetailDeviceId: '@ViewBag.DeviceId' deviceDetailDeviceId: '@ViewBag.DeviceId'
} }

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@{ @{
ViewBag.Title = "Index"; ViewBag.Title = "Index";
} }
@ -155,22 +156,22 @@
"use strict"; "use strict";
var resources = { var resources = {
retry: '@Strings.Retry', retry: '@Html.JavaScriptString(Strings.Retry)',
serviceUnavailable: '@Strings.ServiceUnavailable', serviceUnavailable: '@Html.JavaScriptString(Strings.ServiceUnavailable)',
deactivateDevice: '@Strings.DisableDevice', deactivateDevice: '@Html.JavaScriptString(Strings.DisableDevice)',
activateDevice: '@Strings.EnableDevice', activateDevice: '@Html.JavaScriptString(Strings.EnableDevice)',
unableToRetrieveDeviceFromService: '@Strings.UnableToRetrieveDeviceFromService', unableToRetrieveDeviceFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveDeviceFromService)',
errorWhileRetrievingKeys: '@Strings.ErrorWhileRetrievingKeys', errorWhileRetrievingKeys: '@Html.JavaScriptString(Strings.ErrorWhileRetrievingKeys)',
failedToUpdateDeviceStatus: '@Strings.FailedToUpdateDeviceStatus', failedToUpdateDeviceStatus: '@Html.JavaScriptString(Strings.FailedToUpdateDeviceStatus)',
disabled: '@Strings.Disabled', disabled: '@Html.JavaScriptString(Strings.Disabled)',
pending: '@Strings.Pending', pending: '@Html.JavaScriptString(Strings.Pending)',
running: '@Strings.Running', running: '@Html.JavaScriptString(Strings.Running)',
failedToRetrieveDevices: '@Strings.FailedToRetrieveDevices', failedToRetrieveDevices: '@Html.JavaScriptString(Strings.FailedToRetrieveDevices)',
noDeviceSelected: '@Strings.NoDeviceSelectedLabel', noDeviceSelected: '@Html.JavaScriptString(Strings.NoDeviceSelectedLabel)',
deviceList: '@Strings.DeviceList', deviceList: '@Html.JavaScriptString(Strings.DeviceList)',
nextPage: '@Strings.Next', nextPage: '@Html.JavaScriptString(Strings.Next)',
previousPage: '@Strings.Previous', previousPage: '@Html.JavaScriptString(Strings.Previous)',
infoFiltered: '@Strings.FilterInfo' infoFiltered: '@Html.JavaScriptString(Strings.FilterInfo)'
}; };
</script> </script>

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.RegisteredDeviceModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.RegisteredDeviceModel
@{ @{
@ -54,7 +55,7 @@
var resources = { var resources = {
redirectToIndexUrl: '@Url.Action("Index", "Device")', redirectToIndexUrl: '@Url.Action("Index", "Device")',
errorRemoveDevice: '@Strings.ErrorRemoveDevice' errorRemoveDevice: '@Html.JavaScriptString(Strings.ErrorRemoveDevice)'
}; };
</script> </script>

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.RegisteredDeviceModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.RegisteredDeviceModel
@ -51,7 +52,7 @@ else
<div class="content_instructions"> <div class="content_instructions">
<h3> <h3>
<a href="@Model.InstructionsUrl" target="_blank">@String.Format(@Strings.InstructionsForYourDeviceFormatted, @Model.DeviceType.Name)</a> <a href="@Model.InstructionsUrl" target="_blank">@String.Format(Strings.InstructionsForYourDeviceFormatted, Model.DeviceType.Name)</a>
@Strings.OpensInNewTab @Strings.OpensInNewTab
</h3> </h3>
@ -60,8 +61,8 @@ else
<script type="text/javascript"> <script type="text/javascript">
var resources = { var resources = {
addDevice: '@String.Format(@Strings.AddADeviceFormatted, @Model.DeviceType.Name)', addDevice: '@String.Format(Strings.AddADeviceFormatted, Model.DeviceType.Name)',
stepThree: '@Strings.StepThreeHeader' stepThree: '@Html.JavaScriptString(Strings.StepThreeHeader)'
} }
</script> </script>
<script type="text/javascript" src="~/Scripts/Views/Device/AddDeviceCopy.js"></script> <script type="text/javascript" src="~/Scripts/Views/Device/AddDeviceCopy.js"></script>

Просмотреть файл

@ -1,5 +1,6 @@
@using System.Collections @using System.Collections
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.UnregisteredDeviceModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.UnregisteredDeviceModel
@using (Ajax.BeginForm("AddDeviceCreate", "Device", @using (Ajax.BeginForm("AddDeviceCreate", "Device",
@ -88,11 +89,11 @@
<script type="text/javascript"> <script type="text/javascript">
var resources = { var resources = {
addDevice: '@String.Format(@Strings.AddADeviceFormatted, @Model.DeviceType.Name)', addDevice: '@Html.JavaScriptString(string.Format(Strings.AddADeviceFormatted, Model.DeviceType.Name))',
redirectToIndexUrl: '@Url.Action("AddDevice", "Device")', redirectToIndexUrl: '@Url.Action("AddDevice", "Device")',
stepTwoHeader: '@Strings.StepTwoHeader', stepTwoHeader: '@Html.JavaScriptString(Strings.StepTwoHeader)',
enterDeviceId: '@Strings.EnterDeviceId', enterDeviceId: '@Html.JavaScriptString(Strings.EnterDeviceId)',
createDeviceError: '@Strings.DeviceAddError', createDeviceError: '@Html.JavaScriptString(Strings.DeviceAddError)',
canHaveIccid: '@ViewBag.CanHaveIccid' canHaveIccid: '@ViewBag.CanHaveIccid'
} }

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model List<Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastructure.Models.DeviceType> @model List<Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Infrastructure.Models.DeviceType>
<div id="test"> <div id="test">
@ -37,9 +38,9 @@
</div> </div>
<script type="text/javascript"> <script type="text/javascript">
var resources = { var resources = {
addDevice: '@Strings.AddDevice', addDevice: '@Html.JavaScriptString(Strings.AddDevice)',
stepOneHeader: '@Strings.StepOneHeader', stepOneHeader: '@Html.JavaScriptString(Strings.StepOneHeader)',
selectDeviceTypeError: '@Strings.DeviceAddSelectTypeError' selectDeviceTypeError: '@Html.JavaScriptString(Strings.DeviceAddSelectTypeError)'
} }
</script> </script>
<script type="text/javascript" src="~/Scripts/Views/Device/DeviceSelectType.js"></script> <script type="text/javascript" src="~/Scripts/Views/Device/DeviceSelectType.js"></script>

Просмотреть файл

@ -119,9 +119,9 @@
commands: '@Html.Raw(Model.CommandsJson)', commands: '@Html.Raw(Model.CommandsJson)',
deviceId: '@Model.DeviceId', deviceId: '@Model.DeviceId',
deviceIsEnabled: '@Model.DeviceIsEnabled.ToString().ToLower()', deviceIsEnabled: '@Model.DeviceIsEnabled.ToString().ToLower()',
commandError: '@Strings.CommandError', commandError: '@Html.JavaScriptString(Strings.CommandError)',
commandSendError: '@Strings.CommandSendError', commandSendError: '@Html.JavaScriptString(Strings.CommandSendError)',
resendCommandError: '@Strings.ResendCommandError' resendCommandError: '@Html.JavaScriptString(Strings.ResendCommandError)'
} }
</script> </script>

Просмотреть файл

@ -1,5 +1,6 @@
@using System.Web.Mvc.Html @using System.Web.Mvc.Html
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel
@{ @{
@ -84,9 +85,9 @@
var resources = { var resources = {
redirectUrl: '@Url.Action("Index", "DeviceRules")', redirectUrl: '@Url.Action("Index", "DeviceRules")',
ruleUpdateError: '@Strings.RuleUpdateError', ruleUpdateError: '@Html.JavaScriptString(Strings.RuleUpdateError)',
enabledString: '@Strings.Enabled', enabledString: '@Html.JavaScriptString(Strings.Enabled)',
disabledString: '@Strings.Disabled' disabledString: '@Html.JavaScriptString(Strings.Disabled)'
} }
</script> </script>

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel
@{ @{
@ -70,17 +71,17 @@
"use strict"; "use strict";
var resources = { var resources = {
retry: '@Strings.Retry', retry: '@Html.JavaScriptString(Strings.Retry)',
serviceUnavailable: '@Strings.ServiceUnavailable', serviceUnavailable: '@Html.JavaScriptString(Strings.ServiceUnavailable)',
unableToRetrieveRuleFromService: '@Strings.UnableToRetrieveRuleFromService', unableToRetrieveRuleFromService: '@Html.JavaScriptString(Strings.UnableToRetrieveRuleFromService)',
disabled: '@Strings.Disabled', disabled: '@Html.JavaScriptString(Strings.Disabled)',
enabled: '@Strings.Enabled', enabled: '@Html.JavaScriptString(Strings.Enabled)',
failedToRetrieveRules: '@Strings.FailedToRetrieveRules', failedToRetrieveRules: '@Html.JavaScriptString(Strings.FailedToRetrieveRules)',
noRuleSelected: '@Strings.NoRuleSelectedLabel', noRuleSelected: '@Html.JavaScriptString(Strings.NoRuleSelectedLabel)',
ruleUpdateError: '@Strings.RuleUpdateError', ruleUpdateError: '@Html.JavaScriptString(Strings.RuleUpdateError)',
rulesList: '@Strings.Rules', rulesList: '@Html.JavaScriptString(Strings.Rules)',
nextPage: '@Strings.Next', nextPage: '@Html.JavaScriptString(Strings.Next)',
previousPage: '@Strings.Previous' previousPage: '@Html.JavaScriptString(Strings.Previous)'
}; };
</script> </script>

Просмотреть файл

@ -1,4 +1,5 @@
@using GlobalResources @using GlobalResources
@using Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Helpers
@model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel @model Microsoft.Azure.Devices.Applications.RemoteMonitoring.DeviceAdmin.Web.Models.EditDeviceRuleModel
@{ @{
@ -54,7 +55,7 @@
var resources = { var resources = {
redirectToIndexUrl: '@Url.Action("Index", "DeviceRules")', redirectToIndexUrl: '@Url.Action("Index", "DeviceRules")',
errorRemoveRule: '@Strings.ErrorRemoveRule' errorRemoveRule: '@Html.JavaScriptString(Strings.ErrorRemoveRule)'
}; };
</script> </script>

Просмотреть файл

@ -15,9 +15,9 @@
var cultureInfoShort = '@Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName' var cultureInfoShort = '@Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName'
var baseLayoutResources = { var baseLayoutResources = {
commandCToCopy: '@Strings.CommandCToCopy', commandCToCopy: '@Html.JavaScriptString(Strings.CommandCToCopy)',
controlCToCopy: '@Strings.ControlCToCopy', controlCToCopy: '@Html.JavaScriptString(Strings.ControlCToCopy)',
clickToSelectAll: '@Strings.ClickToSelectAll' clickToSelectAll: '@Html.JavaScriptString(Strings.ClickToSelectAll)'
}; };
</script> </script>
@Scripts.Render("~/bundles/powerbi-visuals") @Scripts.Render("~/bundles/powerbi-visuals")

Просмотреть файл

@ -277,6 +277,7 @@
<Compile Include="DataTables\SortColumn.cs" /> <Compile Include="DataTables\SortColumn.cs" />
<Compile Include="Extensions\EnumExtensions.cs" /> <Compile Include="Extensions\EnumExtensions.cs" />
<Compile Include="Helpers\CultureHelper.cs" /> <Compile Include="Helpers\CultureHelper.cs" />
<Compile Include="Helpers\HtmlHelperExtensions.cs" />
<Compile Include="Helpers\JasperCredentialsProvider.cs" /> <Compile Include="Helpers\JasperCredentialsProvider.cs" />
<Compile Include="Filters\ErrorHandlingFilter.cs" /> <Compile Include="Filters\ErrorHandlingFilter.cs" />
<Compile Include="Helpers\CellularExtensions.cs" /> <Compile Include="Helpers\CellularExtensions.cs" />