Skip to content

Commit 08d8287

Browse files
committed
use vectorial icon to mark default store
1 parent d32caa8 commit 08d8287

File tree

3 files changed

+26
-22
lines changed

3 files changed

+26
-22
lines changed

logicaldoc-gui/src/main/java/com/logicaldoc/gui/common/client/data/StoresDS.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.logicaldoc.gui.common.client.data;
22

33
import com.smartgwt.client.data.DataSource;
4-
import com.smartgwt.client.data.fields.DataSourceImageField;
4+
import com.smartgwt.client.data.fields.DataSourceBooleanField;
55
import com.smartgwt.client.data.fields.DataSourceTextField;
66

77
/**
@@ -19,7 +19,7 @@ public StoresDS(boolean withEmpty, boolean parameters) {
1919
id.setPrimaryKey(true);
2020
DataSourceTextField name = new DataSourceTextField("name");
2121
DataSourceTextField path = new DataSourceTextField("path");
22-
DataSourceImageField write = new DataSourceImageField("write");
22+
DataSourceBooleanField write = new DataSourceBooleanField("write");
2323
setFields(write, id, name, path);
2424
setDataURL("data/stores.xml?empty=" + withEmpty + "&parameters=" + parameters);
2525
setClientOnly(true);

logicaldoc-gui/src/main/java/com/logicaldoc/gui/frontend/client/settings/StoresPanel.java

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@
44
import java.util.List;
55
import java.util.stream.Collectors;
66

7-
import com.logicaldoc.gui.common.client.Feature;
87
import com.logicaldoc.gui.common.client.DefaultAsyncCallback;
8+
import com.logicaldoc.gui.common.client.Feature;
99
import com.logicaldoc.gui.common.client.Session;
1010
import com.logicaldoc.gui.common.client.beans.GUIParameter;
1111
import com.logicaldoc.gui.common.client.data.StoresDS;
1212
import com.logicaldoc.gui.common.client.grid.IdListGridField;
1313
import com.logicaldoc.gui.common.client.grid.RefreshableListGrid;
1414
import com.logicaldoc.gui.common.client.i18n.I18N;
1515
import com.logicaldoc.gui.common.client.log.GuiLog;
16+
import com.logicaldoc.gui.common.client.util.AwesomeFactory;
1617
import com.logicaldoc.gui.common.client.util.ItemFactory;
1718
import com.logicaldoc.gui.common.client.util.LD;
1819
import com.logicaldoc.gui.common.client.util.Util;
1920
import com.logicaldoc.gui.frontend.client.services.SettingService;
2021
import com.smartgwt.client.data.Record;
21-
import com.smartgwt.client.types.Alignment;
22-
import com.smartgwt.client.types.ListGridFieldType;
2322
import com.smartgwt.client.types.SelectionStyle;
2423
import com.smartgwt.client.util.SC;
2524
import com.smartgwt.client.widgets.Canvas;
2625
import com.smartgwt.client.widgets.form.fields.SelectItem;
26+
import com.smartgwt.client.widgets.grid.CellFormatter;
2727
import com.smartgwt.client.widgets.grid.ListGrid;
2828
import com.smartgwt.client.widgets.grid.ListGridField;
2929
import com.smartgwt.client.widgets.grid.ListGridRecord;
@@ -43,8 +43,6 @@ public class StoresPanel extends VLayout {
4343

4444
private static final String STORE = "store.";
4545

46-
private static final String DATABASE_EDIT = "database_edit";
47-
4846
private static final String VALUE = "value";
4947

5048
private static final String WRITE = "write";
@@ -139,14 +137,21 @@ protected Canvas getExpansionComponent(final ListGridRecord rec) {
139137

140138
ListGridField type = prepareTypeField();
141139

142-
ListGridField write = new ListGridField(WRITE, " ", 20);
143-
write.setType(ListGridFieldType.IMAGE);
140+
ListGridField write = new ListGridField(WRITE, " ", 30);
144141
write.setCanSort(false);
145-
write.setAlign(Alignment.CENTER);
146-
write.setShowDefaultContextMenu(false);
147-
write.setImageURLPrefix(Util.imagePrefix());
148-
write.setImageURLSuffix(".png");
149142
write.setCanFilter(false);
143+
write.setCellFormatter(new CellFormatter() {
144+
145+
@Override
146+
public String format(Object value, ListGridRecord rec, int rowNum, int colNum) {
147+
String content = "";
148+
if (Boolean.TRUE.equals(rec.getAttributeAsBoolean(WRITE))) {
149+
content = "<div style='display: flex; text-align: center; justify-content: center;'>"
150+
+ AwesomeFactory.getIconButtonHTML("database", null, "default", null, null) + "</div>";
151+
}
152+
return content;
153+
}
154+
});
150155

151156
storesGrid.setFields(id, write, name, type, path);
152157
storesGrid.setAutoFetchData(true);
@@ -238,7 +243,7 @@ private void refresh() {
238243
* Prepares the context menu
239244
*/
240245
private void showContextMenu() {
241-
MenuItem makeWrite = prepareMakeWriteMenuItem();
246+
MenuItem makeWrite = prepareMakeDefaultWriteMenuItem();
242247

243248
MenuItem test = prepareTestMenuItem();
244249

@@ -260,7 +265,7 @@ private MenuItem prepareDeleteMenuItem() {
260265
doRemoveStore(selectedStoreId);
261266
}
262267
}));
263-
delete.setEnabled(!Session.get().isDemo() && !DATABASE_EDIT.equals(selectedRecord.getAttributeAsString(WRITE)));
268+
delete.setEnabled(!Session.get().isDemo() && !selectedRecord.getAttributeAsBoolean(WRITE));
264269
return delete;
265270
}
266271

