Files
iTop/datamodels/2.x/itop-portal-base/portal/config/services.yaml
Stephen Abello f095f93326 N°4684 - Align portal default theme with backoffice one (#702)
* Prepare SCSS files and move nav menu / main wrapper from Bootstrap positioning

* Small work on navigation menu

* Split bootstrap theme file into multiple files inside themes/

* Fix unit test missing css/ import path

* Better display for usercard

* Upload precompiled portal stylesheets to fix unit test based on portal.css

* Polish menu

* Stylize home tiles

* Stylize home tiles and layout pages

* Stylize home tiles and layout pages

* Stylize home tiles and layout pages

* Stylize home tiles and layout pages

* Define default font in a more elegant way

* Small implementation for open/close navigation_menu

* Fix navigation menu dropdown menu not working

* Fix menu colors

* Set  <html> lang attribute

* Add accessibility attributes to menu toggler

* Fix bricks / page title dot spacing

* new look adaptation

* Fix padding in manage brick

* Fix menu entries font size and color

* Change manage export color

* Fix icon size in tiles

* Add style to manage brick panels

* Redesign browse brick mosaic view

* Fix variable name collision

* - Set templates cache in dev mode to 1s
- Implements components classes JS
- Move navigations layouts outside the global layout
- Update tiles

* Fix tile description font size

* Redesign browse brick tree mode

* Tweak navigation menu css

* - use custom elements for js components
- adjust layouts

* Modify forms/modals

* Modify method name following code review

* Add a dropdown element to replace bootstrap one

* improvement to dropdown

* datatable prevent column sort icon to wrap

* update composer json file.
Without classmap-authoritative flag, classmap are not generated
There is no test folder

* remove colored circle in manage brick tile titles

* remove white span between title and title additional part in brick layout

* convert navigation menu js to custom element

* navigation menu (WIP)

* Improvement to dropdown

* Fix some caselog classes

* Improvement to dropdown

* Improvement to dropdown

* navigation menu (WIP)

* portal ui version  2025

* datatable sort icon issue on link sets

* portal ui settings

* Fix dropdown for browse brick

* add portal scss colors

* add alerts scss=

* Buttons improvement

* Correction list table action issue

* responsive adjustments

* restore ben-j erased stephen

* ipb-button integration

* remove table header bottom border

* remove brick page ipb-page--main-header duplicate

* Adjust button styel

* Fix browse brick buttons

* Correctly overload approot and fix scsss imports

* Fix treeview expand buttons, fix mosaic first display glitch and add animation to each mosaic tile drawn

* Fix treeview toolbar

* remove wrap from ipb-button-groups

* Fix hover and clickable space in mosaics

* Clean dropdown css

* Fix dropdown menu content for a better display

* Align pagination buttons with theme buttons

* Align pagination buttons with theme buttons

* Fix drowdown

* Add precompiled stylesheets for merge to main branch

---------

Co-authored-by: Benjamin Dalsass <95754414+bdalsass@users.noreply.github.com>
2025-03-05 14:31:00 +01:00

161 lines
6.9 KiB
YAML

# Copyright (C) 2010-2024 Combodo SAS
#
# This file is part of iTop.
#
# iTop is free software; you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# iTop is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with iTop. If not, see <http://www.gnu.org/licenses/>
# This file is the entry point to configure your own services.
# Files in the packages/ subdirectory configure your dependencies.
imports:
- { resource: "legacy_silex_compat_layer.php" }
# Put parameters here that don't need to change on each machine where the app is deployed
# https://symfony.com/doc/current/best_practices/configuration.html#application-related-configuration
parameters:
# Used in templates
combodo.current_environment: '%env(string:COMBODO_CURRENT_ENVIRONMENT)%'
combodo.absolute_url: '%env(string:COMBODO_ABSOLUTE_URL)%'
combodo.conf.app_icon_url: '%env(string:COMBODO_CONF_APP_ICON_URL)%'
combodo.modules.absolute_url: '%env(string:COMBODO_MODULES_ABSOLUTE_URL)%'
combodo.modules.absolute_path: !php/const MODULESROOT
combodo.portal.base.absolute_url: '%env(string:COMBODO_PORTAL_BASE_ABSOLUTE_URL)%'
combodo.portal.base.absolute_path: '%env(string:COMBODO_PORTAL_BASE_ABSOLUTE_PATH)%'
combodo.portal.instance.absolute_url: '%env(string:COMBODO_PORTAL_INSTANCE_ABSOLUTE_URL)%'
combodo.portal.instance.id: '%env(string:PORTAL_ID)%'
combodo.portal.language: '%env(string:COMBODO_PORTAL_LANGUAGE)%'
combodo.portal.metadata.language: '%env(string:COMBODO_PORTAL_METADATA_LANGUAGE)%'
services:
# Default configuration for services in *this* file
_defaults:
autowire: true # Automatically injects dependencies in your services.
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
public: false # Allows optimizing the container by removing unused services; this also means
# fetching services directly from the container via $container->get() won't work.
# The best practice is to be explicit about your dependencies anyway.
bind:
$bDebug: '%kernel.debug%'
$sPortalCachePath: '%kernel.cache_dir%/'
$sPortalId: '%env(string:PORTAL_ID)%'
$sCombodoPortalBaseAbsoluteUrl: '%env(string:COMBODO_PORTAL_BASE_ABSOLUTE_URL)%'
$aCombodoPortalInstanceConf: '%combodo.portal.instance.conf%'
$sCombodoPortalInstanceAbsoluteUrl: '%env(string:COMBODO_PORTAL_INSTANCE_ABSOLUTE_URL)%'
# Allow container service injection
Symfony\Component\DependencyInjection\ContainerInterface: '@service_container'
# Makes classes in src/ available to be used as services
# This creates a service per class whose id is the fully-qualified class name
Combodo\iTop\Portal\:
resource: '../src/*'
exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
# Controllers are imported separately to make sure services can be injected
# as action arguments even if you don't extend any base controller class
Combodo\iTop\Portal\Controller\:
resource: '../src/Controller'
tags: ['controller.service_arguments']
# Tag services without defining them (see https://symfony.com/doc/current/service_container/tags.html#autoconfiguring-tags)
_instanceof:
Combodo\iTop\Portal\EventListener\UserProvider:
tags: [{ name: 'kernel.event_listener', event: 'kernel.request', priority: 500 }]
Combodo\iTop\Portal\EventListener\ApplicationContextSetUrlMakerClass:
tags: [{ name: 'kernel.event_listener', event: 'kernel.request', priority: 400 }]
Combodo\iTop\Portal\EventListener\ApplicationContextSetPluginPropertyClass:
tags: [{ name: 'kernel.event_listener', event: 'kernel.request', priority: 300 }]
Combodo\iTop\Portal\EventListener\CssFromSassCompiler:
tags: [{ name: 'kernel.event_listener', event: 'kernel.request', priority: 200 }]
Combodo\iTop\Portal\EventListener\ExceptionListener:
tags: [{ name: 'kernel.event_listener', event: 'kernel.exception', priority: 500 }]
# Add more service definitions when explicit configuration is needed
# Please note that last definitions always *replace* previous ones
# Legacy code as a service: since it is not in the auto-wiring path, it needs to be explicitly declared
ModuleDesign:
public: true
class: ModuleDesign
arguments:
- '%combodo.portal.instance.id%'
# Decoration
# - Compatibility layer with Silex\Application which was used almost everywhere in the portal's templates
Combodo\iTop\Portal\Twig\AppVariable:
decorates: twig.app_variable
arguments:
- '@Combodo\iTop\Portal\Twig\AppVariable.inner'
- '@service_container'
Combodo\iTop\Portal\Routing\UrlGenerator:
decorates: 'router'
arguments: ['@Combodo\iTop\Portal\Routing\UrlGenerator.inner']
# UI extension helper
Combodo\iTop\Portal\Helper\UIExtensionsHelper:
arguments: ['@service_container']
# Standard services
combodo.current_contact.photo_url:
public: true
class: Combodo\iTop\Portal\VariableAccessor\CombodoCurrentContactPhotoUrl
arguments: ['@Combodo\iTop\Portal\EventListener\UserProvider', '@service_container']
combodo.current_user:
alias: Combodo\iTop\Portal\Twig\CurrentUserAccessor
public: true
# Aliases
brick_collection:
alias: Combodo\iTop\Portal\Brick\BrickCollection
public: true
request_manipulator:
alias: Combodo\iTop\Portal\Helper\RequestManipulatorHelper
public: true
scope_validator:
alias: Combodo\iTop\Portal\Helper\ScopeValidatorHelper
public: true
security_helper:
alias: Combodo\iTop\Portal\Helper\SecurityHelper
public: true
context_manipulator:
alias: Combodo\iTop\Portal\Helper\ContextManipulatorHelper
public: true
navigation_rule_helper:
alias: Combodo\iTop\Portal\Helper\NavigationRuleHelper
public: true
ui_extensions_helper:
alias: Combodo\iTop\Portal\Helper\UIExtensionsHelper
public: true
lifecycle_validator:
alias: Combodo\iTop\Portal\Helper\LifecycleValidatorHelper
public: true
url_generator:
alias: router
public: true
object_form_handler:
alias: Combodo\iTop\Portal\Helper\ObjectFormHandlerHelper
public: true
browse_brick:
alias: Combodo\iTop\Portal\Helper\BrowseBrickHelper
public: true
brick_controller_helper:
alias: Combodo\iTop\Portal\Helper\BrickControllerHelper
public: true
session_message_helper:
alias: Combodo\iTop\Portal\Helper\SessionMessageHelper
public: true