Search in sources :

Example 1 with DatePeriod

use of io.jmix.charts.model.date.DatePeriod in project jmix by jmix-framework.

the class ChartModelLoader method loadCategoryAxis.

protected void loadCategoryAxis(SeriesBasedChartModel chart, Element element) {
    Element axisElement = element.element("categoryAxis");
    if (axisElement != null) {
        CategoryAxis axis = new CategoryAxis();
        loadAbstractAxis(axis, axisElement);
        String autoWrap = axisElement.attributeValue("autoWrap");
        if (StringUtils.isNotEmpty(autoWrap)) {
            axis.setAutoWrap(Boolean.valueOf(autoWrap));
        }
        String categoryFunction = axisElement.elementText("categoryFunction");
        if (StringUtils.isNotEmpty(categoryFunction)) {
            axis.setCategoryFunction(new JsFunction(categoryFunction));
        }
        String classNameField = axisElement.attributeValue("classNameField");
        if (StringUtils.isNotEmpty(classNameField)) {
            axis.setClassNameField(classNameField);
        }
        String centerLabelOnFullPeriod = axisElement.attributeValue("centerLabelOnFullPeriod");
        if (StringUtils.isNotEmpty(centerLabelOnFullPeriod)) {
            axis.setCenterLabelOnFullPeriod(Boolean.valueOf(centerLabelOnFullPeriod));
        }
        String equalSpacing = axisElement.attributeValue("equalSpacing");
        if (StringUtils.isNotEmpty(equalSpacing)) {
            axis.setEqualSpacing(Boolean.valueOf(equalSpacing));
        }
        String forceShowField = axisElement.attributeValue("forceShowField");
        if (StringUtils.isNotEmpty(forceShowField)) {
            axis.setForceShowField(forceShowField);
        }
        String gridPosition = axisElement.attributeValue("gridPosition");
        if (StringUtils.isNotEmpty(gridPosition)) {
            axis.setGridPosition(GridPosition.valueOf(gridPosition));
        }
        String labelFunction = axisElement.elementText("labelFunction");
        if (StringUtils.isNotBlank(labelFunction)) {
            axis.setLabelFunction(new JsFunction(labelFunction));
        }
        String labelColorField = axisElement.attributeValue("labelColorField");
        if (StringUtils.isNotEmpty(labelColorField)) {
            axis.setLabelColorField(labelColorField);
        }
        String minPeriod = axisElement.attributeValue("minPeriod");
        if (StringUtils.isNotEmpty(minPeriod)) {
            DatePeriod dp = DatePeriod.fromId(minPeriod);
            if (dp == null) {
                dp = DatePeriod.valueOf(minPeriod);
            }
            axis.setMinPeriod(dp);
        }
        String parseDates = axisElement.attributeValue("parseDates");
        if (StringUtils.isNotEmpty(parseDates)) {
            axis.setParseDates(Boolean.valueOf(parseDates));
        }
        String startOnAxis = axisElement.attributeValue("startOnAxis");
        if (StringUtils.isNotEmpty(startOnAxis)) {
            axis.setStartOnAxis(Boolean.valueOf(startOnAxis));
        }
        String tickPosition = axisElement.attributeValue("tickPosition");
        if (StringUtils.isNotEmpty(tickPosition)) {
            axis.setTickPosition(tickPosition);
        }
        String twoLineMode = axisElement.attributeValue("twoLineMode");
        if (StringUtils.isNotEmpty(twoLineMode)) {
            axis.setTwoLineMode(Boolean.valueOf(twoLineMode));
        }
        String widthField = axisElement.attributeValue("widthField");
        if (StringUtils.isNotEmpty(widthField)) {
            axis.setWidthField(widthField);
        }
        chart.setCategoryAxis(axis);
    }
}
Also used : JsFunction(io.jmix.charts.model.JsFunction) Element(org.dom4j.Element) DatePeriod(io.jmix.charts.model.date.DatePeriod)

Example 2 with DatePeriod

use of io.jmix.charts.model.date.DatePeriod in project jmix by jmix-framework.

the class ChartModelLoader method loadValueAxis.

protected ValueAxis loadValueAxis(Element valueAxisElement) {
    ValueAxis axis = new ValueAxis();
    loadAbstractAxis(axis, valueAxisElement);
    String id = valueAxisElement.attributeValue("id");
    if (StringUtils.isNotEmpty(id)) {
        axis.setId(id);
    }
    String labelFunction = valueAxisElement.elementText("labelFunction");
    if (StringUtils.isNotBlank(labelFunction)) {
        axis.setLabelFunction(new JsFunction(labelFunction));
    }
    String axisFrequency = valueAxisElement.attributeValue("axisFrequency");
    if (StringUtils.isNotEmpty(axisFrequency)) {
        axis.setAxisFrequency(Double.valueOf(axisFrequency));
    }
    String axisTitleOffset = valueAxisElement.attributeValue("axisTitleOffset");
    if (StringUtils.isNotEmpty(axisTitleOffset)) {
        axis.setAxisTitleOffset(Integer.valueOf(axisTitleOffset));
    }
    String balloonTextFunction = valueAxisElement.elementText("balloonTextFunction");
    if (StringUtils.isNotBlank(balloonTextFunction)) {
        axis.setBalloonTextFunction(new JsFunction(balloonTextFunction));
    }
    String baseValue = valueAxisElement.attributeValue("baseValue");
    if (StringUtils.isNotEmpty(baseValue)) {
        axis.setBaseValue(Double.valueOf(baseValue));
    }
    String duration = valueAxisElement.attributeValue("duration");
    if (StringUtils.isNotEmpty(duration)) {
        axis.setDuration(Duration.valueOf(duration));
    }
    String gridType = valueAxisElement.attributeValue("gridType");
    if (StringUtils.isNotEmpty(gridType)) {
        axis.setGridType(GridType.valueOf(gridType));
    }
    String includeAllValues = valueAxisElement.attributeValue("includeAllValues");
    if (StringUtils.isNotEmpty(includeAllValues)) {
        axis.setIncludeAllValues(Boolean.valueOf(includeAllValues));
    }
    String includeGuidesInMinMax = valueAxisElement.attributeValue("includeGuidesInMinMax");
    if (StringUtils.isNotEmpty(includeGuidesInMinMax)) {
        axis.setIncludeGuidesInMinMax(Boolean.valueOf(includeGuidesInMinMax));
    }
    String includeHidden = valueAxisElement.attributeValue("includeHidden");
    if (StringUtils.isNotEmpty(includeHidden)) {
        axis.setIncludeHidden(Boolean.valueOf(includeHidden));
    }
    String integersOnly = valueAxisElement.attributeValue("integersOnly");
    if (StringUtils.isNotEmpty(integersOnly)) {
        axis.setIntegersOnly(Boolean.valueOf(integersOnly));
    }
    String logarithmic = valueAxisElement.attributeValue("logarithmic");
    if (StringUtils.isNotEmpty(logarithmic)) {
        axis.setLogarithmic(Boolean.valueOf(logarithmic));
    }
    String maximum = valueAxisElement.attributeValue("maximum");
    if (StringUtils.isNotEmpty(maximum)) {
        axis.setMaximum(Double.valueOf(maximum));
    }
    String maximumDate = valueAxisElement.attributeValue("maximumDate");
    if (StringUtils.isNotEmpty(maximumDate)) {
        axis.setMaximumDate(loadDate(maximumDate));
    }
    String minimum = valueAxisElement.attributeValue("minimum");
    if (StringUtils.isNotEmpty(minimum)) {
        axis.setMinimum(Double.valueOf(minimum));
    }
    String minimumDate = valueAxisElement.attributeValue("minimumDate");
    if (StringUtils.isNotEmpty(minimumDate)) {
        axis.setMinimumDate(loadDate(minimumDate));
    }
    String minMaxMultiplier = valueAxisElement.attributeValue("minMaxMultiplier");
    if (StringUtils.isNotEmpty(minMaxMultiplier)) {
        axis.setMinMaxMultiplier(Double.valueOf(minMaxMultiplier));
    }
    String pointPosition = valueAxisElement.attributeValue("pointPosition");
    if (StringUtils.isNotEmpty(pointPosition)) {
        axis.setPointPosition(PointPosition.valueOf(pointPosition));
    }
    String precision = valueAxisElement.attributeValue("precision");
    if (StringUtils.isNotEmpty(precision)) {
        axis.setPrecision(Integer.valueOf(precision));
    }
    String radarCategoriesEnabled = valueAxisElement.attributeValue("radarCategoriesEnabled");
    if (StringUtils.isNotEmpty(radarCategoriesEnabled)) {
        axis.setRadarCategoriesEnabled(Boolean.valueOf(radarCategoriesEnabled));
    }
    String recalculateToPercents = valueAxisElement.attributeValue("recalculateToPercents");
    if (StringUtils.isNotEmpty(recalculateToPercents)) {
        axis.setRecalculateToPercents(Boolean.valueOf(recalculateToPercents));
    }
    String reversed = valueAxisElement.attributeValue("reversed");
    if (StringUtils.isNotEmpty(reversed)) {
        axis.setReversed(Boolean.valueOf(reversed));
    }
    String stackType = valueAxisElement.attributeValue("stackType");
    if (StringUtils.isNotEmpty(stackType)) {
        axis.setStackType(StackType.valueOf(stackType));
    }
    String strictMinMax = valueAxisElement.attributeValue("strictMinMax");
    if (StringUtils.isNotEmpty(strictMinMax)) {
        axis.setStrictMinMax(Boolean.valueOf(strictMinMax));
    }
    String synchronizationMultiplier = valueAxisElement.attributeValue("synchronizationMultiplier");
    if (StringUtils.isNotEmpty(synchronizationMultiplier)) {
        axis.setSynchronizationMultiplier(Double.valueOf(synchronizationMultiplier));
    }
    String synchronizeWith = valueAxisElement.attributeValue("synchronizeWith");
    if (StringUtils.isNotEmpty(synchronizeWith)) {
        axis.setSynchronizeWith(synchronizeWith);
    }
    String totalText = valueAxisElement.attributeValue("totalText");
    if (StringUtils.isNotEmpty(totalText)) {
        axis.setTotalText(loadResourceString(totalText));
    }
    String totalTextColor = valueAxisElement.attributeValue("totalTextColor");
    if (StringUtils.isNotEmpty(totalTextColor)) {
        axis.setTotalTextColor(Color.valueOf(totalTextColor));
    }
    String totalTextOffset = valueAxisElement.attributeValue("totalTextOffset");
    if (StringUtils.isNotEmpty(totalTextOffset)) {
        axis.setTotalTextOffset(Integer.valueOf(totalTextOffset));
    }
    String treatZeroAs = valueAxisElement.attributeValue("treatZeroAs");
    if (StringUtils.isNotEmpty(treatZeroAs)) {
        axis.setTreatZeroAs(Double.valueOf(treatZeroAs));
    }
    String type = valueAxisElement.attributeValue("type");
    if (StringUtils.isNotEmpty(type)) {
        axis.setType(ValueAxisType.valueOf(type));
    }
    String unit = valueAxisElement.attributeValue("unit");
    if (StringUtils.isNotEmpty(unit)) {
        axis.setUnit(unit);
    }
    String unitPosition = valueAxisElement.attributeValue("unitPosition");
    if (StringUtils.isNotEmpty(unitPosition)) {
        axis.setUnitPosition(UnitPosition.valueOf(unitPosition));
    }
    String usePrefixes = valueAxisElement.attributeValue("usePrefixes");
    if (StringUtils.isNotEmpty(usePrefixes)) {
        axis.setUsePrefixes(Boolean.valueOf(usePrefixes));
    }
    String useScientificNotation = valueAxisElement.attributeValue("useScientificNotation");
    if (StringUtils.isNotEmpty(useScientificNotation)) {
        axis.setUseScientificNotation(Boolean.valueOf(useScientificNotation));
    }
    String zeroGridAlpha = valueAxisElement.attributeValue("zeroGridAlpha");
    if (StringUtils.isNotEmpty(zeroGridAlpha)) {
        axis.setZeroGridAlpha(Double.valueOf(zeroGridAlpha));
    }
    String autoWrap = valueAxisElement.attributeValue("autoWrap");
    if (StringUtils.isNotEmpty(autoWrap)) {
        axis.setAutoWrap(Boolean.valueOf(autoWrap));
    }
    String minPeriod = valueAxisElement.attributeValue("minPeriod");
    if (StringUtils.isNotEmpty(minPeriod)) {
        DatePeriod dp = DatePeriod.fromId(minPeriod);
        if (dp == null) {
            dp = DatePeriod.valueOf(minPeriod);
        }
        axis.setMinPeriod(dp);
    }
    return axis;
}
Also used : JsFunction(io.jmix.charts.model.JsFunction) DatePeriod(io.jmix.charts.model.date.DatePeriod)

