4 function showModal(content){
5 var HTML = `<div class="modal fade" id="confirmation-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
6 <div class="modal-dialog" role="document">
7 <div class="modal-content">
8 <div class="modal-header">
9 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">🗙</span></button>
10 <h4 class="modal-title" id="myModalLabel"> </h4>
12 <div class="modal-body">
15 <div class="modal-footer">
16 <button type="button" class="btn btn-default btn-cancel" data-dismiss="modal">🗙</button>
17 <button type="button" class="btn btn-danger btn-confirm">✓</button>
22 if(modal === undefined) {
24 modal.action = function(){};
25 modal.appendTo("body");
26 $(modal.get(0)).find(".modal-footer .btn-confirm").click(function(){
31 var m = $(modal.get(0));
32 m.find(".modal-body").text($(content).attr("data-confirm"));
33 var reply = $(content).attr("data-reply").split(",");
34 m.find(".modal-footer .btn-cancel").text(reply[0]);
35 m.find(".modal-footer .btn-confirm").text(reply[1]);
36 modal.action=function(){
37 content.confirmed=true;
42 function initConfirm() {
43 $(".btn-confirm").click(function(){
44 if(this.confirmed === true){
51 function showExpert(isExpert)
53 var elements = document.getElementsByClassName("expert");
54 for(var i = 0; elements.length > i; i++)
57 elements[i].setAttribute("class","expert experthidden");
59 elements[i].setAttribute("class","expert");
63 function initCertForm() {
64 if(document.getElementById("placeholderName") == null) {
68 var elem = document.getElementById(id);
72 return $(elem).text();
74 $("select[name=profile]").off("change");
75 $("textarea[name=SANs]").off("keydown");
76 $("textarea[name=SANs]").get(0).modified=false;
77 $("input[name=CN]").off("keydown");
78 $("input[name=CN]").get(0).modified=false;
80 var placeholderName = getHint("placeholderName");
81 var defaultName = getHint("defaultName");
82 var defaultEmail = getHint("defaultEmail");
83 var defaultDomain = getHint("defaultDomain");
84 if(defaultName === null) {
87 $("textarea[name=SANs]").on("keydown", function(){
88 this.modified = this.value !== "";
90 $("input[name=CN]").on("keydown", function(){
91 this.modified = this.value !== "";
94 var loginCheck = document.getElementById("login");
95 $("select[name=profile]").change(function(){
97 var sans = $("textarea[name=SANs]").get(0);
98 if(val.match(/client.*/)) {
99 loginCheck.checked = true;
100 loginCheck.disabled = false;
102 loginCheck.checked = false;
103 loginCheck.disabled = true;
105 if(val.match(/client.*|mail.*/)) {
107 sans.value = "email:"+defaultEmail;
109 } else if(val.match(/server.*/)) {
111 sans.value = defaultDomain === null ? "" : "dns:" + defaultDomain;
114 var cn = $("input[name=CN]").get(0);
115 if(val.match(/.*-a/)) {
117 cn.value = defaultName;
121 cn.value = placeholderName;
125 var children = $("select[name=profile]").get(0).children;
126 var target = "client-mail";
127 for(var i=0; i < children.length; i++){
128 if(children[i].value == "client-mail-a"){
129 target = "client-mail-a";
133 $("select[name=profile]").get(0).value = target;
134 $("select[name=profile]").trigger("change");
140 var expert = document.getElementById("expertbox");
141 if(expert !== null) {
142 expert.onchange = (function(expert){return function(){showExpert(expert.checked)}})(expert);
144 $(".panel-activatable").map(function() {
146 var refresh = function(){
147 var radio = this.type == "radio";
148 if(radio && this.form.currentRadios === undefined) {
149 this.form.currentRadios = {};
152 panel.find(".panel-body").removeClass("hidden");
154 var rds = this.form.currentRadios;
155 if(rds[this.name] !== undefined){
156 $(rds[this.name]).trigger("change");
158 rds[this.name] = this;
161 panel.find(".panel-body").addClass("hidden");
164 panel.find(".panel-heading [type=\"checkbox\"]").map(refresh);
165 panel.find(".panel-heading [type=\"checkbox\"]").change(refresh);
166 panel.find(".panel-heading [type=\"radio\"]").map(refresh);
167 panel.find(".panel-heading [type=\"radio\"]").change(refresh);
173 if (oldLoad == undefined) {
174 window.onload = init;
176 window.onload = function() {