From 031b8bc27ab97093c71fbc3cf33a34b98e74e766 Mon Sep 17 00:00:00 2001 From: Thorsten Hack Date: Thu, 19 Feb 2026 16:22:05 +0100 Subject: [PATCH 1/3] Remove references to deprecated vis-ui repo --- .../DataManagerBundle/Resources/public/FormRenderer.js | 8 -------- .../DataManagerBundle/Resources/public/FormUtil.js | 3 --- 2 files changed, 11 deletions(-) diff --git a/src/Mapbender/DataManagerBundle/Resources/public/FormRenderer.js b/src/Mapbender/DataManagerBundle/Resources/public/FormRenderer.js index dceac0fb..81ee4075 100644 --- a/src/Mapbender/DataManagerBundle/Resources/public/FormRenderer.js +++ b/src/Mapbender/DataManagerBundle/Resources/public/FormRenderer.js @@ -449,7 +449,6 @@ } handle_file_(settings) { - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L545 */ var $inputReal = $('') // NOTE: do not attempt required / disabled etc on hidden inputs .attr('name', settings.name) @@ -490,7 +489,6 @@ } handle_image_(settings) { - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L496 */ /** @todo: support "enlargeImage"...? */ var src = settings.src || null; if (src && !/^(http[s]?)?:?\//.test(src)) { @@ -563,7 +561,6 @@ } handle_tabs_(settings) { - /** https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L641 */ var $tabList = $(document.createElement('ul')); var $container = $(document.createElement('div')); $container.append($tabList); @@ -625,7 +622,6 @@ } handle_html_(settings) { - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L265 */ const $wrapper = $(document.createElement('div')) .attr(settings.attr || {}) .addClass(settings.cssClass) @@ -636,7 +632,6 @@ } handle_text_(settings) { - /** https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L823 */ var $wrapper = $(document.createElement('div')).addClass('mb-3 text'); var $textContainer = $(document.createElement('div')); @@ -804,7 +799,6 @@ } fieldLabel_(settings) { - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L353 */ var $label = $(document.createElement('label')) .attr({'for': settings.name || null }) .text(settings.title || settings.text) @@ -817,7 +811,6 @@ ; $label.append(' ', $icon); } - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L345 */ if (settings.copyClipboard) { $label.append(' ', $('') .addClass('fa fa-clipboard far-clipboard -fn-copytoclipboard') @@ -877,7 +870,6 @@ } addCustomEvents_($input, settings) { - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L123 */ var names = ['filled', 'change'].filter(function(name) { return settings[name]; }); diff --git a/src/Mapbender/DataManagerBundle/Resources/public/FormUtil.js b/src/Mapbender/DataManagerBundle/Resources/public/FormUtil.js index 27f37dc2..13af2555 100644 --- a/src/Mapbender/DataManagerBundle/Resources/public/FormUtil.js +++ b/src/Mapbender/DataManagerBundle/Resources/public/FormUtil.js @@ -121,7 +121,6 @@ return !self.validateInput(input); }); // If there are erros, switch tab container (if any) to reveal the first affected input - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/utils/fn.formData.js#L166 */ const $firstInvalid = invalidInputs.length && $(invalidInputs[0]); const $tabElement = $firstInvalid && $firstInvalid.closest('.ui-tabs'); if ($tabElement && $tabElement.length) { @@ -137,7 +136,6 @@ /** * @param {HTMLElement} input * @return {boolean} - * @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/utils/fn.formData.js#L13 */ validateInput(input) { const $input = $(input); @@ -196,7 +194,6 @@ /** @var {Array|null} valueList */ text = text.join(separator) || ''; } - /** @see https://github.com/mapbender/vis-ui.js/blob/0.2.84/src/js/jquery.form.generator.js#L157 */ if (window.clipboardData && window.clipboardData.setData) { /** @see https://caniuse.com/mdn-api_clipboardevent_clipboarddata */ return clipboardData.setData("Text", text); From 39738485931ed3e66aece1dfab48728fa10b9651 Mon Sep 17 00:00:00 2001 From: Thorsten Hack Date: Thu, 19 Feb 2026 16:32:30 +0100 Subject: [PATCH 2/3] Remove deprecated methods --- .../Component/DataStoreService.php | 41 ------------------- .../Component/FeatureTypeService.php | 22 ---------- .../Component/RepositoryRegistry.php | 40 ------------------ .../DataSourceBundle/Entity/DataItem.php | 11 ----- .../Resources/public/MbDigitizer.js | 20 --------- 5 files changed, 134 deletions(-) delete mode 100644 src/Mapbender/DataSourceBundle/Component/DataStoreService.php delete mode 100644 src/Mapbender/DataSourceBundle/Component/FeatureTypeService.php diff --git a/src/Mapbender/DataSourceBundle/Component/DataStoreService.php b/src/Mapbender/DataSourceBundle/Component/DataStoreService.php deleted file mode 100644 index dcae57e5..00000000 --- a/src/Mapbender/DataSourceBundle/Component/DataStoreService.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @deprecated incompatible with Symfony 4 (full container injection); use RepositoryRegistry and inject `mbds.default_datastore_factory` - */ -class DataStoreService extends RepositoryRegistry -{ - protected $factoryId = 'mbds.default_datastore_factory'; - - /** - * @param ContainerInterface $container - * @param mixed[][]|string $declarations repository configs, or container param key for lookup - */ - public function __construct(ContainerInterface $container, $declarations = 'dataStores') - { - /** @var DataStoreFactory $factory */ - $factory = $container->get($this->factoryId); - $declarations = $declarations ?: array(); - if ($declarations && \is_string($declarations)) { - $declarations = $container->getParameter($declarations); - } - - parent::__construct($factory, $declarations ?: array()); - } - - /** - * Get store by name - * - * @param string $name - * @return DataStore - */ - public function get($name) - { - return $this->getDataStoreByName($name); - } -} diff --git a/src/Mapbender/DataSourceBundle/Component/FeatureTypeService.php b/src/Mapbender/DataSourceBundle/Component/FeatureTypeService.php deleted file mode 100644 index 95e125e3..00000000 --- a/src/Mapbender/DataSourceBundle/Component/FeatureTypeService.php +++ /dev/null @@ -1,22 +0,0 @@ - - * @copyright 18.03.2015 by WhereGroup GmbH & Co. KG - * - * @method FeatureType getDataStoreByName(string $name) - * @method FeatureType getFeatureTypeByName(string $name) - * @method FeatureType get(string $name) - * @method FeatureType dataStoreFactory(array $config) - * @method FeatureType featureTypeFactory(array $config) - * @property FeatureType[] $repositories - * - * @deprecated incompatible with Symfony 4 (full container injection); use RepositoryRegistry and inject `mbds.default_featuretype_factory` - */ -class FeatureTypeService extends DataStoreService -{ - protected $factoryId = 'mbds.default_featuretype_factory'; -} diff --git a/src/Mapbender/DataSourceBundle/Component/RepositoryRegistry.php b/src/Mapbender/DataSourceBundle/Component/RepositoryRegistry.php index 21ecafaa..8bf72329 100644 --- a/src/Mapbender/DataSourceBundle/Component/RepositoryRegistry.php +++ b/src/Mapbender/DataSourceBundle/Component/RepositoryRegistry.php @@ -66,46 +66,6 @@ public function getDataStoreDeclarations() return $this->repositoryConfigs; } - /** - * Alias for dataStoreFactory - * - * @param mixed[] $config - * @return DataStore - * @since 0.1.15 - * @deprecated use aliased method directly - * aliased @since 0.1.22 - */ - public function featureTypeFactory(array $config) - { - return $this->dataStoreFactory($config); - } - - /** - * Alias for getDataStoreByName - * - * @param string $name - * @return DataStore - * @since 0.1.15 - * @deprecated use aliased method directly - * aliased @since 0.1.22 - */ - public function getFeatureTypeByName($name) - { - return $this->getDataStoreByName($name); - } - - /** - * Alias for getDataStoreDeclarations - * - * @return array - * @deprecated use aliased method directly - * aliased @since 0.1.22 - */ - public function getFeatureTypeDeclarations() - { - return $this->getDataStoreDeclarations(); - } - /** * @param string $name * @return Connection diff --git a/src/Mapbender/DataSourceBundle/Entity/DataItem.php b/src/Mapbender/DataSourceBundle/Entity/DataItem.php index ae5082a1..af851848 100644 --- a/src/Mapbender/DataSourceBundle/Entity/DataItem.php +++ b/src/Mapbender/DataSourceBundle/Entity/DataItem.php @@ -43,17 +43,6 @@ public function setId($id) $this->attributes[$this->uniqueIdField] = $id; } - /** - * Is id not null - * - * @return bool - * @deprecated use getId and coerce to boolean - */ - public function hasId() - { - return !is_null($this->getId()); - } - /** * Get id * diff --git a/src/Mapbender/DigitizerBundle/Resources/public/MbDigitizer.js b/src/Mapbender/DigitizerBundle/Resources/public/MbDigitizer.js index 806ecf04..307fda74 100644 --- a/src/Mapbender/DigitizerBundle/Resources/public/MbDigitizer.js +++ b/src/Mapbender/DigitizerBundle/Resources/public/MbDigitizer.js @@ -110,14 +110,6 @@ self.queuedRefresh_[schema.schemaName] = true; } } - // @todo ml: filter table rows for min/max resolution (not just on moveend, but always) - if (false) { - var layer = self.getSchemaLayer(schema); - var resolution = olMap.getView().getResolution(); - if (resolution > layer.getMaxResolution() || resolution < layer.getMinResolution()) { - self.tableRenderer.replaceRows([]); - } - } }); this.mbMap.element.on('mbmapsrschanged', function(event, data) { self.featureEditor.pause(); @@ -677,18 +669,6 @@ return this.renderer.getLayers(schema); } - /** - * @param {*} schema - * @returns {ol.layer.Vector|undefined} - * @deprecated use getSchemaLayers for proper multi-layer support - */ - getSchemaLayer(schema) { - if (schema.combine) { - throw new Error('Cannot get single layer for combination schema'); - } - return this.getSchemaLayers(schema)[0]; - } - cloneFeature(schema, feature) { const newFeature = feature.clone(); const copyDefaults = schema.copy.data || {}; From 92d78a6f27243f8e5ec2bad8b741669624744b84 Mon Sep 17 00:00:00 2001 From: Thorsten Hack Date: Thu, 19 Feb 2026 18:03:22 +0100 Subject: [PATCH 3/3] Remove datatables 1.x specific code --- .../Resources/public/TableRenderer.js | 9 ---- .../Resources/styles/dataManager.element.scss | 47 ------------------- 2 files changed, 56 deletions(-) diff --git a/src/Mapbender/DataManagerBundle/Resources/public/TableRenderer.js b/src/Mapbender/DataManagerBundle/Resources/public/TableRenderer.js index 24d23244..f06305a6 100644 --- a/src/Mapbender/DataManagerBundle/Resources/public/TableRenderer.js +++ b/src/Mapbender/DataManagerBundle/Resources/public/TableRenderer.js @@ -181,15 +181,6 @@ } }; - // TODO: remove this in next major release - if (!$.fn.DataTable.versionCheck('2.0')) { - settings.language = { - paginate: { - previous: '<<', - next: '>>' - } - }; - } settings.createdRow = this.onRowCreation.bind(this, schema); return settings; } diff --git a/src/Mapbender/DataManagerBundle/Resources/styles/dataManager.element.scss b/src/Mapbender/DataManagerBundle/Resources/styles/dataManager.element.scss index b45b0ca8..de2394c9 100644 --- a/src/Mapbender/DataManagerBundle/Resources/styles/dataManager.element.scss +++ b/src/Mapbender/DataManagerBundle/Resources/styles/dataManager.element.scss @@ -1,52 +1,5 @@ $buttonActiveTextColor: #fff !default; -/** START: LEGACY: Remove this for Mapbender 5 */ - -.mb-element-data-manager .mapbender-element-result-table { - > .dataTables_wrapper { - > .row:first-child { - .col-md-6:first-child { - width: 0; - } - - .col-md-6:last-child { - width: 100%; - - .dataTables_filter { - text-align: left; - - label { - width: 100%; - padding-left: 2px; - - input { - display: block; - width: 100%; - margin-left: 0; - } - } - } - } - } - - > .row:last-child { - text-align: center; - - .col-sm-12 { - width: 100%; - margin-bottom: 7px; - } - - .col-sm-12:last-child .pagination { - justify-content: center; - } - } - } -} -/** END: LEGACY **/ - - - .mb-element-data-manager { padding-right: 7px;