Example 3 with DatePeriod

use of io.jmix.charts.model.date.DatePeriod in project jmix by jmix-framework.

the class ChartModelLoader method loadDateFormat.

protected void loadDateFormat(DateFormat dateFormat, Element dateFormatElement) {
    String period = dateFormatElement.attributeValue("period");
    if (StringUtils.isNotEmpty(period)) {
        DatePeriod dp = DatePeriod.fromId(period);
        if (dp == null) {
            dp = DatePeriod.valueOf(period);
        }
        dateFormat.setPeriod(dp);
    }
    String format = dateFormatElement.attributeValue("format");
    if (StringUtils.isNotEmpty(format)) {
        dateFormat.setFormat(format);
    }
}
Also used : DatePeriod(io.jmix.charts.model.date.DatePeriod)

Example 4 with DatePeriod

use of io.jmix.charts.model.date.DatePeriod in project jmix by jmix-framework.

the class GanttChartLoader method loadConfiguration.

@Override
protected void loadConfiguration(GanttChart chart, Element element) {
    super.loadConfiguration(chart, element);
    Element valueAxisElement = element.element("valueAxis");
    if (valueAxisElement != null) {
        chart.setValueAxis(loadValueAxis(valueAxisElement));
    }
    Element graphElement = element.element("graph");
    if (graphElement != null) {
        Graph graph = new Graph();
        loadGraph(graph, graphElement);
        chart.setGraph(graph);
    }
    String additionalSegmentFields = element.attributeValue("additionalSegmentFields");
    if (StringUtils.isNotEmpty(additionalSegmentFields)) {
        List<String> fields = Splitter.on(",").omitEmptyStrings().trimResults().splitToList(additionalSegmentFields);
        chart.addAdditionalSegmentFields(fields.toArray(new String[fields.size()]));
    }
    String brightnessStep = element.attributeValue("brightnessStep");
    if (StringUtils.isNotEmpty(brightnessStep)) {
        chart.setBrightnessStep(Integer.valueOf(brightnessStep));
    }
    String colorField = element.attributeValue("colorField");
    if (StringUtils.isNotEmpty(colorField)) {
        chart.setColorField(colorField);
    }
    String columnWidthField = element.attributeValue("columnWidthField");
    if (StringUtils.isNotEmpty(columnWidthField)) {
        chart.setColumnWidthField(columnWidthField);
    }
    String durationField = element.attributeValue("durationField");
    if (StringUtils.isNotEmpty(durationField)) {
        chart.setDurationField(durationField);
    }
    String endDateField = element.attributeValue("endDateField");
    if (StringUtils.isNotEmpty(endDateField)) {
        chart.setEndDateField(endDateField);
    }
    String endField = element.attributeValue("endField");
    if (StringUtils.isNotEmpty(endField)) {
        chart.setEndField(endField);
    }
    String period = element.attributeValue("period");
    if (StringUtils.isNotEmpty(period)) {
        DatePeriod dp = DatePeriod.fromId(period);
        if (dp == null) {
            dp = DatePeriod.valueOf(period);
        }
        chart.setPeriod(dp);
    }
    String segmentsField = element.attributeValue("segmentsField");
    if (StringUtils.isNotEmpty(segmentsField)) {
        chart.setSegmentsField(segmentsField);
    }
    String startDate = element.attributeValue("startDate");
    if (StringUtils.isNotEmpty(startDate)) {
        chart.setStartDate(loadDate(startDate));
    }
    String startDateField = element.attributeValue("startDateField");
    if (StringUtils.isNotEmpty(startDateField)) {
        chart.setStartDateField(startDateField);
    }
    String startField = element.attributeValue("startField");
    if (StringUtils.isNotEmpty(startField)) {
        chart.setStartField(startField);
    }
}
Also used : Graph(io.jmix.charts.model.graph.Graph) Element(org.dom4j.Element) DatePeriod(io.jmix.charts.model.date.DatePeriod)

Aggregations

DatePeriod (io.jmix.charts.model.date.DatePeriod)4 JsFunction (io.jmix.charts.model.JsFunction)2 Element (org.dom4j.Element)2 Graph (io.jmix.charts.model.graph.Graph)1