diff --git a/datamodels/2.x/itop-portal-base/portal/config/legacy_silex_compat_layer.php b/datamodels/2.x/itop-portal-base/portal/config/legacy_silex_compat_layer.php index edb8ac919..78fd254eb 100644 --- a/datamodels/2.x/itop-portal-base/portal/config/legacy_silex_compat_layer.php +++ b/datamodels/2.x/itop-portal-base/portal/config/legacy_silex_compat_layer.php @@ -64,7 +64,7 @@ foreach ($aPortalConf['properties']['themes'] as $sKey => $value) { if (!is_array($value)) { - $aPortalConf['properties']['themes'][$sKey] = $_ENV['COMBODO_ABSOLUTE_URL'].utils::GetCSSFromSASS('env-'.utils::GetCurrentEnvironment().'/'.$value, + $aPortalConf['properties']['themes'][$sKey] = utils::GetCSSFromSASS('env-'.utils::GetCurrentEnvironment().'/'.$value, $aImportPaths); } else @@ -72,7 +72,7 @@ foreach ($aPortalConf['properties']['themes'] as $sKey => $value) $aValues = array(); foreach ($value as $sSubValue) { - $aValues[] = $_ENV['COMBODO_ABSOLUTE_URL'].utils::GetCSSFromSASS('env-'.utils::GetCurrentEnvironment().'/'.$sSubValue, + $aValues[] = utils::GetCSSFromSASS('env-'.utils::GetCurrentEnvironment().'/'.$sSubValue, $aImportPaths); } $aPortalConf['properties']['themes'][$sKey] = $aValues; diff --git a/datamodels/2.x/itop-portal-base/portal/public/css/portal.css b/datamodels/2.x/itop-portal-base/portal/public/css/portal.css index f8fe934ec..af009b181 100644 --- a/datamodels/2.x/itop-portal-base/portal/public/css/portal.css +++ b/datamodels/2.x/itop-portal-base/portal/public/css/portal.css @@ -1,5 +1,5 @@ /*! - * Copyright (C) 2013-2021 Combodo SARL + * Copyright (C) 2013-2020 Combodo SARL * * This file is part of iTop. * @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Affero General Public License */ /*! - * Copyright (C) 2013-2021 Combodo SARL + * Copyright (C) 2013-2020 Combodo SARL * * This file is part of iTop. * @@ -34,7 +34,7 @@ */ /*! * Combodo portal template v1.0.0 -*/ + */ /*******************/ /* Global settings */ /*******************/ @@ -42,7 +42,6 @@ body { padding-top: 60px; } - body.home { padding-top: 70px; } @@ -51,7 +50,6 @@ footer { margin: 5em 1em; text-align: center; } - /* Environment banner */ #envbanner { position: relative; @@ -59,48 +57,37 @@ footer { padding: 5px 15px; text-align: center; } - #envbanner > button { margin-left: 5px; color: #000; } - /* Navigation menu */ -.navbar-nav .dropdown-menu a .glyphicon, -.user_infos .dropdown-menu a .glyphicon { +.navbar-nav .dropdown-menu a .glyphicon, .user_infos .dropdown-menu a .glyphicon { margin-right: 15px; } - -.nav > li > a > span.brick_icon, -.dropdown-menu > li > a > span.brick_icon { +.nav > li > a > span.brick_icon, .dropdown-menu > li > a > span.brick_icon { margin-right: 20px; vertical-align: sub; } - /* Topbar */ #topbar .navbar-header { position: relative; z-index: 2; } - #topbar .navbar-collapse { position: relative; z-index: 1; overflow-y: auto; } - #topbar .navbar-collapse > .navbar-nav { padding-top: 30px; } - #topbar .navbar-brand > img { max-height: 100%; } - #topbar .user_infos { text-decoration: none; } - #topbar .user_photo { position: absolute; display: block; @@ -115,7 +102,6 @@ footer { border-radius: 100%; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4); } - #topbar .user_fullname { display: inline-block; position: absolute; @@ -126,7 +112,6 @@ footer { text-overflow: ellipsis; overflow-x: hidden; } - /* Sidebar */ @media (min-width: 768px) { #sidebar { @@ -137,12 +122,10 @@ footer { /* Overriding BS */ height: 100%; } - #sidebar .user_card { padding: 30px 0px; text-align: center; } - #sidebar .user_card .user_photo { margin: 0px auto 10px auto; width: 80px; @@ -154,59 +137,48 @@ footer { border: 2px solid #FFFFFF; border-radius: 100%; } - #sidebar .user_card .user_infos { font-size: 1em; color: #FFFFFF; } - #sidebar .user_card .user_infos .dropdown-toggle { color: #FFFFFF; } - #sidebar .user_card .user_options.dropdown-menu { width: 92%; left: 4%; } - #sidebar .user_card .user_fullname { font-weight: 600; } - #sidebar .menu { max-height: 59%; overflow-y: auto; overflow-x: hidden; } - #sidebar .menu .navbar-nav { width: 100%; } - #sidebar .menu .navbar-nav > li { width: 100%; } - #sidebar .menu .navbar-nav > li > a > .brick_icon { width: 1.2em; vertical-align: sub; text-align: center; margin-right: 10px; } - #sidebar .logo { position: absolute; bottom: 15px; width: 100%; text-align: center; } - #sidebar .logo img { max-width: 100%; max-height: 50px; + /* Main content */ } - - /* Main content */ #main-wrapper { margin-top: 20px; } @@ -217,7 +189,6 @@ footer { width: 120px; height: 120px; } - #sidebar .menu .nav > li > a > .brick_icon { margin-right: 20px; } @@ -234,21 +205,17 @@ footer { background-color: black; opacity: 0.5; } - #page_overlay .overlay_content { margin-top: 20em; width: 100%; color: white; } - .overlay_content { text-align: center; } - .content_loader { text-align: center; } - .content_loader .icon { margin-bottom: 0.3em; /*width: 52px;*/ @@ -262,17 +229,14 @@ footer { -moz-animation: spin 1.2s linear infinite; -ms-animation: spin 1.2s linear infinite; } - .content_loader .message { font-size: 1.5em; /* 2em; */ } - .datatables_overlay { padding: 5% 0px !important; background-color: white; } - /******************/ /* Global classes */ /******************/ @@ -289,22 +253,19 @@ footer { -moz-box-align: center; -ms-flex-align: center; align-items: center; - /* Also 'margin: 0 auto' doesn't have any effect on flex items in such web browsers - hence the bootstrap's container won't be aligned to the center anymore. - - Therefore, we should use the following declarations to get it centered again */ -webkit-box-pack: center; + /* Also 'margin: 0 auto' doesn't have any effect on flex items in such web browsers + hence the bootstrap's container won't be aligned to the center anymore. + Therefore, we should use the following declarations to get it centered again */ -moz-box-pack: center; -ms-flex-pack: center; -webkit-justify-content: center; justify-content: center; } - .text_decoration { vertical-align: baseline; margin-right: 8px; } - /*********************/ /* Global animations */ /*********************/ @@ -336,12 +297,10 @@ footer { margin-top: 11px; margin-bottom: -11px; } - .list-group.tree .list-group-item { padding-right: 0px; /* To align all actions on the right without indent */ } - /******************/ /* Modal settings */ /******************/ @@ -349,12 +308,10 @@ footer { z-index: 9999; /* Should always be on top to display errors messages */ } - .modal-content .content_loader { margin: 7em 0em; text-align: center; } - /*******************/ /* Clipboard icons */ /*******************/ @@ -366,28 +323,23 @@ footer { .url-to-clipboard.url-to-clipboard-icon:hover { opacity: 1; } - .url-to-clipboard-tooltip-copied { color: green; margin-right: 3px; } - /**************************/ /* MagnificPopup settings */ /**************************/ .mfp-bg { z-index: 1200; } - .mfp-wrap { z-index: 1210; } - .mfp-img { cursor: pointer; cursor: zoom-out; } - /********************/ /* Typeahead setting */ /********************/ @@ -395,7 +347,6 @@ footer { max-height: 200px; overflow-y: auto; } - @media (min-width: 768px) { .twitter-typeahead .tt-menu { max-height: 300px; @@ -406,23 +357,19 @@ footer { text-align: center; font-size: 0.6em; } - .twitter-typeahead .tt-dataset > .content_loader .icon { height: 25px; } - .twitter-typeahead .tt-dataset .no_result { text-align: center; font-style: italic; } - /*****************/ /* Home settings */ /*****************/ .home #main-wrapper { padding-top: 15px; } - .home .tile { display: block; margin-bottom: 8px; @@ -438,27 +385,22 @@ footer { line-height: 4em; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); } - .home .tile .tile_decoration { position: absolute; top: 0.3em; left: 2.5em; } - .home .tile .tile_title { font-weight: bold; color: #777; } - .home .tile .tile_title > span.icon { color: #EA7D1E; } - .home .tile .tile_description { display: none; color: #555555; } - /**********************************/ /* ManageBrick badge tile display */ /**********************************/ @@ -466,15 +408,12 @@ footer { display: table; width: 100%; } - .home a.tile.tile_badge > div > div { display: table-row; } - .home a.tile.tile_badge > div > div > div { display: table-cell; } - @media (max-width: 768px) { .home a.tile.tile_badge > div > div > div.tile_body div.tile_count { position: absolute; @@ -483,7 +422,6 @@ footer { text-align: right; font-size: 1.2em; } - .home a.tile.tile_badge > div.tile_description { display: none; } @@ -497,11 +435,9 @@ footer { text-align: left; transition: all 0.2s linear; } - .home .tile:hover { box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1); } - .home .tile .tile_decoration { display: block; position: relative; @@ -510,38 +446,31 @@ footer { left: initial; margin: 0px 30px 15px 0px; } - .home .tile .tile_body { display: block; padding-left: 4.3em; text-align: left; line-height: 1.5em; } - .home .tile .tile_title { margin-bottom: 1em; font-size: 1em; } - .home .tile .tile_description { display: block; text-align: left; } - .home a.tile.tile_badge { height: 10em; overflow: hidden; } - .home a.tile.tile_badge > div > div > div.tile_decoration { top: unset; vertical-align: middle; } - .home a.tile.tile_badge > div > div > div.tile_decoration > span.icon { font-size: 4em; } - .home a.tile.tile_badge > div > div > div.tile_body { position: relative; padding: 0; @@ -549,14 +478,12 @@ footer { vertical-align: middle; text-align: right; } - .home a.tile.tile_badge > div > div > div.tile_body .tile_title { margin-top: 1em; margin-bottom: 0; font-size: 1em; font-weight: normal; } - .home a.tile.tile_badge > div > div > div.tile_body .tile_count { position: absolute; top: 0; @@ -565,7 +492,6 @@ footer { font-weight: bold; color: #777; } - .home a.tile.tile_badge .tile_description { display: none; } @@ -575,35 +501,27 @@ footer { min-height: 14em; padding: 30px 40px 30px 40px; } - .home .tile .tile_decoration > span.icon { font-size: 4em; } - .home .tile .tile_body { padding-left: 6.3em; } - .home .tile .tile_title { font-size: 1.4em; } - .home .tile .tile_description { font-size: 1.2em; } - .home a.tile.tile_badge > div > div > div.tile_body .tile_title { font-size: 1.2em; } - .home a.tile.tile_badge > div > div > div.tile_body .tile_count { font-size: 3em; } - .home a.tile.tile_badge > div > div > div.tile_decoration > span.icon { font-size: 4em; } - .home a.tile.tile_badge .tile_description { display: block; font-size: 1em; @@ -616,28 +534,22 @@ footer { min-height: 15em; padding: 40px 50px 30px 50px; } - .home .tile .tile_decoration { margin: 0px 40px 15px 0px; top: 1.5em; } - .home .tile .tile_decoration > span.icon { font-size: 6em; } - .home .tile .tile_body { padding-left: 9.1em; } - .home .tile .tile_title { font-size: 1.5em; } - .home .tile .tile_description { font-size: 1.2em; } - .home a.tile.tile_badge > div > div > div.tile_decoration > span.icon { font-size: 6em; } @@ -648,7 +560,6 @@ footer { #main-header { text-align: center; } - #main-header-title { margin-bottom: 15px; } @@ -657,30 +568,26 @@ footer { margin-top: 8px; margin-bottom: 20px; } - #main-header-actions { margin-bottom: 15px; } - /* This is no longer necessary but we keep it just in case */ /*#main-header-actions .btn-group .btn{ - padding: 0em 1.5em; - line-height: 2.4em; - font-size: 14px; - background-image: none; -}*/ + padding: 0em 1.5em; + line-height: 2.4em; + font-size: 14px; + background-image: none; + }*/ @media (min-width: 768px) { #main-header:after { clear: both; } - #main-header-title { float: left; margin-bottom: 0px; min-height: 6em; text-align: left; } - #main-header-actions { float: right; margin-bottom: 0px; @@ -689,29 +596,24 @@ footer { .dataTables_wrapper { padding: 10px 10px; } - .dataTable.table td img { max-width: 100%; height: initial !important; } - #brick_content_toolbar { /* margin: 10px 0px 6px 0px; */ padding: 10px; } - #brick_content_toolbar > div label { font-weight: normal; white-space: nowrap; text-align: left; } - #brick_content_toolbar > div label input { margin-left: 0.5em; display: inline-block; width: 130px; } - /***********************/ /* Brick communication */ /***********************/ @@ -722,13 +624,11 @@ footer { border: none; font-weight: initial; } - .home .tile_communication .carousel { margin-bottom: 0px; width: 100%; height: 200px; } - /**********************/ /* Brick user profile */ /**********************/ @@ -745,7 +645,6 @@ footer { background-color: black; opacity: 0.5; } - #user-profile-wrapper .user_profile_picture .preview { display: inline-block; position: relative; @@ -753,33 +652,27 @@ footer { max-height: 175px; overflow: hidden; } - #user-profile-wrapper .user_profile_picture .preview img { max-width: 100%; max-height: 100%; } - #user-profile-wrapper .user_profile_picture .actions { display: inline-block; vertical-align: top; /*middle;*/ margin-left: 5px; } - #user-profile-wrapper .user_profile_picture .actions .btn { display: block; position: relative; margin-bottom: 10px; } - #user-profile-wrapper .user_profile_picture .actions .btn:last-child { margin-bottom: 0px; } - #user-profile-wrapper .user_profile_picture .actions .btn.btn_edit { overflow: hidden; } - #user-profile-wrapper .user_profile_picture .actions .btn.btn_edit input { position: absolute; top: 0px; @@ -789,7 +682,6 @@ footer { opacity: 0; cursor: pointer; } - /****************/ /* Brick browse */ /****************/ @@ -799,11 +691,9 @@ footer { position: relative; margin-top: 0px; } - #brick_content_tree .list-group-item { padding-top: 0px; } - #brick_content_tree .list-group-item > .tree-item-wrapper { display: block; padding-top: 10px; @@ -811,58 +701,41 @@ footer { text-decoration: inherit; cursor: pointer; } - .list-group-item > .list-group-item-actions { /*display: none; Displaying actions only when hovering was not unanimous in the team */ position: absolute; top: 10px; right: 10px; } - -.list-group-item:hover > .list-group-item-actions, -.mosaic-group-item:hover > .mosaic-group-item-actions { +.list-group-item:hover > .list-group-item-actions, .mosaic-group-item:hover > .mosaic-group-item-actions { display: block; } - -.list-group-item .list-group-item-actions a:not(:first-child), -.mosaic-group-item .mosaic-group-item-actions a:not(:first-child) { +.list-group-item .list-group-item-actions a:not(:first-child), .mosaic-group-item .mosaic-group-item-actions a:not(:first-child) { margin-left: 10px; } - .list-group-item .keep-spinning { animation: spin 1s linear infinite; -webkit-animation: spin 1s linear infinite; -moz-animation: spin 1s linear infinite; -ms-animation: spin 1s linear infinite; } - .list-group.tree .list-group-item .list-group-item-description { display: block; margin-top: 3px; font-size: 0.8em; } - /* Secondary actions */ -.list-group-item-actions .group-actions-wrapper, -.mosaic-group-item-actions .group-actions-wrapper, -table .group-actions-wrapper { +.list-group-item-actions .group-actions-wrapper, .mosaic-group-item-actions .group-actions-wrapper, table .group-actions-wrapper { text-align: center; } - table .group-actions { position: relative; } - -.list-group-item-actions a.glyphicon-menu-hamburger, -.mosaic-group-item-actions a.glyphicon-menu-hamburger, -table .group-actions a.glyphicon-menu-hamburger { +.list-group-item-actions a.glyphicon-menu-hamburger, .mosaic-group-item-actions a.glyphicon-menu-hamburger, table .group-actions a.glyphicon-menu-hamburger { cursor: pointer; text-decoration: none; } - -.list-group-item-actions .item-action-wrapper, -.mosaic-group-item-actions .item-action-wrapper, -table .group-actions .item-action-wrapper { +.list-group-item-actions .item-action-wrapper, .mosaic-group-item-actions .item-action-wrapper, table .group-actions .item-action-wrapper { display: none; position: absolute; z-index: 5; @@ -872,48 +745,32 @@ table .group-actions .item-action-wrapper { -moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15); box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15); } - -.list-group-item-actions .item-action-wrapper .glyphicon, -.mosaic-group-item-actions .item-action-wrapper .glyphicon, -table .group-actions .item-action-wrapper .glyphicon { +.list-group-item-actions .item-action-wrapper .glyphicon, .mosaic-group-item-actions .item-action-wrapper .glyphicon, table .group-actions .item-action-wrapper .glyphicon { margin-right: 0.6em; } - -.list-group-item-actions .item-action-wrapper.collapse.in, -.mosaic-group-item-actions .item-action-wrapper.collapse.in, -table .group-actions .item-action-wrapper.collapse.in { +.list-group-item-actions .item-action-wrapper.collapse.in, .mosaic-group-item-actions .item-action-wrapper.collapse.in, table .group-actions .item-action-wrapper.collapse.in { display: block; } - -.list-group-item-actions .item-action-wrapper .panel-body > p, -.mosaic-group-item-actions .item-action-wrapper .panel-body > p, -table .group-actions .item-action-wrapper .panel-body > p { +.list-group-item-actions .item-action-wrapper .panel-body > p, .mosaic-group-item-actions .item-action-wrapper .panel-body > p, table .group-actions .item-action-wrapper .panel-body > p { text-align: left; white-space: nowrap; } - -.list-group-item-actions .item-action-wrapper .panel-body > p:last-child, -.mosaic-group-item-actions .item-action-wrapper .panel-body > p:last-child, -table .group-actions .item-action-wrapper .panel-body > p:last-child { +.list-group-item-actions .item-action-wrapper .panel-body > p:last-child, .mosaic-group-item-actions .item-action-wrapper .panel-body > p:last-child, table .group-actions .item-action-wrapper .panel-body > p:last-child { margin-bottom: 0px; } - #brick_content_empty { display: none; padding: 40px; font-size: 1.3em; font-style: italic; } - /* Loader */ -#brick_tree_overlay, -#brick_mosaic_overlay { +#brick_tree_overlay, #brick_mosaic_overlay { display: none; padding: 8% 0px; border-radius: 0px 0px 4px 4px; font-size: 1em; } - /****************************************************************/ /* - Mosaic mode */ /* */ @@ -931,7 +788,6 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { position: relative; padding: 10px 10px 1px 10px; } - /* Breadcrumb */ #mosaic-breadcrumb { margin-bottom: 5px; @@ -941,29 +797,23 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { overflow-x: hidden; text-overflow: ellipsis; } - .mosaic-group { display: none; } - /* Only the first level is showed by default */ .mosaic-group:first-of-type { display: block; } - -.mosaic-group-back, -.mosaic-group-item { +.mosaic-group-back, .mosaic-group-item { position: relative; height: 55px; margin-bottom: 10px; text-align: center; color: #FFFFFF; } - .mosaic-group-back { font-size: 25px; } - .mosaic-item { display: table; width: 100%; @@ -972,95 +822,71 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { background-color: #585653; transition: all linear 0.3s; } - -.mosaic-item, -.mosaic-item:hover, -.mosaic-item:active, -.mosaic-item:focus, -.mosaic-item:visited { +.mosaic-item, .mosaic-item:hover, .mosaic-item:active, .mosaic-item:focus, .mosaic-item:visited { color: #FFFFFF; text-decoration: none; } - .mosaic-item:active { background-color: #9e510f; } - -.mosaic-item-image, -.mosaic-item-text { +.mosaic-item-image, .mosaic-item-text { display: table-cell; text-align: center; vertical-align: middle; } - .mosaic-item-image > img { max-width: 85%; } - .mosaic-item-text { max-width: 1px; /* This is an arbitrary value. It is just here to make .mosaic-item-name wrap when there is a very long word in it. */ overflow: hidden; } - .mosaic-group-item > .mosaic-group-item-actions { position: absolute; top: 5px; right: 5px; } - .mosaic-group-item-actions > a { color: #FFFFFF; text-decoration: none; } - -.mosaic-group-item-actions > a:hover, -.mosaic-group-item-actions > a:focus { +.mosaic-group-item-actions > a:hover, .mosaic-group-item-actions > a:focus { color: #EEEEEE; } - @media (max-width: 768px) { .mosaic-group-item > .mosaic-group-item-actions { top: 12px; right: 6px; } - .mosaic-group-item > .mosaic-group-item-actions > .glyphicon { margin-top: 5px; } - .mosaic-group-item-actions > a { font-size: 20px; + /* All layouts */ } - - /* All layouts */ .mosaic-item-image { width: 55px; padding: 10px; } - .mosaic-item-image > img { max-height: 30px; } - .mosaic-item-name { font-size: 14px; max-height: 50px; overflow: hidden; } - .mosaic-item-description { display: none; + /* Layout 2 */ } - - /* Layout 2 */ .mosaic-item-layout-2 .mosaic-item-description { display: block; + /* Layout 5/7 */ } - - /* Layout 5/7 */ - .mosaic-item-layout-5 .mosaic-item-name, -.mosaic-item-layout-7 .mosaic-item-name { + .mosaic-item-layout-5 .mosaic-item-name, .mosaic-item-layout-7 .mosaic-item-name { padding-right: 40px; } } @@ -1073,26 +899,21 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { /* We don't put 2% to keep a margin in case of a bad browser rendering */ word-break: break-word; } - .mosaic-item { padding: 10px; } - - .mosaic-item:hover, -.mosaic-item:focus { + .mosaic-item:hover, .mosaic-item:focus { background-color: #EA7D1E; box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2); + /* All layouts */ + /* .mosaic-item-image{ + vertical-align: inherit; Note: This was introduced to avoid image from going down the tile when .mosaic-item-name was way too long, but the .mosaic-item-image glitched by being a little too high. As a very long .mosaic-item-name is extremely rare, we decided that it was not worth it. + }*/ } - - /* All layouts */ - /* .mosaic-item-image{ - vertical-align: inherit; Note: This was introduced to avoid image from going down the tile when .mosaic-item-name was way too long, but the .mosaic-item-image glitched by being a little too high. As a very long .mosaic-item-name is extremely rare, we decided that it was not worth it. - }*/ .mosaic-item-text .mosaic-item-text-wrapper { max-height: 100px; /* Must be .mosaic-item absolute height (in px) */ } - .mosaic-item-name { max-height: 100%; /* It's ok if description is pushed down and not visible; but we truncate before it flows out of the tile */ @@ -1100,41 +921,32 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { font-weight: 600; font-size: 12px; } - .mosaic-item-description { overflow: hidden; text-overflow: ellipsis; + /* Layout 1 */ } - - /* Layout 1 */ .mosaic-item-layout-1 .mosaic-item-name { font-weight: inherit; font-size: 14px; + /* Layout 7 */ } - - /* Layout 7 */ .mosaic-item-layout-7 .mosaic-item-image { display: none; } - - .mosaic-item-layout-3 .mosaic-item-description, -.mosaic-item-layout-7 .mosaic-item-description { + .mosaic-item-layout-3 .mosaic-item-description, .mosaic-item-layout-7 .mosaic-item-description { margin-top: 10px; max-height: 40px; font-size: 10px; + /* Layout 5 & 7 */ } - - /* Layout 5 & 7 */ - .mosaic-item-layout-5 .mosaic-item-image, -.mosaic-item-layout-7 .mosaic-item-image { + .mosaic-item-layout-5 .mosaic-item-image, .mosaic-item-layout-7 .mosaic-item-image { display: table-cell; width: 65px; padding-left: 5px; padding-right: 10px; } - - .mosaic-item-layout-5 .mosaic-item-image > img, -.mosaic-item-layout-7 .mosaic-item-image > img { + .mosaic-item-layout-5 .mosaic-item-image > img, .mosaic-item-layout-7 .mosaic-item-image > img { max-width: 65px; /* Equals parent element width */ max-height: 100px; @@ -1145,28 +957,21 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { .mosaic-item { padding: 10px 15px; } - .mosaic-group-back { font-size: 40px; + /* Layout 5 & 7 */ } - - /* Layout 5 & 7 */ - .mosaic-item-layout-5 .mosaic-item-image, -.mosaic-item-layout-7 .mosaic-item-image { + .mosaic-item-layout-5 .mosaic-item-image, .mosaic-item-layout-7 .mosaic-item-image { width: 105px; padding-right: 18px; } - - .mosaic-item-layout-5 .mosaic-item-image > img, -.mosaic-item-layout-7 .mosaic-item-image > img { + .mosaic-item-layout-5 .mosaic-item-image > img, .mosaic-item-layout-7 .mosaic-item-image > img { max-width: 105px; /* Equals parent element width */ max-height: 100px; /* Equals parent element height */ } - - .mosaic-item-layout-5 .mosaic-item-name, -.mosaic-item-layout-7 .mosaic-item-name { + .mosaic-item-layout-5 .mosaic-item-name, .mosaic-item-layout-7 .mosaic-item-name { font-size: 12px; } } @@ -1175,17 +980,14 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { width: 24%; height: 140px; margin-right: 1.3%; + /* All layouts */ } - - /* All layouts */ .mosaic-item-text .mosaic-item-text-wrapper { max-height: 120px; /* Must be .mosaic-item absolute height (in px) */ /* overflow hidden inherited */ } - - .mosaic-item-layout-5 .mosaic-item-image > img, -.mosaic-item-layout-7 .mosaic-item-image > img { + .mosaic-item-layout-5 .mosaic-item-image > img, .mosaic-item-layout-7 .mosaic-item-image > img { max-height: 120px; /* Equals parent element height */ } @@ -1215,15 +1017,12 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { .tile.tile-filter-brick a.tile_decoration { cursor: default; } - .tile.tile-filter-brick .tile_filterbox .form-group:first-child { width: 100%; } - -.tile.tile-filter-brick .tile_filterbox input[type=text] { +.tile.tile-filter-brick .tile_filterbox input[type="text"] { width: 100%; } - @media (max-width: 768px) { .tile.tile-filter-brick .tile_filterbox .form-group:first-child { margin-bottom: 5px; @@ -1233,12 +1032,10 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { .tile.tile-filter-brick .tile_filterbox form { display: table; } - .tile.tile-filter-brick .tile_filterbox .form-group:first-child { display: table-cell; } - - .tile.tile-filter-brick .tile_filterbox button[type=submit] { + .tile.tile-filter-brick .tile_filterbox button[type="submit"] { margin-left: 5px; } } @@ -1250,358 +1047,64 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { /*********/ /* Forms */ /*********/ -.form_field_label > .control-label[data-tooltip-instantiated=true]::after { - content: "?"; - padding-left: 3px; - vertical-align: top; - cursor: pointer; - color: #777; - font-size: 0.85em; -} - .form_field .form_mandatory .control-label:after { - content: "*"; + content: "\002a"; position: relative; left: 3px; color: #EA7D1E; font-size: 0.9em; } - /* Note: We don't put the .form_field selector as it must work for read-only */ .form-control-static img { max-width: 100% !important; height: initial !important; } - /* ExternalKey */ .selectobject .input-group-addon { cursor: pointer; } - /* InlineImage */ .inline-image { cursor: pointer; cursor: zoom-in; } - /* CaseLog field */ -.caselog-thread { - position: relative; +.caselog_field_entry { border: 1px solid #ddd; border-top: none; } - -.caselog-thread--header { - padding: 8px; - font-size: 11px; - background-color: rgba(242, 242, 242, 0.38); - border-bottom: 1px solid #ddd; +.caselog_field_entry_header { + padding: 6px; + font-size: 0.9em; + border-bottom: 1px solid #FFFFFF; + background-color: #F2F2F2; } -.caselog-thread--header span { - color: #777; - /* body: color */ -} - -.caselog-thread--header-toggler { - cursor: pointer; - color: inherit; - text-decoration: none; -} -.caselog-thread--header-toggler:hover, .caselog-thread--header-toggler:active, .caselog-thread--header-toggler:focus { - color: inherit; - text-decoration: none; -} -.caselog-thread--header-toggler:not(:first-child)::before { - content: "-"; - margin: 0 0.4em 0 0.2em; - /* Note: Difference between left and right margin is due to a left space being output because the line break in the HTML isn't tidy */ -} - -.caselog-thread--header-info > span { - margin-left: 0.5em; -} -.caselog-thread--header-info > span > span { - margin-left: 0.5em; -} -.caselog-thread--header-info > span:first-child { - margin-left: 0; -} - -.caselog-thread--content { - padding: 5px; - /*max-height: 400px; - overflow: auto;*/ - background-color: #f2f2f2; -} - -.caselog-thread--date { - margin-bottom: 10px; - text-align: center; - color: #808080; -} -.caselog-thread--date:first-child { - display: none; -} - -.caselog-thread--block { - position: relative; - min-height: 40px; - /* .caselog-thread--block-medallion height */ - margin-bottom: 15px; -} -.caselog-thread--block:last-child { - margin-bottom: 0px; -} - -.caselog-thread--block-medallion, -.caselog-thread--block-entries { - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); -} - -.caselog-thread--block-medallion { - position: absolute; - top: 0px; - left: 0px; - width: 40px; - height: 40px; - text-align: center; - line-height: 40px; - font-size: 18px; - color: #FFFFFF; - /* .caselog-thread--block-entries color */ - background-size: 100%; - /* Full size is necessary for images with filled background to fit nicely in the medallion, even if this means that images with a transparent background might appear cropped */ - background-position: center center; - background-color: #585653; - /* .caselog-thread--block-entries background-color */ - background-repeat: no-repeat; - border-radius: 100%; -} - -.caselog-thread--block-user { - display: none; - margin-left: 54px; - font-size: 12px; - font-weight: bold; - color: #FFFFFF; - /* .caselog-thread--block-entries background-color */ -} - -.caselog-thread--block-entries { - position: relative; - display: inline-block; - margin-left: 60px; - max-width: calc(100% - 60px); - background-color: #585653; - color: #FFFFFF; -} - -.caselog-thread--block-entry { - position: relative; - padding: 8px 10px; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); -} -.caselog-thread--block-entry img { - max-width: 100%; -} -.caselog-thread--block-entry.closed { - cursor: pointer; -} -.caselog-thread--block-entry.closed .caselog-thread--block-entry-content { - height: 0px; - overflow-y: hidden; -} -.caselog-thread--block-entry.closed .caselog-thread--block-entry-content:after { - content: "..."; - position: absolute; - top: 10px; - left: 9px; -} -.caselog-thread--block-entry:first-child .caselog-thread--block-entry-content:before { - content: ""; - position: absolute; - top: 0px; - left: -15px; +.caselog_field_entry_button { + display: block; width: 15px; height: 15px; - border: 8px solid transparent; - border-top-color: #585653; - /* .caselog-thread--block-entries background-color */ - border-right-color: #585653; - /* .caselog-thread--block-entries background-color */ -} -.caselog-thread--block-entry:last-child { - border-bottom: none; -} -.caselog-thread--block-entry:hover .caselog-thread--block-entry-date { - opacity: 1; -} -.caselog-thread--block-entry:hover:not(.closed) .caselog-thread--block-entry-toggler { - opacity: 1; -} - -.caselog-thread--block-entry-content { - display: block; - overflow-x: auto; - /* Force user-generated tables to fit within the container as they often have an hard-coded width */ -} -.caselog-thread--block-entry-content > p:last-of-type { - margin-bottom: 0px; -} -.caselog-thread--block-entry-content table { - width: unset !important; - max-width: max-content; -} - -.caselog-thread--block-entry-date { - margin-top: 5px; - opacity: 0.6; - font-size: 10px; - text-align: right; - transition: all 0.2s linear; -} - -.caselog-thread--block-entry-toggler { - position: absolute; - top: 2px; - right: 5px; - padding: 2px 5px; - opacity: 0; + text-align: center; + line-height: 15px; + font-size: 16px; + border: 1px solid #a6a6a6; + border-bottom-color: #979797; cursor: pointer; - background-color: #585653; - /* .caselog-thread--block-entries background-color */ - transition: all 0.2s linear; } - -.caselog-thread--block-me { - text-align: right; +.caselog_field_entry_button:hover { + background-color: #cccccc; } -.caselog-thread--block-me .caselog-thread--block-medallion { - left: initial; - right: 0px; +.caselog_field_entry_button:before { + content: "▴"; } -.caselog-thread--block-me .caselog-thread--block-user { - display: none; - margin-left: initial; - margin-right: 54px; +.caselog_field_entry_button.collapsed:before { + content: "▾"; } -.caselog-thread--block-me .caselog-thread--block-entries { - margin-left: initial; - margin-right: 60px; - text-align: right; +.caselog_field_entry_content { + margin: 10px; + overflow-x: auto; } -.caselog-thread--block-me .caselog-thread--block-entries .caselog-thread--block-entry { - text-align: left; -} -.caselog-thread--block-me .caselog-thread--block-entries .caselog-thread--block-entry .caselog-thread--block-entry-toggler { - right: initial; - left: 5px; -} -.caselog-thread--block-me .caselog-thread--block-entries .caselog-thread--block-entry:first-child .caselog-thread--block-entry-content:before { - left: initial; - right: -15px; - border-right-color: transparent; - border-left-color: #585653; - /* .caselog-thread--block-entries background-color */ -} - -.caselog-thread--block-color-1 .caselog-thread--block-medallion { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-1 .caselog-thread--block-user { - color: #FFFFFF; -} -.caselog-thread--block-color-1 .caselog-thread--block-entries { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-1 .caselog-thread--block-entries .caselog-thread--block-entry .caselog-thread--block-entry-toggler { - background-color: #FFFFFF; -} -.caselog-thread--block-color-1 .caselog-thread--block-entries .caselog-thread--block-entry:first-child .caselog-thread--block-entry-content:before { - border-top-color: #FFFFFF; - border-right-color: #FFFFFF; -} - -.caselog-thread--block-color-2 .caselog-thread--block-medallion { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-2 .caselog-thread--block-user { - color: #FFFFFF; -} -.caselog-thread--block-color-2 .caselog-thread--block-entries { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-2 .caselog-thread--block-entries .caselog-thread--block-entry .caselog-thread--block-entry-toggler { - background-color: #FFFFFF; -} -.caselog-thread--block-color-2 .caselog-thread--block-entries .caselog-thread--block-entry:first-child .caselog-thread--block-entry-content:before { - border-top-color: #FFFFFF; - border-right-color: #FFFFFF; -} - -.caselog-thread--block-color-3 .caselog-thread--block-medallion { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-3 .caselog-thread--block-user { - color: #FFFFFF; -} -.caselog-thread--block-color-3 .caselog-thread--block-entries { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-3 .caselog-thread--block-entries .caselog-thread--block-entry .caselog-thread--block-entry-toggler { - background-color: #FFFFFF; -} -.caselog-thread--block-color-3 .caselog-thread--block-entries .caselog-thread--block-entry:first-child .caselog-thread--block-entry-content:before { - border-top-color: #FFFFFF; - border-right-color: #FFFFFF; -} - -.caselog-thread--block-color-4 .caselog-thread--block-medallion { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-4 .caselog-thread--block-user { - color: #FFFFFF; -} -.caselog-thread--block-color-4 .caselog-thread--block-entries { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-4 .caselog-thread--block-entries .caselog-thread--block-entry .caselog-thread--block-entry-toggler { - background-color: #FFFFFF; -} -.caselog-thread--block-color-4 .caselog-thread--block-entries .caselog-thread--block-entry:first-child .caselog-thread--block-entry-content:before { - border-top-color: #FFFFFF; - border-right-color: #FFFFFF; -} - -.caselog-thread--block-color-5 .caselog-thread--block-medallion { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-5 .caselog-thread--block-user { - color: #FFFFFF; -} -.caselog-thread--block-color-5 .caselog-thread--block-entries { - color: #444; - background-color: #FFFFFF; -} -.caselog-thread--block-color-5 .caselog-thread--block-entries .caselog-thread--block-entry .caselog-thread--block-entry-toggler { - background-color: #FFFFFF; -} -.caselog-thread--block-color-5 .caselog-thread--block-entries .caselog-thread--block-entry:first-child .caselog-thread--block-entry-content:before { - border-top-color: #FFFFFF; - border-right-color: #FFFFFF; -} - /* collapsable sections*/ -.form_linkedset_toggler, .form_linkedset_toggler:hover, .form_linkedset_toggler:focus, .form_upload_toggler, .form_upload_toggler:hover, .form_upload_toggler:focus { +.form_linkedset_toggler, .form_upload_toggler, .form_linkedset_toggler:hover, .form_upload_toggler:hover, .form_linkedset_toggler:focus, .form_upload_toggler:focus { text-decoration: none; color: inherit; } @@ -1623,30 +1126,24 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { .form_linkedset_toggler > .glyphicon.collapsed, .form_upload_toggler > .glyphicon.collapsed { transform: rotateZ(-90deg); } - /* - DataTables : Loader */ .form_linkedset_wrapper .datatables_overlay { padding: 8px !important; } - .form_linkedset_wrapper .overlay_content { font-size: 0.6em; } - .form_linkedset_wrapper .content_loader { margin: 0px; } - .form_linkedset_wrapper .content_loader .icon { height: 23px; } - /* - DataTables : Fit the table in the form */ .form_linkedset_wrapper .dataTables_wrapper { margin-bottom: 5px; padding: 0px; } - /* FileUpload */ .attachments_container .attachments-list thead > tr > th { text-align: center; @@ -1656,28 +1153,29 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { text-align: left; vertical-align: middle; } -.attachments_container .attachments-list tbody > tr > td[role=icon] { +.attachments_container .attachments-list tbody > tr > td[role="icon"] { text-align: center; } -.attachments_container .attachments-list tbody > tr > td[role=icon] img { +.attachments_container .attachments-list tbody > tr > td[role="icon"] img { max-height: 32px; } -.attachments_container .attachments-list tbody > tr > td[role=formatted-size] { +.attachments_container .attachments-list tbody > tr > td[role="formatted-size"] { text-align: right; } -.attachments_container .attachments-list tbody > tr > td[role=delete] { +.attachments_container .attachments-list tbody > tr > td[role="delete"] { text-align: center; } - .attachment-tooltip { + width: 350px; + height: 300px; +} +.attachment-tooltip img { max-width: 100%; max-height: 100%; } - .upload_container input { display: inline; } - .upload_container .loader { visibility: hidden; margin-left: 7px; @@ -1687,28 +1185,23 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { -moz-animation: spin 1s linear infinite; -ms-animation: spin 1s linear infinite; } - #drag_overlay { display: block; top: inherit; bottom: 0px; height: 0px; } - #drag_overlay .overlay_content { margin-top: 5em; width: 100%; color: white; } - #drag_overlay .overlay_content .icon { font-size: 3em; } - #drag_overlay .overlay_content .message { font-size: 1.5em; } - /* Attachments drag & drop zone, only for none mobile devices */ @media (min-width: 768px) { #drag_overlay.drag_in { @@ -1717,14 +1210,12 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { -moz-animation: show-drop-zone 0.3s ease-out forwards; -ms-animation: show-drop-zone 0.3s ease-out forwards; } - #drag_overlay.drag_out { animation: hide-drop-zone 0.3s ease-out forwards; -webkit-animation: hide-drop-zone 0.3s ease-out forwards; -moz-animation: hide-drop-zone 0.3s ease-out forwards; -ms-animation: hide-drop-zone 0.3s ease-out forwards; } - @keyframes show-drop-zone { 100% { height: 20%; @@ -1782,47 +1273,37 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { .form_fields .file_open_link { margin-left: 10px; } - .form_buttons { padding-top: 20px; text-align: center; } - .form_buttons .form_btn_misc { margin-bottom: 20px; } - .form_buttons .form_btn_transitions { margin-bottom: 20px; } - .form_buttons .btn .glyphicon { margin-right: 0.5em; } - .form_btn_regular.sticky { display: none; } - @media (min-width: 768px) { .form_buttons .form_btn_misc { float: left !important; } - .form_buttons .form_btn_transitions { float: right !important; margin-left: 3px; } - .form_buttons .form_btn_regular { text-align: right; } - .form_buttons .form_btn_regular .btn { width: inherit; + /* Making regular button sticky */ } - - /* Making regular button sticky */ .form_btn_regular.sticky { display: block; position: fixed; @@ -1835,15 +1316,12 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { border-radius: 0px; transition: right 0.3s; } - .form_btn_regular.sticky.closed { right: -75px; } - .form_btn_regular.sticky button { display: block; } - .form_btn_regular.sticky button:first-child { margin-bottom: 4px; } @@ -1852,13 +1330,11 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { .form_field .cke { border: 1px solid #ddd; } - .form_field.has-error .cke { border: 1px solid #b94a48; border-radius: 0px; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); } - /* CKEditor : Styling notifications based on BS alerts */ .cke_notification { position: relative; @@ -1868,65 +1344,54 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child { border-radius: 4px; background-color: #FFFFFF; } - .cke_notification_close { position: absolute; top: 2px; right: 5px; } - .cke_notification_message { margin-bottom: 0px; line-height: 1em; font-size: 1em; } - .cke_notification_success { display: none; background-color: #dff0d8; border-color: #58a959; color: #468847; } - .cke_notification_warning { background-color: #fcf8e3; border-color: #ceae78; color: #c09853; } - /* CKEditor : Misc */ -.cke_toolbox_collapser, -.cke_toolbox_collapser .cke_arrow { +.cke_toolbox_collapser, .cke_toolbox_collapser .cke_arrow { cursor: pointer !important; } - -.cke_toolbox_collapser.cke_toolbox_collapser_min ~ .editor-fullscreen-button { - display: block; - width: 12px; - height: 11px; - border: 1px solid #ddd; - cursor: pointer; - /* !important so it overrides the .cke_reset_all style */ - background-position: center center !important; - background-repeat: no-repeat !important; - background-size: 100% !important; - background-image: url("../../../../../images/full-screen.png") !important; -} -.cke_toolbox_collapser.cke_toolbox_collapser_min ~ .editor-fullscreen-button:hover { - background-color: #E5E5E5; -} - /* DataTables : Selection inputs */ -.dataTable.table th span.row_input, -.dataTable.table td span.row_input { +.dataTable.table th span.row_input, .dataTable.table td span.row_input { display: inline-block; width: 100%; text-align: center; } - /* Wiki text (hyperlinks) */ .wiki_broken_link { text-decoration: line-through; } - -/*# sourceMappingURL=portal.css.map */ +@media print { + /* Prevent URLs from being displayed */ + a[href]::after, img[src]::after { + content: none !important; + /* Force modals to be displayed one after another instead of stacked */ + } + .modal.in { + position: relative; + top: unset; + z-index: unset; + overflow-y: unset; + } + #drag_overlay { + display: none; + } +} diff --git a/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig b/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig index 885b7cea5..c5ab72f78 100644 --- a/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig +++ b/datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig @@ -50,9 +50,9 @@ {# - Bootstrap theme #} - + {# - Portal adjustments for BS theme #} - + {# Tippy for tooltips and Popper for their placement #}