First version of DefaultDataFilter

This commit is contained in:
2025-07-08 23:29:47 +02:00
parent e8fc972f98
commit 8135e3d8af
6 changed files with 129 additions and 19 deletions

View File

@@ -7,8 +7,9 @@ from components.datagrid_new.settings import DataGridSettings
from components.workflows.commands import WorkflowPlayerCommandManager
from components.workflows.constants import WORKFLOW_PLAYER_INSTANCE_ID, ProcessorTypes
from components.workflows.db_management import WorkflowsPlayerSettings
from core.instance_manager import InstanceManager
from core.utils import get_unique_id, make_safe_id
from workflow.engine import WorkflowEngine, TableDataProducer, DefaultDataPresenter
from workflow.engine import WorkflowEngine, TableDataProducer, DefaultDataPresenter, DefaultDataFilter
grid_settings = DataGridSettings(
header_visible=True,
@@ -32,17 +33,22 @@ class WorkflowPlayer(BaseComponent):
self._player_settings = player_settings
self._boundaries = boundaries
self.commands = WorkflowPlayerCommandManager(self)
self._datagrid = DataGrid(self._session,
DataGrid.create_component_id(session),
self.key,
grid_settings=grid_settings,
boundaries=boundaries)
self._datagrid = InstanceManager.get(self._session,
DataGrid.create_component_id(session),
DataGrid,
key=self.key,
grid_settings=grid_settings,
boundaries=boundaries)
def run(self):
engine = WorkflowEngine()
for component in self._player_settings.components:
if component.type == ProcessorTypes.Producer and component.properties["processor_name"] == "Repository":
engine.add_processor(TableDataProducer(self._session, self._settings_manager, component.properties["repository"], component.properties["table"]))
engine.add_processor(
TableDataProducer(self._session, self._settings_manager, component.properties["repository"],
component.properties["table"]))
elif component.type == ProcessorTypes.Filter and component.properties["processor_name"] == "Default":
engine.add_processor(DefaultDataFilter(component.properties["filter"]))
elif component.type == ProcessorTypes.Presenter and component.properties["processor_name"] == "Default":
engine.add_processor(DefaultDataPresenter(component.properties["columns"]))