fix(basic.gblib): Correct web automation 'date' use.
This commit is contained in:
parent
db7ed36707
commit
4809fec457
2 changed files with 14 additions and 5 deletions
|
@ -906,14 +906,23 @@ export class DialogKeywords {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const value = extractEntity(answer);
|
const parseDate = str => {
|
||||||
|
function pad(x){return (((''+x).length==2) ? '' : '0') + x; }
|
||||||
|
var m = str.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/)
|
||||||
|
, d = (m) ? new Date(m[3], m[2]-1, m[1]) : null
|
||||||
|
, matchesPadded = (d&&(str==[pad(d.getDate()),pad(d.getMonth()+1),d.getFullYear()].join('/')))
|
||||||
|
, matchesNonPadded = (d&&(str==[d.getDate(),d.getMonth()+1,d.getFullYear()].join('/')));
|
||||||
|
return (matchesPadded || matchesNonPadded) ? d : null;
|
||||||
|
}
|
||||||
|
|
||||||
if (value === null || value.length != 1) {
|
let value = parseDate(answer);
|
||||||
|
|
||||||
|
if (value === null) {
|
||||||
await this.talk({ pid, text: 'Por favor, digite uma data no formato 12/12/2020.' });
|
await this.talk({ pid, text: 'Por favor, digite uma data no formato 12/12/2020.' });
|
||||||
return await this.hear({ pid, kind, args });
|
return await this.hear({ pid, kind, args });
|
||||||
}
|
}
|
||||||
|
value = new Date(value);
|
||||||
result = value;
|
result = value.toLocaleString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' });
|
||||||
} else if (kind === 'hour') {
|
} else if (kind === 'hour') {
|
||||||
const extractEntity = (text: string) => {
|
const extractEntity = (text: string) => {
|
||||||
return text.match(/^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/gi);
|
return text.match(/^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/gi);
|
||||||
|
|
|
@ -487,7 +487,7 @@ export class SystemKeywords {
|
||||||
|
|
||||||
// Processes FILTER option to ensure parallel SET calls.
|
// Processes FILTER option to ensure parallel SET calls.
|
||||||
|
|
||||||
const filter = await DialogKeywords.getOption({ pid, name });
|
const filter = await DialogKeywords.getOption({ pid, name: 'filter' });
|
||||||
if (filter) {
|
if (filter) {
|
||||||
const row = this.find({ pid, handle: null, args: [filter] });
|
const row = this.find({ pid, handle: null, args: [filter] });
|
||||||
address += row['line'];
|
address += row['line'];
|
||||||
|
|
Loading…
Add table
Reference in a new issue