Skip to content
This repository has been archived by the owner on Mar 31, 2022. It is now read-only.

Migrate Charts #170

Closed
4 tasks done
knstvk opened this issue Sep 10, 2020 · 0 comments
Closed
4 tasks done

Migrate Charts #170

knstvk opened this issue Sep 10, 2020 · 0 comments
Assignees
Milestone

Comments

@knstvk
Copy link
Contributor

knstvk commented Sep 10, 2020

  • Move DataProvider and DataItems interfaces and their implementations to jmix-ui.
  • Create a separate module for Chart components
  • Create a separate module for the PivotTable component
  • Translations

Related issue: #433

Add-on usage in the project

Related issue

  1. Add dependencies in build.gradle script:
implementation 'io.jmix.ui:jmix-ui-widgets'
widgets 'io.jmix.ui:jmix-ui-widgets'

For charts:

implementation 'io.jmix.ui:jmix-charts-starter'
widgets 'io.jmix.ui:jmix-charts-widgets'

For pivot table:

implementation 'io.jmix.ui:jmix-pivot-table-starter'
widgets 'io.jmix.ui:jmix-pivot-table-widgets'
  1. Set a value for the jmix.ui.widgetSet property in application.properties:
    For example:
jmix.ui.widgetSet = com.company.charts.widgets.CustomWidgetSet
  1. Add compileWidgets task in build.gradle script.
    Example:
compileWidgets {
    generate 'com.company.charts.widgets.CustomWidgetSet'
}
  1. Add a namespace to use charts or pivot table XSD scheme in the screen descriptor:
    • Example for pivot table:
          <window xmlns="http://jmix.io/schema/ui/window"
       		xmlns:pivot="http://jmix.io/schema/ui/pivot-table"
       		...>
      
    • Example for charts:
          <window xmlns="http://jmix.io/schema/ui/window"
        		xmlns:chart="http://jmix.io/schema/ui/charts"
        		...>
      

Updated screens IDs:

PivotTableScreen: chart$pivotTableScreen -> ui_PivotTableScreen
PivotTableController: chart$pivotTable -> ui_PivotTableFragment
JsonChartController: chart$jsonChart -> ui_JsonChartFragment

@glebfox glebfox assigned Flaurite and unassigned glebfox Nov 9, 2020
@glebfox glebfox transferred this issue from another repository Nov 10, 2020
@glebfox glebfox assigned glebfox and unassigned Flaurite Nov 10, 2020
@glebfox glebfox added this to the 0.2.0 milestone Nov 10, 2020
@knstvk knstvk modified the milestones: 0.2.0, 1.0.0 Nov 10, 2020
@glebfox glebfox modified the milestones: 1.0.0, 0.3.0 Dec 7, 2020
@glebfox glebfox removed this from the 0.3.0 milestone Dec 28, 2020
@knstvk knstvk assigned m-orlova and unassigned glebfox Dec 28, 2020
@knstvk knstvk added this to the 1.0.0 milestone Feb 8, 2021
m-orlova pushed a commit to jmix-projects/jmix-translations that referenced this issue Feb 21, 2021
1. Add modules:
	- ui-charts, ui-charts-starter
	- ui-charts-common: contains the classes used in ui-charts and ui-pivot-table modules
	- ui-pivot-table, ui-pivot-table-starter

2. Pivot table:
	Add:
		- Action: ShowPivotAction
		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
		- Component loader: PivotTableLoader
		- Screen: PivotTableScreen to show pivot table for specified data items and properties
		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
		- Model class for pivot table: PivotTableModel
		- Tests: ExcelExporterTest, PivotTableSerializerTest
		- Widget: JmixPivotTable
		- XSD schema: ui-pivot-table.xsd

3. Charts:
	a) The following charts are implemented:
		- Serial chart;
		- Pie chart;
		- XY chart;
		- Radar chart;
		- Funnel chart;
		- Gauge chart;
		- Gantt chart;
		- Stock chart;
	For these charts:
	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
	- XSD schema: ui-charts.xsd

	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
