Compare commits
7 Commits
7bb909dfe4
...
c2c08db342
Author | SHA1 | Date | |
---|---|---|---|
c2c08db342 | |||
4d55711190 | |||
164ed62a48 | |||
bdc67942ea | |||
4a6191e287 | |||
d809e7eb38 | |||
83709509f2 |
@ -1358,5 +1358,25 @@
|
|||||||
"lbc": [
|
"lbc": [
|
||||||
1,
|
1,
|
||||||
32
|
32
|
||||||
|
],
|
||||||
|
"39a": [
|
||||||
|
1,
|
||||||
|
39
|
||||||
|
],
|
||||||
|
"1hc": [
|
||||||
|
1,
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"2hc": [
|
||||||
|
1,
|
||||||
|
30
|
||||||
|
],
|
||||||
|
"sd": [
|
||||||
|
1,
|
||||||
|
32
|
||||||
|
],
|
||||||
|
"agc": [
|
||||||
|
1,
|
||||||
|
28
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ let saveTimeout = 15000;
|
|||||||
var to = null;
|
var to = null;
|
||||||
let controller;
|
let controller;
|
||||||
var BOOKS = {};
|
var BOOKS = {};
|
||||||
|
let saveFailCounter = 0;
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
setHeight();
|
setHeight();
|
||||||
@ -160,6 +161,7 @@ function newNote() {
|
|||||||
document.querySelector('#template').value = 0;
|
document.querySelector('#template').value = 0;
|
||||||
document.querySelector('#passage').value = '';
|
document.querySelector('#passage').value = '';
|
||||||
document.querySelector('#recording').value = '';
|
document.querySelector('#recording').value = '';
|
||||||
|
document.querySelector('#noteId').value = '';
|
||||||
|
|
||||||
document.querySelector('#ref-list').innerHTML = '';
|
document.querySelector('#ref-list').innerHTML = '';
|
||||||
document.querySelector('#ref').innerHTML = '';
|
document.querySelector('#ref').innerHTML = '';
|
||||||
@ -209,8 +211,7 @@ function saveNote(event) {
|
|||||||
})
|
})
|
||||||
.done(function (data) {
|
.done(function (data) {
|
||||||
if (data.msg == 'saved' && !saved) {
|
if (data.msg == 'saved' && !saved) {
|
||||||
saveCheck.classList.remove('saving');
|
saveCheck.classList.remove('saving', 'error', 'fa-times', 'fa-check');
|
||||||
saveCheck.classList.remove('error');
|
|
||||||
showSave();
|
showSave();
|
||||||
if (noteText == document.querySelector('#notes').value) {
|
if (noteText == document.querySelector('#notes').value) {
|
||||||
saved = true;
|
saved = true;
|
||||||
@ -224,17 +225,22 @@ function saveNote(event) {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.fail(function (xhr, status, error) {
|
.fail(function (xhr, status, error) {
|
||||||
saveCheck.classList.remove('saving');
|
saveFailCounter++;
|
||||||
saveCheck.classList.add('error');
|
saveCheck.classList.remove('saving', 'fa-check');
|
||||||
|
saveCheck.classList.add('fa-times', 'error');
|
||||||
console.error(error);
|
console.error(error);
|
||||||
})
|
})
|
||||||
.always(function (xhr, status) {
|
.always(function (xhr, status) {
|
||||||
if (status == 'timeout') {
|
if (status == 'timeout') {
|
||||||
saveCheck.classList.remove('saving');
|
saveCheck.classList.remove('saving', 'fa-check');
|
||||||
saveCheck.classList.add('error');
|
saveCheck.classList.add('error', 'fa-times');
|
||||||
}
|
}
|
||||||
clearTimeout(to);
|
clearTimeout(to);
|
||||||
to = setTimeout(saveNote, saveTimeout);
|
if (saveFailCounter < 5) {
|
||||||
|
to = setTimeout(saveNote, saveTimeout);
|
||||||
|
} else {
|
||||||
|
saveFailCounter = 0;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -262,7 +268,8 @@ function isUuidValid(uuid) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function startSave() {
|
function startSave() {
|
||||||
document.querySelector('#save-check').classList.add('saving');
|
document.querySelector('#save-check').classList.remove('error', 'fa-times', 'fa-check');
|
||||||
|
document.querySelector('#save-check').classList.add('saving', 'fa-check');
|
||||||
document.querySelector('#save-check').style.opacity = 1;
|
document.querySelector('#save-check').style.opacity = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,6 +283,7 @@ function showSave() {
|
|||||||
if (saved) { return; }
|
if (saved) { return; }
|
||||||
|
|
||||||
var checkmark = document.getElementById("save-check");
|
var checkmark = document.getElementById("save-check");
|
||||||
|
checkmark.classList.add('fa-check');
|
||||||
|
|
||||||
// Schedule the animation to run every 1 second (which is equivalent to a 1-second delay between each iteration)
|
// Schedule the animation to run every 1 second (which is equivalent to a 1-second delay between each iteration)
|
||||||
var si = setInterval(function () {
|
var si = setInterval(function () {
|
||||||
|
1
public/js/script.min.js
vendored
Normal file
1
public/js/script.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -178,6 +178,11 @@ class AjaxController extends AbstractController
|
|||||||
'wlc' => ReferenceController::retrieveWLC($ref),
|
'wlc' => ReferenceController::retrieveWLC($ref),
|
||||||
'lbc' => ReferenceController::retrieveLBC($ref),
|
'lbc' => ReferenceController::retrieveLBC($ref),
|
||||||
'creed' => ReferenceController::retrieveCreed($data->book),
|
'creed' => ReferenceController::retrieveCreed($data->book),
|
||||||
|
'39a' => ReferenceController::retrieve39a($ref),
|
||||||
|
'1hc' => ReferenceController::retrieve1HC($ref),
|
||||||
|
'2hc' => ReferenceController::retrieve2HC($ref),
|
||||||
|
'sd' => ReferenceController::retrieveSD($ref),
|
||||||
|
'agc' => ReferenceController::retrieveAGC($ref),
|
||||||
'note' => ReferenceController::retrieveNote($user)
|
'note' => ReferenceController::retrieveNote($user)
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -220,7 +225,13 @@ class AjaxController extends AbstractController
|
|||||||
'cd' => 'Dort',
|
'cd' => 'Dort',
|
||||||
'wcf' => 'Westminster/Confessions',
|
'wcf' => 'Westminster/Confessions',
|
||||||
'wsc' => 'Westminster/Shorter Catechism',
|
'wsc' => 'Westminster/Shorter Catechism',
|
||||||
'wlc' => 'Westminster/Larger Catechism'
|
'wlc' => 'Westminster/Larger Catechism',
|
||||||
|
'lbc' => 'London',
|
||||||
|
'39a' => '39 Articles',
|
||||||
|
'1hc' => '1 Helvetic Catechism',
|
||||||
|
'2hc' => '2 Helvetic Catechism',
|
||||||
|
'sd' => 'Savor Declaration',
|
||||||
|
'agc' => 'Augsburg Confession'
|
||||||
};
|
};
|
||||||
|
|
||||||
$ret = file_put_contents(dirname(dirname(__DIR__))."/references/{$path}/{$data->file}", $data->text);
|
$ret = file_put_contents(dirname(dirname(__DIR__))."/references/{$path}/{$data->file}", $data->text);
|
||||||
|
@ -202,6 +202,15 @@ class ReferenceController extends AbstractController
|
|||||||
return $r[0];
|
return $r[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function retrieve39a($ref): Reference
|
||||||
|
{
|
||||||
|
$r = self::$emi->getRepository(Reference::class)->findBy(['type' => '39a', 'ndx' => $ref->getNdx()]);
|
||||||
|
if (!$r) {
|
||||||
|
return new Reference();
|
||||||
|
}
|
||||||
|
return $r[0];
|
||||||
|
}
|
||||||
|
|
||||||
public static function retrieve1HC($ref): Reference
|
public static function retrieve1HC($ref): Reference
|
||||||
{
|
{
|
||||||
$r = self::$emi->getRepository(Reference::class)->findBy(['type' => '1hc', 'ndx' => $ref->getNdx()]);
|
$r = self::$emi->getRepository(Reference::class)->findBy(['type' => '1hc', 'ndx' => $ref->getNdx()]);
|
||||||
|
@ -11,6 +11,7 @@ use Symfony\Bridge\Doctrine\Types\UuidType;
|
|||||||
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
|
use Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface;
|
||||||
use Symfony\Component\Security\Core\User\UserInterface;
|
use Symfony\Component\Security\Core\User\UserInterface;
|
||||||
use Symfony\Component\Uid\Uuid;
|
use Symfony\Component\Uid\Uuid;
|
||||||
|
use Symfony\Component\Validator\Constraints as Assert;
|
||||||
|
|
||||||
#[ORM\Entity(repositoryClass: UserRepository::class)]
|
#[ORM\Entity(repositoryClass: UserRepository::class)]
|
||||||
#[ORM\UniqueConstraint(name: 'UNIQ_IDENTIFIER_EMAIL', fields: ['email'])]
|
#[ORM\UniqueConstraint(name: 'UNIQ_IDENTIFIER_EMAIL', fields: ['email'])]
|
||||||
@ -23,6 +24,9 @@ class User implements UserInterface, PasswordAuthenticatedUserInterface, JsonSer
|
|||||||
private ?Uuid $id = null;
|
private ?Uuid $id = null;
|
||||||
|
|
||||||
#[ORM\Column(length: 180)]
|
#[ORM\Column(length: 180)]
|
||||||
|
#[Assert\Email(
|
||||||
|
message: 'The email {{ value }} is not a valid email.',
|
||||||
|
)]
|
||||||
private ?string $email = null;
|
private ?string $email = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -127,7 +127,11 @@
|
|||||||
<option value='wsc'>Westminster Shorter Catechism</option>
|
<option value='wsc'>Westminster Shorter Catechism</option>
|
||||||
<option value='wlc'>Westminster Larger Catechism</option>
|
<option value='wlc'>Westminster Larger Catechism</option>
|
||||||
<option value='lbc'>London Baptist Confession</option>
|
<option value='lbc'>London Baptist Confession</option>
|
||||||
<option value='note'>Note</option>
|
<option value='39a'>Thirty-Nine Articles</option>
|
||||||
|
<option value='1hc'>First Helvetic Confession</option>
|
||||||
|
<option value='2hc'>Second Helvetic Confession</option>
|
||||||
|
<option value='sd'>Savoy Declaration</option>
|
||||||
|
<option value='agc'>Augsburg Confession</option>
|
||||||
</select>
|
</select>
|
||||||
<select id='referenceBook' onchange='filterBooks()'>
|
<select id='referenceBook' onchange='filterBooks()'>
|
||||||
</select>
|
</select>
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<li><a href='#' onclick="openRef()">Open Reference</a></li>
|
<li><a href='#' onclick="openRef()">Open Reference</a></li>
|
||||||
<li><a href='/index.php/template-editor'>Template Editor</a></li>
|
<li><a href='/index.php/template-editor'>Template Editor</a></li>
|
||||||
|
<li><a href='/docs/markdown-cheat-sheet.md' target='_blank'>Markdown Cheat Sheet</a></li>
|
||||||
{% else %}
|
{% else %}
|
||||||
<li><a href="/index.php/">Home</a></li>
|
<li><a href="/index.php/">Home</a></li>
|
||||||
<li><a href='/index.php/register'>Register</a></li>
|
<li><a href='/index.php/register'>Register</a></li>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user