Use minimized CSS and JS

phpcs-errors:238 phpunit-status:successful
This commit is contained in:
Joshua Ramon Enslin 2020-07-03 17:13:37 +02:00 committed by Stefan Rohde-Enslin
parent 980dd575d2
commit c8cce85893
3 changed files with 45 additions and 2 deletions

38
assets/css/csvxml.min.css vendored Normal file
View File

@ -0,0 +1,38 @@
@import 'editMenu.css';@font-face{font-family:sourceSansPro;src:local('Source-Sans-Pro'),local('Source Sans Pro'),url(../fonts/SourceSansPro-Regular.woff2)format('woff2'),url(../fonts/SourceSansPro-Regular.ttf)format('truetype')}*{box-sizing:border-box;z-index:1}
body{margin:2em;background:#FFF;font-family:sourceSansPro,Arial,Helvetica,Times;font-size:1.2em;line-height:1.5em}
a{text-decoration:none;color:inherit}
h1{display:block;max-width:600px;margin:0 auto 1.5em auto}
h1>*{display:inline-block;vertical-align:middle;color:#212121}
h1 img{height:2em;margin-right:.2em;border-radius:.1em;opacity:.7;transition:opacity.4s}
h1 img:hover{opacity:1}
body>div,body>form{display:block;max-width:90vw;margin:0 auto 3em auto;padding-bottom:3em}
form>div{margin-bottom:1em}
label{display:block;font-weight:bold;margin-bottom:.5em}.invisible{display:none!important;opacity:0}.buttonLike,select,button,textarea,input{display:block;width:100%;padding:.5em.5em;border:2.5px solid #EEE;background:inherit;color:#424242;font-family:roboto;font-size:1em;border-radius:.2em;transition:border.2s}.buttonLike{display:inline-block;text-align:center}
input[type="submit"],button{padding:.5em.8em}.buttonLike,input[type="submit"],button{background:#FFCCBC;color:#424242;border:none;font-weight:bold;text-transform:uppercase;transition:background.2s,color.2s}
textarea{line-height:1.2em}
select:hover,textarea:hover,input:hover{border-color:#888}.buttonLike:focus,input[type="submit"]:focus,button:focus,.buttonLike:hover,input[type="submit"]:hover,button:hover{background:#CB9B8C;color:#000}
aside.buttonLike+.buttonLike,aside button+button{margin-top:.5em}
aside>h4:first-child{margin-top:0}
select:focus,textarea:focus,input:focus{border-color:#CB9B8C;box-shadow:none}
textarea:invalid,input:invalid{box-shadow:none}
textarea:invalid:focus,input:invalid:focus{border-right-width:1em}
textarea{min-height:30vh}
table{width:100%;max-height:60vh;margin:2em 0;border-collapse:collapse;overflow:auto}
th{padding:.3em.5em;text-align:left;border-bottom:2px solid #424242}
tbody>tr:nth-child(2n+1){background:#F2F2F2}
td{padding:.3em.5em;border-bottom:1px solid #D6D6D6}
body>div.uploader{background:#F2F2F2;border:2px solid #EEE;padding:1em 1em}
ul.fieldList{display:block;margin:.5em 0;padding:0 0;list-style:none}
ul.fieldList>li{display:inline-block;padding:.3em;margin:.1em;border:1px solid #D6D6D6;background:#FAFAFA;cursor:pointer;transition:background.4s,border.4s,box-shadow.4s}
ul.fieldList>li:hover{background:#FFF;border-color:#212121}
ul.fieldList>li.requiredField:before{display:inline-block;content:" \002612 ";margin-right:.5em}
ul.fieldList>li.humanTLToggled{border-color:#CB9B8C;background:#CB9B8C;box-shadow:0 8px 6px-6px black}.options>a.buttonLike{display:inline-block;width:auto;margin:.15em 0;padding:.4em.5em;text-transform:inherit;cursor:pointer;background:initial;border:2px solid #D6D6D6;opacity:1;transition:background.4s,opacity.4s}.options>a.buttonLike:hover{background:#D6D6D6}.actionList{margin:1em 0 1em 1em;padding:.5em 0}.actionList>li a{display:inline-block;padding:.3em;border-radius:.3em;transition:background.4s}.actionList>li a:hover{background:#CB9B8C}
@media(prefers-color-scheme:dark){body{background:#263238;color:#ECEFF1}
input,select,textarea{background:inherit;color:inherit;border:3px solid #37474F;transition:border.4s,box-shadow.4s}
a.buttonLike:focus,.options>a.buttonLike:focus,button:focus,select:focus,textarea:focus,input:focus,textarea:active,input:active,a.buttonLike:hover,.options>a.buttonLike:hover,ul.fieldList>li:hover,button:hover,select:hover,textarea:hover,input:hover{background:inherit;border-color:#FFF;box-shadow:initial;border-radius:.2em}
ul.fieldList>li,.options>a.buttonLike,a.buttonLike,button,input[type="submit"]{background:inherit;color:#FFF;border:3px solid #FFC107;border-radius:.2em;transition:background.4s,color.4s,border.4s}
ul.fieldList>li{border-color:#37474F}
ul.fieldList>li.humanTLToggled,.options>a.buttonLike:hover,a.buttonLike:hover,button:hover{background:#FFC107;color:#000;border-color:#FFA000}
a{color:#CFD8DC}.tiles>section h2{background:#37474F;color:inherit}.tiles>section:hover h2{background:rgba(0,0,0,.2);color:inherit}
h1,h1>*{color:#CFD8DC}
body>div.uploader{background:inherit;border-color:#37474F}}

5
assets/js/csvxml-overview.min.js vendored Normal file
View File

@ -0,0 +1,5 @@
(function(){let csvBySelectionButton=document.getElementById("csvBySelection");let unsetSelectionButton=document.getElementById("unsetSelection");function checkCSVBySelectionAccessibility(){let selected=document.getElementsByClassName("humanTLToggled");if(selected.length===0){csvBySelectionButton.classList.add("invisible");unsetSelection.classList.add("invisible")}else{csvBySelectionButton.classList.remove("invisible");unsetSelection.classList.remove("invisible")}}
function doForFieldList(callback){let fieldLists=document.getElementsByClassName("fieldList");for(let i=0,max=fieldLists.length;i<max;i++){let fields=fieldLists[i].getElementsByTagName("li");for(let j=0,maxj=fields.length;j<maxj;j++){callback(fields[j])}}}
function toggleListFieldSelectionState(field){let newValue=field.getAttribute("data-alt");field.setAttribute("data-alt",field.textContent);field.textContent=newValue;field.classList.toggle("humanTLToggled");if(field.classList.contains("humanTLToggled")===!1)return;let dependencies=field.getAttribute("data-dependencies");if(dependencies!==undefined&&dependencies!==null){let linkedFields=dependencies.split(";");for(let i=0,max=linkedFields.length;i<max;i++){let linkedField=document.getElementById(linkedFields[i]);if(linkedField.classList.contains("humanTLToggled")===!0)continue;toggleListFieldSelectionState(linkedField)}}}
doForFieldList(function(field){field.addEventListener('click',function(e){toggleListFieldSelectionState(field);checkCSVBySelectionAccessibility()})});csvBySelectionButton.addEventListener('click',function(e){let selectionForm=document.createElement("form");selectionForm.method="POST";selectionForm.action="csv.php";let hiddenInput=document.createElement("input");hiddenInput.type="hidden";hiddenInput.name="selectedFields";hiddenInput.value="";let selected=document.getElementsByClassName("humanTLToggled");for(let i=0,max=selected.length;i<max;i++){hiddenInput.value+=selected[i].getAttribute("data-value")+","}
selectionForm.appendChild(hiddenInput);document.documentElement.appendChild(selectionForm);selectionForm.submit()});let selectRequired=document.getElementById("selectRequired");selectRequired.addEventListener('click',function(e){doForFieldList(function(field){if(field.classList.contains("requiredField")===!1)return;if(field.classList.contains("humanTLToggled")===!0)return;toggleListFieldSelectionState(field);checkCSVBySelectionAccessibility()})});let selectAll=document.getElementById("selectAll");selectAll.addEventListener('click',function(e){doForFieldList(function(field){if(field.classList.contains("humanTLToggled")===!0)return;toggleListFieldSelectionState(field);checkCSVBySelectionAccessibility()})});unsetSelectionButton.addEventListener('click',function(e){doForFieldList(function(field){if(field.classList.contains("humanTLToggled")===!1)return;toggleListFieldSelectionState(field);checkCSVBySelectionAccessibility()})})})()

View File

@ -111,9 +111,9 @@ function printHTMLHead(string $injected = "") {
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="theme-color" content="#FFF" /> <meta name="theme-color" content="#FFF" />
<link rel="stylesheet" type="text/css" href="assets/css/csvxml.css" /> <link rel="stylesheet" type="text/css" href="assets/css/csvxml.min.css" />
<link rel="shortcut icon" sizes="128x128" href="assets/img/mdlogo-csvxml.svg" /> <link rel="shortcut icon" sizes="128x128" href="assets/img/mdlogo-csvxml.svg" />
<script src="assets/js/csvxml-overview.js" type="text/javascript" defer></script> <script src="assets/js/csvxml-overview.min.js" type="text/javascript" defer></script>
<title>CSVXML :: museum-digital</title> <title>CSVXML :: museum-digital</title>