m-orlova pushed a commit to jmix-projects/jmix-bom that referenced this issue Feb 21, 2021
1. Add modules:
	- ui-charts, ui-charts-starter
	- ui-charts-common: contains the classes used in ui-charts and ui-pivot-table modules
	- ui-pivot-table, ui-pivot-table-starter

2. Pivot table:
	Add:
		- Action: ShowPivotAction
		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
		- Component loader: PivotTableLoader
		- Screen: PivotTableScreen to show pivot table for specified data items and properties
		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
		- Model class for pivot table: PivotTableModel
		- Tests: ExcelExporterTest, PivotTableSerializerTest
		- Widget: JmixPivotTable
		- XSD schema: ui-pivot-table.xsd

3. Charts:
	a) The following charts are implemented:
		- Serial chart;
		- Pie chart;
		- XY chart;
		- Radar chart;
		- Funnel chart;
		- Gauge chart;
		- Gantt chart;
		- Stock chart;
	For these charts:
	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
	- XSD schema: ui-charts.xsd

	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
m-orlova pushed a commit that referenced this issue Feb 21, 2021
1. Add modules:
	- ui-charts, ui-charts-starter
	- ui-charts-common: contains the classes used in ui-charts and ui-pivot-table modules
	- ui-pivot-table, ui-pivot-table-starter

2. Pivot table:
	Add:
		- Action: ShowPivotAction
		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
		- Component loader: PivotTableLoader
		- Screen: PivotTableScreen to show pivot table for specified data items and properties
		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
		- Model class for pivot table: PivotTableModel
		- Tests: ExcelExporterTest, PivotTableSerializerTest
		- Widget: JmixPivotTable
		- XSD schema: ui-pivot-table.xsd

3. Charts:
	a) The following charts are implemented:
		- Serial chart;
		- Pie chart;
		- XY chart;
		- Radar chart;
		- Funnel chart;
		- Gauge chart;
		- Gantt chart;
		- Stock chart;
	For these charts:
	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
	- XSD schema: ui-charts.xsd

	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
m-orlova pushed a commit to jmix-projects/jmix-all that referenced this issue Feb 21, 2021
1. Add modules:
	- ui-charts, ui-charts-starter
	- ui-charts-common: contains the classes used in ui-charts and ui-pivot-table modules
	- ui-pivot-table, ui-pivot-table-starter

2. Pivot table:
	Add:
		- Action: ShowPivotAction
		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
		- Component loader: PivotTableLoader
		- Screen: PivotTableScreen to show pivot table for specified data items and properties
		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
		- Model class for pivot table: PivotTableModel
		- Tests: ExcelExporterTest, PivotTableSerializerTest
		- Widget: JmixPivotTable
		- XSD schema: ui-pivot-table.xsd

3. Charts:
	a) The following charts are implemented:
		- Serial chart;
		- Pie chart;
		- XY chart;
		- Radar chart;
		- Funnel chart;
		- Gauge chart;
		- Gantt chart;
		- Stock chart;
	For these charts:
	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
	- XSD schema: ui-charts.xsd

	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
m-orlova pushed a commit to jmix-projects/jmix-translations that referenced this issue Mar 1, 2021
1. Rename modules:
	ui-charts -> charts
	ui-charts-starter -> charts-starter
	ui-pivot-table -> pivot-table
	ui-pivot-table-starter -> pivot-table-starter
2. Remove module 'ui-charts-common': classes are copied to 'charts' and 'pivot-table' modules
3. Update namespace for the pivot-table scheme in pivot-table-fragment.xml and pivot-table-screen.xml descriptors
4. Move fix from cuba-platform/charts#104
5. Update dependencies versions
6. Rename model implementation classes in 'charts' module (e.g. AngularGaugeChart -> AngularGaugeChartModelImpl)
m-orlova pushed a commit to jmix-projects/jmix-bom that referenced this issue Mar 1, 2021
1. Rename modules:
	ui-charts -> charts
	ui-charts-starter -> charts-starter
	ui-pivot-table -> pivot-table
	ui-pivot-table-starter -> pivot-table-starter
