Skip to content

Commit

Permalink
Contao 5 preps
Browse files Browse the repository at this point in the history
  • Loading branch information
coastforge-mei committed May 2, 2023
1 parent f2e8350 commit 7e300a8
Show file tree
Hide file tree
Showing 16 changed files with 1,451 additions and 1,067 deletions.
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
],
"require": {
"php": "^7.4 || ^8.0",
"contao/core-bundle": "^4.9",
"con4gis/core": "^6.0.21",
"menatwork/contao-multicolumnwizard-bundle": "^3.5.8"
"contao/core-bundle": "^4.13 || ^5.0",
"con4gis/core": "^6.0 || ^7.0",
"menatwork/contao-multicolumnwizard-bundle": "^3.6"
},
"conflict": {
"contao/core": "*",
Expand Down
2,419 changes: 1,394 additions & 1,025 deletions package-lock.json

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@
},
"homepage": "https://github.com/Kuestenschmiede/VisualizationBundle#readme",
"devDependencies": {
"@babel/core": "^7.21.0",
"@babel/core": "^7.21.5",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-transform-modules-commonjs": "^7.21.2",
"@babel/plugin-transform-runtime": "^7.21.0",
"@babel/preset-env": "^7.20.2",
"@babel/plugin-transform-modules-commonjs": "^7.21.5",
"@babel/plugin-transform-runtime": "^7.21.4",
"@babel/preset-env": "^7.21.5",
"babel-loader": "^8.3.0",
"clean-webpack-plugin": "^3.0.0",
"compression-webpack-plugin": "^7.1.2",
Expand All @@ -39,8 +39,8 @@
"gulp-sass": "^5.1.0",
"gulp-sourcemaps": "^2.6.5",
"gulp-uglify": "^3.0.2",
"sass": "^1.58.3",
"webpack": "^5.76.0",
"sass": "^1.62.1",
"webpack": "^5.81.0",
"webpack-cli": "^4.10.0"
},
"dependencies": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace con4gis\VisualizationBundle\Services;
namespace con4gis\VisualizationBundle\Classes\Services;

use con4gis\VisualizationBundle\Classes\Charts\Axis;
use con4gis\VisualizationBundle\Classes\Charts\Chart;
Expand All @@ -20,6 +20,7 @@
use con4gis\VisualizationBundle\Resources\contao\models\ChartRangeModel;
use Contao\Database;
use Contao\Model\Collection;
use Contao\System;
use Psr\Log\LoggerInterface;

class ChartBuilderService
Expand All @@ -35,12 +36,10 @@ class ChartBuilderService
private $logger;

/**
* @param Database $database
* @param LoggerInterface $logger
*/
public function __construct(Database $database, LoggerInterface $logger)
public function __construct(LoggerInterface $logger)
{
$this->database = $database;
$this->logger = $logger;
}

