in Node/core/lib/dialogs/require-fields-dialog.js [26:67]
function createDialog() {
return common.createBaseDialog({ recognizeMode: botbuilder_1.RecognizeMode.onBegin })
.onBegin(function (session, args, next) {
if (args.place.address) {
args.place.address.formattedAddress = common.getFormattedAddressFromLocation(args.place, session.gettext(consts_1.Strings.AddressSeparator));
}
if (args.requiredFields) {
session.dialogData.place = args.place;
session.dialogData.index = -1;
session.dialogData.requiredFieldsFlag = args.requiredFields;
next();
}
else {
session.endDialogWithResult({ response: { place: args.place } });
}
})
.onDefault(function (session) {
var index = session.dialogData.index;
if (index >= 0) {
if (!session.message.text) {
return;
}
session.dialogData.lastInput = session.message.text;
session.dialogData.place.address[fields[index].name] = session.message.text;
session.dialogData.place.address.formattedAddress = common.getFormattedAddressFromLocation(session.dialogData.place, session.gettext(consts_1.Strings.AddressSeparator));
}
index++;
while (index < fields.length) {
if (completeFieldIfMissing(session, fields[index])) {
break;
}
index++;
}
session.dialogData.index = index;
if (index >= fields.length) {
session.endDialogWithResult({ response: { place: session.dialogData.place } });
}
else {
session.sendBatch();
}
});
}