@@ -298,17 +303,17 @@ public void onSuccess(Boolean result) {
298303
return test;
299304
}
300305

301-
private MenuItem prepareMakeWriteMenuItem() {
306+
private MenuItem prepareMakeDefaultWriteMenuItem() {
302307
MenuItem makeWrite = new MenuItem();
303308
makeWrite.setTitle(I18N.message("makedefwritestore"));
304309
makeWrite.addClickHandler(event -> {
305310
ListGridRecord[] recs = storesGrid.getRecords();
306311
for (ListGridRecord rec : recs) {
307-
rec.setAttribute(WRITE, "blank");
312+
rec.setAttribute(WRITE, false);
308313
storesGrid.refreshRow(storesGrid.getRowNum(rec));
309314
}
310315
ListGridRecord selectedRecord = storesGrid.getSelectedRecord();
311-
selectedRecord.setAttribute(WRITE, DATABASE_EDIT);
316+
selectedRecord.setAttribute(WRITE, true);
312317
storesGrid.refreshRow(storesGrid.getRowNum(storesGrid.getSelectedRecord()));
313318
});
314319
makeWrite.setEnabled(!Session.get().isDemo());
@@ -345,7 +350,7 @@ private List<GUIParameter> collectSettings() {
345350
new GUIParameter(STORE + storeId + ".dir", storeRecord.getAttributeAsString("path").trim()));
346351
settings.add(
347352
new GUIParameter(STORE + storeId + ".type", storeRecord.getAttributeAsString("type").trim()));
348-
if (DATABASE_EDIT.equals(storeRecord.getAttributeAsString(WRITE))) {
353+
if (storeRecord.getAttributeAsBoolean(WRITE)) {
349354
settings.add(new GUIParameter("store.write", storeId));
350355
}
351356

@@ -398,7 +403,7 @@ private void onAddStore() {
398403
}
399404
}
400405
}
401-
406+
402407
@Override
403408
public boolean equals(Object other) {
404409
return super.equals(other);

logicaldoc-webapp/src/main/java/com/logicaldoc/web/data/StoresDataServlet.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ protected void service(HttpServletRequest request, HttpServletResponse response,
6565
writer.print("<id />");
6666
writer.print("<name />");
6767
writer.print("<path />");
68-
writer.print("<write>blank</write>");
6968
writer.print("<type>fs</type>");
7069
writer.print(CLOSE_STORE);
7170
}
@@ -87,7 +86,7 @@ private void printStores(PrintWriter writer, HttpServletRequest request, Session
8786
writer.print("<id>" + i + "</id>");
8887
writer.print("<name>Store " + i + "</name>");
8988
writer.print("<path><![CDATA[" + path + "]]></path>");
90-
writer.print("<write>" + (conf.getInt("store.write") == i ? "database_edit" : "blank") + "</write>");
89+
writer.print("<write>" + Boolean.toString(conf.getInt("store.write") == i) + "</write>");
9190
String type = conf.getProperty(STORE + i + ".type");
9291
if (StringUtils.isEmpty(type))
9392
type = "fs";

0 commit comments

Comments
 (0)