feature: scheduled flag removal
This commit is contained in:
@@ -776,12 +776,12 @@
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
<input id="Device_Show_Details_Actions_AddFlag_Dialog_Id" type="hidden" name="id" />
|
||||
<input id="Device_Show_Details_Actions_AddFlag_Dialog_DeviceSerialNumber" type="hidden" name="DeviceSerialNumber" value="@Model.Device.SerialNumber" />
|
||||
<input id="Device_Show_Details_Actions_AddFlag_Dialog_DeviceSerialNumber" type="hidden" name="deviceSerialNumber" value="@Model.Device.SerialNumber" />
|
||||
<div class="flagPicker">
|
||||
<input id="Device_Show_Details_Actions_AddFlag_Dialog_Filter" type="text" placeholder="Filter" autocomplete="off" />
|
||||
@foreach (var flag in Model.AvailableDeviceFlags.OrderBy(jq => jq.Name))
|
||||
{
|
||||
<div class="flag" data-flagid="@(flag.Id)" data-flagname="@flag.Name">
|
||||
<div class="flag" data-flagid="@(flag.Id)" data-flagname="@flag.Name" data-flagcanremove="@Model.Device.CanRemoveDeviceFlag(flag)" data-flagremovedays="@flag.DefaultRemoveDays">
|
||||
<i class="fa fa-@(flag.Icon) fa-fw fa-lg d-@(flag.IconColour)"></i>@flag.Name
|
||||
</div>
|
||||
}
|
||||
@@ -789,7 +789,12 @@
|
||||
<div class="details">
|
||||
<div>
|
||||
<h4>Comments</h4>
|
||||
<textarea name="Comments" id="Device_Show_Details_Actions_AddFlag_Dialog_Comments"></textarea>
|
||||
<textarea name="comments" id="Device_Show_Details_Actions_AddFlag_Dialog_Comments"></textarea>
|
||||
</div>
|
||||
<div>
|
||||
<h4>Remove On</h4>
|
||||
<input name="removeDate" id="Device_Show_Details_Actions_AddFlag_Dialog_RemoveDate" type="date" min="@(DateTime.Today.AddDays(1).ToString("yyyy-MM-dd"))" />
|
||||
<span>12:00 AM</span>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
@@ -802,6 +807,7 @@
|
||||
let flagPicker = null;
|
||||
let flagAddId = null;
|
||||
let flagAddComments = null;
|
||||
let flagAddRemoveDate = null;
|
||||
let details = null;
|
||||
|
||||
function flagSelected() {
|
||||
@@ -812,6 +818,26 @@
|
||||
|
||||
flagAddId.val(flag.attr('data-flagid'));
|
||||
|
||||
const removeDays = flag.attr('data-flagremovedays');
|
||||
if (removeDays) {
|
||||
const date = new Date();
|
||||
date.setDate(date.getDate() + parseInt(removeDays) - 1);
|
||||
flagAddRemoveDate[0].valueAsDate = date;
|
||||
flagAddRemoveDate.trigger('change');
|
||||
} else {
|
||||
flagAddRemoveDate[0].valueAsDate = null;
|
||||
flagAddRemoveDate.trigger('change');
|
||||
}
|
||||
flagAddRemoveDate.closest('div').show();
|
||||
if (flag.attr('data-flagcanremove') === 'True') {
|
||||
flagAddRemoveDate.prop('disabled', false);
|
||||
} else {
|
||||
flagAddRemoveDate.prop('disabled', true);
|
||||
if (!removeDays) {
|
||||
flagAddRemoveDate.closest('div').hide();
|
||||
}
|
||||
}
|
||||
|
||||
details.show();
|
||||
|
||||
flagAddComments.focus().select();
|
||||
@@ -844,6 +870,7 @@
|
||||
|
||||
flagAddId = $('#Device_Show_Details_Actions_AddFlag_Dialog_Id');
|
||||
flagAddComments = buttonDialog.find('#Device_Show_Details_Actions_AddFlag_Dialog_Comments');
|
||||
flagAddRemoveDate = buttonDialog.find('#Device_Show_Details_Actions_AddFlag_Dialog_RemoveDate');
|
||||
flagPicker = buttonDialog.find('.flagPicker');
|
||||
details = buttonDialog.find('.details');
|
||||
|
||||
@@ -864,6 +891,13 @@
|
||||
});
|
||||
|
||||
flagPicker.on('click', 'div.flag', flagSelected);
|
||||
flagAddRemoveDate.on('change', function () {
|
||||
if (flagAddRemoveDate.val()) {
|
||||
flagAddRemoveDate.next('span').show();
|
||||
} else {
|
||||
flagAddRemoveDate.next('span').hide();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#Device_Show_Details_Actions_AddFlag_Dialog_Filter').val('');
|
||||
|
||||
Reference in New Issue
Block a user