blob: 5d8826d2a90400b26535078feda874ee39b7c139 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
/**
* SPDX-License-Identifier: Apache-2.0
*
* (Incomplete) Fix for Google Forms
*
* Copyright © 2021 jahoti <jahoti@tilde.team>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var form = document.forms[0];
for (let div of form.querySelectorAll('div[data-params]')) {
var data = JSON.parse('[' + div.dataset.params.substring(4));
var name = 'entry.' + data[0][4][0][0];
var input = div.querySelector('input');
if (input.name === name + '_sentinel') { // Radio
for (input of div.querySelectorAll('.appsMaterialWizToggleRadiogroupElContainer')) {
div = document.createElement('input');
div.type = 'radio';
div.name = name;
div.value = input.nextElementSibling.innerText.trim();
input.parentNode.replaceChild(div, input);
}
} else {
input.removeAttribute('disabled');
input.name = name;
}
}
for (div of document.querySelectorAll('.quantumWizTextinputPaperinputPlaceholder'))
div.remove();
function goToNext()
{
var next = document.createElement('input');
next.type = 'hidden';
next.name = 'continue';
next.value = '1';
form.appendChild(next);
form.submit();
}
for (div of document.querySelectorAll('.freebirdFormviewerViewNavigationNoSubmitButton')) {
input = document.createElement('button');
data = div.innerText.trim();
input.innerText = data;
if (data.toLowerCase() === 'next')
input.onclick = goToNext;
else if (data.toLowerCase() === 'submit')
input.type = 'submit';
div.parentNode.replaceChild(input, div);
}
// TODO: back, instate previous entries
|