Added badges for not persist nodes
This commit is contained in:
parent
68efccbe79
commit
c812bff637
@ -1,69 +1,88 @@
|
||||
import '@vaadin/tooltip/theme/lumo/vaadin-tooltip.js';
|
||||
import '@vaadin/common-frontend/ConnectionIndicator.js';
|
||||
import '@vaadin/polymer-legacy-adapter/style-modules.js';
|
||||
import '@vaadin/icon/theme/lumo/vaadin-icon.js';
|
||||
import '@vaadin/icons/vaadin-iconset.js';
|
||||
import '@vaadin/horizontal-layout/theme/lumo/vaadin-horizontal-layout.js';
|
||||
import '@vaadin/button/theme/lumo/vaadin-button.js';
|
||||
import '@vaadin/accordion/src/vaadin-accordion.js';
|
||||
import '@vaadin/details/src/vaadin-details.js';
|
||||
import '@vaadin/accordion/src/vaadin-accordion-panel.js';
|
||||
import '@vaadin/app-layout/src/vaadin-app-layout.js';
|
||||
import '@vaadin/button/src/vaadin-button.js';
|
||||
import 'Frontend/generated/jar-resources/buttonFunctions.js';
|
||||
import '@vaadin/notification/theme/lumo/vaadin-notification.js';
|
||||
import '@vaadin/app-layout/src/vaadin-drawer-toggle.js';
|
||||
import '@vaadin/avatar/src/vaadin-avatar.js';
|
||||
import '@vaadin/avatar-group/src/vaadin-avatar-group.js';
|
||||
import '@vaadin/checkbox/src/vaadin-checkbox.js';
|
||||
import '@vaadin/checkbox-group/src/vaadin-checkbox-group.js';
|
||||
import '@vaadin/combo-box/src/vaadin-combo-box.js';
|
||||
import 'Frontend/generated/jar-resources/flow-component-renderer.js';
|
||||
import '@vaadin/side-nav/theme/lumo/vaadin-side-nav.js';
|
||||
import 'Frontend/generated/jar-resources/vaadin-grid-flow-selection-column.js';
|
||||
import '@vaadin/grid/theme/lumo/vaadin-grid-column.js';
|
||||
import '@vaadin/text-field/theme/lumo/vaadin-text-field.js';
|
||||
import '@vaadin/dialog/theme/lumo/vaadin-dialog.js';
|
||||
import '@vaadin/radio-group/theme/lumo/vaadin-radio-group.js';
|
||||
import '@vaadin/vertical-layout/theme/lumo/vaadin-vertical-layout.js';
|
||||
import '@vaadin/radio-group/theme/lumo/vaadin-radio-button.js';
|
||||
import '@vaadin/app-layout/theme/lumo/vaadin-app-layout.js';
|
||||
import '@vaadin/app-layout/theme/lumo/vaadin-drawer-toggle.js';
|
||||
import '@vaadin/side-nav/theme/lumo/vaadin-side-nav-item.js';
|
||||
import 'Frontend/generated/jar-resources/dndConnector.js';
|
||||
import '@vaadin/context-menu/theme/lumo/vaadin-context-menu.js';
|
||||
import 'Frontend/generated/jar-resources/comboBoxConnector.js';
|
||||
import '@vaadin/multi-select-combo-box/src/vaadin-multi-select-combo-box.js';
|
||||
import '@vaadin/confirm-dialog/src/vaadin-confirm-dialog.js';
|
||||
import '@vaadin/context-menu/src/vaadin-context-menu.js';
|
||||
import 'Frontend/generated/jar-resources/contextMenuConnector.js';
|
||||
import 'Frontend/generated/jar-resources/contextMenuTargetConnector.js';
|
||||
import '@vaadin/grid/theme/lumo/vaadin-grid.js';
|
||||
import '@vaadin/grid/theme/lumo/vaadin-grid-sorter.js';
|
||||
import '@vaadin/checkbox/theme/lumo/vaadin-checkbox.js';
|
||||
import '@vaadin/custom-field/src/vaadin-custom-field.js';
|
||||
import '@vaadin/date-picker/src/vaadin-date-picker.js';
|
||||
import 'Frontend/generated/jar-resources/datepickerConnector.js';
|
||||
import '@vaadin/date-time-picker/src/vaadin-date-time-picker.js';
|
||||
import '@vaadin/time-picker/src/vaadin-time-picker.js';
|
||||
import 'Frontend/generated/jar-resources/vaadin-time-picker/timepickerConnector.js';
|
||||
import '@vaadin/dialog/src/vaadin-dialog.js';
|
||||
import 'Frontend/generated/jar-resources/dndConnector.js';
|
||||
import '@vaadin/field-highlighter/src/vaadin-field-highlighter.js';
|
||||
import '@vaadin/form-layout/src/vaadin-form-layout.js';
|
||||
import '@vaadin/form-layout/src/vaadin-form-item.js';
|
||||
import '@vaadin/grid/src/vaadin-grid-column-group.js';
|
||||
import '@vaadin/grid/src/vaadin-grid.js';
|
||||
import '@vaadin/grid/src/vaadin-grid-column.js';
|
||||
import '@vaadin/grid/src/vaadin-grid-sorter.js';
|
||||
import 'Frontend/generated/jar-resources/gridConnector.js';
|
||||
import '@vaadin/details/theme/lumo/vaadin-details.js';
|
||||
import '@vaadin/scroller/theme/lumo/vaadin-scroller.js';
|
||||
import '@vaadin/grid/theme/lumo/vaadin-grid-column-group.js';
|
||||
import '@vaadin/tooltip/src/vaadin-tooltip.js';
|
||||
import 'Frontend/generated/jar-resources/vaadin-grid-flow-selection-column.js';
|
||||
import '@vaadin/icon/src/vaadin-icon.js';
|
||||
import '@vaadin/icons/vaadin-iconset.js';
|
||||
import '@vaadin/list-box/src/vaadin-list-box.js';
|
||||
import '@vaadin/item/src/vaadin-item.js';
|
||||
import '@vaadin/login/src/vaadin-login-form.js';
|
||||
import '@vaadin/login/src/vaadin-login-overlay.js';
|
||||
import 'Frontend/generated/jar-resources/menubarConnector.js';
|
||||
import '@vaadin/menu-bar/src/vaadin-menu-bar.js';
|
||||
import '@vaadin/message-input/src/vaadin-message-input.js';
|
||||
import 'Frontend/generated/jar-resources/messageListConnector.js';
|
||||
import '@vaadin/message-list/src/vaadin-message-list.js';
|
||||
import '@vaadin/notification/src/vaadin-notification.js';
|
||||
import '@vaadin/horizontal-layout/src/vaadin-horizontal-layout.js';
|
||||
import '@vaadin/scroller/src/vaadin-scroller.js';
|
||||
import '@vaadin/vertical-layout/src/vaadin-vertical-layout.js';
|
||||
import '@vaadin/progress-bar/src/vaadin-progress-bar.js';
|
||||
import '@vaadin/radio-group/src/vaadin-radio-button.js';
|
||||
import '@vaadin/radio-group/src/vaadin-radio-group.js';
|
||||
import '@vaadin/select/src/vaadin-select.js';
|
||||
import 'Frontend/generated/jar-resources/selectConnector.js';
|
||||
import 'Frontend/generated/jar-resources/tooltip.ts';
|
||||
import '@vaadin/side-nav/src/vaadin-side-nav.js';
|
||||
import '@vaadin/side-nav/src/vaadin-side-nav-item.js';
|
||||
import '@vaadin/split-layout/src/vaadin-split-layout.js';
|
||||
import '@vaadin/tabs/src/vaadin-tab.js';
|
||||
import '@vaadin/tabsheet/src/vaadin-tabsheet.js';
|
||||
import '@vaadin/tabs/src/vaadin-tabs.js';
|
||||
import 'Frontend/generated/jar-resources/vaadin-big-decimal-field.js';
|
||||
import '@vaadin/email-field/src/vaadin-email-field.js';
|
||||
import '@vaadin/integer-field/src/vaadin-integer-field.js';
|
||||
import '@vaadin/number-field/src/vaadin-number-field.js';
|
||||
import '@vaadin/password-field/src/vaadin-password-field.js';
|
||||
import '@vaadin/text-area/src/vaadin-text-area.js';
|
||||
import '@vaadin/text-field/src/vaadin-text-field.js';
|
||||
import 'Frontend/generated/jar-resources/lit-renderer.ts';
|
||||
import '@vaadin/common-frontend/ConnectionIndicator.js';
|
||||
import '@vaadin/grid/src/vaadin-grid-tree-toggle.js';
|
||||
import '@vaadin/upload/src/vaadin-upload.js';
|
||||
import '@vaadin/virtual-list/src/vaadin-virtual-list.js';
|
||||
import 'Frontend/generated/jar-resources/virtualListConnector.js';
|
||||
import '@vaadin/vaadin-lumo-styles/color-global.js';
|
||||
import '@vaadin/vaadin-lumo-styles/typography-global.js';
|
||||
import '@vaadin/vaadin-lumo-styles/sizing.js';
|
||||
import '@vaadin/vaadin-lumo-styles/spacing.js';
|
||||
import '@vaadin/vaadin-lumo-styles/style.js';
|
||||
import '@vaadin/vaadin-lumo-styles/vaadin-iconset.js';
|
||||
|
||||
const loadOnDemand = (key) => {
|
||||
const pending = [];
|
||||
if (key === 'ad3b749f8c176a86b14fa369887e22fef51afb8165384e5736c7046030b369fa') {
|
||||
pending.push(import('./chunks/chunk-0c6ec94efe36378e73adb47fc438174852fa051b44271a0a2847a0db8ff19645.js'));
|
||||
}
|
||||
if (key === 'a7f0df9f1bf084521cb2f344b5b4a2bd632b352d0745369a572a88d4873662f3') {
|
||||
pending.push(import('./chunks/chunk-442b7bb85666e65256bd58cc7f7cc0e32749668d262b0ca1e975d264e857a80d.js'));
|
||||
}
|
||||
if (key === '0953a3aba85bfd8d84ac16dfabaa1ff5b6a29348b23aa805384d5abc82efb666') {
|
||||
pending.push(import('./chunks/chunk-8d8b0bd7d7a80985493227f01f00a96b95fd9e8bca2def1c68ee81d6438b887c.js'));
|
||||
}
|
||||
if (key === '32e6740ceb6c3f1c7b07d32e31339c9e61b3608e4a25949d7e1225ce64b34968') {
|
||||
pending.push(import('./chunks/chunk-8d8b0bd7d7a80985493227f01f00a96b95fd9e8bca2def1c68ee81d6438b887c.js'));
|
||||
}
|
||||
if (key === '2cf06ca82cdfddb866b229a647575c62452d9c0ba3e877154ca74b3a22d738d6') {
|
||||
pending.push(import('./chunks/chunk-81110d45df7602896d2ac4725b8b3a433f64232e266b2048d170ff2d85d9542e.js'));
|
||||
}
|
||||
if (key === '1f14de00b36692c96388e07da7b4d7d0aed00b531f10ad0a09b5ef8d7301712e') {
|
||||
pending.push(import('./chunks/chunk-8d8b0bd7d7a80985493227f01f00a96b95fd9e8bca2def1c68ee81d6438b887c.js'));
|
||||
}
|
||||
if (key === 'db3150d824231c9214a3c1d91184b7f02395caebe481a16a29c63841121179ba') {
|
||||
pending.push(import('./chunks/chunk-a8dc2de6451e2fb9ada5149099eca63bd44616fddc004af51e688c87f61700cf.js'));
|
||||
}
|
||||
return Promise.all(pending);
|
||||
}
|
||||
|
||||
const loadOnDemand = (key) => { return Promise.resolve(0); }
|
||||
window.Vaadin = window.Vaadin || {};
|
||||
window.Vaadin.Flow = window.Vaadin.Flow || {};
|
||||
window.Vaadin.Flow.loadOnDemand = loadOnDemand;
|
||||
@ -1,3 +1,5 @@
|
||||
import './vaadin-featureflags.js';
|
||||
|
||||
import './index';
|
||||
|
||||
import 'Frontend/generated/jar-resources/vaadin-dev-tools/vaadin-dev-tools.js';
|
||||
|
||||
@ -7,6 +7,7 @@ import com.vaadin.flow.component.dialog.Dialog;
|
||||
import com.vaadin.flow.component.grid.ColumnTextAlign;
|
||||
import com.vaadin.flow.component.grid.Grid;
|
||||
import com.vaadin.flow.component.html.H2;
|
||||
import com.vaadin.flow.component.html.Span;
|
||||
import com.vaadin.flow.component.icon.Icon;
|
||||
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
@ -15,8 +16,10 @@ import com.vaadin.flow.component.textfield.TextField;
|
||||
import com.vaadin.flow.data.value.ValueChangeMode;
|
||||
import lombok.Setter;
|
||||
import ru.dragonestia.picker.api.repository.NodeRepository;
|
||||
import ru.dragonestia.picker.api.repository.details.NodeDetails;
|
||||
import ru.dragonestia.picker.api.repository.response.type.RNode;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@ -60,8 +63,18 @@ public class NodeList extends VerticalLayout implements RefreshableTable {
|
||||
private Grid<RNode> createGrid() {
|
||||
var grid = new Grid<>(RNode.class, false);
|
||||
|
||||
grid.addColumn(RNode::getId).setHeader("Identifier").setSortable(true);
|
||||
grid.addComponentColumn(node -> {
|
||||
if (Boolean.parseBoolean(node.getDetails(NodeDetails.PERSIST))) {
|
||||
return new Span(node.getId());
|
||||
}
|
||||
|
||||
var result = new Span(node.getId());
|
||||
result.add(grayBadge("(temp)"));
|
||||
return result;
|
||||
}).setHeader("Identifier").setComparator(Comparator.comparing(RNode::getId)).setSortable(true);
|
||||
|
||||
grid.addColumn(node -> node.getMode().getName()).setHeader("Mode").setSortable(true);
|
||||
|
||||
grid.addComponentColumn(this::createManageButtons).setFrozenToEnd(true)
|
||||
.setTextAlign(ColumnTextAlign.END).setHeader(createRefreshButton());
|
||||
|
||||
@ -138,4 +151,10 @@ public class NodeList extends VerticalLayout implements RefreshableTable {
|
||||
cachedNodes = nodeRepository.all(NodeRepository.ALL_DETAILS);
|
||||
applySearch(searchField.getValue());
|
||||
}
|
||||
|
||||
private Span grayBadge(String text) {
|
||||
var span = new Span(text);
|
||||
span.getElement().getThemeList().add("badge contrast");
|
||||
return span;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user