Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 376e6be2

Přidáno uživatelem Jan Pašek před téměř 4 roky(ů)

Re #8701 - Improved created certificate page and empty list display

Zobrazit rozdíly:

static/create_certificate.html
56 56
                            </div>
57 57
                        </tr>
58 58
                        <tr>
59
                            <td colspan="2"><h5>Issuer</h5></td>
59
                            <td colspan="2"><h5>Subject</h5></td>
60 60
                        </tr>
61 61
                        <tr>
62 62
                            <div class="form-group">
63
                                <td><label for="issuer_CN">Common Name:</label></td>
63
                                <td><label for="subject_CN">Common Name:</label></td>
64 64
                                <td class="pl-3">
65
                                    <input type="text" id="issuer_CN" name="issuer_CN" class="form-control" v-bind:value="selectedCAData.CN" disabled>
65
                                    <input type="text" v-bind:class="{ 'is-invalid': invalidCN }" v-model:value="certificateData.subject.CN" id="subject_CN" name="subject_CN" class="form-control">
66 66
                                </td>
67 67
                            </div>
68 68
                        </tr>
69 69
                        <tr>
70 70
                            <div class="form-group">
71
                                <td><label for="issuer_C">Country Code:</label></td>
71
                                <td><label for="subject_C">Country Code:</label></td>
72 72
                                <td class="pl-3">
73
                                    <input type="text" id="issuer_C" name="issuer_C" class="form-control" v-bind:value="selectedCAData.C" disabled>
73
                                    <input type="text"  v-model:value="certificateData.subject.C" id="subject_C" name="subject_C" class="form-control">
74 74
                                </td>
75 75
                            </div>
76 76
                        </tr>
77 77
                        <tr>
78 78
                            <div class="form-group">
79
                                <td><label for="issuer_L">Locality:</label></td>
79
                                <td><label for="subject_L">Locality:</label></td>
80 80
                                <td class="pl-3">
81
                                    <input type="text" id="issuer_L" name="issuer_L" class="form-control" v-bind:value="selectedCAData.L" disabled>
81
                                    <input type="text" v-model:value="certificateData.subject.L" id="subject_L" name="subject_L" class="form-control">
82 82
                                </td>
83 83
                            </div>
84 84
                        </tr>
85 85
                        <tr>
86 86
                            <div class="form-group">
87
                                <td><label for="issuer_ST">Province/State:</label></td>
87
                                <td><label for="subject_ST">Province/State:</label></td>
88 88
                                <td class="pl-3">
89
                                    <input type="text" id="issuer_ST" name="issuer_ST" class="form-control" v-bind:value="selectedCAData.ST" disabled>
89
                                    <input type="text" v-model:value="certificateData.subject.ST" id="subject_ST" name="subject_ST" class="form-control">
90 90
                                </td>
91 91
                            </div>
92 92
                        </tr>
93 93
                        <tr>
94 94
                            <div class="form-group">
95
                                <td><label for="issuer_O">Organization:</label></td>
95
                                <td><label for="subject_O">Organization:</label></td>
96 96
                                <td class="pl-3">
97
                                    <input type="text" id="issuer_O" name="issuer_O" class="form-control" v-bind:value="selectedCAData.O" disabled>
97
                                    <input type="text" v-model:value="certificateData.subject.O" id="subject_O" name="subject_O" class="form-control">
98 98
                                </td>
99 99
                            </div>
100 100
                        </tr>
101 101
                        <tr>
102 102
                            <div class="form-group">
103
                                <td><label for="issuer_OU">Organization Unit:</label></td>
103
                                <td><label for="subject_OU">Organization Unit:</label></td>
104 104
                                <td class="pl-3">
105
                                    <input type="text" id="issuer_OU" name="issuer_OU" class="form-control" v-bind:value="selectedCAData.OU" disabled>
105
                                    <input type="text" v-model:value="certificateData.subject.OU" id="subject_OU" name="subject_OU" class="form-control">
106 106
                                </td>
107 107
                            </div>
108 108
                        </tr>
109 109
                        <tr>
110 110
                            <div class="form-group">
111
                                <td><label for="issuer_emailAddress">Email:</label></td>
111
                                <td><label for="subject_emailAddress">Email:</label></td>
112 112
                                <td class="pl-3">
113
                                    <input type="email" id="issuer_emailAddress" name="issuer_emailAddress" class="form-control" v-bind:value="selectedCAData.emailAddress" disabled>
