if (e.getOperation() == CollectionDatasource.Operation.REFRESH) { datasource.refresh();
protected void initDs(Map<String, Object> params) { List<Parameter> parameters = (List<Parameter>) params.get(PARAMETERS); if (parameters == null) { parameters = new ArrayList<>(); } for (Parameter param : parameters) { parametersDs.includeItem(param); } parametersDs.addCollectionChangeListener(event -> { if (REFRESH != event.getOperation()) { if (dashboard != null) {//if edit dashboard params dashboard.setParameters(new ArrayList<>(event.getDs().getItems())); } ((AbstractDatasource) parametersDs).setModified(true); } }); ((AbstractDatasource) parametersDs).setModified(false); }
protected void fireCollectionChanged(Operation operation, List<T> items) { if (listenersSuspended) { if (!suspendedEvents.isEmpty() && suspendedEvents.getFirst().getOperation().equals(operation)) { suspendedEvents.getFirst().getItems().addAll(items); } else { suspendedEvents.addFirst(new CollectionChangeEvent<>(this, operation, new ArrayList<>(items))); } return; } if (collectionChangeListeners != null && !collectionChangeListeners.isEmpty()) { CollectionChangeEvent event = new CollectionChangeEvent<>(this, operation, items); for (CollectionChangeListener<? super T, K> listener : new ArrayList<>(collectionChangeListeners)) { //noinspection unchecked listener.collectionChanged(event); } } }
if (e.getDs().getState() == Datasource.State.VALID) { copyAction.setEnabled(hasPermissionsToCreateUsers && e.getDs().getItem() != null); changePasswAction.setEnabled(hasPermissionsToUpdateUsers && e.getDs().getItem() != null); changePasswAtLogonAction.setEnabled(hasPermissionsToUpdateUsers && e.getDs().getItem() != null); copySettingsAction.setEnabled(hasPermissionsToCreateSettings && e.getDs().getItem() != null);
if (e.getOperation() == CollectionDatasource.Operation.ADD) { regionsTable.setSelected((Collection) e.getItems());
@SuppressWarnings("unchecked") public EntityDataProvider(CollectionDatasource datasource) { CollectionDsHelper.autoRefreshInvalid(datasource, true); this.datasource = datasource; collectionChangeListener = e -> { DataChangeOperation operation = null; switch (e.getOperation()) { case ADD: operation = DataChangeOperation.ADD; break; case REMOVE: operation = DataChangeOperation.REMOVE; break; case UPDATE: operation = DataChangeOperation.UPDATE; break; case REFRESH: case CLEAR: operation = DataChangeOperation.REFRESH; break; } fireDataChanged(operation, e.getItems()); }; this.datasource.addCollectionChangeListener(new WeakCollectionChangeListener(datasource, collectionChangeListener)); }
@Override public void init(Map<String, Object> params) { super.init(params); attributesTable.unwrap(CubaTable.class) .setTextSelectionEnabled(true); attributesTable.setItemClickAction(editAttributeAction); attributesTable.addGeneratedColumn("type", entity -> { Label<String> label = uiComponents.create(Label.NAME); label.setValue(convertTypeToReadableName(entity.getType())); return label; }); attrDs.addCollectionChangeListener(e -> { if (e.getDs().getItemIds().isEmpty()) { attributesTable.setHeight("80px"); // reduce its height if no attributes } }); removeAction("windowCommit"); }
protected void initAggregationTable() { Supplier<Map<String, Object>> paramsSupplier = () -> ParamsMap.of("existingItems", aggregationsDs.getItems()); CreateAction createAction = CreateAction.create(aggregationsTable); createAction.setWindowParamsSupplier(paramsSupplier); aggregationsTable.addAction(createAction); EditAction editAction = EditAction.create(aggregationsTable); editAction.setWindowParamsSupplier(paramsSupplier); aggregationsTable.addAction(editAction); aggregationsTable.addAction(RemoveAction.create(aggregationsTable)); aggregationsDs.addCollectionChangeListener(e -> { if (e.getOperation() == CollectionDatasource.Operation.REMOVE) { defaultAggregation.setOptionsDatasource(aggregationsDs); } }); }
public DatasourceAdapter(CollectionDatasource.SupportsPaging datasource) { this.datasource = datasource; datasourceCollectionChangeListener = e -> { samePage = Operation.REFRESH != e.getOperation() && Operation.CLEAR != e.getOperation(); onCollectionChanged(); }; weakDatasourceCollectionChangeListener = new WeakCollectionChangeListener(datasource, datasourceCollectionChangeListener); //noinspection unchecked datasource.addCollectionChangeListener(weakDatasourceCollectionChangeListener); if (datasource.getState() == Datasource.State.VALID) { onCollectionChanged(); } }
protected void fireCollectionChanged(Operation operation, List<T> items) { if (listenersSuspended) { if (!suspendedEvents.isEmpty() && suspendedEvents.getFirst().getOperation().equals(operation)) { suspendedEvents.getFirst().getItems().addAll(items); } else { suspendedEvents.addFirst(new CollectionChangeEvent<>(this, operation, new ArrayList<>(items))); } return; } CollectionChangeEvent<T, K> collectionChangeEvent = new CollectionChangeEvent<>(this, operation, items); //noinspection unchecked getEventRouter().fireEvent(CollectionChangeListener.class, CollectionChangeListener::collectionChanged, collectionChangeEvent); }
protected void initParametersListeners() { parametersDs.addCollectionChangeListener(e -> { Map<String, Object> paramAliases = new HashMap<>(); for (ReportInputParameter item : e.getDs().getItems()) { paramAliases.put(item.getName(), item.getAlias()); } entitiesParamLookup.setOptionsMap(paramAliases); entityParamLookup.setOptionsMap(paramAliases); }); }
@Override public void resumeListeners() { listenersSuspended = false; while(!suspendedEvents.isEmpty()) { CollectionChangeEvent<T,K> suspendedEvent = suspendedEvents.removeLast(); fireCollectionChanged(suspendedEvent.getOperation(), Collections.unmodifiableList(suspendedEvent.getItems())); } }
@Override public void resumeListeners() { listenersSuspended = false; while(!suspendedEvents.isEmpty()) { CollectionChangeEvent<T,K> suspendedEvent = suspendedEvents.removeLast(); fireCollectionChanged(suspendedEvent.getOperation(), Collections.unmodifiableList(suspendedEvent.getItems())); } }