2. Remove module 'ui-charts-common': classes are copied to 'charts' and 'pivot-table' modules
3. Update namespace for the pivot-table scheme in pivot-table-fragment.xml and pivot-table-screen.xml descriptors
4. Move fix from cuba-platform/charts#104
5. Update dependencies versions
6. Rename model implementation classes in 'charts' module (e.g. AngularGaugeChart -> AngularGaugeChartModelImpl)
m-orlova pushed a commit that referenced this issue Mar 1, 2021
1. Rename modules:
	ui-charts -> charts
	ui-charts-starter -> charts-starter
	ui-pivot-table -> pivot-table
	ui-pivot-table-starter -> pivot-table-starter
2. Remove module 'ui-charts-common': classes are copied to 'charts' and 'pivot-table' modules
3. Update namespace for the pivot-table scheme in pivot-table-fragment.xml and pivot-table-screen.xml descriptors
4. Move fix from cuba-platform/charts#104
5. Update dependencies versions
6. Rename model implementation classes in 'charts' module (e.g. AngularGaugeChart -> AngularGaugeChartModelImpl)
m-orlova pushed a commit to jmix-projects/jmix-all that referenced this issue Mar 1, 2021
1. Rename modules:
	ui-charts -> charts
	ui-charts-starter -> charts-starter
	ui-pivot-table -> pivot-table
	ui-pivot-table-starter -> pivot-table-starter
2. Remove module 'ui-charts-common': classes are copied to 'charts' and 'pivot-table' modules
3. Update namespace for the pivot-table scheme in pivot-table-fragment.xml and pivot-table-screen.xml descriptors
4. Move fix from cuba-platform/charts#104
5. Update dependencies versions
6. Rename model implementation classes in 'charts' module (e.g. AngularGaugeChart -> AngularGaugeChartModelImpl)
m-orlova pushed a commit to jmix-projects/jmix-translations that referenced this issue Mar 2, 2021
1. Add modules:
    - charts, charts-starter
    - pivot-table, pivot-table-starter
2. Pivot table:
   	Add:
   		- Action: ShowPivotAction
   		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
   		- Component loader: PivotTableLoader
   		- Screen: PivotTableScreen to show pivot table for specified data items and properties
   		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
   		- Model class for pivot table: PivotTableModel
   		- Tests: ExcelExporterTest, PivotTableSerializerTest
   		- Widget: JmixPivotTable
   		- XSD schema: pivot-table.xsd
3. Charts:
   	a) The following charts are implemented:
   		- Serial chart;
   		- Pie chart;
   		- XY chart;
   		- Radar chart;
   		- Funnel chart;
   		- Gauge chart;
   		- Gantt chart;
   		- Stock chart;
   	For these charts:
   	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
   	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
   	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
   	- XSD schema: charts.xsd

   	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
   	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
4. Move fix from cuba-platform/charts#104
m-orlova pushed a commit to jmix-projects/jmix-bom that referenced this issue Mar 2, 2021
1. Add modules:
    - charts, charts-starter
    - pivot-table, pivot-table-starter
2. Pivot table:
   	Add:
   		- Action: ShowPivotAction
   		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
   		- Component loader: PivotTableLoader
   		- Screen: PivotTableScreen to show pivot table for specified data items and properties
   		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
   		- Model class for pivot table: PivotTableModel
   		- Tests: ExcelExporterTest, PivotTableSerializerTest
   		- Widget: JmixPivotTable
   		- XSD schema: pivot-table.xsd
3. Charts:
   	a) The following charts are implemented:
   		- Serial chart;
   		- Pie chart;
   		- XY chart;
   		- Radar chart;
   		- Funnel chart;
   		- Gauge chart;
   		- Gantt chart;
   		- Stock chart;
   	For these charts:
   	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
   	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
   	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
   	- XSD schema: charts.xsd

   	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
   	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
4. Move fix from cuba-platform/charts#104
m-orlova pushed a commit that referenced this issue Mar 2, 2021
1. Add modules:
    - charts, charts-starter
    - pivot-table, pivot-table-starter
2. Pivot table:
   	Add:
   		- Action: ShowPivotAction
   		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
   		- Component loader: PivotTableLoader
   		- Screen: PivotTableScreen to show pivot table for specified data items and properties
   		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
   		- Model class for pivot table: PivotTableModel
   		- Tests: ExcelExporterTest, PivotTableSerializerTest
   		- Widget: JmixPivotTable
   		- XSD schema: pivot-table.xsd