113
                                    <input type="email" v-model:value="certificateData.subject.emailAddress" id="subject_emailAddress" name="subject_emailAddress" class="form-control">
114 114
                                </td>
115 115
                            </div>
116 116
                        </tr>
117 117
                        <tr>
118
                            <td colspan="2"><h5>Subject</h5></td>
118
                            <td>Usage:</td>
119
                            <td class="form-check">
120
                                <input class="form-check-input" :disabled="isSelfSigned" v-model="certificateData.usage.CA" type="checkbox" id="isCA" name="isCA" value="CA">
121
                                <label class="form-check-label" for="isCA">CA</label><br>
122

  
123
                                <input class="form-check-input" v-model="certificateData.usage.digitalSignature" type="checkbox" id="isDigitalSignature" name="isDigitalSignature" value="DigitalSignature">
124
                                <label class="form-check-label" for="isDigitalSignature">Digital Signature</label><br>
125

  
126
                                <input class="form-check-input" v-model="certificateData.usage.authentication" type="checkbox" id="isAuthentication" name="isAuthentication" value="Authentication">
127
                                <label class="form-check-label" for="isAuthentication">Authentication</label><br>
128

  
129
                                <input class="form-check-input" v-model="certificateData.usage.SSL" type="checkbox" id="isSSL_TLS" name="isSSL_TLS" value="SSL_TLS">
130
                                <label class="form-check-label" for="isSSL_TLS">SSL/TLS</label><br>
131
                            </td>
119 132
                        </tr>
120
                        <tr>
133
                        <tr v-if="!isSelfSigned && !showIssuer" class="pt-2">
134
                            <td colspan="3">
135
                                <button v-if="!showIssuer" v-on:click="toggleShowIssuer" class="btn btn-outline-secondary btn-block">Show issuer</button>
136
                            </td>
137
                        </tr>
138
                        <tr v-if="showIssuer" class="pt-2" v-cloak>
139
                            <td colspan="3">
140
                                <button v-on:click="toggleShowIssuer" class="btn btn-outline-secondary btn-block">Hide issuer</button>
141
                            </td>
142
                        </tr>
143
                        <tr v-if="showIssuer" v-cloak>
144
                            <td colspan="2"><h5>Issuer</h5></td>
145
                        </tr>
146
                        <tr v-if="showIssuer" v-cloak>
121 147
                            <div class="form-group">
122
                                <td><label for="subject_CN">Common Name:</label></td>
148
                                <td><label for="issuer_CN">Common Name:</label></td>
123 149
                                <td class="pl-3">
124
                                    <input type="text" v-bind:class="{ 'is-invalid': invalidCN }" v-model:value="certificateData.subject.CN" id="subject_CN" name="subject_CN" class="form-control">
150
                                    <input type="text" id="issuer_CN" name="issuer_CN" class="form-control" v-bind:value="selectedCAData.CN" disabled>
125 151
                                </td>
126 152
                            </div>
127 153
                        </tr>
128
                        <tr>
154
                        <tr v-if="showIssuer" v-cloak>
129 155
                            <div class="form-group">
130
                                <td><label for="subject_C">Country Code:</label></td>
156
                                <td><label for="issuer_C">Country Code:</label></td>
131 157
                                <td class="pl-3">
132
                                    <input type="text"  v-model:value="certificateData.subject.C" id="subject_C" name="subject_C" class="form-control">
158
                                    <input type="text" id="issuer_C" name="issuer_C" class="form-control" v-bind:value="selectedCAData.C" disabled>
133 159
                                </td>
134 160
                            </div>
135 161
                        </tr>
136
                        <tr>
162
                        <tr v-if="showIssuer" v-cloak>
137 163
                            <div class="form-group">
138
                                <td><label for="subject_L">Locality:</label></td>
164
                                <td><label for="issuer_L">Locality:</label></td>
139 165
                                <td class="pl-3">
140
                                    <input type="text" v-model:value="certificateData.subject.L" id="subject_L" name="subject_L" class="form-control">
166
                                    <input type="text" id="issuer_L" name="issuer_L" class="form-control" v-bind:value="selectedCAData.L" disabled>
141 167
                                </td>
142 168
                            </div>
143 169
                        </tr>
144
                        <tr>
170
                        <tr v-if="showIssuer" v-cloak>
145 171
                            <div class="form-group">
146
                                <td><label for="subject_ST">Province/State:</label></td>
172
                                <td><label for="issuer_ST">Province/State:</label></td>
147 173
                                <td class="pl-3">
148
                                    <input type="text" v-model:value="certificateData.subject.ST" id="subject_ST" name="subject_ST" class="form-control">
174
                                    <input type="text" id="issuer_ST" name="issuer_ST" class="form-control" v-bind:value="selectedCAData.ST" disabled>
149 175
                                </td>
150 176
                            </div>
151 177
                        </tr>
152
                        <tr>
178
                        <tr v-if="showIssuer" v-cloak>
153 179
                            <div class="form-group">
154
                                <td><label for="subject_O">Organization:</label></td>
180
                                <td><label for="issuer_O">Organization:</label></td>
155 181
                                <td class="pl-3">
156
                                    <input type="text" v-model:value="certificateData.subject.O" id="subject_O" name="subject_O" class="form-control">
182
                                    <input type="text" id="issuer_O" name="issuer_O" class="form-control" v-bind:value="selectedCAData.O" disabled>
157 183
                                </td>
158 184
                            </div>
159 185
                        </tr>
160
                        <tr>
186
                        <tr v-if="showIssuer" v-cloak>
161 187
                            <div class="form-group">
162
                                <td><label for="subject_OU">Organization Unit:</label></td>
188
                                <td><label for="issuer_OU">Organization Unit:</label></td>
163 189
                                <td class="pl-3">
164
                                    <input type="text" v-model:value="certificateData.subject.OU" id="subject_OU" name="subject_OU" class="form-control">
190
                                    <input type="text" id="issuer_OU" name="issuer_OU" class="form-control" v-bind:value="selectedCAData.OU" disabled>
165 191
                                </td>
166 192
                            </div>
167 193
                        </tr>
168
                        <tr>
194
                        <tr v-if="showIssuer" v-cloak>
169 195
                            <div class="form-group">
170
                                <td><label for="subject_emailAddress">Email:</label></td>
196
                                <td><label for="issuer_emailAddress">Email:</label></td>
171 197
                                <td class="pl-3">
172
                                    <input type="email" v-model:value="certificateData.subject.emailAddress" id="subject_emailAddress" name="subject_emailAddress" class="form-control">
198
                                    <input type="email" id="issuer_emailAddress" name="issuer_emailAddress" class="form-control" v-bind:value="selectedCAData.emailAddress" disabled>
173 199
                                </td>
174 200
                            </div>
175 201
                        </tr>
176
                        <tr>
177
                            <td>Usage:</td>
178
                            <td class="form-check">
179
                                <input class="form-check-input" :disabled="isSelfSigned" v-model="certificateData.usage.CA" type="checkbox" id="isCA" name="isCA" value="CA">
180
                                <label class="form-check-label" for="isCA">CA</label><br>
181

  
182
                                <input class="form-check-input" v-model="certificateData.usage.digitalSignature" type="checkbox" id="isDigitalSignature" name="isDigitalSignature" value="DigitalSignature">
183
                                <label class="form-check-label" for="isDigitalSignature">Digital Signature</label><br>
184

  
185
                                <input class="form-check-input" v-model="certificateData.usage.authentication" type="checkbox" id="isAuthentication" name="isAuthentication" value="Authentication">
186
                                <label class="form-check-label" for="isAuthentication">Authentication</label><br>
187

  
188
                                <input class="form-check-input" v-model="certificateData.usage.SSL" type="checkbox" id="isSSL_TLS" name="isSSL_TLS" value="SSL_TLS">
189
                                <label class="form-check-label" for="isSSL_TLS">SSL/TLS</label><br>
190
                            </td>
191
                        </tr>
192 202
                        <tr>
193 203
                            <div class="form-group form-check">
194 204
                                <td><label class="form-check-label" for="specifyPasswordCheckbox" style="margin-top: 15px">Custom key:</label></td>
......
200 210
                        <tr v-if="customKey" v-cloak>
201 211
                            <div class="form-group">
202 212
                                <td class="pl-5"><label for="key_password">Password:</label></td>
203
                                <td class="pl-3">
213
                                <td class="pl-3" colspan="2">
204 214
                                    <input type="password" v-model:value="key.password" id="key_password" name="key_password" class="form-control">
205 215
                                </td>
206 216
                            </div>
......
208 218
                        <tr v-if="customKey" v-cloak>
209 219
                            <div class="form-group">
210 220
                                <td class="pl-5"><label for="key_pem">Private key:</label></td>
211
                                <td class="pl-3">
221
                                <td class="pl-3" colspan="2">
212 222
                                    <input type="file" v-on:change="onKeyFileChange" id="key_pem" name="key_pem" class="form-control-file">
