Compare commits
11 Commits
6af0095470
...
a46253ec7d
Author | SHA1 | Date | |
---|---|---|---|
a46253ec7d | |||
45a3398ac7 | |||
a20caf1fc8 | |||
435402ee41 | |||
8315970571 | |||
d26874d88b | |||
d1ac0578f3 | |||
3d10944b6d | |||
72bf4273f3 | |||
77e2777c7a | |||
a1f5ce416c |
43
migrations/Version20240527010736.php
Normal file
43
migrations/Version20240527010736.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DoctrineMigrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
|
||||
/**
|
||||
* Auto-generated Migration: Please modify to your needs!
|
||||
*/
|
||||
final class Version20240527010736 extends AbstractMigration
|
||||
{
|
||||
public function getDescription(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
// this up() migration is auto-generated, please modify it to your needs
|
||||
$this->addSql('ALTER TABLE note ADD COLUMN recording VARCHAR(255) DEFAULT NULL');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
// this down() migration is auto-generated, please modify it to your needs
|
||||
$this->addSql('CREATE TEMPORARY TABLE __temp__note AS SELECT id, speaker_id, series_id, user_id, title, date, passage, refs, text FROM note');
|
||||
$this->addSql('DROP TABLE note');
|
||||
$this->addSql('CREATE TABLE note (id BLOB NOT NULL --(DC2Type:uuid)
|
||||
, speaker_id BLOB DEFAULT NULL --(DC2Type:uuid)
|
||||
, series_id BLOB DEFAULT NULL --(DC2Type:uuid)
|
||||
, user_id BLOB DEFAULT NULL --(DC2Type:uuid)
|
||||
, title VARCHAR(255) NOT NULL, date DATE NOT NULL, passage VARCHAR(255) NOT NULL, refs CLOB DEFAULT NULL --(DC2Type:json)
|
||||
, text CLOB DEFAULT NULL, PRIMARY KEY(id), CONSTRAINT FK_CFBDFA14D04A0F27 FOREIGN KEY (speaker_id) REFERENCES speaker (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_CFBDFA145278319C FOREIGN KEY (series_id) REFERENCES series (id) NOT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT FK_CFBDFA14A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) NOT DEFERRABLE INITIALLY IMMEDIATE)');
|
||||
$this->addSql('INSERT INTO note (id, speaker_id, series_id, user_id, title, date, passage, refs, text) SELECT id, speaker_id, series_id, user_id, title, date, passage, refs, text FROM __temp__note');
|
||||
$this->addSql('DROP TABLE __temp__note');
|
||||
$this->addSql('CREATE INDEX IDX_CFBDFA14D04A0F27 ON note (speaker_id)');
|
||||
$this->addSql('CREATE INDEX IDX_CFBDFA145278319C ON note (series_id)');
|
||||
$this->addSql('CREATE INDEX IDX_CFBDFA14A76ED395 ON note (user_id)');
|
||||
}
|
||||
}
|
@ -43,21 +43,9 @@ body {
|
||||
height: 80px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
background-color: #f56a6a;
|
||||
color: #fff !important;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.8);
|
||||
font-size: 14px;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
.tab button:active {
|
||||
background-color: #7a0016;
|
||||
}
|
||||
|
||||
.activeRef {
|
||||
background-color: #3e8e41 !important;
|
||||
}
|
||||
|
||||
.ref {
|
||||
width: 35%;
|
||||
@ -76,7 +64,7 @@ body {
|
||||
}
|
||||
|
||||
#ref {
|
||||
padding: 3px 3px 3px 10px;
|
||||
padding: 3px 3px 3px 3px;
|
||||
}
|
||||
|
||||
#passage {
|
||||
@ -114,10 +102,18 @@ textarea#notes {
|
||||
#notePreview {
|
||||
display: none;
|
||||
overflow-x: scroll;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
#notePreview ul,
|
||||
#notePreview ol {
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
#previewBtn.active,
|
||||
#show-hide-btn.active {
|
||||
#show-hide-btn.active,
|
||||
.tab button.active,
|
||||
#openRefBtn.active {
|
||||
background-color: #f56a6a !important;
|
||||
color: white !important;
|
||||
}
|
||||
@ -140,6 +136,8 @@ textarea#notes {
|
||||
|
||||
#note-list {
|
||||
display: none;
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
#note-list ul {
|
||||
@ -205,7 +203,7 @@ div#refQuery #referenceSearch {
|
||||
|
||||
#fields-container input,
|
||||
#fields-container select {
|
||||
width: 19.5%;
|
||||
width: 32.5%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@ -234,6 +232,11 @@ div#refQuery #referenceSearch {
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
#ref ol,
|
||||
#ref ul {
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
#referenceBook {
|
||||
display: none;
|
||||
}/*# sourceMappingURL=style.css.map */
|
@ -1 +1 @@
|
||||
{"version":3,"sources":["style.scss","style.css"],"names":[],"mappings":"AAAA,kCAAA;AACA;EACI,SAAA;ACCJ;;ADEA,6BAAA;AAEA;EACI,aAAA;EACA,mBAAA;EACA,eAAA;EACA,6BAAA;EACA,oBAAA;EACA,yBAAA;EACA,iBAAA;EACA,iCAAA;EACA,cAAA;ACAJ;;ADGA;EACI,WAAA;EACA,4BAAA;ACAJ;;ADGA;EACI,SAAA;EACA,UAAA;ACAJ;;ADGA;EACI,gBAAA;EACA,qBAAA;ACAJ;;ADGA;EACI,kBAAA;ACAJ;;ADGA,GAAA;AACA;EACI,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,yBAAA;EACA,sBAAA;EACA,YAAA;EACA,kBAAA;EACA,wCAAA;EACA,eAAA;EACA,kBAAA;ACAJ;ADEI;EACI,yBAAA;ACAR;;ADIA;EACI,oCAAA;ACDJ;;ADIA;EACI,UAAA;ACDJ;;ADIA;EACI,mBAAA;EACA,2BAAA;EACA,yBAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,wCAAA;ACDJ;;ADIA;EACI,yBAAA;ACDJ;;ADIA;EACI,YAAA;ACDJ;;ADIA;EACI,aAAA;EACA,YAAA;ACDJ;;ADIA;EACI,aAAA;EACA,YAAA;ACDJ;;ADIA;EACI,aAAA;ACDJ;;ADIA;EACI,cAAA;ACDJ;;ADIA;EACI,UAAA;ACDJ;;ADIA;EACI,WAAA;EACA,YAAA;EACA,eAAA;ACDJ;;ADIA;EACI,aAAA;EACA,kBAAA;ACDJ;;ADIA;;EAEI,oCAAA;EACA,uBAAA;ACDJ;;ADIA;EACI,oBAAA;EACA,mBAAA;EACA,UAAA;ACDJ;;ADIA;EACI,oBAAA;EACA,2BAAA;EACA,UAAA;ACDJ;;ADIA;EACI,iBAAA;ACDJ;;ADIA;EACI,aAAA;ACDJ;;ADIA;EACI,SAAA;EACA,UAAA;EACA,qBAAA;EACA,gBAAA;ACDJ;;ADIA;EACI,aAAA;EACA,kBAAA;EACA,YAAA;EACA,oCAAA;EACA,YAAA;EACA,aAAA;ACDJ;;ADIA;EACI,YAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,YAAA;EACA,eAAA;EACA,aAAA;ACDJ;;ADIA;EACI,aAAA;EACA,kBAAA;EACA,YAAA;EACA,sBAAA;EACA,YAAA;EACA,aAAA;EACA,sBAAA;EACA,kBAAA;EACA,wCAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;ACDJ;;ADIA;EACI,UAAA;EACA,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,YAAA;ACDJ;;ADIA;EACI,aAAA;ACDJ;;ADIA;EACI,UAAA;ACDJ;;ADIA;;EAEI,YAAA;EACA,qBAAA;ACDJ;;ADIA;EACI,2BAAA;EACA,eAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;EACI,qBAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;EACI,aAAA;ACDJ","file":"style.css"}
|
||||
{"version":3,"sources":["style.scss","style.css"],"names":[],"mappings":"AAAA,kCAAA;AACA;EACI,SAAA;ACCJ;;ADEA,6BAAA;AAEA;EACI,aAAA;EACA,mBAAA;EACA,eAAA;EACA,6BAAA;EACA,oBAAA;EACA,yBAAA;EACA,iBAAA;EACA,iCAAA;EACA,cAAA;ACAJ;;ADGA;EACI,WAAA;EACA,4BAAA;ACAJ;;ADGA;EACI,SAAA;EACA,UAAA;ACAJ;;ADGA;EACI,gBAAA;EACA,qBAAA;ACAJ;;ADGA;EACI,kBAAA;ACAJ;;ADGA,GAAA;AACA;EACI,aAAA;EACA,uBAAA;EACA,mBAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,eAAA;EACA,kBAAA;ACAJ;;ADIA;EACI,UAAA;ACDJ;;ADIA;EACI,mBAAA;EACA,2BAAA;EACA,yBAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,uBAAA;EACA,kBAAA;EACA,wCAAA;ACDJ;;ADIA;EACI,wBAAA;ACDJ;;ADIA;EACI,YAAA;ACDJ;;ADIA;EACI,aAAA;EACA,YAAA;ACDJ;;ADIA;EACI,aAAA;EACA,YAAA;ACDJ;;ADIA;EACI,aAAA;ACDJ;;ADIA;EACI,cAAA;ACDJ;;ADIA;EACI,UAAA;ACDJ;;ADIA;EACI,WAAA;EACA,YAAA;EACA,eAAA;ACDJ;;ADIA;EACI,aAAA;EACA,kBAAA;EACA,kBAAA;ACDJ;;ADIA;;EAEI,2BAAA;ACDJ;;ADIA;;;;EAII,oCAAA;EACA,uBAAA;ACDJ;;ADIA;EACI,oBAAA;EACA,mBAAA;EACA,UAAA;ACDJ;;ADIA;EACI,oBAAA;EACA,2BAAA;EACA,UAAA;ACDJ;;ADIA;EACI,iBAAA;ACDJ;;ADIA;EACI,aAAA;EACA,YAAA;EACA,kBAAA;ACDJ;;ADIA;EACI,SAAA;EACA,UAAA;EACA,qBAAA;EACA,gBAAA;ACDJ;;ADIA;EACI,aAAA;EACA,kBAAA;EACA,YAAA;EACA,oCAAA;EACA,YAAA;EACA,aAAA;ACDJ;;ADIA;EACI,YAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;EACA,yBAAA;EACA,YAAA;EACA,YAAA;EACA,eAAA;EACA,aAAA;ACDJ;;ADIA;EACI,aAAA;EACA,kBAAA;EACA,YAAA;EACA,sBAAA;EACA,YAAA;EACA,aAAA;EACA,sBAAA;EACA,kBAAA;EACA,wCAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;ACDJ;;ADIA;EACI,UAAA;EACA,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,YAAA;ACDJ;;ADIA;EACI,aAAA;ACDJ;;ADIA;EACI,UAAA;ACDJ;;ADIA;;EAEI,YAAA;EACA,qBAAA;ACDJ;;ADIA;EACI,2BAAA;EACA,eAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;EACI,qBAAA;ACDJ;;ADIA;EACI,eAAA;ACDJ;;ADIA;;EAEI,2BAAA;ACDJ;;ADIA;EACI,aAAA;ACDJ","file":"style.css"}
|
2
public/css/style.min.css
vendored
2
public/css/style.min.css
vendored
@ -1 +1 @@
|
||||
body{margin:0}.inner{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly;align-items:stretch;align-content:flex-start;max-width:1060px;margin:0 auto}.ref-tab{width:60px;padding-top:75px !important}.ref-tab ul{margin:0;padding:0}.ref-tab ul li{list-style:none;list-style-type:none}.tab{margin-bottom:3px}.tab button{display:flex;justify-content:center;align-items:center;height:80px;width:100%;text-align:center;background-color:#f56a6a;color:#fff !important;border:none;border-radius:3px;box-shadow:0 4px 5px rgba(0,0,0,.8);font-size:14px;margin-bottom:3px}.tab button:active{background-color:#7a0016}.activeRef{background-color:#3e8e41 !important}.ref{width:35%}.ref>div#ref{vertical-align:top;justify-content:flex-start;align-content:flex-start;overflow-y:scroll;width:100%;height:100%;border:#000 solid 1px;border-radius:3px;box-shadow:0 2px 5px rgba(0,0,0,.3)}#ref{padding:3px 3px 3px 10px}#passage{width:100px}#newSpeaker{display:none;width:110px}#newSeries{display:none;width:110px}#fields-container{display:none}#fields-container.show{display:block}.notes{width:55%}textarea#notes{width:100%;height:100%;font-size:14pt}#notePreview{display:none;overflow-x:scroll}#previewBtn.active,#show-hide-btn.active{background-color:#f56a6a !important;color:#fff !important}#note-header-left{display:inline-flex;flex-direction:row;width:25%}#note-header-right{display:inline-flex;flex-direction:row-reverse;width:74%}#note-header-left h2.dirty{color:#ff8c00}#note-list{display:none}#note-list ul{margin:0;padding:0;list-style-type:none;list-style:none}div#refQuery{display:none;position:absolute;z-index:100;background-color:rgba(0,0,0,.8);width:400px;height:200px}div#refQuery #referenceSearch{border:none;border-radius:5px;padding:10px 20px;font-size:16px;line-height:1.5;color:#333;background-color:#f4f4f4;width:150px;height:25px;cursor:pointer;display:none}#passage-popup{display:none;position:absolute;z-index:100;background-color:#fff;color:#000;padding:10px;border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 5px rgba(0,0,0,.3);width:300px;height:300px;overflow-x:scroll}#save-check{opacity:0;text-align:right;font-size:20pt;margin-left:15px;color:green}#save-check.saving{color:orange}#save-check.error{color:red}#fields-container input,#fields-container select{width:19.5%;display:inline-block}#old-notes article p:first-child{margin-bottom:0 !important;font-size:10pt}#old-notes article a{font-size:12pt}#old-notes article p:last-child{font-size:12pt}.inner{padding-left:0}.ref h2{display:inline-block}#ref{font-size:12pt}#referenceBook{display:none}/*# sourceMappingURL=style.min.css.map */
|
||||
body{margin:0}.inner{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly;align-items:stretch;align-content:flex-start;max-width:1060px;margin:0 auto}.ref-tab{width:60px;padding-top:75px !important}.ref-tab ul{margin:0;padding:0}.ref-tab ul li{list-style:none;list-style-type:none}.tab{margin-bottom:3px}.tab button{display:flex;justify-content:center;align-items:center;height:80px;width:100%;text-align:center;font-size:14px;margin-bottom:3px}.ref{width:35%}.ref>div#ref{vertical-align:top;justify-content:flex-start;align-content:flex-start;overflow-y:scroll;width:100%;height:100%;border:#000 solid 1px;border-radius:3px;box-shadow:0 2px 5px rgba(0,0,0,.3)}#ref{padding:3px 3px 3px 3px}#passage{width:100px}#newSpeaker{display:none;width:110px}#newSeries{display:none;width:110px}#fields-container{display:none}#fields-container.show{display:block}.notes{width:55%}textarea#notes{width:100%;height:100%;font-size:14pt}#notePreview{display:none;overflow-x:scroll;padding-left:10px}#notePreview ul,#notePreview ol{list-style-position:inside}#previewBtn.active,#show-hide-btn.active,.tab button.active,#openRefBtn.active{background-color:#f56a6a !important;color:#fff !important}#note-header-left{display:inline-flex;flex-direction:row;width:25%}#note-header-right{display:inline-flex;flex-direction:row-reverse;width:74%}#note-header-left h2.dirty{color:#ff8c00}#note-list{display:none;height:100%;overflow-y:scroll}#note-list ul{margin:0;padding:0;list-style-type:none;list-style:none}div#refQuery{display:none;position:absolute;z-index:100;background-color:rgba(0,0,0,.8);width:400px;height:200px}div#refQuery #referenceSearch{border:none;border-radius:5px;padding:10px 20px;font-size:16px;line-height:1.5;color:#333;background-color:#f4f4f4;width:150px;height:25px;cursor:pointer;display:none}#passage-popup{display:none;position:absolute;z-index:100;background-color:#fff;color:#000;padding:10px;border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 5px rgba(0,0,0,.3);width:300px;height:300px;overflow-x:scroll}#save-check{opacity:0;text-align:right;font-size:20pt;margin-left:15px;color:green}#save-check.saving{color:orange}#save-check.error{color:red}#fields-container input,#fields-container select{width:32.5%;display:inline-block}#old-notes article p:first-child{margin-bottom:0 !important;font-size:10pt}#old-notes article a{font-size:12pt}#old-notes article p:last-child{font-size:12pt}.inner{padding-left:0}.ref h2{display:inline-block}#ref{font-size:12pt}#ref ol,#ref ul{list-style-position:inside}#referenceBook{display:none}/*# sourceMappingURL=style.min.css.map */
|
@ -1 +1 @@
|
||||
{"version":3,"sources":["style.scss"],"names":[],"mappings":"AACA,KACI,QAAA,CAKJ,OACI,YAAA,CACA,kBAAA,CACA,cAAA,CACA,4BAAA,CACA,mBAAA,CACA,wBAAA,CACA,gBAAA,CAEA,aAAA,CAGJ,SACI,UAAA,CACA,2BAAA,CAGJ,YACI,QAAA,CACA,SAAA,CAGJ,eACI,eAAA,CACA,oBAAA,CAGJ,KACI,iBAAA,CAIJ,YACI,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,wBAAA,CACA,qBAAA,CACA,WAAA,CACA,iBAAA,CACA,mCAAA,CACA,cAAA,CACA,iBAAA,CAEA,mBACI,wBAAA,CAIR,WACI,mCAAA,CAGJ,KACI,SAAA,CAGJ,aACI,kBAAA,CACA,0BAAA,CACA,wBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,iBAAA,CACA,mCAAA,CAGJ,KACI,wBAAA,CAGJ,SACI,WAAA,CAGJ,YACI,YAAA,CACA,WAAA,CAGJ,WACI,YAAA,CACA,WAAA,CAGJ,kBACI,YAAA,CAGJ,uBACI,aAAA,CAGJ,OACI,SAAA,CAGJ,eACI,UAAA,CACA,WAAA,CACA,cAAA,CAGJ,aACI,YAAA,CACA,iBAAA,CAGJ,yCAEI,mCAAA,CACA,qBAAA,CAGJ,kBACI,mBAAA,CACA,kBAAA,CACA,SAAA,CAGJ,mBACI,mBAAA,CACA,0BAAA,CACA,SAAA,CAGJ,2BACI,aAAA,CAGJ,WACI,YAAA,CAGJ,cACI,QAAA,CACA,SAAA,CACA,oBAAA,CACA,eAAA,CAGJ,aACI,YAAA,CACA,iBAAA,CACA,WAAA,CACA,+BAAA,CACA,WAAA,CACA,YAAA,CAGJ,8BACI,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CACA,cAAA,CACA,YAAA,CAGJ,eACI,YAAA,CACA,iBAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,mCAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CAGJ,YACI,SAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,WAAA,CAGJ,mBACI,YAAA,CAGJ,kBACI,SAAA,CAGJ,iDAEI,WAAA,CACA,oBAAA,CAGJ,iCACI,0BAAA,CACA,cAAA,CAGJ,qBACI,cAAA,CAGJ,gCACI,cAAA,CAGJ,OACI,cAAA,CAGJ,QACI,oBAAA,CAGJ,KACI,cAAA,CAGJ,eACI,YAAA","file":"style.min.css"}
|
||||
{"version":3,"sources":["style.scss"],"names":[],"mappings":"AACA,KACI,QAAA,CAKJ,OACI,YAAA,CACA,kBAAA,CACA,cAAA,CACA,4BAAA,CACA,mBAAA,CACA,wBAAA,CACA,gBAAA,CAEA,aAAA,CAGJ,SACI,UAAA,CACA,2BAAA,CAGJ,YACI,QAAA,CACA,SAAA,CAGJ,eACI,eAAA,CACA,oBAAA,CAGJ,KACI,iBAAA,CAIJ,YACI,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,cAAA,CACA,iBAAA,CAIJ,KACI,SAAA,CAGJ,aACI,kBAAA,CACA,0BAAA,CACA,wBAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,qBAAA,CACA,iBAAA,CACA,mCAAA,CAGJ,KACI,uBAAA,CAGJ,SACI,WAAA,CAGJ,YACI,YAAA,CACA,WAAA,CAGJ,WACI,YAAA,CACA,WAAA,CAGJ,kBACI,YAAA,CAGJ,uBACI,aAAA,CAGJ,OACI,SAAA,CAGJ,eACI,UAAA,CACA,WAAA,CACA,cAAA,CAGJ,aACI,YAAA,CACA,iBAAA,CACA,iBAAA,CAGJ,gCAEI,0BAAA,CAGJ,+EAII,mCAAA,CACA,qBAAA,CAGJ,kBACI,mBAAA,CACA,kBAAA,CACA,SAAA,CAGJ,mBACI,mBAAA,CACA,0BAAA,CACA,SAAA,CAGJ,2BACI,aAAA,CAGJ,WACI,YAAA,CACA,WAAA,CACA,iBAAA,CAGJ,cACI,QAAA,CACA,SAAA,CACA,oBAAA,CACA,eAAA,CAGJ,aACI,YAAA,CACA,iBAAA,CACA,WAAA,CACA,+BAAA,CACA,WAAA,CACA,YAAA,CAGJ,8BACI,WAAA,CACA,iBAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CACA,cAAA,CACA,YAAA,CAGJ,eACI,YAAA,CACA,iBAAA,CACA,WAAA,CACA,qBAAA,CACA,UAAA,CACA,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,mCAAA,CACA,WAAA,CACA,YAAA,CACA,iBAAA,CAGJ,YACI,SAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,WAAA,CAGJ,mBACI,YAAA,CAGJ,kBACI,SAAA,CAGJ,iDAEI,WAAA,CACA,oBAAA,CAGJ,iCACI,0BAAA,CACA,cAAA,CAGJ,qBACI,cAAA,CAGJ,gCACI,cAAA,CAGJ,OACI,cAAA,CAGJ,QACI,oBAAA,CAGJ,KACI,cAAA,CAGJ,gBAEI,0BAAA,CAGJ,eACI,YAAA","file":"style.min.css"}
|
@ -44,22 +44,10 @@ body {
|
||||
height: 80px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
background-color: #f56a6a;
|
||||
color: #fff !important;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.8);
|
||||
font-size: 14px;
|
||||
margin-bottom: 3px;
|
||||
|
||||
&:active {
|
||||
background-color: #7a0016;
|
||||
}
|
||||
}
|
||||
|
||||
.activeRef {
|
||||
background-color: #3e8e41 !important;
|
||||
}
|
||||
|
||||
.ref {
|
||||
width: 35%;
|
||||
@ -78,7 +66,7 @@ body {
|
||||
}
|
||||
|
||||
#ref {
|
||||
padding: 3px 3px 3px 10px;
|
||||
padding: 3px 3px 3px 3px;
|
||||
}
|
||||
|
||||
#passage {
|
||||
@ -116,10 +104,18 @@ textarea#notes {
|
||||
#notePreview {
|
||||
display: none;
|
||||
overflow-x: scroll;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
#notePreview ul,
|
||||
#notePreview ol {
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
#previewBtn.active,
|
||||
#show-hide-btn.active {
|
||||
#show-hide-btn.active,
|
||||
.tab button.active,
|
||||
#openRefBtn.active {
|
||||
background-color: #f56a6a !important;
|
||||
color: white !important;
|
||||
}
|
||||
@ -142,6 +138,8 @@ textarea#notes {
|
||||
|
||||
#note-list {
|
||||
display: none;
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
#note-list ul {
|
||||
@ -207,7 +205,7 @@ div#refQuery #referenceSearch {
|
||||
|
||||
#fields-container input,
|
||||
#fields-container select {
|
||||
width: 19.5%;
|
||||
width: 32.5%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@ -236,6 +234,11 @@ div#refQuery #referenceSearch {
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
#ref ol,
|
||||
#ref ul {
|
||||
list-style-position: inside;
|
||||
}
|
||||
|
||||
#referenceBook {
|
||||
display: none;
|
||||
}
|
@ -1354,5 +1354,9 @@
|
||||
"wlc": [
|
||||
1,
|
||||
196
|
||||
],
|
||||
"lbc": [
|
||||
1,
|
||||
32
|
||||
]
|
||||
}
|
@ -4,7 +4,7 @@ var references = {};
|
||||
var tabs = [];
|
||||
let saved = false;
|
||||
let textDirty = false;
|
||||
let saveTimeout = 10000;
|
||||
let saveTimeout = 15000;
|
||||
var to = null;
|
||||
let controller;
|
||||
var BOOKS = {};
|
||||
@ -158,6 +158,7 @@ function saveNote(event) {
|
||||
}
|
||||
|
||||
let saveCheck = document.querySelector('#save-check');
|
||||
var noteText = document.querySelector('#notes').value;
|
||||
|
||||
startSave();
|
||||
|
||||
@ -169,6 +170,7 @@ function saveNote(event) {
|
||||
series: document.querySelector('#series').value,
|
||||
passage: document.querySelector('#passage').value,
|
||||
note: document.querySelector('#notes').value,
|
||||
recording: document.querySelector('#recording').value,
|
||||
refs: references
|
||||
};
|
||||
$.ajax({
|
||||
@ -182,20 +184,23 @@ function saveNote(event) {
|
||||
.done(function (data) {
|
||||
if (data.msg == 'saved' && !saved) {
|
||||
saveCheck.classList.remove('saving');
|
||||
saveCheck.classList.remove('error');
|
||||
showSave();
|
||||
saved = true;
|
||||
textDirty = false;
|
||||
document.querySelector('#note-header-left h2').classList.remove('dirty');
|
||||
if (noteText == document.querySelector('#notes').value) {
|
||||
saved = true;
|
||||
textDirty = false;
|
||||
document.querySelector('#note-header-left h2').classList.remove('dirty');
|
||||
}
|
||||
|
||||
if (data.new) {
|
||||
document.querySelector('#noteId').value = data.id;
|
||||
}
|
||||
}
|
||||
})
|
||||
.fail(function (data) {
|
||||
.fail(function (xhr, status, error) {
|
||||
saveCheck.classList.remove('saving');
|
||||
saveCheck.classList.add('error');
|
||||
console.error(data);
|
||||
console.error(error);
|
||||
})
|
||||
.always(function (xhr, status) {
|
||||
if (status == 'timeout') {
|
||||
@ -271,6 +276,9 @@ function discardNote() {
|
||||
document.querySelector('#template').value = 0;
|
||||
document.querySelector('#passage').value = '';
|
||||
document.querySelector('#notes').value = '';
|
||||
document.querySelector('#recording').value = '';
|
||||
document.querySelector('#noteDate').value = '';
|
||||
document.querySelector('#noteId').value = '';
|
||||
|
||||
fetch('/index.php/discard-note', {
|
||||
method: 'POST',
|
||||
@ -368,6 +376,8 @@ function saveSeries(event) {
|
||||
}
|
||||
|
||||
function openRef(closeSidebar = true) {
|
||||
document.querySelector('#openRefBtn').classList.add('active');
|
||||
|
||||
refQuery = document.querySelector('#refQuery');
|
||||
refQuery.style.display = 'block';
|
||||
|
||||
@ -389,6 +399,7 @@ function closeRef() {
|
||||
document.querySelector('#verse-range').innerText = '';
|
||||
|
||||
document.querySelector('#refQuery').style.display = 'none';
|
||||
document.querySelector('#openRefBtn').classList.remove('active');
|
||||
}
|
||||
|
||||
function queryRef(type = null, book = null, input = null) {
|
||||
@ -438,10 +449,11 @@ function queryRef(type = null, book = null, input = null) {
|
||||
function makeButton(title) {
|
||||
var btn = document.createElement('button');
|
||||
btn.innerText = title;
|
||||
btn.class = 'button';
|
||||
btn.addEventListener('click', function () {
|
||||
removeActiveRef();
|
||||
document.querySelector('#ref').innerHTML = md.render(references[title]);
|
||||
this.classList.add('activeRef');
|
||||
this.classList.add('active');
|
||||
findRefLinks();
|
||||
});
|
||||
|
||||
@ -456,16 +468,16 @@ function makeButton(title) {
|
||||
});
|
||||
|
||||
removeActiveRef();
|
||||
btn.classList.add('activeRef');
|
||||
btn.classList.add('active');
|
||||
|
||||
return btn;
|
||||
}
|
||||
|
||||
function removeActiveRef() {
|
||||
tabs = document.querySelectorAll('.activeRef');
|
||||
tabs = document.querySelectorAll('.active');
|
||||
for (var t in tabs) {
|
||||
if (isFinite(parseInt(t))) {
|
||||
tabs[t].classList.remove('activeRef');
|
||||
tabs[t].classList.remove('active');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -573,6 +585,30 @@ function retrieveBooks() {
|
||||
newBook.text = BOOKS.cd[x];
|
||||
bookList.appendChild(newBook);
|
||||
}
|
||||
} else if (selectedType == 'note') {
|
||||
var none = document.createElement("option");
|
||||
none.value = '';
|
||||
none.text = '-- Select --';
|
||||
bookList.appendChild(none);
|
||||
|
||||
fetch('/index.php/retrieve-reference', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({
|
||||
'type': 'note'
|
||||
})
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(results => {
|
||||
for (var x in results) {
|
||||
var newBook = document.createElement("option");
|
||||
newBook.value = results[x].id;
|
||||
newBook.text = results[x].title;
|
||||
bookList.appendChild(newBook);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var min = BOOKS[selectedType][0];
|
||||
var max = BOOKS[selectedType][1];
|
||||
@ -623,6 +659,10 @@ function filterVerse() {
|
||||
}
|
||||
|
||||
function retrieveReference(el) {
|
||||
if (el.value == 'new') {
|
||||
document.querySelector('#refName').style.display = 'inline-block';
|
||||
return;
|
||||
}
|
||||
fetch('/index.php/get-reference', {
|
||||
method: "POST",
|
||||
header: {
|
||||
|
@ -2233,7 +2233,6 @@ a.image:hover img {
|
||||
ol {
|
||||
list-style: decimal;
|
||||
margin: 0 0 2em 0;
|
||||
padding-left: 1.5em;
|
||||
}
|
||||
|
||||
ol li {
|
||||
@ -2243,7 +2242,6 @@ ol li {
|
||||
ul {
|
||||
list-style: disc;
|
||||
margin: 0 0 2em 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
ul.alt {
|
||||
|
@ -166,6 +166,7 @@ class AjaxController extends AbstractController
|
||||
}
|
||||
|
||||
ReferenceController::$emi = $emi;
|
||||
$user = $this->getUser();
|
||||
|
||||
$ret = match(strtolower($data->type)) {
|
||||
'bible' => ReferenceController::retrieveBible("{$data->book} {$search}"),
|
||||
@ -175,7 +176,9 @@ class AjaxController extends AbstractController
|
||||
'wcf' => ReferenceController::retrieveWCF($ref),
|
||||
'wsc' => ReferenceController::retrieveWSC($ref),
|
||||
'wlc' => ReferenceController::retrieveWLC($ref),
|
||||
'creed' => ReferenceController::retrieveCreed($data->book)
|
||||
'lbc' => ReferenceController::retrieveLBC($ref),
|
||||
'creed' => ReferenceController::retrieveCreed($data->book),
|
||||
'note' => ReferenceController::retrieveNote($user)
|
||||
};
|
||||
|
||||
if (!is_a($ret, Reference::class)) {
|
||||
@ -195,19 +198,12 @@ class AjaxController extends AbstractController
|
||||
{
|
||||
$res = new Response();
|
||||
$data = json_decode($req->getContent());
|
||||
$ret = match ($data->type) {
|
||||
'creed' => '/Creeds/',
|
||||
'bc' => '/Belgic/',
|
||||
'hc' => '/Heidelberg/',
|
||||
'cd' => '/Dort/',
|
||||
'wcf' => '/Westminster/Confessions/',
|
||||
'wsc' => '/Westminster/Shorter Catechism/',
|
||||
'wlc' => '/Westminster/Larger Catechism/'
|
||||
};
|
||||
$ref = $emi->getRepository(Reference::class)->find($data->file);
|
||||
|
||||
$fc = file_get_contents(dirname(dirname(__DIR__))."/references{$ret}{$data->file}");
|
||||
|
||||
$res->setContent(json_encode(['text' => $fc]));
|
||||
if (!is_a($ref, Reference::class)) {
|
||||
$ref = new Reference();
|
||||
}
|
||||
$res->setContent(json_encode(['text' => $ref->getContent()]));
|
||||
|
||||
return $res;
|
||||
}
|
||||
@ -274,6 +270,10 @@ class AjaxController extends AbstractController
|
||||
if (is_array($note) && count($note) > 0) {
|
||||
/** @var Note $note */
|
||||
$note = $note[0];
|
||||
} else {
|
||||
$note = new Note();
|
||||
$newNote = true;
|
||||
$note->setUser($this->getUser());
|
||||
}
|
||||
} else {
|
||||
$note = new Note();
|
||||
@ -293,6 +293,7 @@ class AjaxController extends AbstractController
|
||||
->setSpeaker($speaker)
|
||||
->setText($data->note)
|
||||
->setPassage($data->passage)
|
||||
->setRecording($data->recording)
|
||||
->setRefs($refs);
|
||||
|
||||
$emi->persist($note);
|
||||
|
@ -42,20 +42,22 @@ class DefaultController extends AbstractController
|
||||
|
||||
$creeds = $emi->getRepository(Reference::class)->findByType('creed');
|
||||
$belgic = $emi->getRepository(Reference::class)->findByType('belgic');
|
||||
$heidelberg = $emi->getRepository(Reference::class)->findByType('heidelberg');
|
||||
$dort = $emi->getRepository(Reference::class)->findByType('dort');
|
||||
$heidelberg = $emi->getRepository(Reference::class)->findByType('hc');
|
||||
$dort = $emi->getRepository(Reference::class)->findByType('cd');
|
||||
$wcf = $emi->getRepository(Reference::class)->findByType('wcf');
|
||||
$wsc = $emi->getRepository(Reference::class)->findByType('wsc');
|
||||
$wlc = $emi->getRepository(Reference::class)->findByType('wlc');
|
||||
$lbc = $emi->getRepository(Reference::class)->findByType('lbc');
|
||||
|
||||
return $this->render('editors/reference-editor.html.twig', [
|
||||
'creeds' => $creeds,
|
||||
'belgic' => $belgic,
|
||||
'heidelberg' => $heidelberg,
|
||||
'dort' => $dort,
|
||||
'wcf' => $wcf,
|
||||
'wsc' => $wsc,
|
||||
'wlc' => $wlc
|
||||
'creeds' => ($creeds),
|
||||
'belgic' => ($belgic),
|
||||
'heidelberg' => ($heidelberg),
|
||||
'dort' => ($dort),
|
||||
'wcf' => ($wcf),
|
||||
'wsc' => ($wsc),
|
||||
'wlc' => ($wlc),
|
||||
'lbc' => ($lbc),
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,9 @@
|
||||
namespace App\Controller;
|
||||
|
||||
use App\Entity\Bible;
|
||||
use App\Entity\Note;
|
||||
use App\Entity\Reference;
|
||||
use App\Entity\User;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
@ -172,4 +174,16 @@ class ReferenceController extends AbstractController
|
||||
$r = self::$emi->getRepository(Reference::class)->findBy(['type' => $ref->getType(), 'ndx' => $ref->getNdx()]);
|
||||
return $r[0];
|
||||
}
|
||||
|
||||
public static function retrieveLBC($ref): Reference
|
||||
{
|
||||
$r = self::$emi->getRepository(Reference::class)->findBy(['type' => 'lbc', 'ndx' => $ref->getNdx()]);
|
||||
return $r[0];
|
||||
}
|
||||
|
||||
public static function retrieveNote(?User $user): array
|
||||
{
|
||||
$notes = self::$emi->getRepository(Note::class)->findBy(['user' => $user], ['date' => 'DESC']);
|
||||
return $notes;
|
||||
}
|
||||
}
|
||||
|
@ -42,6 +42,9 @@ class Note implements JsonSerializable
|
||||
#[ORM\ManyToOne(inversedBy: 'notes')]
|
||||
private ?User $user = null;
|
||||
|
||||
#[ORM\Column(length: 255, nullable: true)]
|
||||
private ?string $recording = null;
|
||||
|
||||
public function getId(): ?Uuid
|
||||
{
|
||||
return $this->id;
|
||||
@ -193,4 +196,16 @@ class Note implements JsonSerializable
|
||||
'user' => $this->getUser(),
|
||||
];
|
||||
}
|
||||
|
||||
public function getRecording(): ?string
|
||||
{
|
||||
return $this->recording;
|
||||
}
|
||||
|
||||
public function setRecording(?string $recording): static
|
||||
{
|
||||
$this->recording = $recording;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
<div style='display:inline-block'>
|
||||
<button onclick='increaseFont()'><i class='fa fa-plus'></i></button>
|
||||
<button onclick='decreaseFont()'><i class='fa fa-minus'></i></button>
|
||||
<button onclick='openRef(false)'><i class='fa fa-book'></i></button>
|
||||
<button id='openRefBtn' class='button' onclick='openRef(false)'><i class='fa fa-book'></i></button>
|
||||
</div>
|
||||
<div id="ref" style='font-size:12pt;'></div>
|
||||
<div id='note-list'>
|
||||
@ -80,7 +80,10 @@
|
||||
<div id='fields-container'>
|
||||
<input type="hidden" id="noteId" value="" />
|
||||
<input type="text" id="noteTitle" placeholder="Title..." />
|
||||
<input type='text' id='noteDate' onchange='textDirty=true;saved=false;' />
|
||||
<input type='text' id='noteDate' placeholder='Date...' onchange='textDirty=true;saved=false;' />
|
||||
<input type='text' id='passage' placeholder='Passage...' onchange='saved=false;textDirty=true;' />
|
||||
<br />
|
||||
<input type='text' id='recording' name='recording' placeholder='Recording link...' />
|
||||
<input type='text' id='newSpeaker' placeholder='Name...' onkeyup='saveSpeaker(event)' style='display:none;' />
|
||||
<select id="speaker" onchange='newSpeaker()'>
|
||||
<option value=0>-- Speaker --</option>
|
||||
@ -97,7 +100,6 @@
|
||||
<option value='{{ s.id }}'>{{ s.name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<input type='text' id='passage' placeholder='Passage...' onchange='saved=false;textDirty=true;' />
|
||||
</div>
|
||||
|
||||
<textarea id="notes" wrap="hard"></textarea>
|
||||
@ -121,6 +123,8 @@
|
||||
<option value='wcf'>Westminster Confession of Faith</option>
|
||||
<option value='wsc'>Westminster Shorter Catechism</option>
|
||||
<option value='wlc'>Westminster Larger Catechism</option>
|
||||
<option value='lbc'>London Baptist Confession</option>
|
||||
<option value='note'>Note</option>
|
||||
</select>
|
||||
<select id='referenceBook' onchange='filterBooks()'>
|
||||
</select>
|
||||
|
@ -7,42 +7,49 @@
|
||||
<body>
|
||||
<select id='references' onchange='retrieveReference(this)'>
|
||||
<option value=''>-- Select Reference --</option>
|
||||
<option value='new'>-- Insert New --</option>
|
||||
<optgroup id='creeds' label='Creeds'>
|
||||
{% for c in creeds %}
|
||||
<option type='creed'>{{ c }}</option>
|
||||
<option type='creed' value='{{ c.id }}'>{{ c.name }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
<optgroup id='belgic' label='Belgic Confession'>
|
||||
{% for c in belgic %}
|
||||
<option type='bc'>{{ c }}</option>
|
||||
<option type='bc' value='{{ c.id }}'>{{ c.label }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
<optgroup id='heidelberg' label='Heidelberg Catechism'>
|
||||
{% for c in heidelberg %}
|
||||
<option type='hc'>{{ c }}</option>
|
||||
<option type='hc' value='{{ c.id }}'>{{ c.label }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
<optgroup id='dort' label='Canons of Dort'>
|
||||
{% for c in dort %}
|
||||
<option type='cd'>{{ c }}</option>
|
||||
<option type='cd' value='{{ c.id }}'>{{ c.label }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
<optgroup id='wcf' label='Westminster Confession of Faith'>
|
||||
{% for c in wcf %}
|
||||
<option type='wcf'>{{ c }}</option>
|
||||
<option type='wcf' value='{{ c.id }}'>{{ c.label }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
<optgroup id='wsc' label='Westminster Short Catechism'>
|
||||
{% for c in wsc %}
|
||||
<option type='wsc'>{{ c }}</option>
|
||||
<option type='wsc' value='{{ c.id }}'>{{ c.label }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
<optgroup id='wlc' label='Westminster Larger Catechism'>
|
||||
{% for c in wlc %}
|
||||
<option type='wlc'>{{ c }}</option>
|
||||
<option type='wlc' value='{{ c.id }}'>{{ c.label }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
</select>
|
||||
<optgroup id='lbc' label='London Baptist Confession'>
|
||||
{% for c in lbc %}
|
||||
<option type='lbc' value='{{ c.id }}'>{{ c.label }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
</select>
|
||||
<input type='text' name='name' id='refName' style='display:none;' />
|
||||
<button id='save' name='save' onclick='saveReference()'>Save</button>
|
||||
<a href='/index.php/home'>Back</a><br />
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user