Expand Down Expand Up @@ -166,13 +165,14 @@ private function addElementsToChart(Chart $chart, $chartId, ChartModel $chartMod
if ($chart === null || $elementModels === null) {
throw new EmptyChartException();
}


$db = Database::getInstance();
foreach ($elementModels as $elementModel) {
if ($elementModel->published === '1') {
switch ($elementModel->origin) {
case ChartElement::ORIGIN_INPUT:
$sql = "SELECT * FROM tl_c4g_visualization_chart_element_input WHERE `elementId` = ?";
$elementInputs = $this->database->prepare($sql)->execute($elementModel->id)->fetchAllAssoc();
$elementInputs = $db->prepare($sql)->execute($elementModel->id)->fetchAllAssoc();
if ($elementInputs !== null) {
$source = new Source($elementInputs, $elementModel->minCountIdenticalX, $elementModel->redirectSite);
}
Expand All @@ -188,7 +188,7 @@ private function addElementsToChart(Chart $chart, $chartId, ChartModel $chartMod
if ($elementModel->tablex) {
$query .= " ORDER BY " . $elementModel->tablex;
}
$stmt = $this->database->prepare($query);
$stmt = $db->prepare($query);
$result = $stmt->execute();
$arrResult = $result->fetchAllAssoc();
if (!$arrResult || count($arrResult) <= 0) {
Expand Down
18 changes: 13 additions & 5 deletions src/Controller/ChartController.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,21 @@
*/
namespace con4gis\VisualizationBundle\Controller;

use con4gis\CoreBundle\Controller\BaseController;
use con4gis\VisualizationBundle\Classes\Exceptions\EmptyChartException;
use con4gis\VisualizationBundle\Classes\Exceptions\UnknownChartException;
use con4gis\VisualizationBundle\Classes\Exceptions\UnknownChartSourceException;
use con4gis\VisualizationBundle\Services\ChartBuilderService;
use con4gis\VisualizationBundle\Classes\Services\ChartBuilderService;
use Contao\CoreBundle\Framework\ContaoFramework;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class ChartController extends AbstractController
class ChartController extends BaseController
{
private $framework = null;

Expand All @@ -37,25 +39,31 @@ class ChartController extends AbstractController
private $chartBuilder;

public function __construct(
ContainerInterface $container,
ContaoFramework $framework,
LoggerInterface $logger,
ChartBuilderService $chartBuilder
) {
$this->framework = $framework;
$this->logger = $logger;
$this->chartBuilder = $chartBuilder;
parent::__construct($container);
$framework->initialize(true);
}

protected function initialize($withEntityManager = true)
{
parent::initialize(false);
}

/**
* @param Request $request
* @param $chartId
* @return JsonResponse
* @Route("/visualization-api/fetchChart/{chartId}", methods={"GET"})
* @Route("/con4gis/fetchChart/{chartId}", methods={"GET"})
*/
public function getFetchChartAction(Request $request, $chartId): JsonResponse
{
try {
$this->framework->initialize(true);
if ($chartId/* && $this->authorized() === true*/) {
$chartId = intval($chartId);
$chart = $this->chartBuilder->createChartFromId($chartId);
Expand Down
5 changes: 0 additions & 5 deletions src/DependencyInjection/con4gisVisualizationExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,4 @@ public function load(array $configs, ContainerBuilder $container)
);
$loader->load('services.yml');
}

public function getAlias()
{
return "con4gis_visualization";
}
}
23 changes: 17 additions & 6 deletions src/Resources/config/services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,22 @@ services:
Contao\Database:
factory: [ 'Contao\Database', 'getInstance' ]
public: true
lazy: true
lazy: false

con4gis\VisualizationBundle\Controller\:
resource: '../../Controller'
tags: [ 'controller.service_arguments' ]
con4gis.chart_service:
class: con4gis\VisualizationBundle\Classes\Services\ChartBuilderService
public: true
arguments:
- "@logger"

con4gis\VisualizationBundle\Services\:
resource: '../../Services'
con4gis\VisualizationBundle\Controller\ChartController:
class: con4gis\VisualizationBundle\Controller\ChartController
tags: [ 'controller.service_arguments' ]
public: true
calls:
- setContainer: [ '@service_container' ]
arguments:
- "@service_container"
- "@contao.framework"
- "@logger"
- "@con4gis.chart_service"
2 changes: 1 addition & 1 deletion src/Resources/contao/dca/tl_c4g_visualization_chart.php
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@
/**
* Class tl_c4g_visualization_chart
*/
class tl_c4g_visualization_chart extends \Backend
class tl_c4g_visualization_chart extends \Contao\Backend
{

public function loadButtonAllPositionOptions(DataContainer $dc) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
/**
* Class tl_c4g_visualization_chart_element_condition
*/
class tl_c4g_visualization_chart_element_condition extends \Backend
class tl_c4g_visualization_chart_element_condition extends \Contao\Backend
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
/**
* Class tl_c4g_visualization_chart_element_input
*/
class tl_c4g_visualization_chart_element_input extends \Backend
class tl_c4g_visualization_chart_element_input extends \Contao\Backend
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
/**
* Class tl_c4g_visualization_chart_range
*/
class tl_c4g_visualization_chart_element_period extends \Backend
class tl_c4g_visualization_chart_element_period extends \Contao\Backend
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
/**
* Class tl_c4g_visualization_chart_element_relation
*/
class tl_c4g_visualization_chart_element_relation extends \Backend
class tl_c4g_visualization_chart_element_relation extends \Contao\Backend
{

}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
/**
* Class tl_c4g_visualization_chart_range
*/
class tl_c4g_visualization_chart_range extends \Backend
class tl_c4g_visualization_chart_range extends \Contao\Backend
{

}
4 changes: 3 additions & 1 deletion src/Resources/contao/elements/ChartContentElement.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
use Contao\ContentElement;
use Contao\FilesModel;
use Contao\StringUtil;
use Contao\System;

class ChartContentElement extends ContentElement
{
Expand All @@ -25,7 +26,8 @@ class ChartContentElement extends ContentElement

protected function compile()
{
if (TL_MODE == 'BE') {
if (System::getContainer()->get('contao.routing.scope_matcher')->isBackendRequest(System::getContainer()->get('request_stack')->getCurrentRequest() ?? Request::create('')))
{
$chartModel = ChartModel::findByPk($this->getModel()->chartID);
$this->strTemplate = 'be_wildcard';
$this->Template = new \BackendTemplate($this->strTemplate);
Expand Down
2 changes: 1 addition & 1 deletion src/Resources/public/build/c4g_visualization.js

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions src/Resources/public/js/c4g_visualization.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,12 @@ class Vis {
while (elIndex < this.elements.length) {
let element = this.elements.item(elIndex);
if (element && element.dataset && element.dataset.chart) {
let url = '/visualization-api/fetchChart/' + element.dataset.chart;
let url = '/con4gis/fetchChart/' + element.dataset.chart;
fetch(url)
.then(response => response.json())
.then((responseJson) => {
responseJson = this.setTickConfigForYAxis(responseJson);


let chart = {
bindto: '#' + element.id,
base: responseJson,
Expand Down

0 comments on commit 7e300a8

Please sign in to comment.