213 223
                                </td>
214 224
                            </div>
......
224 234
                        <tr v-if="customExtensions" v-cloak>
225 235
                            <div class="form-group">
226 236
                                <td class="pl-5"><label for="extensions">Extensions:</label></td>
227
                                <td cla ss="pl-3">
237
                                <td cla ss="pl-3" colspan="2">
228 238
                                    <textarea v-model:value="extensions" id="extensions" name="extensions" class="form-control mt-2">
229 239
                                    </textarea>
230 240
                                </td>
static/index.html
16 16
                     :is-full-page="true"></loading>
17 17
        </div>
18 18
        <div v-if="!loading" v-cloak class="card h-100">
19
            <div class="card-body">
20
                <div>
21
                    <h1 class="d-inline-block">Certificate Listing</h1>
22
                </div>
23
                <div class="alert alert-success" v-if="successMessage !== ''" role="alert" v-cloak>
24
                    {{ successMessage }}
25
                </div>
26
                <div class="mt-2 mb-2">
27
                    <a class="btn btn-success mb-3 text-center" href="/static/create_certificate.html"><b>+</b></a>
28
                    <button v-on:click="toggleFilters" v-if="!displayFilters" class="btn btn-outline-primary ml-4 mb-3" data-toggle="collapse" data-target="#filteringCollapse">Show filtering</button>
29
                    <button v-on:click="toggleFilters" v-if="displayFilters" class="btn btn-outline-primary ml-4 mb-3" data-toggle="collapse" data-target="#filteringCollapse">Hide filtering</button>
30
                    <div class="collapse mt-2" id="filteringCollapse">
31
                        <div class="card card-body filtering-box">
32
                            <div class="container">
33
                                <div class="row align-items-center">
34
                                    <div class="col-3">
35
                                        <div class="form-group mb-0">
36
                                            <h5>Usage:</h5>
37
                                            <div class="form-check ml-4">
38
                                                <input class="form-check-input" type="checkbox" id="usageCA" v-model="filtering.usage.CA">
39
                                                <label class="form-check-label" for="usageCA">
40
                                                    CA
41
                                                </label>
42
                                            </div>
43
                                            <div class="form-check ml-4">
44
                                                <input class="form-check-input" type="checkbox" id="usageSignature" v-model="filtering.usage.digitalSignature">
45
                                                <label class="form-check-label" for="usageSignature">
46
                                                    Digital signature
47
                                                </label>
48
                                            </div>
49
                                            <div class="form-check ml-4">
50
                                                <input class="form-check-input" type="checkbox" id="usageAuth" v-model="filtering.usage.authentication">
51
                                                <label class="form-check-label" for="usageAuth">
52
                                                    Authentication
53
                                                </label>
54
                                            </div>
55
                                            <div class="form-check ml-4">
56
                                                <input class="form-check-input" type="checkbox" id="usageSSL" v-model="filtering.usage.SSL">
57
                                                <label class="form-check-label" for="usageSSL">
58
                                                    SSL/TLS
59
                                                </label>
19
            <div class="card">
20
                <div class="card-body">
21
                    <div>
22
                        <h1 class="d-inline-block">Certificate Listing</h1>
23
                    </div>
24
                    <div class="alert alert-success" v-if="successMessage !== ''" role="alert" v-cloak>
25
                        {{ successMessage }}
26
                    </div>
27
                    <div class="mt-2 mb-2">
28
                        <a class="btn btn-success mb-3 text-center" href="/static/create_certificate.html"><b>+</b></a>
29
                        <button v-on:click="toggleFilters" v-if="!displayFilters" class="btn btn-outline-primary ml-4 mb-3" data-toggle="collapse" data-target="#filteringCollapse">Show filtering</button>
30
                        <button v-on:click="toggleFilters" v-if="displayFilters" class="btn btn-outline-primary ml-4 mb-3" data-toggle="collapse" data-target="#filteringCollapse">Hide filtering</button>
31
                        <div class="collapse mt-2" id="filteringCollapse">
32
                            <div class="card card-body filtering-box">
33
                                <div class="container">
34
                                    <div class="row align-items-center">
35
                                        <div class="col-3">
36
                                            <div class="form-group mb-0">
37
                                                <h5>Usage:</h5>
38
                                                <div class="form-check ml-4">
39
                                                    <input class="form-check-input" type="checkbox" id="usageCA" v-model="filtering.usage.CA">
40
                                                    <label class="form-check-label" for="usageCA">
41
                                                        CA
