///* // * #%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 { // } // // private List users; // // @UiField // MaterialDataTable 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() { // @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() { // @Override // public String getValue(User object) { // return object.getName(); // } // // @Override // public boolean sortable() { // return true; // } // }); // // table.addColumn("Option", new WidgetColumn() { // @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() { // @Override // public String getValue(User object) { // return object.getCity(); // } // }); // // table.addRowSelectHandler(new RowSelectHandler() { // // @Override // public void onRowSelect(RowSelectEvent event) { // log("RowSelectEvent", event.getModel().getName() + ": " + event.isSelected()); // // } // }); // // table.addColumnSortHandler(new ColumnSortHandler() { // // @Override // public void onColumnSort(ColumnSortEvent 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 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 event) { //// table.setUseStickyHeader(event.getValue()); //// } //// //// @UiHandler("striped") //// void striped(ValueChangeEvent 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(); // } //}