[ https://issues.apache.org/jira/browse/FLINK-25725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Junhan Yang updated FLINK-25725: -------------------------------- Description: Use a fractal folder structure: * routers * services (services that are only provided in current module) * layouts (components for layout purpose only) * modules (modules that are not relevant to routing) All services of apis should be located at "src/app/services/" and provided in root. Other non-api services should be located and provided in the corresponding module scope. For modules like task-manager and job-manager, use an injection token to allow potential configuration object customizing/overriding individual component/variable (e.g. rewrite a new chart node component and inject it through the injection token), increasing these modules' reusability (also a better DI practice). was: Use a fractal folder structure: * routers * services (services that are only provided in current module) * layouts (components for layout purpose only) * modules (modules that are not relevant to routing) All services of apis should be located at "src/app/services/" and provided in root. Other non-api services should be located and provided in the corresponding module scope. For modules like task-manager and job-manager, use an injection token to enable potential configuration object customizing/overriding of individual component/variable (e.g. rewrite a new chart node component and inject it through the injection token), increasing these modules' reusability (also a better DI practice). > Refactor web-dashboard's folder structure and use Angular DI injection token > for better reusability > --------------------------------------------------------------------------------------------------- > > Key: FLINK-25725 > URL: https://issues.apache.org/jira/browse/FLINK-25725 > Project: Flink > Issue Type: Technical Debt > Components: Runtime / Web Frontend > Reporter: Junhan Yang > Priority: Major > > Use a fractal folder structure: > * routers > * services (services that are only provided in current module) > * layouts (components for layout purpose only) > * modules (modules that are not relevant to routing) > All services of apis should be located at "src/app/services/" and provided in > root. Other non-api services should be located and provided in the > corresponding module scope. > For modules like task-manager and job-manager, use an injection token to > allow potential configuration object customizing/overriding individual > component/variable (e.g. rewrite a new chart node component and inject it > through the injection token), increasing these modules' reusability (also a > better DI practice). -- This message was sent by Atlassian Jira (v8.20.1#820001)