42
                                                    </label>
43
                                                </div>
44
                                                <div class="form-check ml-4">
45
                                                    <input class="form-check-input" type="checkbox" id="usageSignature" v-model="filtering.usage.digitalSignature">
46
                                                    <label class="form-check-label" for="usageSignature">
47
                                                        Digital signature
48
                                                    </label>
49
                                                </div>
50
                                                <div class="form-check ml-4">
51
                                                    <input class="form-check-input" type="checkbox" id="usageAuth" v-model="filtering.usage.authentication">
52
                                                    <label class="form-check-label" for="usageAuth">
53
                                                        Authentication
54
                                                    </label>
55
                                                </div>
56
                                                <div class="form-check ml-4">
57
                                                    <input class="form-check-input" type="checkbox" id="usageSSL" v-model="filtering.usage.SSL">
58
                                                    <label class="form-check-label" for="usageSSL">
59
                                                        SSL/TLS
60
                                                    </label>
61
                                                </div>
60 62
                                            </div>
61 63
                                        </div>
62
                                    </div>
63
                                    <div class="col-3">
64
                                        <div class="form-group mb-0">
65
                                            <h5>Type:</h5>
66
                                            <div class="form-check ml-4">
67
                                                <input class="form-check-input" type="checkbox" id="rootCA" v-model="filtering.type.RootCA">
68
                                                <label class="form-check-label" for="rootCA">
69
                                                    Root CA
70
                                                </label>
71
                                            </div>
72
                                            <div class="form-check ml-4">
73
                                                <input class="form-check-input" type="checkbox" id="intermediateCA" v-model="filtering.type.IntermediateCA">
74
                                                <label class="form-check-label" for="intermediateCA">
75
                                                    Intermediate CA
76
                                                </label>
77
                                            </div>
78
                                            <div class="form-check ml-4">
79
                                                <input class="form-check-input" type="checkbox" id="endCertificate" v-model="filtering.type.EndCertificate">
80
                                                <label class="form-check-label" for="endCertificate">
81
                                                    End certificate
82
                                                </label>
64
                                        <div class="col-3">
65
                                            <div class="form-group mb-0">
66
                                                <h5>Type:</h5>
67
                                                <div class="form-check ml-4">
68
                                                    <input class="form-check-input" type="checkbox" id="rootCA" v-model="filtering.type.RootCA">
69
                                                    <label class="form-check-label" for="rootCA">
70
                                                        Root CA
71
                                                    </label>
72
                                                </div>
73
                                                <div class="form-check ml-4">
74
                                                    <input class="form-check-input" type="checkbox" id="intermediateCA" v-model="filtering.type.IntermediateCA">
75
                                                    <label class="form-check-label" for="intermediateCA">
76
                                                        Intermediate CA
77
                                                    </label>
78
                                                </div>
79
                                                <div class="form-check ml-4">
80
                                                    <input class="form-check-input" type="checkbox" id="endCertificate" v-model="filtering.type.EndCertificate">
81
                                                    <label class="form-check-label" for="endCertificate">
82
                                                        End certificate
83
                                                    </label>
84
                                                </div>
83 85
                                            </div>
84 86
                                        </div>
85
                                    </div>
86
                                    <div class="col-3">
87
                                        <div class="form-group mb-0">
88
                                            <h5>Common name:</h5>
89
                                            <div>
90
                                                <input class="form-control" type="text" id="commonName" placeholder="Enter common name"  v-model="filtering.CN">
87
                                        <div class="col-3">
88
                                            <div class="form-group mb-0">
89
                                                <h5>Common name:</h5>
90
                                                <div>
91
                                                    <input class="form-control" type="text" id="commonName" placeholder="Enter common name"  v-model="filtering.CN">
92
                                                </div>
91 93
                                            </div>
92 94
                                        </div>
93
                                    </div>
94
                                    <div class="col-3">
95
                                        <button class="btn btn-primary mb-2" style="width: 115px;" v-on:click="reloadData">Apply filters</button>
96
                                        <button class="btn btn-secondary mb-2" style="width: 115px;" v-on:click="clearFilters">Clear filters</button>
95
                                        <div class="col-3">
96
                                            <button class="btn btn-primary mb-2" style="width: 115px;" v-on:click="reloadData">Apply filters</button>
97
                                            <button class="btn btn-secondary mb-2" style="width: 115px;" v-on:click="clearFilters">Clear filters</button>
98
                                        </div>
97 99
                                    </div>
98 100
                                </div>
99 101
                            </div>