3. Charts:
   	a) The following charts are implemented:
   		- Serial chart;
   		- Pie chart;
   		- XY chart;
   		- Radar chart;
   		- Funnel chart;
   		- Gauge chart;
   		- Gantt chart;
   		- Stock chart;
   	For these charts:
   	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
   	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
   	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
   	- XSD schema: charts.xsd

   	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
   	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
4. Move fix from cuba-platform/charts#104
m-orlova pushed a commit to jmix-projects/jmix-all that referenced this issue Mar 2, 2021
1. Add modules:
    - charts, charts-starter
    - pivot-table, pivot-table-starter
2. Pivot table:
   	Add:
   		- Action: ShowPivotAction
   		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
   		- Component loader: PivotTableLoader
   		- Screen: PivotTableScreen to show pivot table for specified data items and properties
   		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
   		- Model class for pivot table: PivotTableModel
   		- Tests: ExcelExporterTest, PivotTableSerializerTest
   		- Widget: JmixPivotTable
   		- XSD schema: pivot-table.xsd
3. Charts:
   	a) The following charts are implemented:
   		- Serial chart;
   		- Pie chart;
   		- XY chart;
   		- Radar chart;
   		- Funnel chart;
   		- Gauge chart;
   		- Gantt chart;
   		- Stock chart;
   	For these charts:
   	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
   	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
   	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
   	- XSD schema: charts.xsd

   	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
   	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
4. Move fix from cuba-platform/charts#104
m-orlova pushed a commit that referenced this issue Mar 2, 2021
gorbunkov pushed a commit that referenced this issue Mar 4, 2021
1. Add modules:
	- ui-charts, ui-charts-starter
	- ui-charts-common: contains the classes used in ui-charts and ui-pivot-table modules
	- ui-pivot-table, ui-pivot-table-starter

2. Pivot table:
	Add:
		- Action: ShowPivotAction
		- Components: PivotTable and extension PivotTableExtension to export PivotTable into XLS file
		- Component loader: PivotTableLoader
		- Screen: PivotTableScreen to show pivot table for specified data items and properties
		- Fragment: PivotTableFragment to show pivot table from a specified JSON string and values
		- Model class for pivot table: PivotTableModel
		- Tests: ExcelExporterTest, PivotTableSerializerTest
		- Widget: JmixPivotTable
		- XSD schema: ui-pivot-table.xsd

3. Charts:
	a) The following charts are implemented:
		- Serial chart;
		- Pie chart;
		- XY chart;
		- Radar chart;
		- Funnel chart;
		- Gauge chart;
		- Gantt chart;
		- Stock chart;
	For these charts:
	- Add components (e.g. AngularGaugeChart, FunnelChart) and their implementations
	- Add component loaders (e.g. AngularGaugeChartLoader, FunnelChartLoader)
	- Add model classes (e.g. AngularGaugeChartModel, FunnelChartModel)
	- Widgets: JmixAmStockChartScene for a stock chart and JmixAmchartsScene for other charts
	- XSD schema: ui-charts.xsd

	b) Fragment: JsonChartFragment to show a custom chart using specified JSON string
	c) Tests: ChartDataItemSerializerTest, LabelCoordinatesTest, StockChartSerializationTest
gorbunkov pushed a commit that referenced this issue Mar 4, 2021
1. Rename modules:
	ui-charts -> charts
	ui-charts-starter -> charts-starter
	ui-pivot-table -> pivot-table
	ui-pivot-table-starter -> pivot-table-starter
2. Remove module 'ui-charts-common': classes are copied to 'charts' and 'pivot-table' modules
3. Update namespace for the pivot-table scheme in pivot-table-fragment.xml and pivot-table-screen.xml descriptors
4. Move fix from cuba-platform/charts#104
5. Update dependencies versions
6. Rename model implementation classes in 'charts' module (e.g. AngularGaugeChart -> AngularGaugeChartModelImpl)
@m-orlova m-orlova closed this as completed Mar 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants