ckan-content-moderator-widget/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/material/table/CustomizedView.java

250 lines
8.4 KiB
Java

///*
// * #%L
// * GwtMaterial
// * %%
// * Copyright (C) 2015 - 2017 GwtMaterialDesign
// * %%
// * Licensed under the Apache License, Version 2.0 (the "License");
// * you may not use this file except in compliance with the License.
// * You may obtain a copy of the License at
// *
// * http://www.apache.org/licenses/LICENSE-2.0
// *
// * Unless required by applicable law or agreed to in writing, software
// * distributed under the License is distributed on an "AS IS" BASIS,
// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// * See the License for the specific language governing permissions and
// * limitations under the License.
// * #L%
// */
//package org.gcube.portlets.widgets.ckancontentmoderator.client.material.table;
//
//import java.util.List;
//
//
//import org.gcube.portlets.widgets.ckancontentmoderator.shared.User;
//
//import com.google.gwt.core.client.GWT;
//import com.google.gwt.event.dom.client.ClickEvent;
//import com.google.gwt.event.dom.client.ClickHandler;
//import com.google.gwt.uibinder.client.UiBinder;
//import com.google.gwt.uibinder.client.UiField;
//import com.google.gwt.user.cellview.client.ColumnSortEvent;
//import com.google.gwt.user.cellview.client.TextColumn;
//import com.google.gwt.user.client.ui.Composite;
//import com.google.gwt.user.client.ui.Widget;
//
//
//import gwt.material.design.client.constants.IconType;
//import gwt.material.design.client.data.events.ColumnSortHandler;
//import gwt.material.design.client.data.events.RowSelectEvent;
//import gwt.material.design.client.data.events.RowSelectHandler;
//import gwt.material.design.client.ui.MaterialIcon;
//import gwt.material.design.client.ui.MaterialImage;
//import gwt.material.design.client.ui.MaterialListBox;
//import gwt.material.design.client.ui.MaterialPanel;
//import gwt.material.design.client.ui.table.MaterialDataTable;
//import gwt.material.design.client.ui.table.cell.WidgetColumn;
//
//public class CustomizedView extends Composite {
//
// interface CustomizedViewUiBinder extends UiBinder<Widget, CustomizedView> {
// }
//
// private List<User> users;
//
// @UiField
// MaterialDataTable<User> table;
//
//
// public CustomizedView(Binder uiBinder) {
// initWidget(uiBinder.createAndBindUi(this));
// }
//
//
// public void setupTable() {
// MaterialIcon icon = new MaterialIcon();
// icon.setPadding(4);
// icon.setIconType(IconType.ADD_CIRCLE_OUTLINE);
//
// icon.addClickHandler(new ClickHandler() {
//
// @Override
// public void onClick(ClickEvent event) {
// users.add(0, new DataGenerator().generateUsers(1).get(0));
// setData(users);
//
// }
// });
// table.getScaffolding().getToolPanel().add(icon);
//
// MaterialIcon delete = new MaterialIcon();
// delete.setPadding(4);
// delete.setIconType(IconType.DELETE);
// table.getScaffolding().getToolPanel().add(delete);
//
// delete.addClickHandler(new ClickHandler() {
//
// @Override
// public void onClick(ClickEvent event) {
// User user = table.getView().getSelectedRowModels(true).get(0);
// users.remove(user);
// setData(users);
//
// }
// });
//
// table.addColumn("Image", new WidgetColumn<User, MaterialPanel>() {
// @Override
// public MaterialPanel getValue(User object) {
// MaterialPanel panel = new MaterialPanel();
// MaterialImage image = new MaterialImage();
// // image.setUrl(object.getImage());
// image.setWidth("32px");
// image.setHeight("32px");
// image.setCircle(true);
// panel.add(image);
// return panel;
// }
// });
//
// table.addColumn("First Name", new TextColumn<User>() {
// @Override
// public String getValue(User object) {
// return object.getName();
// }
//
// @Override
// public boolean sortable() {
// return true;
// }
// });
//
// table.addColumn("Option", new WidgetColumn<User, MaterialListBox>() {
// @Override
// public MaterialListBox getValue(User object) {
// MaterialListBox listBox = new MaterialListBox();
// listBox.addItem("Option 1");
// listBox.addItem("Option 2");
// listBox.addItem("Option 3");
// return listBox;
// }
// }).width(200);
//
// table.addColumn("City", new TextColumn<User>() {
// @Override
// public String getValue(User object) {
// return object.getCity();
// }
// });
//
// table.addRowSelectHandler(new RowSelectHandler<User>() {
//
// @Override
// public void onRowSelect(RowSelectEvent<User> event) {
// log("RowSelectEvent", event.getModel().getName() + ": " + event.isSelected());
//
// }
// });
//
// table.addColumnSortHandler(new ColumnSortHandler<User>() {
//
// @Override
// public void onColumnSort(ColumnSortEvent<User> event) {
// log("ColumnSortEvent",
// "Sorted: " + event.getSortContext().getSortDir() + ", columnIndex: " + event.getColumnIndex());
// table.getView().refresh();
//
// }
// });
//
// /*
// * // Add category opened handler, called when a category is opened.
// * table.addCategoryOpenedHandler(event -> { log("CategoryOpenedEvent",
// * "Category Opened: " + event.getName()); });
// *
// * // Add category closed handler, called when a category is closed.
// * table.addCategoryClosedHandler(event -> { log("CategoryClosedEvent",
// * "Category Closed: " + event.getName()); });
// *
// * // Add a row double click handler, called when a row is double clicked.
// * table.addRowDoubleClickHandler(event -> { log("RowDoubleClickEvent",
// * "Row Double Clicked: " + event.getModel().getName() + ", x:" +
// * event.getMouseEvent().getPageX() + ", y: " +
// * event.getMouseEvent().getPageY()); });
// *
// * // Configure the tables long press duration configuration. // The short press
// * is when a click is held less than this duration.
// * table.setLongPressDuration(400);
// *
// * // Add a row long press handler, called when a row is long pressed.
// * table.addRowLongPressHandler(event -> { log("RowLongPressEvent",
// * "Row Long Pressed: " + event.getModel().getName() + ", x:" +
// * event.getMouseEvent().getPageX() + ", y: " +
// * event.getMouseEvent().getPageY()); });
// *
// * // Add a row short press handler, called when a row is short pressed.
// * table.addRowShortPressHandler(event -> { log("RowShortPressEvent",
// * "Row Short Pressed: " + event.getModel().getName() + ", x:" +
// * event.getMouseEvent().getPageX() + ", y: " +
// * event.getMouseEvent().getPageY()); });
// *
// * // Add rendered handler, called when 'setRowData' calls finish rendering. //
// * Guaranteed to only be called once from the data set render, ignoring sort
// * renders and refreshView renders. table.addRenderedHandler(e -> {
// * log("RenderedEvent", "Table Rendered"); });
// *
// * // Add components rendered handler, Called each time when components are
// * rendered, // which includes sorting renders and refreshView() renders.
// * table.addComponentsRenderedHandler(e -> { log("ComponentsRenderedEvent",
// * "Data Table Components Rendered"); });
// */
// }
//
// protected void log(String eventName, String description) {
// GWT.log(description);
// }
//
// @Override
// public void setData(List<User> users) {
// this.users = users;
// // Customized Table Scaffolding elements
// table.getTableTitle().setText("Customers");
// table.setRowData(0, users);
// table.getView().refresh();
// }
//
//// @Override
//// public void setupOptions() {
//// // Table Name
//// tableName.addKeyUpHandler(event -> table.getTableTitle().setText(tableName.getValue()));
////
//// // Selection Type
//// selectionType.add(SelectionType.NONE);
//// selectionType.add(SelectionType.SINGLE);
//// selectionType.add(SelectionType.MULTIPLE);
//// selectionType.addValueChangeHandler(event -> table.setSelectionType(event.getValue()));
//// selectionType.setValue(SelectionType.SINGLE, true);
//// // Density
//// }
////
//// @UiHandler("stickyHeader")
//// void stickyHeader(ValueChangeEvent<Boolean> event) {
//// table.setUseStickyHeader(event.getValue());
//// }
////
//// @UiHandler("striped")
//// void striped(ValueChangeEvent<Boolean> event) {
//// if (event.getValue()) {
//// table.getScaffolding().getTable().addStyleName("striped");
//// } else {
//// table.getScaffolding().getTable().removeStyleName("striped");
//// }
//// }
//
// public void reload() {
// table.getView().setRedraw(true);
// table.getView().refresh();
// }
//}