support user details category in document bulk generation
This commit is contained in:
1 parent
13549e7ec4
commit
273b67c422
10 files changed
+812
-169
No files matched your search
@@ -476,4 +476,107 @@ $(() => {
|
||||
return false;
|
||||
});
|
||||
|
||||
let dialogAddUserDetail = null;
|
||||
$('#AddUserDetail').click(e => {
|
||||
e.preventDefault();
|
||||
let dialog = dialogAddUserDetail;
|
||||
if (!dialog) {
|
||||
const action = delegate => {
|
||||
const form = dialog.find('form')[0];
|
||||
const key = $(form).find('input[name="key"]');
|
||||
if (key.val()) {
|
||||
if (form.reportValidity()) {
|
||||
const body = new FormData(form);
|
||||
fetch(form.action, {
|
||||
method: 'POST',
|
||||
body: body
|
||||
})
|
||||
.then(r => r.json())
|
||||
.then(r => {
|
||||
delegate(r);
|
||||
key.val('');
|
||||
$(form).find('input[name="value"]').val('');
|
||||
$('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value').empty();
|
||||
dialog.find('div.item').removeClass('selected');
|
||||
dialog.dialog("close");
|
||||
dialog.dialog("enable");
|
||||
})
|
||||
.catch(reason => {
|
||||
alert('Failed to validate user detail: ' + reason);
|
||||
});
|
||||
dialog.dialog("disable");
|
||||
}
|
||||
}
|
||||
}
|
||||
dialog = $('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail').dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
width: 690,
|
||||
buttons: {
|
||||
"Exclude Matched Users": function () {
|
||||
action(excludeUsers);
|
||||
},
|
||||
"Add Matched Users": function () {
|
||||
action(addUsers);
|
||||
}
|
||||
}
|
||||
});
|
||||
dialogAddUserDetail = dialog;
|
||||
}
|
||||
const $key = dialog.find('input[name="key"]');
|
||||
const $value = dialog.find('input[name="value"]');
|
||||
const $keys = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Key');
|
||||
const $values = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value');
|
||||
$keys.on('click', 'div.item:not(.disabled)', e => {
|
||||
e.preventDefault();
|
||||
const $target = $(e.currentTarget);
|
||||
const keyValue = $target.attr('data-id');
|
||||
$key.val(keyValue);
|
||||
$keys.find('div.item').removeClass('selected');
|
||||
$target.addClass('selected');
|
||||
|
||||
$values.empty();
|
||||
$values.append($('<i class="ajaxLoading" title="Loading"></i>'));
|
||||
|
||||
const form = dialog.find('form')[1];
|
||||
const body = new FormData(form);
|
||||
fetch(form.action, {
|
||||
method: 'POST',
|
||||
body: body
|
||||
})
|
||||
.then(r => r.json())
|
||||
.then(r => {
|
||||
$values.empty();
|
||||
|
||||
const allValues = $('<div class="item selected" data-id=""><i class="fa fa-info fa-fw fa-lg"></i><em>All Matched Users</em></div>');
|
||||
allValues.appendTo($values);
|
||||
$value.val('');
|
||||
|
||||
r.map(v => {
|
||||
const container = $('<div class="item"><i class="fa fa-info fa-fw fa-lg"></i ></div>');
|
||||
container.attr('data-id', v);
|
||||
const span = $('<span>').text(v);
|
||||
span.appendTo(container);
|
||||
container.appendTo($values);
|
||||
})
|
||||
})
|
||||
.catch(reason => {
|
||||
alert('Failed to validate user detail: ' + reason);
|
||||
});
|
||||
dialog.dialog("disable");
|
||||
|
||||
return false;
|
||||
});
|
||||
$values.on('click', 'div.item:not(.disabled)', e => {
|
||||
e.preventDefault();
|
||||
const $target = $(e.currentTarget);
|
||||
$value.val($target.attr('data-id'));
|
||||
$values.find('div.item').removeClass('selected');
|
||||
$target.addClass('selected');
|
||||
});
|
||||
dialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
@@ -1 +1 @@
|
||||
$(()=>{function o(){var t,n;i.length>0&&e.find("tbody tr:first-child").hide();const u=e.find("tbody");let r=0;for(t=0;t<i.length;t++)if(n=i[t],n.checkbox===undefined){const i=$('<tr><td><input id="BulkGenerate_User_'+t.toString()+'" type="checkbox" /><\/td><td><label for="BulkGenerate_User_'+t.toString()+'"><\/label><\/td><td><span class="name"><\/span><\/td><td><span class="scope"><\/span><\/td><\/tr>'),f=i.find("input")[0],e=i.find("label"),o=i.find("span.name"),s=i.find("span.scope");e.text(n.Id);s.text(n.Scope);n.IsError?(i.addClass("error"),f.checked=!1,f.disabled=!0):(f.checked=!0,o.text(n.DisplayName),r++);n.checkbox=f;u.append(i)}else!n.IsError&&n.checkbox.checked&&r++;r>0?$("#BulkGenerate").attr("disabled",null):$("#BulkGenerate").attr("disabled","disabled")}function r(n){let t=0;for(var r=0;r<n.length;r++){const f=n[r],u=i.find(n=>n.Id===f.Id);u===undefined||f.IsError?(i.push(f),t++):u.checkbox===undefined||u.checkbox.checked||u.IsError||(u.checkbox.checked=!0,t++)}t&&o()}function u(n){let r=0;for(var t=0;t<n.length;t++){const f=n[t],u=i.find(n=>n.Id===f.Id);u!==undefined&&u.checkbox!==undefined&&(u.checkbox.checked=!1,r++)}r&&o()}const i=[],e=$("#DocumentTemplate_BulkGenerate table");e.on("change",'input[type="checkbox"]',()=>{o()});$("#BulkGenerate").click(()=>{var t,n;let r=[];for(t=0;t<i.length;t++)n=i[t],!n.IsError&&n.checkbox!==undefined&&n.checkbox.checked&&r.push(n.Id);r.length>0&&($("#DocumentTemplate_BulkGenerate_DataIds").val(r.join("\r\n")),$("#BulkGenerate").closest("form").submit())});let t=null;$("#AddUsers").click(n=>(n.preventDefault(),t||(t=$("#DocumentTemplate_BulkGenerate_Dialog_AddUsers").dialog({resizable:!1,modal:!0,autoOpen:!1,width:460,buttons:{"Exclude Users":function(){const n=t.find("form")[0];if(n.reportValidity()){const i=new FormData(n);fetch(n.action,{method:"POST",body:i}).then(n=>n.json()).then(n=>{u(n),t.find("textarea").html("").val(""),t.dialog("close"),t.dialog("enable")}).catch(n=>{alert("Failed to validate users: "+n)})}t.dialog("disable")},"Add Users":function(){const n=t.find("form")[0];if(n.reportValidity()){const i=new FormData(n);fetch(n.action,{method:"POST",body:i}).then(n=>n.json()).then(n=>{r(n),t.find("textarea").html("").val(""),t.dialog("close"),t.dialog("enable")}).catch(n=>{alert("Failed to validate users: "+n)})}t.dialog("disable")}}})),t.dialog("open"),!1));let n=null;$("#AddGroupMembers").click(t=>{t.preventDefault();n||(n=$("#DocumentTemplate_BulkGenerate_Dialog_AddGroupMembers").dialog({resizable:!1,modal:!0,autoOpen:!1,width:460,buttons:{"Exclude Group Members":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{u(t),n.find('input[type="text"]').val(""),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate group: "+n)})}n.dialog("disable")},"Add Group Members":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{r(t),n.find('input[type="text"]').val(""),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate group: "+n)})}n.dialog("disable")}}}));const i=n.find('input[type="text"]');return i.autocomplete({source:i.attr("data-autocomplete-src"),minLength:2,select:function(n,t){return i.val(t.item.Id),!1}}).data("ui-autocomplete")._renderItem=function(n,t){return $("<li>").data("item.autocomplete",t).append("<a><strong>"+t.Name+"<\/strong><br>"+t.Id+" ("+t.Type+")<\/a>").appendTo(n)},n.dialog("open"),!1});let f=null;$("#AddUserFlag").click(n=>{if(n.preventDefault(),!f){const n=$("#DocumentTemplate_BulkGenerate_Dialog_AddUserFlag").dialog({resizable:!1,modal:!0,autoOpen:!1,width:460,buttons:{"Exclude Assigned Users":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{u(t),n.find('input[name="flagId"]').val(""),n.find("div.item").removeClass("selected"),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate user flag: "+n)})}n.dialog("disable")},"Add Assigned Users":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{r(t),n.find('input[name="flagId"]').val(""),n.find("div.item").removeClass("selected"),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate user flag: "+n)})}n.dialog("disable")}}});f=n}const t=f.find('input[name="flagId"]');f.on("click","div.item:not(.disabled)",n=>{n.preventDefault();const i=$(n.currentTarget);return t.val(i.attr("data-userflagid")),f.find("div.item").removeClass("selected"),i.addClass("selected"),!1});return f.dialog("open"),!1});let s=null;$("#AddDeviceProfile").click(n=>{n.preventDefault();let t=s;if(!t){const n=n=>{const i=t.find("form")[0],r=t.find('input[name="deviceProfileId"]');if(r.val()&&i.reportValidity()){const u=new FormData(i);fetchLine truncated
|
||||
$(()=>{function o(){var t,n;i.length>0&&e.find("tbody tr:first-child").hide();const u=e.find("tbody");let r=0;for(t=0;t<i.length;t++)if(n=i[t],n.checkbox===undefined){const i=$('<tr><td><input id="BulkGenerate_User_'+t.toString()+'" type="checkbox" /><\/td><td><label for="BulkGenerate_User_'+t.toString()+'"><\/label><\/td><td><span class="name"><\/span><\/td><td><span class="scope"><\/span><\/td><\/tr>'),f=i.find("input")[0],e=i.find("label"),o=i.find("span.name"),s=i.find("span.scope");e.text(n.Id);s.text(n.Scope);n.IsError?(i.addClass("error"),f.checked=!1,f.disabled=!0):(f.checked=!0,o.text(n.DisplayName),r++);n.checkbox=f;u.append(i)}else!n.IsError&&n.checkbox.checked&&r++;r>0?$("#BulkGenerate").attr("disabled",null):$("#BulkGenerate").attr("disabled","disabled")}function r(n){let t=0;for(var r=0;r<n.length;r++){const f=n[r],u=i.find(n=>n.Id===f.Id);u===undefined||f.IsError?(i.push(f),t++):u.checkbox===undefined||u.checkbox.checked||u.IsError||(u.checkbox.checked=!0,t++)}t&&o()}function u(n){let r=0;for(var t=0;t<n.length;t++){const f=n[t],u=i.find(n=>n.Id===f.Id);u!==undefined&&u.checkbox!==undefined&&(u.checkbox.checked=!1,r++)}r&&o()}const i=[],e=$("#DocumentTemplate_BulkGenerate table");e.on("change",'input[type="checkbox"]',()=>{o()});$("#BulkGenerate").click(()=>{var t,n;let r=[];for(t=0;t<i.length;t++)n=i[t],!n.IsError&&n.checkbox!==undefined&&n.checkbox.checked&&r.push(n.Id);r.length>0&&($("#DocumentTemplate_BulkGenerate_DataIds").val(r.join("\r\n")),$("#BulkGenerate").closest("form").submit())});let t=null;$("#AddUsers").click(n=>(n.preventDefault(),t||(t=$("#DocumentTemplate_BulkGenerate_Dialog_AddUsers").dialog({resizable:!1,modal:!0,autoOpen:!1,width:460,buttons:{"Exclude Users":function(){const n=t.find("form")[0];if(n.reportValidity()){const i=new FormData(n);fetch(n.action,{method:"POST",body:i}).then(n=>n.json()).then(n=>{u(n),t.find("textarea").html("").val(""),t.dialog("close"),t.dialog("enable")}).catch(n=>{alert("Failed to validate users: "+n)})}t.dialog("disable")},"Add Users":function(){const n=t.find("form")[0];if(n.reportValidity()){const i=new FormData(n);fetch(n.action,{method:"POST",body:i}).then(n=>n.json()).then(n=>{r(n),t.find("textarea").html("").val(""),t.dialog("close"),t.dialog("enable")}).catch(n=>{alert("Failed to validate users: "+n)})}t.dialog("disable")}}})),t.dialog("open"),!1));let n=null;$("#AddGroupMembers").click(t=>{t.preventDefault();n||(n=$("#DocumentTemplate_BulkGenerate_Dialog_AddGroupMembers").dialog({resizable:!1,modal:!0,autoOpen:!1,width:460,buttons:{"Exclude Group Members":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{u(t),n.find('input[type="text"]').val(""),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate group: "+n)})}n.dialog("disable")},"Add Group Members":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{r(t),n.find('input[type="text"]').val(""),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate group: "+n)})}n.dialog("disable")}}}));const i=n.find('input[type="text"]');return i.autocomplete({source:i.attr("data-autocomplete-src"),minLength:2,select:function(n,t){return i.val(t.item.Id),!1}}).data("ui-autocomplete")._renderItem=function(n,t){return $("<li>").data("item.autocomplete",t).append("<a><strong>"+t.Name+"<\/strong><br>"+t.Id+" ("+t.Type+")<\/a>").appendTo(n)},n.dialog("open"),!1});let f=null;$("#AddUserFlag").click(n=>{if(n.preventDefault(),!f){const n=$("#DocumentTemplate_BulkGenerate_Dialog_AddUserFlag").dialog({resizable:!1,modal:!0,autoOpen:!1,width:460,buttons:{"Exclude Assigned Users":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{u(t),n.find('input[name="flagId"]').val(""),n.find("div.item").removeClass("selected"),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate user flag: "+n)})}n.dialog("disable")},"Add Assigned Users":function(){const t=n.find("form")[0];if(t.reportValidity()){const i=new FormData(t);fetch(t.action,{method:"POST",body:i}).then(n=>n.json()).then(t=>{r(t),n.find('input[name="flagId"]').val(""),n.find("div.item").removeClass("selected"),n.dialog("close"),n.dialog("enable")}).catch(n=>{alert("Failed to validate user flag: "+n)})}n.dialog("disable")}}});f=n}const t=f.find('input[name="flagId"]');f.on("click","div.item:not(.disabled)",n=>{n.preventDefault();const i=$(n.currentTarget);return t.val(i.attr("data-userflagid")),f.find("div.item").removeClass("selected"),i.addClass("selected"),!1});return f.dialog("open"),!1});let s=null;$("#AddDeviceProfile").click(n=>{n.preventDefault();let t=s;if(!t){const n=n=>{const i=t.find("form")[0],r=t.find('input[name="deviceProfileId"]');if(r.val()&&i.reportValidity()){const u=new FormData(i);fetchLine truncated
|
||||
+103
@@ -476,4 +476,107 @@
|
||||
return false;
|
||||
});
|
||||
|
||||
let dialogAddUserDetail = null;
|
||||
$('#AddUserDetail').click(e => {
|
||||
e.preventDefault();
|
||||
let dialog = dialogAddUserDetail;
|
||||
if (!dialog) {
|
||||
const action = delegate => {
|
||||
const form = dialog.find('form')[0];
|
||||
const key = $(form).find('input[name="key"]');
|
||||
if (key.val()) {
|
||||
if (form.reportValidity()) {
|
||||
const body = new FormData(form);
|
||||
fetch(form.action, {
|
||||
method: 'POST',
|
||||
body: body
|
||||
})
|
||||
.then(r => r.json())
|
||||
.then(r => {
|
||||
delegate(r);
|
||||
key.val('');
|
||||
$(form).find('input[name="value"]').val('');
|
||||
$('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value').empty();
|
||||
dialog.find('div.item').removeClass('selected');
|
||||
dialog.dialog("close");
|
||||
dialog.dialog("enable");
|
||||
})
|
||||
.catch(reason => {
|
||||
alert('Failed to validate user detail: ' + reason);
|
||||
});
|
||||
dialog.dialog("disable");
|
||||
}
|
||||
}
|
||||
}
|
||||
dialog = $('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail').dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
width: 690,
|
||||
buttons: {
|
||||
"Exclude Matched Users": function () {
|
||||
action(excludeUsers);
|
||||
},
|
||||
"Add Matched Users": function () {
|
||||
action(addUsers);
|
||||
}
|
||||
}
|
||||
});
|
||||
dialogAddUserDetail = dialog;
|
||||
}
|
||||
const $key = dialog.find('input[name="key"]');
|
||||
const $value = dialog.find('input[name="value"]');
|
||||
const $keys = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Key');
|
||||
const $values = dialog.find('#DocumentTemplate_BulkGenerate_Dialog_AddUserDetail_Value');
|
||||
$keys.on('click', 'div.item:not(.disabled)', e => {
|
||||
e.preventDefault();
|
||||
const $target = $(e.currentTarget);
|
||||
const keyValue = $target.attr('data-id');
|
||||
$key.val(keyValue);
|
||||
$keys.find('div.item').removeClass('selected');
|
||||
$target.addClass('selected');
|
||||
|
||||
$values.empty();
|
||||
$values.append($('<i class="ajaxLoading" title="Loading"></i>'));
|
||||
|
||||
const form = dialog.find('form')[1];
|
||||
const body = new FormData(form);
|
||||
fetch(form.action, {
|
||||
method: 'POST',
|
||||
body: body
|
||||
})
|
||||
.then(r => r.json())
|
||||
.then(r => {
|
||||
$values.empty();
|
||||
|
||||
const allValues = $('<div class="item selected" data-id=""><i class="fa fa-info fa-fw fa-lg"></i><em>All Matched Users</em></div>');
|
||||
allValues.appendTo($values);
|
||||
$value.val('');
|
||||
|
||||
r.map(v => {
|
||||
const container = $('<div class="item"><i class="fa fa-info fa-fw fa-lg"></i ></div>');
|
||||
container.attr('data-id', v);
|
||||
const span = $('<span>').text(v);
|
||||
span.appendTo(container);
|
||||
container.appendTo($values);
|
||||
})
|
||||
})
|
||||
.catch(reason => {
|
||||
alert('Failed to validate user detail: ' + reason);
|
||||
});
|
||||
dialog.dialog("disable");
|
||||
|
||||
return false;
|
||||
});
|
||||
$values.on('click', 'div.item:not(.disabled)', e => {
|
||||
e.preventDefault();
|
||||
const $target = $(e.currentTarget);
|
||||
$value.val($target.attr('data-id'));
|
||||
$values.find('div.item').removeClass('selected');
|
||||
$target.addClass('selected');
|
||||
});
|
||||
dialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
Reference in new issue
Block a user