Commit 08b3ddce authored by jan.koester's avatar jan.koester
Browse files

test

parent 6724b81a
Loading
Loading
Loading
Loading
+20 −11
Changes for plugins/survey/survey.cpp: 20 added lines, 11 removed lines.
Original line number Diff line number Diff line
@@ -3481,10 +3481,18 @@ namespace blogi {
                 << ".se-q-header .se-q-id{font-weight:700;color:var(--blogi-accent,#2da82d);}"
                 << ".se-q-actions button{background:none;border:none;cursor:pointer;font-size:1.1em;padding:2px 6px;color:var(--blogi-text-muted,#888);}"
                 << ".se-q-actions button:hover{color:var(--blogi-error,#F36947);}"
                 << ".se-q-row{display:grid;grid-template-columns:1fr 120px 80px;gap:8px;margin-bottom:8px;align-items:end;}"
                 << ".se-q-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-bottom:8px;align-items:end;}"
                 << ".se-q-row label{display:block;font-size:.85em;font-weight:600;margin-bottom:2px;color:var(--blogi-text-muted,#666);}"
                 << ".se-q-row input,.se-q-row select{width:100%;padding:6px 8px;border:1px solid var(--blogi-border,#ddd);border-radius:4px;font-size:.9em;background:var(--blogi-surface,#fff);color:var(--blogi-text,#333);}"
                 << ".se-q-row input{width:100%;padding:6px 8px;border:1px solid var(--blogi-border,#ddd);border-radius:4px;font-size:.9em;background:var(--blogi-surface,#fff);color:var(--blogi-text,#333);}"
                 << ".se-q-row input[type=checkbox]{width:auto;}"
                 << ".se-type-row{margin-bottom:8px;}"
                 << ".se-type-row>label{display:block;font-size:.85em;font-weight:600;margin-bottom:4px;color:var(--blogi-text-muted,#666);}"
                 << ".se-type-picker{display:flex;flex-wrap:wrap;gap:4px;}"
                 << ".se-type-btn{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border:1px solid var(--blogi-border,#555);border-radius:6px;cursor:pointer;background:var(--blogi-bg-alt,#3a3e42);color:var(--blogi-text-muted,#aaa);min-width:52px;transition:.15s;gap:3px;}"
                 << ".se-type-btn:hover{border-color:var(--blogi-accent,#2da82d);color:var(--blogi-accent,#2da82d);background:var(--blogi-surface,#444);}"
                 << ".se-type-btn.active{border-color:var(--blogi-accent,#2da82d);background:var(--blogi-success-bg,#1e3a1e);color:var(--blogi-accent,#2da82d);font-weight:700;}"
                 << ".se-type-icon{font-size:1.4em;line-height:1;}"
                 << ".se-type-label{font-size:.7em;}"
                 << ".se-opts{margin-top:8px;padding-top:8px;border-top:1px solid var(--blogi-border,#eee);}"
                 << ".se-opts h4{margin:0 0 6px;font-size:.85em;color:var(--blogi-text-muted,#888);}"
                 << ".se-opt-row{display:grid;grid-template-columns:1fr 1fr 1fr 30px;gap:6px;margin-bottom:6px;align-items:start;}"
@@ -3596,13 +3604,15 @@ namespace blogi {
                 << "h+='</div></div>';"
                 << "h+='<div class=\"se-q-row\">';"
                 << "h+='<div><label>Fragetext</label><input class=\"se-qtext\" value=\"'+esc(q.text||'')+'\"/></div>';"
                 << "h+='<div><label>Typ</label><select class=\"se-qtype\">';"
                 << "var types=['radio','checkbox','text','select','rating','image','icon'];"
                 << "for(var t=0;t<types.length;t++){h+='<option value=\"'+types[t]+'\"'+(q.type===types[t]?' selected':'')+'>'+types[t]+'</option>';}"
                 << "h+='</select></div>';"
                 << "h+='<div><label>Pflicht</label><br/><input type=\"checkbox\" class=\"se-qreq\"'+(q.required?' checked':'')+'/></div>';"
                 << "h+='<div><label>Reihenfolge</label><input type=\"number\" class=\"se-qorder\" value=\"'+(q.order||0)+'\" style=\"width:60px\"/></div>';"
                 << "if(q.type==='icon'){h+='<div><label>Mehrfach</label><br/><input type=\"checkbox\" class=\"se-qmulti\"'+(q.multiSelect?' checked':'')+'/></div>';}"
                 << "h+='</div>';"
                 << "h+='<div style=\"display:none\"><input class=\"se-qtype\" value=\"'+esc(q.type||'radio')+'\"/></div>';"
                 << "h+='<div class=\"se-type-row\"><label>Typ</label><div class=\"se-type-picker\">';"
                 << "var typeDefs=[{v:'radio',ic:'&#9673;',lb:'Radio'},{v:'checkbox',ic:'&#9745;',lb:'Check'},{v:'text',ic:'Aa',lb:'Text'},{v:'select',ic:'&#9776;',lb:'Select'},{v:'rating',ic:'&#9733;',lb:'Rating'},{v:'image',ic:'&#128247;',lb:'Image'},{v:'icon',ic:'&#8862;',lb:'Icon'}];"
                 << "for(var t=0;t<typeDefs.length;t++){var td=typeDefs[t];h+='<button type=\"button\" class=\"se-type-btn'+(q.type===td.v?' active':'')+'\"'+' data-type=\"'+td.v+'\"><span class=\"se-type-icon\">'+td.ic+'</span><span class=\"se-type-label\">'+td.lb+'</span></button>';}"
                 << "h+='</div>';"
                 << "if(q.type==='icon'){h+='<div style=\"margin-top:4px\"><label style=\"font-size:.85em;color:var(--blogi-text-muted,#666)\">Mehrfach </label><input type=\"checkbox\" class=\"se-qmulti\"'+(q.multiSelect?' checked':'')+'/></div>';}"
                 << "h+='</div>';"
                 << "h+='<div style=\"display:none\"><input class=\"se-qid\" value=\"'+esc(q.id)+'\"/></div>';"
                 << "if(q.type==='rating'){"
@@ -3647,10 +3657,9 @@ namespace blogi {
                 << "else if(t.classList.contains('se-q-down')){readForm();var qe=t.closest('.se-question');var idx=parseInt(qe.getAttribute('data-idx'));if(idx<survey.questions.length-1){var tmp=survey.questions[idx];survey.questions[idx]=survey.questions[idx+1];survey.questions[idx+1]=tmp;var tmpO=survey.questions[idx].order;survey.questions[idx].order=survey.questions[idx-1].order;survey.questions[idx-1].order=tmpO;render();}}"
                 << "else if(t.classList.contains('se-opt-del')){readForm();var row=t.closest('.se-opt-row');var qe=t.closest('.se-question');var qi=parseInt(qe.getAttribute('data-idx'));var opts=qe.querySelectorAll('.se-opt-row');for(var i=0;i<opts.length;i++){if(opts[i]===row){survey.questions[qi].options.splice(i,1);break;}}render();}"
                 << "else if(t.classList.contains('se-add-opt')){readForm();var qe=t.closest('.se-question');var qi=parseInt(qe.getAttribute('data-idx'));survey.questions[qi].options.push({value:'',label:'',excludes:'',icon:''});render();}"
                 << "else if(t.classList.contains('se-pick-icon')){var inp=t.previousElementSibling;if(inp)openMediaPicker(inp);}};"
                 << "var typeSelects=el.querySelectorAll('.se-qtype');"
                 << "for(var i=0;i<typeSelects.length;i++){"
                 << "typeSelects[i].addEventListener('change',function(){readForm();render();});}}"
                 << "else if(t.classList.contains('se-pick-icon')){var inp=t.previousElementSibling;if(inp)openMediaPicker(inp);}"
                 << "else{var btn=t.closest?t.closest('.se-type-btn'):null;if(btn){var qe=btn.closest('.se-question');var inp=qe?qe.querySelector('.se-qtype'):null;if(inp)inp.value=btn.getAttribute('data-type');readForm();render();}}};"
                 << "}}"
                 << ""
                 // media picker for icon type
                 << "function getAuthId(){var m=document.cookie.match(/authid=([^;]+)/);return m?m[1]:null;}"