protected void initFiltersPopupButton() { filtersPopupButton.removeAllActions(); addFiltersPopupActions(); }
protected void addFiltersPopupActions() { addResetFilterAction(filtersPopupButton); filterEntities.sort(Comparator.comparing(this::getFilterCaption)); Iterator<FilterEntity> it = filterEntities.iterator(); int addedEntitiesCount = 0; while (it.hasNext() && addedEntitiesCount < clientConfig.getGenericFilterPopupListSize()) { final FilterEntity fe = it.next(); addSetFilterEntityAction(filtersPopupButton, fe); addedEntitiesCount++; } if (filterEntities.size() > clientConfig.getGenericFilterPopupListSize()) { addShowMoreFilterEntitiesAction(filtersPopupButton); } }
if (!suitableCondition(condition)) { String message = String.format(getMainMessage("filter.inappropriate.filter"), filterEntity.getName(), adapter.getMetaClass().getName()); setFilterEntity(adHocFilter); break; Window window = getWindow(); for (AbstractCondition condition : conditions.toConditionsList()) { if (condition.getParam() != null) { saveInitialFilterState(); setFilterActionsEnabled(); setFilterActionsVisible(); fillConditionsLayout(ConditionsFocusType.FIRST); if (delayedFocus) { delayedFocus = false; requestFocus(); } else { requestFocusToParamEditComponent(); setConditionsLayoutVisible(true); apply(true); updateWindowCaption();
initShortcutActions(); initAdHocFilter(); loadFilterEntities(); FilterEntity defaultFilter = getDefaultFilter(filterEntities); initFilterSelectComponents(); setFilterEntity(defaultFilter); } catch (Exception e) { log.error("Exception on loading default filter '{}'", defaultFilter.getName(), e); Frame.NotificationType.ERROR); defaultFilter = adHocFilter; setFilterEntity(adHocFilter); Window window = getWindow(); if (!WindowParams.DISABLE_AUTO_REFRESH.getBool(window.getContext())) { if (getResultingManualApplyRequired()) { if (BooleanUtils.isTrue(defaultFilter.getApplyDefault())) { adapter.preventNextDataLoading(); apply(true); apply(true); window.setDescription(getFilterCaption(filterEntity)); } else window.setDescription(null);
filtersPopupBox.add(searchBtn); searchBtn.setStyleName("filter-search-button"); searchBtn.setCaption(getMainMessage("filter.search")); searchBtn.setIcon("icons/search.png"); searchBtn.setDescription(getMainMessage("filter.searchBtn.description")); searchBtn.addClickListener(e -> apply(false) ); addConditionBtn.setCaption(getMainMessage("filter.addCondition")); addConditionBtn.addClickListener(e -> addConditionHelper.addCondition(conditions) settingsBtn.setStyleName("filter-settings-button"); filterHelper.setInternalDebugId(settingsBtn, "settingsBtn"); createFilterActions(); createMaxResultsLayout(); if (isFtsModeEnabled()) { createFtsSwitch(); ftsSwitch.setAlignment(Alignment.MIDDLE_RIGHT); filterHelper.setInternalDebugId(ftsSwitch, "ftsSwitch"); ControlsLayoutBuilder controlsLayoutBuilder = createControlsLayoutBuilder(layoutDescription); controlsLayoutBuilder.build(); if (isMaxResultsLayoutVisible()) { initMaxResults(); maxResultsLayout.setVisible(isMaxResultsLayoutVisible());
boolean haveCorrectCondition = hasCorrectCondition(); if (!haveCorrectCondition) { if (!options.isNotifyInvalidConditions()) { boolean haveRequiredConditions = haveFilledRequiredConditions(); if (!haveRequiredConditions) { if (!options.isNotifyInvalidConditions()) { setFilterActionsEnabled(); applyDatasourceFilter(); initDatasourceMaxResults(); Map<String, Object> parameters = prepareDatasourceCustomParams(); refreshDatasource(parameters);
windowManager.showNotification(getMainMessage("filter.fillSearchCondition"), Frame.NotificationType.TRAY); return; applyDatasourceFilter(); initDatasourceMaxResults(); adapter.refresh(params);
protected void addAppliedFilter() { if (lastAppliedFilter == null) return; if (!appliedFilters.isEmpty() && appliedFilters.getLast().filter.equals(lastAppliedFilter)) return; this.layout.add(appliedFiltersLayout, CONDITIONS_LOCATION_TOP.equals(conditionsLocation) ? 0 : 1); BoxLayout layout = uiComponents.create(HBoxLayout.class); layout.setSpacing(true); if (!appliedFilters.isEmpty()) { AppliedFilterHolder holder = appliedFilters.getLast(); holder.layout.remove(holder.button); } Label<String> label = uiComponents.create(Label.NAME); label.setValue(lastAppliedFilter.getText()); layout.add(label); label.setAlignment(Alignment.MIDDLE_LEFT); LinkButton button = uiComponents.create(LinkButton.class); button.setIcon("icons/item-remove.png"); button.addClickListener(e -> removeAppliedFilter()); layout.add(button); addAppliedFilterLayoutHook(layout); appliedFiltersLayout.add(layout); appliedFilters.add(new AppliedFilterHolder(lastAppliedFilter, layout, button)); }
@Override public void handleShortcutPressed() { applyFts(); } };
@Override public boolean apply(boolean notifyInvalidConditions) { return apply(Filter.FilterOptions.create() .setNotifyInvalidConditions(notifyInvalidConditions)); }
@Override public void setFilter(Filter filter) { this.filter = filter; addConditionHelper = new AddConditionHelper(filter, condition -> { try { addCondition(condition); } catch (Exception e) { conditions.removeCondition(condition); throw e; } }); }
@Override public void actionPerform(Component component) { if (adapter.supportsApplyToSelected()) { adapter.pinQuery(); addAppliedFilter(); } }
@Override public void actionPerform(Component component) { applyFts(); } });