From ce5f0c04f3577eccce64350e9560af0439ccf44f Mon Sep 17 00:00:00 2001 From: Ramon Souza <contato@ramonsouza.com> Date: Thu, 4 Mar 2021 15:00:21 -0300 Subject: [PATCH] changes to match issue #8197 tests --- .../ui/components/presentation/service.js | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/bigbluebutton-html5/imports/ui/components/presentation/service.js b/bigbluebutton-html5/imports/ui/components/presentation/service.js index 1f9ca6ed7a..dab726751d 100755 --- a/bigbluebutton-html5/imports/ui/components/presentation/service.js +++ b/bigbluebutton-html5/imports/ui/components/presentation/service.js @@ -77,7 +77,7 @@ const parseCurrentSlideContent = (yesValue, noValue, abstentionValue, trueValue, const quickPollOptions = []; if (!currentSlide) return quickPollOptions; - const { + let { content, } = currentSlide; @@ -85,18 +85,6 @@ const parseCurrentSlideContent = (yesValue, noValue, abstentionValue, trueValue, let optionsPoll = content.match(pollRegex) || []; if (optionsPoll) optionsPoll = optionsPoll.map(opt => `\r${opt[0]}.`); - const ynPollString = `(${yesValue}\\s*\\/\\s*${noValue})|(${noValue}\\s*\\/\\s*${yesValue})`; - const ynOptionsRegex = new RegExp(ynPollString, 'gi'); - const ynPoll = content.match(ynOptionsRegex) || []; - - const ynaPollString = `(${yesValue}\\s*\\/\\s*${noValue}\\s*\\/\\s*${abstentionValue})|(${yesValue}\\s*\\/\\s*${abstentionValue}\\s*\\/\\s*${noValue})|(${abstentionValue}\\s*\\/\\s*${yesValue}\\s*\\/\\s*${noValue})|(${abstentionValue}\\s*\\/\\s*${noValue}\\s*\\/\\s*${yesValue})|(${noValue}\\s*\\/\\s*${yesValue}\\s*\\/\\s*${abstentionValue})|(${noValue}\\s*\\/\\s*${abstentionValue}\\s*\\/\\s*${yesValue})`; - const ynaOptionsRegex = new RegExp(ynaPollString, 'gi'); - const ynaPoll = content.match(ynaOptionsRegex) || []; - - const tfPollString = `(${trueValue}\\s*\\/\\s*${falseValue})|(${falseValue}\\s*\\/\\s*${trueValue})`; - const tgOptionsRegex = new RegExp(tfPollString, 'gi'); - const tfPoll = content.match(tgOptionsRegex) || []; - optionsPoll.reduce((acc, currentValue) => { const lastElement = acc[acc.length - 1]; @@ -137,6 +125,22 @@ const parseCurrentSlideContent = (yesValue, noValue, abstentionValue, trueValue, poll, })); + if (quickPollOptions.length > 0) { + content = content.replace(new RegExp(pollRegex), ''); + } + + const ynPollString = `(${yesValue}\\s*\\/\\s*${noValue})|(${noValue}\\s*\\/\\s*${yesValue})`; + const ynOptionsRegex = new RegExp(ynPollString, 'gi'); + const ynPoll = content.match(ynOptionsRegex) || []; + + const ynaPollString = `(${yesValue}\\s*\\/\\s*${noValue}\\s*\\/\\s*${abstentionValue})|(${yesValue}\\s*\\/\\s*${abstentionValue}\\s*\\/\\s*${noValue})|(${abstentionValue}\\s*\\/\\s*${yesValue}\\s*\\/\\s*${noValue})|(${abstentionValue}\\s*\\/\\s*${noValue}\\s*\\/\\s*${yesValue})|(${noValue}\\s*\\/\\s*${yesValue}\\s*\\/\\s*${abstentionValue})|(${noValue}\\s*\\/\\s*${abstentionValue}\\s*\\/\\s*${yesValue})`; + const ynaOptionsRegex = new RegExp(ynaPollString, 'gi'); + const ynaPoll = content.match(ynaOptionsRegex) || []; + + const tfPollString = `(${trueValue}\\s*\\/\\s*${falseValue})|(${falseValue}\\s*\\/\\s*${trueValue})`; + const tgOptionsRegex = new RegExp(tfPollString, 'gi'); + const tfPoll = content.match(tgOptionsRegex) || []; + ynPoll.forEach(poll => quickPollOptions.push({ type: 'YN', poll, -- GitLab