storeRole.rejectChanges();
}
}
};
LayoutContainer layoutChantier = new LayoutContainer();
List<ColumnConfig> configs = new ArrayList<ColumnConfig>();
GridCellRenderer<UtilisateurGrpModel> deleteBtn = deleteButtonGridRole();
ColumnConfig column = new ColumnConfig("supprimer", "Supprimer", 75);
column.setSortable(false);
column.setMenuDisabled(true);
column.setGroupable(false);
column.setFixed(true);
column.setResizable(false);
column.setRenderer(deleteBtn);
column.setAlignment(HorizontalAlignment.LEFT);
configs.add(column);
column_1 = new ColumnConfig();// id
column_1.setHeader("Utilisateur/Groupe");
column_1.setId("identifiant");
column_1.setSortable(false);
column_1.setMenuDisabled(true);
column_1.setResizable(false);
column_1.setAlignment(HorizontalAlignment.LEFT);
configs.add(column_1);
chkBox1 = new CheckBox();
CellEditor checkboxEditor1 = new CellEditor(chkBox1);
column_2 = new CheckColumnConfig(UtilisateurGrpModel.B_Lecteur, "Lecteur", 100) {
};
column_2.setEditor(checkboxEditor1);
column_2.setAlignment(HorizontalAlignment.LEFT);// id
column_2.setSortable(false);
column_2.setMenuDisabled(true);
column_2.setResizable(false);
configs.add(column_2);
chkBox2 = new CheckBox();
CellEditor checkboxEditor2 = new CellEditor(chkBox2);
column_3 = new CheckColumnConfig(UtilisateurGrpModel.B_Contributeur, "Contributeur", 100) {
};
column_3.setAlignment(HorizontalAlignment.LEFT);
column_3.setEditor(checkboxEditor2);
column_3.setSortable(false);
column_3.setMenuDisabled(true);
column_3.setResizable(false);
configs.add(column_3); // model,header
storeRole = new ListStore<UtilisateurGrpModel>();
ColumnModel cm = new ColumnModel(configs);
gridUserInChantier = new EditorGrid<UtilisateurGrpModel>(storeRole, cm);
gridUserInChantier.setColumnReordering(true);
gridUserInChantier.setColumnLines(true);
gridUserInChantier.setAutoExpandColumn("identifiant");
gridUserInChantier.setAutoExpandMax(500);
gridUserInChantier.setAutoExpandMin(200);
gridUserInChantier.setBorders(true);
gridUserInChantier.setStripeRows(true);
gridUserInChantier.setHeight(345);
gridUserInChantier.addPlugin(column_2);
gridUserInChantier.addPlugin(column_3);
gridUserInChantier.getStore().addStoreListener(new StoreListener<UtilisateurGrpModel>() {
@Override
public void storeDataChanged(StoreEvent<UtilisateurGrpModel> se) {
super.storeDataChanged(se);
}
@Override
public void storeRemove(StoreEvent<UtilisateurGrpModel> se) {
super.storeRemove(se);
isDelete = true;
}
@Override
public void storeUpdate(StoreEvent<UtilisateurGrpModel> se) {
super.storeUpdate(se);
isUpdate = true;
}
});
FieldSet fieldSet = new FieldSet();
fieldSet.setStyleAttribute("backgroundColor", "#EDF5EA");
fieldSet.setHeading("Droits d’accès aux chantiers ");
fieldSet.setHeight(460);
fieldSet.setWidth(RootPanel.get().getOffsetWidth() / 2 - 20);
LayoutContainer layoutContainer = new LayoutContainer();
layoutContainer.setLayout(new ColumnLayout());
layoutContainer.setBorders(false);
layoutContainer.setAutoWidth(true);
LabelField lblfldNouveauxAdministrateur = new LabelField("Nouveaux:");
layoutContainer.add(lblfldNouveauxAdministrateur);
layoutContainer.add(new Html(" "));
txtChantier = new TextField();
com.extjs.gxt.ui.client.widget.layout.ColumnData cd_txtChantier = new com.extjs.gxt.ui.client.widget.layout.ColumnData();
cd_txtChantier.setWidth(0.85);
layoutContainer.add(txtChantier, cd_txtChantier);
txtChantier.setFieldLabel("New TextField");
txtChantier.setWidth("80%");
txtChantier.addKeyListener(new KeyListener() {
@Override
public void componentKeyUp(ComponentEvent event) {
if (txtChantier.getValue() != null && !txtChantier.getValue().trim().isEmpty() && txtChantier.getValue().toLowerCase().matches("\\b.{0,60}\\\\+.{1,60}")) {
btnAdd.setEnabled(true);
} else {
btnAdd.setEnabled(false);
}
}
});
txtChantier.setWidth("35%");
txtChantier.setToolTip("Hint:domain\\loginname");
SelectionListener<ButtonEvent> add = AddButtonEventGridRole();
btnAdd = new Button("Ajouter");
btnAdd.addSelectionListener(add);
btnAdd.setEnabled(false);
layoutContainer.add(new Html(" "));
layoutContainer.add(btnAdd, new com.extjs.gxt.ui.client.widget.layout.ColumnData(100.0));
RowLayout rl_fieldSet = new RowLayout(Orientation.VERTICAL);
rl_fieldSet.setAdjustForScroll(true);
fieldSet.setLayout(rl_fieldSet);
LayoutContainer layoutContainer_1 = new LayoutContainer();
layoutContainer_1.setLayout(new ColumnLayout());
layoutContainer_1.setBorders(false);
layoutContainer_1.setAutoWidth(true);
LabelField lblfldChantier = new LabelField("Chantier:");
layoutContainer_1.add(lblfldChantier);
storeChantier = new ListStore<ChantierModel>();
cbbChantier = new SimpleComboBox();
cbbChantier.setEditable(false);
cbbChantier.setDisplayField("nom");
cbbChantier.setStore(storeChantier);
cbbChantier.setStyleAttribute("marginLeft", "20px");
cbbChantier.setTriggerAction(TriggerAction.ALL);
cbbChantier.setAllowBlank(false);
cbbChantier.setShadow(false);
cbbChantier.setLazyRender(false);
cbbChantier.setSelectOnFocus(true);
addListener = new Listener<BaseEvent>() {
@Override
public void handleEvent(BaseEvent be) {
if (isUpdate || isDelete || isAdded) {
MessageBox box = new MessageBox();
box.alert("", "Il faut valider d'abord", null);
}
}
};
cbbChantier.addListener(Events.OnClick, addListener);
cbbChantier.addSelectionChangedListener(new SelectionChangedListener<ChantierModel>() {
@Override
public void selectionChanged(SelectionChangedEvent<ChantierModel> se) {
ch = se.getSelectedItem();
idChantier = ch.getId();
service.findAllUserByChantier(idChantier, new AsyncCallback<List<UtilisateurGrpModel>>() {
@Override
public void onFailure(Throwable arg0) {
}
@Override
public void onSuccess(List<UtilisateurGrpModel> result) {
storeRole.removeAll();
storeRole.add(result);
storeRole.commitChanges();
listUserInChantierBefore = storeRole.getModels();
}
});
}
});
cbbChantier.disableEvents(true);
cbbChantier.getStore().addStoreListener(new StoreListener<ChantierModel>() {
@Override
public void storeAdd(StoreEvent<ChantierModel> se) {
cbbChantier.setValue(storeChantier.getAt(0));
}
});
cbbChantier.enableEvents(true);
layoutContainer_1.add(cbbChantier, new com.extjs.gxt.ui.client.widget.layout.ColumnData(0.80));
cbbChantier.setFieldLabel("New ComboBox");
fieldSet.add(layoutContainer_1, new RowData(RootPanel.get().getOffsetWidth() / 2 - 50, 30.0, new Margins()));
fieldSet.add(gridUserInChantier);
fieldSet.add(new Html(" "));
fieldSet.add(layoutContainer);