100 102
                        </div>
101 103
                    </div>
102
                </div>
103
                <table class="table table-striped table-hover text-center">
104
                    <thead class="thead-dark">
105
                        <tr>
106
                            <th class="align-middle" scope="col" rowspan="2">Common name</th>
107
                            <th class="align-middle" scope="col" colspan="2">Validity</th>
108
                            <th class="align-middle" scope="col" rowspan="2">Usage</th>
109
                            <th class="align-middle" scope="col" rowspan="2">Certificate</th>
110
                            <th class="align-middle" scope="col" rowspan="2">Chain of trust</th>
111
                            <th class="align-middle" scope="col" rowspan="2">Root</th>
112
                            <th class="align-middle" scope="col" rowspan="2">Private key</th>
113
                            <th class="align-middle" scope="col" rowspan="2">Issuer</th>
114
                        </tr>
115
                        <tr>
116
                            <th scope="col">Start</th>
117
                            <th scope="col">End</th>
118
                        </tr>
119
                    </thead>
120
                    <tbody>
121
                        <tr is="certificate-item"
122
                            v-for="certificate in certificates"
123
                            v-bind:certificate="certificate"
124
                            v-bind:key="certificate.id">
125
                        </tr>
126
                    </tbody>
127
                </table>
128
                <div v-if="hasNextPage || hasPreviousPage">
129
                  <ul class="pagination justify-content-center">
130
                        <li class="page-item" v-bind:class="{disabled: !hasPreviousPage}">
131
                            <button v-on:click="onPreviousPage" class="page-link"><<</button>
132
                        </li>
133
                        <li class="page-item"><button class="page-link">{{ currentPage }}</button></li>
134
                        <li class="page-item" v-bind:class="{disabled: !hasNextPage}">
135
                            <button v-on:click="onNextPage" class="page-link">>></button>
136
                        </li>
137
                  </ul>
104
                    <table class="table table-striped table-hover text-center">
105
                        <thead class="thead-dark">
106
                            <tr>
107
                                <th class="align-middle" scope="col" rowspan="2">Common name</th>
108
                                <th class="align-middle" scope="col" colspan="2">Validity</th>
109
                                <th class="align-middle" scope="col" rowspan="2">Usage</th>
110
                                <th class="align-middle" scope="col" rowspan="2">Certificate</th>
111
                                <th class="align-middle" scope="col" rowspan="2">Chain of trust</th>
112
                                <th class="align-middle" scope="col" rowspan="2">Root</th>
113
                                <th class="align-middle" scope="col" rowspan="2">Private key</th>
114
                                <th class="align-middle" scope="col" rowspan="2">Issuer</th>
115
                            </tr>
116
                            <tr>
117
                                <th scope="col">Start</th>
118
                                <th scope="col">End</th>
119
                            </tr>
120
                        </thead>
121
                        <tbody>
122
                            <tr v-show="certificates.length == 0">
123
                                <td colspan="9">No certificate found</td>
124
                            </tr>
125
                            <tr is="certificate-item"
126
                                v-for="certificate in certificates"
127
                                v-bind:certificate="certificate"
128
                                v-bind:key="certificate.id">
129
                            </tr>
130
                        </tbody>
131
                    </table>
132
                    <div v-if="hasNextPage || hasPreviousPage">
133
                      <ul class="pagination justify-content-center">
134
                            <li class="page-item" v-bind:class="{disabled: !hasPreviousPage}">
135
                                <button v-on:click="onPreviousPage" class="page-link"><<</button>
136
                            </li>
137
                            <li class="page-item"><button class="page-link">{{ currentPage }}</button></li>
138
                            <li class="page-item" v-bind:class="{disabled: !hasNextPage}">
139
                                <button v-on:click="onNextPage" class="page-link">>></button>
140
                            </li>
141
                      </ul>
142
                    </div>
138 143
                </div>
139 144
            </div>
140 145
        </div>
static/js/create_certificate.js
7 7
        isSelfSigned: false,
8 8
        invalidCN: false,
9 9
        customKey: false,
10
        showIssuer: false,
10 11
        customExtensions: false,
11 12
        // available certificate authorities
12 13
        authorities: [],
......
73 74
        }
74 75
    },
75 76
    methods: {
77
        toggleShowIssuer: function () {
78
            this.showIssuer = ~this.showIssuer;
79
        },
76 80
        onKeyFileChange: function (event) {
77 81
            var file = event.target.files[0];
78 82
            var reader = new FileReader();

Také k dispozici: Unified diff