Имам контрола за повторение, която съдържа бутон, който ще обработва документите, които потребителят избира. Първият ми случай на употреба е за изтривания. Откривам дали потребителят избира поне един документ и публикувам съобщение за грешка, ако не го направи, като използвам view.postScript.
Искам да добавя диалогов прозорец за потвърждение, потвърждаващ, че потребителят иска да предприеме действието върху документите (като изтриването им), но не може да намери начин да го направи.
В идеалния случай искам да направя всичко това в текущия си SSJS.
Моят код е по-долу, с мъниче за мястото, където искам да помоля потребителя за потвърждение.
Всяка помощ ще бъде високо оценена.
//Did the user select a document
var hasSelected:Boolean = false;
for (var id in SelectedDocs.getSelectedIDs()) {
hasSelected = true;
break
}
//If false then set a warning
if (hasSelected == false)
{
x="alert('Error\\n\\nPlease select one or more documents to delete.\\n\\n');";
view.postScript(x)
return
}
//If true then ask confirmation
if (hasSelected == true)
{
}
var rspView:NotesView = database.getView("(dbAllRpPCTasks)")
for (var id in SelectedDocs.getSelectedIDs()) {
//Get each selected doc
var doc:NotesDocument = database.getDocumentByID(id);
//Get child docs and delete them
var key:String = doc.getItemValueString("ID");
var dc:NotesDocumentCollection = rspView.getAllDocumentsByKey(key);
if (dc.getCount() != 0)
{dc.removeAll(true);}
//Delete the selected doc
doc.remove(true)
doc.recycle();
SelectedDocs.setSelectedState(id,false);
}
Благодаря за всички предложения. Отговарям на отговора на Франк. Опитвате се да напишете CSJS, който ще определи дали потребителят е избрал документи и след това ще продължи или не.
В събитието при щракване на моя бутон в CSJS имам следното:
var dtList = document.getElementsByName("#{id:dataView1.getSelectedIds()}");
confirm("What is the length?" + dtList.length);
confirm("Can I get an item?" + dtList.item(0));
Връща дължина нула и елементът е недефиниран.