1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.client.ui.commons.markup.html.form;
20
21 import org.apache.syncope.client.ui.commons.Constants;
22 import org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
23 import org.apache.wicket.ajax.AjaxRequestTarget;
24 import org.apache.wicket.markup.html.form.TextField;
25 import org.apache.wicket.model.IModel;
26 import org.apache.wicket.model.ResourceModel;
27
28 public class EncryptedFieldPanel extends FieldPanel<String> implements Cloneable {
29
30 private static final long serialVersionUID = 1882871043451691005L;
31
32 public EncryptedFieldPanel(final String id, final String name, final IModel<String> model) {
33 this(id, name, model, false);
34 }
35
36 public EncryptedFieldPanel(
37 final String id, final String name, final IModel<String> model, final boolean enableOnChange) {
38 super(id, name, model);
39
40 field = new TextField<>("encryptedField", model) {
41
42 private static final long serialVersionUID = 7545877620091912863L;
43
44 @Override
45 protected String[] getInputTypes() {
46 return new String[]{"password"};
47 }
48 };
49
50 if (enableOnChange && !isReadOnly()) {
51 field.add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
52
53 private static final long serialVersionUID = -1107858522700306810L;
54
55 @Override
56 protected void onUpdate(final AjaxRequestTarget target) {
57
58 }
59 });
60 }
61
62 add(field.setLabel(new ResourceModel(name, name)).setRequired(false).setOutputMarkupId(true));
63 }
64 }