N°2314 Introduce custom themes for iTop's console
@@ -982,7 +982,7 @@ EOF
|
||||
{
|
||||
$oPage->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery.iframe-transport.js');
|
||||
$oPage->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery.fileupload.js');
|
||||
$sEditMenu = "<div id=\"DashboardMenu\"><ul><li><img src=\"../images/pencil-menu.png\"><ul>";
|
||||
$sEditMenu = "<div id=\"DashboardMenu\"><ul><li><i class=\"top-right-icon icon-additional-arrow fas fa-pencil-alt\"></i><ul>";
|
||||
|
||||
$aActions = array();
|
||||
$sFile = addslashes($this->sDefinitionFile);
|
||||
|
||||
@@ -369,7 +369,7 @@ EOF;
|
||||
if (!$oPage->IsPrintableVersion())
|
||||
{
|
||||
$sMenuTitle = Dict::S('UI:ConfigureThisList');
|
||||
$sHtml = '<div class="itop_popup toolkit_menu" id="tk_'.$this->iListId.'"><ul><li><img src="../images/toolkit_menu.png?t='.utils::GetCacheBusterTimestamp().'"><ul>';
|
||||
$sHtml = '<div class="itop_popup toolkit_menu" id="tk_'.$this->iListId.'"><ul><li><i class="fas fa-tools"></i><i class="fas fa-caret-down"></i><ul>';
|
||||
|
||||
$oMenuItem1 = new JSPopupMenuItem('iTop::ConfigureList', $sMenuTitle, "$('#datatable_dlg_".$this->iListId."').dialog('open');");
|
||||
$aActions = array(
|
||||
|
||||
@@ -1880,11 +1880,11 @@ class MenuBlock extends DisplayBlock
|
||||
{
|
||||
if (count($aFavoriteActions) > 0)
|
||||
{
|
||||
$sHtml .= "<div class=\"itop_popup actions_menu\"><ul>\n<li>".Dict::S('UI:Menu:OtherActions')."\n<ul>\n";
|
||||
$sHtml .= "<div class=\"itop_popup actions_menu\"><ul>\n<li>".Dict::S('UI:Menu:OtherActions')."<i class=\"fas fa-caret-down\"></i>"."\n<ul>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sHtml .= "<div class=\"itop_popup actions_menu\"><ul>\n<li>".Dict::S('UI:Menu:Actions')."\n<ul>\n";
|
||||
$sHtml .= "<div class=\"itop_popup actions_menu\"><ul>\n<li>".Dict::S('UI:Menu:Actions')."<i class=\"fas fa-caret-down\"></i>"."\n<ul>\n";
|
||||
}
|
||||
|
||||
$sHtml .= $oPage->RenderPopupMenuItems($aActions, $aFavoriteActions);
|
||||
|
||||
@@ -837,6 +837,8 @@ JS
|
||||
protected function InitNewsroom()
|
||||
{
|
||||
$sNewsroomInitialImage = '';
|
||||
$aProviderParams = array();
|
||||
|
||||
if (MetaModel::GetConfig()->Get('newsroom_enabled') !== false)
|
||||
{
|
||||
$oUser = UserRights::GetUserObject();
|
||||
@@ -844,49 +846,47 @@ JS
|
||||
* @var iNewsroomProvider[] $aProviders
|
||||
*/
|
||||
$aProviders = MetaModel::EnumPlugins('iNewsroomProvider');
|
||||
$aProviderParams = array();
|
||||
foreach($aProviders as $oProvider)
|
||||
{
|
||||
$oProvider->SetConfig(MetaModel::GetConfig());
|
||||
$bProviderEnabled = appUserPreferences::GetPref('newsroom_provider_'.get_class($oProvider), true);
|
||||
if ($bProviderEnabled && $oProvider->IsApplicable($oUser))
|
||||
{
|
||||
$aProviderParams[] = array(
|
||||
'label' => $oProvider->GetLabel(),
|
||||
'fetch_url' => $oProvider->GetFetchURL(),
|
||||
'view_all_url' => $oProvider->GetViewAllURL(),
|
||||
'mark_all_as_read_url' => $oProvider->GetMarkAllAsReadURL(),
|
||||
'placeholders' => $oProvider->GetPlaceholders(),
|
||||
'ttl' => $oProvider->GetTTL(),
|
||||
);
|
||||
$bProviderEnabled = appUserPreferences::GetPref('newsroom_provider_'.get_class($oProvider),true);
|
||||
if ($bProviderEnabled && $oProvider->IsApplicable($oUser))
|
||||
{
|
||||
$aProviderParams[] = array(
|
||||
'label' => $oProvider->GetLabel(),
|
||||
'fetch_url' => $oProvider->GetFetchURL(),
|
||||
'view_all_url' => $oProvider->GetViewAllURL(),
|
||||
'mark_all_as_read_url' => $oProvider->GetMarkAllAsReadURL(),
|
||||
'placeholders' => $oProvider->GetPlaceholders(),
|
||||
'ttl' => $oProvider->GetTTL(),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Show newsroom only if there are some providers
|
||||
if (count($aProviderParams) > 0)
|
||||
{
|
||||
$sImageUrl= '../images/newsroom_menu.png';
|
||||
$sPlaceholderImageUrl= '../images/newsroom-message.svg';
|
||||
$aParams = array(
|
||||
'image_url' => $sImageUrl,
|
||||
'placeholder_image_url' => $sPlaceholderImageUrl,
|
||||
'cache_uuid' => 'itop-newsroom-'.UserRights::GetUserId().'-'.md5(APPROOT),
|
||||
'providers' => $aProviderParams,
|
||||
'display_limit' => (int)appUserPreferences::GetPref('newsroom_display_size', 7),
|
||||
'labels' => array(
|
||||
'no_message' => Dict::S('UI:Newsroom:NoNewMessage'),
|
||||
'mark_all_as_read' => Dict::S('UI:Newsroom:MarkAllAsRead'),
|
||||
'view_all' => Dict::S('UI:Newsroom:ViewAllMessages'),
|
||||
),
|
||||
);
|
||||
$sParams = json_encode($aParams);
|
||||
$this->add_ready_script(
|
||||
<<<EOF
|
||||
$('#top-left-newsroom-cell').newsroom_menu($sParams);
|
||||
}
|
||||
// Show newsroom only if there are some providers
|
||||
if (count($aProviderParams) > 0)
|
||||
{
|
||||
$sImageUrl= 'fas fa-comment-dots';
|
||||
$sPlaceholderImageUrl= 'far fa-envelope';
|
||||
$aParams = array(
|
||||
'image_icon' => $sImageUrl,
|
||||
'placeholder_image_icon' => $sPlaceholderImageUrl,
|
||||
'cache_uuid' => 'itop-newsroom-'.UserRights::GetUserId().'-'.md5(APPROOT),
|
||||
'providers' => $aProviderParams,
|
||||
'display_limit' => (int)appUserPreferences::GetPref('newsroom_display_size', 7),
|
||||
'labels' => array(
|
||||
'no_message' => Dict::S('UI:Newsroom:NoNewMessage'),
|
||||
'mark_all_as_read' => Dict::S('UI:Newsroom:MarkAllAsRead'),
|
||||
'view_all' => Dict::S('UI:Newsroom:ViewAllMessages'),
|
||||
),
|
||||
);
|
||||
$sParams = json_encode($aParams);
|
||||
$this->add_ready_script(
|
||||
<<<EOF
|
||||
$('#top-left-newsroom-cell').newsroom_menu($sParams);
|
||||
EOF
|
||||
);
|
||||
$sNewsroomInitialImage = '<img style="opacity:0.4" src="../images/newsroom_menu.png">';
|
||||
}
|
||||
);
|
||||
$sNewsroomInitialImage = '<i style="opacity:0.4" class="top-right-icon fas fa-comment-dots"></i>';
|
||||
}
|
||||
// else no newsroom menu
|
||||
return $sNewsroomInitialImage;
|
||||
@@ -1203,7 +1203,7 @@ EOF;
|
||||
{
|
||||
$sLogonMessage = Dict::Format('UI:LoggedAsMessage', $sUserName);
|
||||
}
|
||||
$sLogOffMenu = "<span id=\"logOffBtn\"><ul><li><img src=\"../images/on-off-menu.png\"><ul>";
|
||||
$sLogOffMenu = "<span id=\"logOffBtn\"><ul><li><i class=\"top-right-icon icon-additional-arrow fas fa-power-off\"></i><ul>";
|
||||
$sLogOffMenu .= "<li><span>$sLogonMessage</span></li>\n";
|
||||
$aActions = array();
|
||||
|
||||
@@ -1365,10 +1365,10 @@ EOF;
|
||||
$sHtml .= ' <table id="top-bar-table">';
|
||||
$sHtml .= ' <tr>';
|
||||
$sHtml .= ' <td id="open-left-pane" class="menu-pane-exclusive" style="'.$GoHomeInitialStyle.'" onclick="$(\'body\').layout().open(\'west\');">';
|
||||
$sHtml .= ' <img src="../images/menu.png">';
|
||||
$sHtml .= ' <i class="fas fa-bars"></i>';
|
||||
$sHtml .= ' </td>';
|
||||
$sHtml .= ' <td id="go-home" class="menu-pane-exclusive" style="'.$GoHomeInitialStyle.'">';
|
||||
$sHtml .= ' <a href="'.utils::GetAbsoluteUrlAppRoot().'pages/UI.php"><img src="../images/home.png"></a>';
|
||||
$sHtml .= ' <a href="'.utils::GetAbsoluteUrlAppRoot().'pages/UI.php"><i class="fas fa-home"></i></a>';
|
||||
$sHtml .= ' </td>';
|
||||
$sHtml .= ' <td class="top-bar-spacer menu-pane-exclusive" style="'.$GoHomeInitialStyle.'">';
|
||||
$sHtml .= ' </td>';
|
||||
@@ -1378,8 +1378,8 @@ EOF;
|
||||
$sHtml .= ' <td id="top-bar-table-search">';
|
||||
$sHtml .= ' <div id="global-search"><form action="'.utils::GetAbsoluteUrlAppRoot().'pages/UI.php">';
|
||||
$sHtml .= ' <table id="top-left-buttons-area"><tr>';
|
||||
$sHtml .= ' <td id="top-left-global-search-cell"><div id="global-search-area"><input id="global-search-input" type="text" name="text" placeholder="'.$sDefaultPlaceHolder.'" value="'.$sText.'"></input><div '.$sOnClick.' id="global-search-image"><input type="hidden" name="operation" value="full_text"/></div></div></td>';
|
||||
$sHtml .= ' <td id="top-left-help-cell"><a id="help-link" href="'.$sOnlineHelpUrl.'" target="_blank"><img title="'.Dict::S('UI:Help').'" src="../images/help.png?t='.utils::GetCacheBusterTimestamp().'"/></td>';
|
||||
$sHtml .= ' <td id="top-left-global-search-cell"><div id="global-search-area"><input id="global-search-input" type="text" name="text" placeholder="'.$sDefaultPlaceHolder.'" value="'.$sText.'"></input><div '.$sOnClick.' id="global-search-image"><i class="top-right-icon fa-flip-horizontal fas fa-search"></i><input type="hidden" name="operation" value="full_text"/></div></div></td>';
|
||||
$sHtml .= ' <td id="top-left-help-cell"><a id="help-link" href="'.$sOnlineHelpUrl.'" target="_blank" title="'.Dict::S('UI:Help').'"><i class="top-right-icon fas fa-question-circle"></i></a></td>';
|
||||
$sHtml .= ' <td id="top-left-newsroom-cell">'.$sNewsRoomInitialImage.'</td>';
|
||||
$sHtml .= ' <td id="top-left-logoff-cell">'.self::FilterXSS($sLogOffMenu).'</td>';
|
||||
$sHtml .= ' </tr></table></form></div>';
|
||||
|
||||
@@ -988,7 +988,7 @@ class SearchMenuNode extends MenuNode
|
||||
public function RenderContent(WebPage $oPage, $aExtraParams = array())
|
||||
{
|
||||
ApplicationMenu::CheckMenuIdEnabled($this->GetMenuId());
|
||||
$oPage->SetBreadCrumbEntry("menu-".$this->sMenuId, $this->GetTitle(), '', '', utils::GetAbsoluteUrlAppRoot().'images/search.png');
|
||||
$oPage->SetBreadCrumbEntry("menu-".$this->sMenuId, $this->GetTitle(), '', '', utils::GetAbsoluteUrlAppRoot().'images/breadcrumb-search.png');
|
||||
|
||||
$oSearch = new DBObjectSearch($this->sClass);
|
||||
$aParams = array_merge(array('table_id' => 'Menu_'.utils::GetSafeId($this->GetMenuId())), $aExtraParams);
|
||||
|
||||
@@ -46,8 +46,7 @@ class NiceWebPage extends WebPage
|
||||
{
|
||||
$this->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery-migrate.prod.min.js');
|
||||
}
|
||||
$this->add_linked_stylesheet(utils::GetAbsoluteUrlAppRoot().'css/ui-lightness/jquery-ui-1.11.4.custom.css');
|
||||
$this->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery-ui-1.11.4.custom.min.js');
|
||||
$this->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/jquery-ui-1.11.4.custom.min.js');
|
||||
$this->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/utils.js');
|
||||
$this->add_linked_script(utils::GetAbsoluteUrlAppRoot().'js/hovertip.js');
|
||||
// table sorting
|
||||
@@ -124,7 +123,8 @@ class NiceWebPage extends WebPage
|
||||
$("table.listResults").tableHover(); // hover tables
|
||||
EOF
|
||||
);
|
||||
$this->add_saas("css/light-grey.scss");
|
||||
$sCssThemeUrl = ThemeHandler::GetTheme();
|
||||
$this->add_linked_stylesheet($sCssThemeUrl);
|
||||
|
||||
$this->m_sRootUrl = $this->GetAbsoluteUrlAppRoot();
|
||||
$sAbsURLAppRoot = addslashes($this->m_sRootUrl);
|
||||
|
||||
74
application/themehandler.class.inc.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* * Copyright (C) 2013-2019 Combodo SARL
|
||||
* *
|
||||
* * 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
|
||||
*
|
||||
*/
|
||||
|
||||
use ScssPhp\ScssPhp\Compiler;
|
||||
|
||||
class ThemeHandler{
|
||||
|
||||
public static function GetTheme()
|
||||
{
|
||||
$sThemeId = MetaModel::GetConfig()->Get('backoffice_default_theme');
|
||||
$sEnvPath = APPROOT.'env-' . utils::GetCurrentEnvironment() .'/';
|
||||
$sThemePath = $sEnvPath.'/branding/themes/'.$sThemeId.'/';
|
||||
$aThemeParameters = json_decode(file_get_contents($sThemePath.'theme-parameters.json'), true);
|
||||
$sThemeCssPath = $sThemePath.'main.css';
|
||||
|
||||
$sTheme = '';
|
||||
$iStyleLastModified = 0;
|
||||
clearstatcache();
|
||||
// Loading files to import and stylesheet to compile, also getting most recent modification time on overall files
|
||||
foreach ($aThemeParameters['imports'] as $sImport)
|
||||
{
|
||||
$sTheme.= '@import "' . $sImport . '";' . "\n";
|
||||
|
||||
$iImportLastModified = filemtime($sEnvPath.$sImport);
|
||||
$iStyleLastModified = $iStyleLastModified < $iImportLastModified ? $iImportLastModified : $iStyleLastModified;
|
||||
}
|
||||
foreach ($aThemeParameters['stylesheets'] as $sStylesheet)
|
||||
{
|
||||
$sTheme.= '@import "' . $sStylesheet . '";'."\n";
|
||||
|
||||
$iStylesheetLastModified = filemtime($sEnvPath.$sStylesheet);
|
||||
$iStyleLastModified = $iStyleLastModified < $iStylesheetLastModified ? $iStylesheetLastModified : $iStyleLastModified;
|
||||
}
|
||||
|
||||
// Checking if our compiled css is outdated
|
||||
if (!file_exists($sThemeCssPath) || (is_writable($sThemePath) && (filemtime($sThemeCssPath) < $iStyleLastModified)))
|
||||
{
|
||||
$oScss = new Compiler();
|
||||
$oScss->setFormatter('ScssPhp\\ScssPhp\\Formatter\\Expanded');
|
||||
// Setting our xml variables
|
||||
$oScss->setVariables($aThemeParameters['variables']);
|
||||
// Setting our import path to env-*
|
||||
$oScss->setImportPaths($sEnvPath);
|
||||
// Temporary disabling max exec time while compiling
|
||||
$iCurrentMaxExecTime = (int) ini_get('max_execution_time');
|
||||
set_time_limit(0);
|
||||
// Compiling our theme
|
||||
$sThemeCss = $oScss->compile($sTheme);
|
||||
set_time_limit($iCurrentMaxExecTime);
|
||||
file_put_contents($sThemePath.'main.css', $sThemeCss);
|
||||
}
|
||||
// Return absolute url to theme compiled css
|
||||
return utils::GetAbsoluteUrlModulesRoot().'/branding/themes/'.$sThemeId.'/main.css';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ EOF
|
||||
|
||||
// the input for the auto-complete
|
||||
$sHTMLValue .= "<input class=\"field_autocomplete\" type=\"text\" id=\"label_$this->iId\" value=\"$sDisplayValue\"/>";
|
||||
$sHTMLValue .= "<span class=\"field_input_btn\"><img id=\"mini_search_{$this->iId}\" style=\"border:0;vertical-align:middle;cursor:pointer;\" src=\"../images/mini_search.gif?t=".utils::GetCacheBusterTimestamp()."\" onClick=\"oACWidget_{$this->iId}.Search();\"/></span>";
|
||||
$sHTMLValue .= "<span class=\"field_input_btn\"><div class=\"mini_button\" id=\"mini_search_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.Search();\"><i class=\"fas fa-search\"></i></div></span>";
|
||||
|
||||
// another hidden input to store & pass the object's Id
|
||||
$sHTMLValue .= "<input type=\"hidden\" id=\"$this->iId\" name=\"{$sAttrFieldPrefix}{$sFieldName}\" value=\"".htmlentities($value, ENT_QUOTES, 'UTF-8')."\" />\n";
|
||||
@@ -298,7 +298,7 @@ EOF
|
||||
}
|
||||
if ($bExtensions && MetaModel::IsHierarchicalClass($this->sTargetClass) !== false)
|
||||
{
|
||||
$sHTMLValue .= "<span class=\"field_input_btn\"><img id=\"mini_tree_{$this->iId}\" style=\"border:0;vertical-align:middle;cursor:pointer;\" src=\"../images/mini_tree.gif?t=".utils::GetCacheBusterTimestamp()."\" onClick=\"oACWidget_{$this->iId}.HKDisplay();\"/></span>";
|
||||
$sHTMLValue .= "<span class=\"field_input_btn\"><div class=\"mini_button\" id=\"mini_tree_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.HKDisplay();\"><i class=\"fas fa-sitemap\"></i></div></span>";
|
||||
$oPage->add_ready_script(
|
||||
<<<EOF
|
||||
if ($('#ac_tree_{$this->iId}').length == 0)
|
||||
@@ -312,7 +312,7 @@ EOF
|
||||
{
|
||||
$sCallbackName = (MetaModel::IsAbstract($this->sTargetClass)) ? 'SelectObjectClass' : 'CreateObject';
|
||||
|
||||
$sHTMLValue .= "<span class=\"field_input_btn\"><img id=\"mini_add_{$this->iId}\" style=\"border:0;vertical-align:middle;cursor:pointer;\" src=\"../images/mini_add.gif?t=".utils::GetCacheBusterTimestamp()."\" onClick=\"oACWidget_{$this->iId}.{$sCallbackName}();\"/></span>";
|
||||
$sHTMLValue .= "<span class=\"field_input_btn\"><div class=\"mini_button\" id=\"mini_add_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.{$sCallbackName}();\"><i class=\"fas fa-plus\"></i></div></span>";
|
||||
$oPage->add_ready_script(
|
||||
<<<EOF
|
||||
if ($('#ajax_{$this->iId}').length == 0)
|
||||
|
||||
@@ -1240,6 +1240,14 @@ class Config
|
||||
'source_of_value' => '',
|
||||
'show_in_conf_sample' => false,
|
||||
),
|
||||
'backoffice_default_theme' => array(
|
||||
'type' => 'string',
|
||||
'description' => 'Default theme used for '.ITOP_APPLICATION_SHORT.'\'s console',
|
||||
'default' => 'light-grey',
|
||||
'value' => '',
|
||||
'source_of_value' => '',
|
||||
'show_in_conf_sample' => false,
|
||||
),
|
||||
);
|
||||
|
||||
public function IsProperty($sPropCode)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Beware the version number MUST be enclosed with quotes otherwise v2.3.0 becomes v2 0.3 .0
|
||||
$version: "v2.7.0-dev";
|
||||
$approot-relative: "../../../../../"; // relative to env-***/branding/themes/***/main.css
|
||||
|
||||
// Base colors
|
||||
$gray-base: #000 !default;
|
||||
@@ -21,32 +22,57 @@ $combodo-dark-gray-dark: darken($combodo-dark-gray, 13.5%) !default;
|
||||
$combodo-dark-gray-darker: darken($combodo-dark-gray, 18%) !default;
|
||||
|
||||
// Vars
|
||||
$highlight-color: $combodo-orange;
|
||||
$grey-color: #555555;
|
||||
$complement-color: #1c94c4;
|
||||
$complement-light: #d6e8ef;
|
||||
$frame-background-color: $gray-extra-light;
|
||||
$text-color: #000;
|
||||
$box-radius: 0px;
|
||||
$box-shadow-regular: 0 1px 1px rgba(0, 0, 0, 0.15);
|
||||
$highlight-color: $combodo-orange !default;
|
||||
$grey-color: #555555 !default;
|
||||
$complement-color: #1c94c4 !default;
|
||||
$complement-light: #d6e8ef !default;
|
||||
$frame-background-color: $gray-extra-light !default;
|
||||
$text-color: #000 !default;
|
||||
$box-radius: 0px !default;
|
||||
$box-shadow-regular: 0 1px 1px rgba(0, 0, 0, 0.15) !default;
|
||||
|
||||
$hyperlink-color: $complement-color;
|
||||
$hyperlink-text-decoration: none;
|
||||
$hyperlink-color: $complement-color !default;
|
||||
$hyperlink-text-decoration: none !default;
|
||||
|
||||
////////////
|
||||
// Search //
|
||||
$search-criteria-box-color: #2D2D2D;
|
||||
$search-criteria-box-picto-color: #E87C1E;
|
||||
$search-criteria-box-bg-color: #EEEEEE;
|
||||
$search-criteria-box-hover-color: $white;
|
||||
$search-criteria-box-border-color: #CCCCCC;
|
||||
$search-criteria-box-border: 1px solid $search-criteria-box-border-color;
|
||||
$search-criteria-box-radius: 1px;
|
||||
$search-criteria-box-color: #2D2D2D !default;
|
||||
$search-criteria-box-picto-color: #E87C1E !default;
|
||||
$search-criteria-box-bg-color: #EEEEEE !default;
|
||||
$search-criteria-box-hover-color: $white !default;
|
||||
$search-criteria-box-border-color: #CCCCCC !default;
|
||||
$search-criteria-box-border: 1px solid $search-criteria-box-border-color !default;
|
||||
$search-criteria-box-radius: 1px !default;
|
||||
//
|
||||
$search-add-criteria-box-color: $search-criteria-box-color;
|
||||
$search-add-criteria-box-bg-color: $white;
|
||||
$search-add-criteria-box-hover-color: $gray-extra-light;
|
||||
$search-add-criteria-box-color: $search-criteria-box-color !default;
|
||||
$search-add-criteria-box-bg-color: $white !default;
|
||||
$search-add-criteria-box-hover-color: $gray-extra-light !default;
|
||||
//
|
||||
$search-button-box-color: $combodo-orange;
|
||||
$search-button-box-bg-color: $white;
|
||||
$search-button-box-bg-hover-color: $gray-extra-light;
|
||||
$search-button-box-color: $combodo-orange !default;
|
||||
$search-button-box-bg-color: $white !default;
|
||||
$search-button-box-bg-hover-color: $gray-extra-light !default;
|
||||
|
||||
// Console elements
|
||||
$summary-details-background: $grey-color !default;
|
||||
$main-header-background: $frame-background-color !default;
|
||||
$table-even-background: $frame-background-color !default;
|
||||
$popup-menu-highlight-color: $highlight-color !default;
|
||||
$popup-menu-text-color: #000 !default;
|
||||
$popup-menu-background-color: #fff !default;
|
||||
$popup-menu-text-higlight-color: #fff !default;
|
||||
$breadcrumb-color: #555 !default;
|
||||
$breadcrumb-text-color: #fff !default;
|
||||
$breadcrumb-highlight-color: $highlight-color !default;
|
||||
$breadcrumb-text-highlight-color: #fff !default;
|
||||
|
||||
// JQuery UI widgets vars
|
||||
$primary-text-color: #333333 !default;
|
||||
$secondary-text-color: $grey-color !default;
|
||||
$error-text-color: $white !default;
|
||||
$highlight-text-color: #363636 !default;
|
||||
$hover-background-color: #fde17c;
|
||||
$border-highlight-color: #f26522;
|
||||
$highlight-item-color: $white !default;
|
||||
$content-color: #eeeeee !default;
|
||||
$default-font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif !default;
|
||||
$icons-filter: hue-rotate(0deg) !default;
|
||||
3251
css/light-grey.css
@@ -1,35 +1,4 @@
|
||||
/*!
|
||||
* Copyright (C) 2013-2019 Combodo SARL
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
@import 'css-variables.scss';
|
||||
|
||||
$hilight-color: $highlight-color;
|
||||
$summary-details-background: $grey-color;
|
||||
$main-header-background: $frame-background-color;
|
||||
$table-even-background: $frame-background-color;
|
||||
$popup-menu-highlight-color: $highlight-color;
|
||||
$popup-menu-text-color: #000;
|
||||
$popup-menu-background-color: #fff;
|
||||
$popup-menu-text-higlight-color: #fff;
|
||||
$breadcrumb-color: #555;
|
||||
$breadcrumb-text-color: #fff;
|
||||
$breadcrumb-highlight-color: $highlight-color;
|
||||
$breadcrumb-text-highlight-color: #fff;
|
||||
//@import 'css-variables.scss';
|
||||
|
||||
/* CSS Document */
|
||||
body {
|
||||
@@ -96,7 +65,7 @@ label {
|
||||
}
|
||||
|
||||
.hilite, .hilite a, .hilite a:visited {
|
||||
color: $hilight-color;
|
||||
color: $highlight-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
table.datatable {
|
||||
@@ -114,7 +83,7 @@ table.listResults {
|
||||
border-bottom: 3px solid #e6e6e1;
|
||||
border-right: 3px solid #e6e6e1;
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
background-color: $white;
|
||||
}
|
||||
|
||||
table.listResults td {
|
||||
@@ -172,7 +141,7 @@ table.listResults > tbody > tr:hover > * {
|
||||
|
||||
&.compat {
|
||||
// Browser not supporting FileReader
|
||||
background-image: url("ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png");
|
||||
background-image: url($approot-relative + "css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=" + $version);
|
||||
img {
|
||||
opacity: 0.3;
|
||||
}
|
||||
@@ -198,7 +167,7 @@ table.listResults > tbody > tr:hover > * {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.ui-icon {
|
||||
background-image: url("ui-lightness/images/ui-icons_ffffff_256x240.png");
|
||||
background-image: url($approot-relative + "css/ui-lightness/images/ui-icons_ffffff_256x240.png?v=" + $version);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -212,7 +181,7 @@ table.listResults > tbody > tr:hover > * {
|
||||
.details .view-image {
|
||||
text-align: center;
|
||||
padding: 2px;
|
||||
border: 2px solid #DDDDDD;
|
||||
border: 2px solid $gray-lighter;
|
||||
border-radius: 6px;
|
||||
|
||||
img {
|
||||
@@ -247,11 +216,11 @@ tr.even td, .wizContainer tr.even td {
|
||||
}
|
||||
tr.red_even td, .wizContainer tr.red_even td {
|
||||
background-color: #f97e75;
|
||||
color: #fff;
|
||||
color: $white;
|
||||
}
|
||||
tr.red td, .wizContainer tr.red td {
|
||||
background-color: #f9a397;
|
||||
color: #fff;
|
||||
color: $white;
|
||||
}
|
||||
tr.orange_even td, .wizContainer tr.orange_even td {
|
||||
background-color: #f4d07a;
|
||||
@@ -288,15 +257,29 @@ th.header {
|
||||
}
|
||||
|
||||
th.headerSortUp {
|
||||
background-image: url(../images/asc.gif);
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
padding-right: 5px;
|
||||
&::after {
|
||||
text-align: right;
|
||||
content: '\f0d7';
|
||||
font-family: 'FontAwesome';
|
||||
color: $complement-color;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
th.headerSortDown {
|
||||
background-image: url(../images/desc.gif);
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
padding-right: 5px;
|
||||
&::after {
|
||||
text-align: right;
|
||||
content: '\f0d8';
|
||||
font-family: 'FontAwesome';
|
||||
color: $complement-color;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
td {
|
||||
@@ -319,7 +302,7 @@ td.label {
|
||||
td.label span {
|
||||
font-family: Tahoma, Verdana, Arial, Helvetica;
|
||||
font-size: 12px;
|
||||
color: #000000;
|
||||
color: $text-color;
|
||||
padding: 5px;
|
||||
padding-right: 10px;
|
||||
font-weight:bold;
|
||||
@@ -377,10 +360,10 @@ legend.transparent {
|
||||
}
|
||||
.cke_reset_all *:hover {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
}
|
||||
table.cke_dialog_contents a.cke_dialog_ui_button_ok {
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
border-color: $highlight-color;
|
||||
background: $highlight-color;
|
||||
}
|
||||
@@ -389,7 +372,7 @@ table.cke_dialog_contents a.cke_dialog_ui_button_ok {
|
||||
}
|
||||
td a.no-arrow, td a.no-arrow:visited, .SearchDrawer a.no-arrow, .SearchDrawer a.no-arrow:visited {
|
||||
text-decoration:none;
|
||||
color:#000000;
|
||||
color: $text-color;
|
||||
padding-left:0px;
|
||||
background: inherit;
|
||||
}
|
||||
@@ -419,7 +402,7 @@ td a:visited{
|
||||
a.small_action {
|
||||
font-family: Tahoma, Verdana, Arial, Helvetica;
|
||||
font-size: 8pt;
|
||||
color: #000000;
|
||||
color: $text-color;
|
||||
text-decoration:none;
|
||||
}
|
||||
.display_block {
|
||||
@@ -432,10 +415,10 @@ a.small_action {
|
||||
padding-left: 5px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
background: $highlight-color url(../images/actions_left.png?v=#{$version}) no-repeat left;
|
||||
background: $highlight-color;
|
||||
}
|
||||
.actions_details span{
|
||||
background: url(../images/actions_right.png?v=#{$version}) no-repeat right;
|
||||
background: url($approot-relative + "images/actions_right.png?v=" + $version) no-repeat right;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
padding-top: 2px;
|
||||
@@ -452,15 +435,15 @@ a.small_action {
|
||||
}
|
||||
|
||||
input.textSearch {
|
||||
border:1px solid #000;
|
||||
border:1px solid $gray-base;
|
||||
font-family:Tahoma,Verdana, Arial, Helvetica, sans-serif;
|
||||
font-size: 12px;
|
||||
color:#000000;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
.ac_input {
|
||||
border: 1px solid #7f9db9;
|
||||
background: #fff url(../images/ac-background.gif) no-repeat right;
|
||||
background: #fff url($approot-relative + "images/ac-background.gif?v=" + $version) no-repeat right;
|
||||
}
|
||||
/* By Rom */
|
||||
.csvimport_createobj {
|
||||
@@ -477,17 +460,17 @@ input.textSearch {
|
||||
background-color:#EEEEEE;
|
||||
}
|
||||
.csvimport_ok {
|
||||
color: #000000;
|
||||
color: $text-color;
|
||||
background-color:#BBFFBB;
|
||||
}
|
||||
.csvimport_reconkey {
|
||||
font-style: italic;
|
||||
color: #888888;
|
||||
background-color:#FFFFFF;
|
||||
background-color: $white;
|
||||
}
|
||||
.csvimport_extreconkey {
|
||||
color: #888888;
|
||||
background-color:#FFFFFF;
|
||||
background-color: $white;
|
||||
}
|
||||
#accordion {
|
||||
display:none;
|
||||
@@ -520,7 +503,7 @@ input.textSearch {
|
||||
noborder-top: 1px solid #8b8b8b;
|
||||
padding: 4px 0px 0px 16px;
|
||||
font-size:8pt;
|
||||
background: url(../images/green-square.gif) no-repeat bottom left;
|
||||
background: url($approot-relative + "images/green-square.gif?v=" + $version) no-repeat bottom left;
|
||||
color:#83b217;
|
||||
font-weight:bold;
|
||||
text-decoration:none;
|
||||
@@ -544,34 +527,52 @@ div.ui-accordion-content {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.ui-accordion-content li {
|
||||
color:$grey-color;
|
||||
text-decoration:none;
|
||||
.ui-accordion-content li {
|
||||
color: $grey-color;
|
||||
text-decoration: none;
|
||||
margin: 0;
|
||||
padding: 0px 0pt 0px 16px;
|
||||
font-size: 9pt;
|
||||
background: url(../images/mini-arrow-orange.gif) no-repeat top left;
|
||||
font-weight:normal;
|
||||
border: 0;
|
||||
font-weight: normal;
|
||||
border: 0;
|
||||
::before {
|
||||
color: $highlight-color;
|
||||
content: '\f0da';
|
||||
font-family: 'FontAwesome';
|
||||
margin-right: 6px;
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
a.CollapsibleLabel, td a.CollapsibleLabel {
|
||||
td a.CollapsibleLabel, a.CollapsibleLabel{
|
||||
margin: 0;
|
||||
padding: 0px 0pt 0px 16px;
|
||||
font-size:8pt;
|
||||
text-decoration:none;
|
||||
color:$grey-color;
|
||||
background: url(../images/mini-arrow-orange.gif) no-repeat left;
|
||||
}
|
||||
td a.CollapsibleLabel::before, a.CollapsibleLabel::before{
|
||||
color: $highlight-color;
|
||||
content: '\f0da';
|
||||
font-family: 'FontAwesome';
|
||||
margin-right: 6px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
a.CollapsibleLabel.open, td a.CollapsibleLabel.open {
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
td a.CollapsibleLabel.open, a.CollapsibleLabel.open{
|
||||
margin: 0;
|
||||
padding: 0px 0pt 0px 16px;
|
||||
font-size:8pt;
|
||||
text-decoration:none;
|
||||
color: $highlight-color;
|
||||
background: url(../images/mini-arrow-orange-open.gif) no-repeat left;
|
||||
}
|
||||
td a.CollapsibleLabel.open::before, a.CollapsibleLabel.open::before {
|
||||
color: $highlight-color;
|
||||
content: '\f0d7';
|
||||
font-family: 'FontAwesome';
|
||||
margin-right: 6px;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.page_header {
|
||||
@@ -583,12 +584,12 @@ a.CollapsibleLabel.open, td a.CollapsibleLabel.open {
|
||||
margin-top: -8px;
|
||||
}
|
||||
|
||||
.notreeview li { background: url(../images/tv-item.gif) 0 0 no-repeat; }
|
||||
.notreeview .collapsable { background-image: url(../images/tv-collapsable.gif); }
|
||||
.notreeview .expandable { background-image: url(../images/tv-expandable.gif); }
|
||||
.notreeview .last { background-image: url(../images/tv-item-last.gif); }
|
||||
.notreeview .lastCollapsable { background-image: url(../images/tv-collapsable-last.gif); }
|
||||
.notreeview .lastExpandable { background-image: url(../images/tv-expandable-last.gif); }
|
||||
.notreeview li { background: url($approot-relative + "images/tv-item.gif?v=" + $version) 0 0 no-repeat; }
|
||||
.notreeview .collapsable { background-image: url($approot-relative + "images/tv-collapsable.gif?v=" + $version); }
|
||||
.notreeview .expandable { background-image: url($approot-relative + "images/tv-expandable.gif?v=" + $version); }
|
||||
.notreeview .last { background-image: url($approot-relative + "images/tv-item-last.gif?v=" + $version); }
|
||||
.notreeview .lastCollapsable { background-image: url($approot-relative + "images/tv-collapsable-last.gif?v=" + $version); }
|
||||
.notreeview .lastExpandable { background-image: url($approot-relative + "images/tv-expandable-last.gif?v=" + $version); }
|
||||
|
||||
#OrganizationSelection {
|
||||
padding:5px 0px 16px 20px;
|
||||
@@ -613,7 +614,7 @@ div.actions_menu > ul {
|
||||
display:block;
|
||||
nowidth:70px; /* Nasty work-around for IE... en attendant mieux */
|
||||
padding-left: 5px;
|
||||
background: $highlight-color url(../images/actions_left.png?v=#{$version}) no-repeat top left;
|
||||
background: $highlight-color;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
}
|
||||
@@ -624,14 +625,18 @@ div.actions_menu > ul > li {
|
||||
font-size: 11px;
|
||||
font-family: Tahoma,sans-serif;
|
||||
height: 17px;
|
||||
padding-right: 16px;
|
||||
padding-right: 10px;
|
||||
padding-left: 4px;
|
||||
background: url(../images/actions_right.png?v=#{$version}) no-repeat top right transparent;
|
||||
font-weight: bold;
|
||||
color: $popup-menu-text-higlight-color;
|
||||
vertical-align: middle;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.actions_menu > ul > li > i {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
#logOffBtn > ul > li {
|
||||
list-style: none;
|
||||
vertical-align: middle;
|
||||
@@ -675,9 +680,33 @@ div.actions_menu > ul > li {
|
||||
}
|
||||
|
||||
.menucontainer div.toolkit_menu {
|
||||
background: $highlight-color;
|
||||
margin-left: 10px;
|
||||
> ul > li
|
||||
{
|
||||
float: left;
|
||||
list-style: none;
|
||||
font-size: 11px;
|
||||
font-family: Tahoma, sans-serif;
|
||||
height: 19px;
|
||||
padding-right: 4px;
|
||||
padding-left: 6px;
|
||||
font-weight: bold;
|
||||
color:#fff;
|
||||
vertical-align: middle;
|
||||
line-height: 17px;
|
||||
margin: 0;
|
||||
> i:nth-child(1) {
|
||||
font-size: 13px;
|
||||
padding-top: 3px;
|
||||
}
|
||||
> i:nth-child(2) {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.itop_popup li a:hover, #logOffBtn li a:hover {
|
||||
background: #1A4473;
|
||||
}
|
||||
@@ -750,31 +779,31 @@ hr.menu-separator {
|
||||
|
||||
.red {
|
||||
background-color: #ff6000;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
th.red {
|
||||
background: url(../images/red-header.gif) bottom left repeat-x;
|
||||
color: #000;
|
||||
background: url($approot-relative + "images/red-header.gif?v=" + $version) bottom left repeat-x;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
.green {
|
||||
background-color: #00cc00;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
}
|
||||
th.green {
|
||||
background: url(../images/green-header.gif) bottom left repeat-x;
|
||||
color: #000;
|
||||
background: url($approot-relative + "images/green-header.gif?v=" + $version) bottom left repeat-x;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
.orange {
|
||||
background-color: #ffde00;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
th.orange {
|
||||
background: url(../images/orange-header.gif) bottom left repeat-x;
|
||||
color: #000;
|
||||
background: url($approot-relative + "images/orange-header.gif?v=" + $version) bottom left repeat-x;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
/* For Date Picker: Creates a little calendar icon
|
||||
@@ -789,7 +818,7 @@ td a.dp-choose-date, a.dp-choose-date, td a.dp-choose-date:hover, a.dp-choose-da
|
||||
display: block;
|
||||
text-indent: -2000px;
|
||||
overflow: hidden;
|
||||
background: url(../images/calendar.png?v=#{$version}) no-repeat;
|
||||
background: url($approot-relative + "images/calendar.png?v=" + $version) no-repeat;
|
||||
}
|
||||
td a.dp-choose-date.dp-disabled, a.dp-choose-date.dp-disabled {
|
||||
background-position: 0 -20px;
|
||||
@@ -949,7 +978,7 @@ input.dp-applied {
|
||||
transition: opacity 0.3s, background-color 0.3s, color 0.3s linear;
|
||||
padding: 8px 10px;
|
||||
margin: 0;
|
||||
color: #ffffff;
|
||||
color: $white;
|
||||
background-color: $complement-color;
|
||||
cursor: pointer;
|
||||
.sft_hint,
|
||||
@@ -1629,22 +1658,22 @@ input.dp-applied {
|
||||
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.odd td.truncated, table.listResults tr td.truncated, .wizContainer table.listResults tr.odd td.truncated, .wizContainer table.listResults tr td.truncated {
|
||||
background: url(../images/truncated.png?v=#{$version}) bottom repeat-x;
|
||||
background: url($approot-relative + "images/truncated.png?v=" + $version) bottom repeat-x;
|
||||
}
|
||||
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.even td.truncated, .wizContainer table.listResults tr.even td.truncated {
|
||||
background: #f9f9f1 url(../images/truncated.png?v=#{$version}) bottom repeat-x;
|
||||
background: #f9f9f1 url($approot-relative + "images/truncated.png?v=" + $version) bottom repeat-x;
|
||||
}
|
||||
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.even td.hover.truncated, .wizContainer table.listResults tr.even td.hover.truncated {
|
||||
background: #fdf5d0 url(../images/truncated.png?v=#{$version}) bottom repeat-x;
|
||||
background: #fdf5d0 url($approot-relative + "images/truncated.png?v=" + $version) bottom repeat-x;
|
||||
}
|
||||
|
||||
/* Beware: IE6 does not support multiple selector with multiple classes, only the last class is used */
|
||||
table.listResults tr.odd td.hover.truncated, table.listResults tr td.hover.truncated, .wizContainer table.listResults tr.odd td.hover.truncated, .wizContainer table.listResults tr td.hover.truncated {
|
||||
background: #fdf5d0 url(../images/truncated.png?v=#{$version}) bottom repeat-x;
|
||||
background: #fdf5d0 url($approot-relative + "images/truncated.png?v=" + $version) bottom repeat-x;
|
||||
}
|
||||
|
||||
table.listResults.truncated {
|
||||
@@ -1658,7 +1687,7 @@ tr.csv_row0 td {
|
||||
padding-left:10px;
|
||||
padding-right:10px;
|
||||
background: #fff;
|
||||
border-left: #000 1px solid;
|
||||
border-left: $gray-base 1px solid;
|
||||
|
||||
}
|
||||
tr.csv_row1 td {
|
||||
@@ -1667,7 +1696,7 @@ tr.csv_row1 td {
|
||||
padding-left:10px;
|
||||
padding-right:10px;
|
||||
background: #f9f9f1;
|
||||
border-left: #000 1px solid;
|
||||
border-left: $gray-base 1px solid;
|
||||
|
||||
}
|
||||
tr.csv_row1 th, tr.csv_row0 th {
|
||||
@@ -1675,13 +1704,13 @@ tr.csv_row1 th, tr.csv_row0 th {
|
||||
padding-bottom:5px;
|
||||
padding-left:10px;
|
||||
padding-right:10px;
|
||||
border-left: #000 1px solid;
|
||||
border-left: $gray-base 1px solid;
|
||||
|
||||
}
|
||||
|
||||
td.cell_modified {
|
||||
font-weight: bold;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
td.cell_error {
|
||||
@@ -1759,7 +1788,7 @@ div#logo {
|
||||
div#logo div {
|
||||
height: 88px;
|
||||
width: 244px;
|
||||
background: url(../images/itop-logo-2.png?v=#{$version}) left no-repeat;
|
||||
background: url($approot-relative + "images/itop-logo-2.png?v=" + $version) left no-repeat;
|
||||
}
|
||||
#left-pane .ui-layout-north {
|
||||
overflow: hidden;
|
||||
@@ -1857,16 +1886,29 @@ div#logo div {
|
||||
}
|
||||
#global-search-image {
|
||||
vertical-align: middle;
|
||||
background: url(../images/search.png?v=#{$version}) center center no-repeat;
|
||||
display:inline-block;
|
||||
width: 28px;
|
||||
height: 30px;
|
||||
margin-left: -8px;
|
||||
margin-left: -4px;
|
||||
cursor: pointer;
|
||||
line-height: 39px;
|
||||
> i {
|
||||
font-size: 22px;
|
||||
}
|
||||
}
|
||||
#help-link img {
|
||||
.top-right-icon{
|
||||
padding: 0;
|
||||
border: 0;
|
||||
color: $highlight-color;
|
||||
text-decoration: none;
|
||||
font-size: 20px;
|
||||
}
|
||||
.icon-additional-arrow::after{
|
||||
font-family: "FontAwesome";
|
||||
content: "\f0dd";
|
||||
color: $highlight-color;
|
||||
font-size: 11px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
#help-link {
|
||||
padding: 0;
|
||||
@@ -1881,12 +1923,27 @@ div.icon {
|
||||
margin: 2px;
|
||||
float: right;
|
||||
}
|
||||
.mini_button {
|
||||
background-color: $highlight-color;
|
||||
border:0;
|
||||
cursor:pointer;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
> i {
|
||||
color: $white;
|
||||
font-size: 11px;
|
||||
}
|
||||
}
|
||||
span.ui-icon {
|
||||
float:left;
|
||||
margin:0 2px;
|
||||
}
|
||||
.ui-layout-button-pin-down {
|
||||
background: url(../images/splitter-bkg.png?v=#{$version}) transparent;
|
||||
background: url($approot-relative + "images/splitter-bkg.png?v=" + $version) transparent;
|
||||
width: 16px;
|
||||
background-position: -144px -144px;
|
||||
}
|
||||
@@ -1962,7 +2019,8 @@ span.form_validation {
|
||||
width:100px;
|
||||
}
|
||||
.synoptics tr.synoptics_header td {
|
||||
color:#000; font-size:1em;
|
||||
color: $text-color;
|
||||
font-size:1em;
|
||||
vertical-align:middle;
|
||||
text-align:center;
|
||||
}
|
||||
@@ -2023,13 +2081,13 @@ span.form_validation {
|
||||
.caselog_header {
|
||||
padding:3px;
|
||||
border-top:1px solid #fff;
|
||||
background: #ddd url(../images/plus.gif) left no-repeat;
|
||||
background: #ddd url($approot-relative + "images/plus.gif?v=" + $version) left no-repeat;
|
||||
padding-left: 16px;
|
||||
cursor: pointer;
|
||||
width:100%;
|
||||
}
|
||||
.caselog_header.open {
|
||||
background: #ddd url(../images/minus.gif) left no-repeat;
|
||||
background: #ddd url($approot-relative + "images/minus.gif?v=" + $version) left no-repeat;
|
||||
}
|
||||
.caselog_entry,
|
||||
.caselog_entry_html {
|
||||
@@ -2127,7 +2185,7 @@ fieldset .details>.field_container {
|
||||
padding-right: 10px;
|
||||
|
||||
> label,span {
|
||||
color: #000000;
|
||||
color: $text-color;
|
||||
font-weight:bold;
|
||||
}
|
||||
}
|
||||
@@ -2230,7 +2288,7 @@ fieldset .details>.field_container {
|
||||
height: 15px;
|
||||
border: 1px #A6A6A6 solid;
|
||||
cursor: pointer;
|
||||
background-image: url('../images/full-screen.png');
|
||||
background-image: url($approot-relative + "images/full-screen.png?v=" + $version);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 98%;
|
||||
@@ -2371,7 +2429,7 @@ fieldset .details>.field_container {
|
||||
height: 15px;
|
||||
border: 1px #A6A6A6 solid;
|
||||
cursor: pointer;
|
||||
background-image: url('../images/full-screen.png');
|
||||
background-image: url($approot-relative + "images/full-screen.png?v=" + $version);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-size: 98%;
|
||||
@@ -2416,7 +2474,7 @@ fieldset .details>.field_container {
|
||||
padding-right: 30px;
|
||||
text-align: left;
|
||||
|
||||
*{
|
||||
*:not(i){
|
||||
box-sizing: border-box;
|
||||
vertical-align: middle;
|
||||
}
|
||||
@@ -2447,7 +2505,7 @@ fieldset .details>.field_container {
|
||||
}
|
||||
}
|
||||
.ac_dlg_loading {
|
||||
background: white url('../images/indicator.gif') right center no-repeat;
|
||||
background: white url($approot-relative + "images/indicator.gif?v=" + $version) right center no-repeat;
|
||||
}
|
||||
table.pagination {
|
||||
display:inline-block;
|
||||
@@ -2483,7 +2541,7 @@ img.prev, img.first, img.next, img.last {
|
||||
}
|
||||
div.actions_button {
|
||||
float:right;
|
||||
background: $highlight-color url("../images/actions_left.png?v=#{$version}") no-repeat scroll left top;
|
||||
background: $highlight-color;
|
||||
padding-left: 5px;
|
||||
margin-top: 0;
|
||||
margin-right: 10px;
|
||||
@@ -2492,7 +2550,7 @@ div.actions_button {
|
||||
}
|
||||
|
||||
div.actions_button a, .actions_button a:hover, .actions_button a:visited {
|
||||
background: $highlight-color url(../images/actions_bkg.png?v=#{$version}) no-repeat scroll right top;
|
||||
background: $highlight-color;
|
||||
color:#fff;
|
||||
padding-right: 8px;
|
||||
cursor:pointer;
|
||||
@@ -2516,10 +2574,10 @@ select#org_id {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.dragHover {
|
||||
background: url(./ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=#{$version});
|
||||
background: url($approot-relative + "css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v="+ $version);
|
||||
}
|
||||
.edit_mode .dashlet {
|
||||
background: url(./ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=#{$version});
|
||||
background: url($approot-relative + "css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png?v=" + $version);
|
||||
padding: 5px;
|
||||
margin:0;
|
||||
position:relative;
|
||||
@@ -2562,7 +2620,7 @@ table.prop_table {
|
||||
top: 0;
|
||||
right: 0;
|
||||
z-index: 10;
|
||||
background: transparent url(../images/delete.png?v=#{$version}) no-repeat center;
|
||||
background: transparent url($approot-relative + "images/delete.png?v=" + $version) no-repeat center;
|
||||
}
|
||||
td.prop_value {
|
||||
text-align: left;
|
||||
@@ -2716,19 +2774,19 @@ a.summary, a.summary:hover {
|
||||
display: block;
|
||||
padding: 5px 12px;
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
background: #fff;
|
||||
background: $white;
|
||||
}
|
||||
#DashboardMenu li span {
|
||||
display: block;
|
||||
padding: 5px 12px;
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
white-space: nowrap;
|
||||
background: #fff;
|
||||
background: $white;
|
||||
}
|
||||
#DashboardMenu li {
|
||||
list-style: none;
|
||||
@@ -2739,8 +2797,8 @@ a.summary, a.summary:hover {
|
||||
|
||||
#DashboardMenu ul > li > ul
|
||||
{
|
||||
border: 1px solid black;
|
||||
background: #fff;
|
||||
border: 1px solid $gray-base;
|
||||
background: $white;
|
||||
}
|
||||
|
||||
#DashboardMenu li > ul
|
||||
@@ -2748,7 +2806,7 @@ a.summary, a.summary:hover {
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
display: none;
|
||||
border-top: 1px solid white;
|
||||
border-top: 1px solid $white;
|
||||
z-index: 1500;
|
||||
}
|
||||
#DashboardMenu li ul li a:hover{
|
||||
@@ -2776,19 +2834,19 @@ a.summary, a.summary:hover {
|
||||
height: 12px;
|
||||
}
|
||||
.sort_none {
|
||||
background: url(../images/bg.gif) no-repeat center;
|
||||
background: url($approot-relative + "images/bg.gif?v=" + $version) no-repeat center;
|
||||
}
|
||||
.sort_asc {
|
||||
background: url(../images/desc.gif) no-repeat center;
|
||||
background: url($approot-relative + "images/desc.gif?v=" + $version) no-repeat center;
|
||||
}
|
||||
.sort_desc {
|
||||
background: url(../images/asc.gif) no-repeat center;
|
||||
background: url($approot-relative + "images/asc.gif?v=" + $version) no-repeat center;
|
||||
}
|
||||
.sort_hidden {
|
||||
display: none;
|
||||
}
|
||||
.sortable_field_list > li.selected {
|
||||
background: #F6A828;
|
||||
background: $highlight-color;
|
||||
}
|
||||
.itop-deleted-object {
|
||||
text-decoration: line-through;
|
||||
@@ -2796,7 +2854,7 @@ a.summary, a.summary:hover {
|
||||
.header_message {
|
||||
padding: 1em;
|
||||
font-size: 10pt;
|
||||
background: #fff;
|
||||
background: $white;
|
||||
border: 1px solid #999;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
@@ -2805,23 +2863,23 @@ a.summary, a.summary:hover {
|
||||
}
|
||||
.message_info {
|
||||
border: 1px solid #993;
|
||||
background: url(../images/info-mini.png?v=#{$version}) 1em 1em no-repeat #ffc;
|
||||
background: url($approot-relative + "images/info-mini.png?v=" + $version) 1em 1em no-repeat #ffc;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_ok {
|
||||
border: 1px solid #393;
|
||||
background: url(../images/ok.png?v=#{$version}) 1em 1em no-repeat #cfc;
|
||||
background: url($approot-relative + "images/ok.png?v=" + $version) 1em 1em no-repeat #cfc;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_warning {
|
||||
border: 1px solid #ec9800;
|
||||
background: url(../images/error.png?v=#{$version}) 1em 1em no-repeat #ffd78d;
|
||||
color: #000;
|
||||
background: url($approot-relative + "images/error.png?v=" + $version) 1em 1em no-repeat #ffd78d;
|
||||
color: $text-color;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.message_error {
|
||||
border: 1px solid #933;
|
||||
background: url(../images/error.png?v=#{$version}) 1em 1em no-repeat #fcc;
|
||||
background: url($approot-relative + "images/error.png?v=" + $version) 1em 1em no-repeat #fcc;
|
||||
padding-left: 3em;
|
||||
}
|
||||
.fg-menu a img {
|
||||
@@ -2836,7 +2894,7 @@ div.ui-dialog-header {
|
||||
background: #fcc;
|
||||
}
|
||||
.simple-graph, .graph_config {
|
||||
background: #fff;
|
||||
background: $white;
|
||||
}
|
||||
.graph_config {
|
||||
padding: 0.25em;
|
||||
@@ -2944,7 +3002,7 @@ table.export_parameters td {
|
||||
div.explain-printable {
|
||||
border: 5px solid $complement-color;
|
||||
background: $complement-light;
|
||||
color: #000;
|
||||
color: $text-color;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
font-size: 12px;
|
||||
@@ -2955,19 +3013,19 @@ div.explain-printable {
|
||||
}
|
||||
#hiddeable_chapters .ui-tabs .ui-tabs-nav li.hideable-chapter span {
|
||||
padding-left: 20px;
|
||||
background: url(../images/eye-open-555.png?v=#{$version}) 2px center no-repeat;
|
||||
background: url($approot-relative + "images/eye-open-555.png?v=" + $version) 2px center no-repeat;
|
||||
}
|
||||
|
||||
#hiddeable_chapters .ui-tabs .ui-tabs-nav li.hideable-chapter.strikethrough span {
|
||||
text-decoration: line-through;
|
||||
background: url(../images/eye-closed-555.png?v=#{$version}) 2px center no-repeat;
|
||||
background: url($approot-relative + "images/eye-closed-555.png?v=" + $version) 2px center no-repeat;
|
||||
}
|
||||
.printable-version legend {
|
||||
padding-left: 26px;
|
||||
background: $complement-color url(../images/eye-open-fff.png?v=#{$version}) 8px center no-repeat;
|
||||
background: $complement-color url($approot-relative + "images/eye-open-fff.png?v=" + $version) 8px center no-repeat;
|
||||
}
|
||||
.printable-version .strikethrough legend {
|
||||
background: $complement-color url(../images/eye-closed-fff.png?v=#{$version}) 8px center no-repeat;
|
||||
background: $complement-color url($approot-relative + "images/eye-closed-fff.png?v=" + $version) 8px center no-repeat;
|
||||
}
|
||||
.printable-version fieldset.strikethrough span {
|
||||
display: none;
|
||||
@@ -2986,7 +3044,7 @@ span.search-button, span.refresh-button {
|
||||
width: 21px;
|
||||
height: 18px;
|
||||
cursor: pointer;
|
||||
color: #FFFFFF;
|
||||
color: $white;
|
||||
text-align: center;
|
||||
padding-top: 3px;
|
||||
font-size: 10px;
|
||||
@@ -3040,7 +3098,7 @@ span.search-button, span.refresh-button {
|
||||
cursor: pointer;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-image: url(ui-lightness/images/ui-icons_222222_256x240.png);
|
||||
background-image: url($approot-relative + "css/ui-lightness/images/ui-icons_222222_256x240.png?v=" + $version);
|
||||
background-position: -16px -192px;
|
||||
}
|
||||
.history_entry_truncated .history_truncated_toggler {
|
||||
@@ -3059,6 +3117,10 @@ span.search-button, span.refresh-button {
|
||||
text-align: center;
|
||||
width: $top-button-width !important;
|
||||
cursor: pointer;
|
||||
i {
|
||||
font-size: 20px;
|
||||
color: $highlight-color;
|
||||
}
|
||||
}
|
||||
#go-home {
|
||||
text-align: center;
|
||||
@@ -3073,8 +3135,11 @@ span.search-button, span.refresh-button {
|
||||
|
||||
// Make the whole cell clickable
|
||||
display: inline-block;
|
||||
line-height: $top-button-heigth;
|
||||
width: 100%;
|
||||
i {
|
||||
font-size: 20px;
|
||||
color: $highlight-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
.top-bar-spacer{
|
||||
@@ -3137,7 +3202,7 @@ span.search-button, span.refresh-button {
|
||||
&::after{
|
||||
content:'';
|
||||
position: absolute;
|
||||
background-image: url(../images/breadcrumb-separator.png?v=#{$version});
|
||||
background-image: url($approot-relative + "images/breadcrumb-separator.png?v=" + $version);
|
||||
background-repeat: no-repeat;
|
||||
width: 8px;
|
||||
height: 16px;
|
||||
@@ -3243,7 +3308,7 @@ span.search-button, span.refresh-button {
|
||||
background-color: $grey-color;
|
||||
padding:3px;
|
||||
font-size:10px;
|
||||
color:#fff;
|
||||
color: $white;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
@@ -3271,21 +3336,21 @@ span.search-button, span.refresh-button {
|
||||
}
|
||||
|
||||
.qtip-content a, .qtip-content a:visited{
|
||||
color : #1c94c4;
|
||||
color : $complement-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
.qtip-content a:hover, .qtip-content a:active{
|
||||
color : #e87c1e;
|
||||
color : $highlight-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.data-model-viewer a, .data-model-viewer a:visited {
|
||||
color : #1c94c4;
|
||||
color : $complement-color;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
.data-model-viewer a:hover {
|
||||
color: #e87c1e;
|
||||
color: $highlight-color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
@@ -3312,7 +3377,7 @@ table.listResults .originColor{
|
||||
width: 100%
|
||||
}
|
||||
#dataModelHeader{
|
||||
background-color: white;
|
||||
background-color: $white;
|
||||
}
|
||||
|
||||
#dataModelSplitPane #tabbedContent_0{
|
||||
@@ -3332,7 +3397,7 @@ table.listResults .originColor{
|
||||
margin-left: 15px !important;
|
||||
}
|
||||
#dataModelSplitPane .ui-layout-resizer :hover{
|
||||
background: #E87C1E;
|
||||
background: $highlight-color;
|
||||
}
|
||||
#dataModelSplitPane .ui-layout-resizer-west{
|
||||
border-left : 1px solid #BBB;
|
||||
@@ -3348,7 +3413,7 @@ table.listResults .originColor{
|
||||
width:10px !important;
|
||||
}
|
||||
#dataModelSplitPane .ui-layout-toggler:hover{
|
||||
background: #E87C1E;
|
||||
background: $highlight-color;
|
||||
}
|
||||
.dataModelSchema g {
|
||||
cursor: pointer;
|
||||
@@ -3388,13 +3453,13 @@ table.listResults .originColor{
|
||||
}
|
||||
|
||||
.data-model-viewer{
|
||||
background-color: #FFF;
|
||||
background-color: $white;
|
||||
margin-top:7px !important;
|
||||
margin-left: 15px !important;
|
||||
}
|
||||
|
||||
#delDataModelSearch {
|
||||
color: #E87C1E;
|
||||
color: $highlight-color;
|
||||
display:inline-block;
|
||||
font-size:15px;
|
||||
margin-left:1%;
|
||||
@@ -3611,7 +3676,7 @@ input:checked + .slider:before {
|
||||
}
|
||||
#newsroom_menu > ul > li > ul > li {
|
||||
display: block;
|
||||
border-bottom: 1px #ddd solid;
|
||||
border-bottom: 1px $gray-lighter solid;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
text-align: left;
|
||||
@@ -3640,8 +3705,8 @@ input:checked + .slider:before {
|
||||
}
|
||||
#newsroom_menu_counter_container {
|
||||
position:relative;
|
||||
top:-26px;
|
||||
left:4px;
|
||||
top:-23px;
|
||||
left:3px;
|
||||
}
|
||||
#newsroom_menu_counter {
|
||||
display:inline-block;
|
||||
@@ -3693,7 +3758,7 @@ input:checked + .slider:before {
|
||||
}
|
||||
#newsroom_show_all_submenu > ul > li > ul > li {
|
||||
display: block;
|
||||
border-bottom: 1px #ddd solid;
|
||||
border-bottom: 1px $gray-lighter solid;
|
||||
padding-left: 5px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 6px;
|
||||
@@ -3705,7 +3770,7 @@ input:checked + .slider:before {
|
||||
}
|
||||
#newsroom_show_all_submenu li ul {
|
||||
width: 200px;
|
||||
color:#000;
|
||||
color:$text-color;
|
||||
}
|
||||
.no-padding {
|
||||
padding: 0 !important;
|
||||
|
||||
@@ -8517,4 +8517,19 @@
|
||||
<enable_action>UR_ACTION_MODIFY</enable_action>
|
||||
</menu>
|
||||
</menus>
|
||||
<branding >
|
||||
<themes>
|
||||
<theme id="light-grey" _delta="define">
|
||||
<variables>
|
||||
</variables>
|
||||
<imports>
|
||||
<import id="css-variables">../css/css-variables.scss</import>
|
||||
</imports>
|
||||
<stylesheets>
|
||||
<stylesheet id="jqueryui">../css/ui-lightness/jqueryui.scss</stylesheet>
|
||||
<stylesheet id="main">../css/light-grey.scss</stylesheet>
|
||||
</stylesheets>
|
||||
</theme>
|
||||
</themes>
|
||||
</branding>
|
||||
</itop_design>
|
||||
|
||||
|
Before Width: | Height: | Size: 160 B |
|
Before Width: | Height: | Size: 117 B |
BIN
images/asc.gif
|
Before Width: | Height: | Size: 54 B |
BIN
images/help.png
|
Before Width: | Height: | Size: 413 B |
BIN
images/home.png
|
Before Width: | Height: | Size: 219 B |
BIN
images/menu.png
|
Before Width: | Height: | Size: 174 B |
|
Before Width: | Height: | Size: 53 B |
|
Before Width: | Height: | Size: 54 B |
|
Before Width: | Height: | Size: 82 B |
|
Before Width: | Height: | Size: 99 B |
|
Before Width: | Height: | Size: 74 B |
@@ -1,102 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="143.92165mm"
|
||||
height="143.92165mm"
|
||||
viewBox="0 0 143.92165 143.92165"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
|
||||
sodipodi:docname="newsroom-message.svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:cx="327.16772"
|
||||
inkscape:cy="203.50251"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1005"
|
||||
inkscape:window-x="1911"
|
||||
inkscape:window-y="-9"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-40.487099,-26.129204)">
|
||||
<circle
|
||||
style="opacity:1;fill:#ea7d1e;fill-opacity:1;stroke:none;stroke-width:10.02023888;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4514"
|
||||
cx="112.44792"
|
||||
cy="98.090027"
|
||||
r="71.960823"
|
||||
inkscape:export-xdpi="5.6475177"
|
||||
inkscape:export-ydpi="5.6475177" />
|
||||
<g
|
||||
id="g4519"
|
||||
transform="matrix(0.88767549,0,0,0.88076684,12.630661,11.695584)"
|
||||
inkscape:export-xdpi="5.6475177"
|
||||
inkscape:export-ydpi="5.6475177">
|
||||
<rect
|
||||
ry="10.000007"
|
||||
rx="10.000007"
|
||||
y="65.111603"
|
||||
x="66.712799"
|
||||
height="65.956848"
|
||||
width="91.470238"
|
||||
id="rect4508"
|
||||
style="opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
inkscape:export-xdpi="5.6475177"
|
||||
inkscape:export-ydpi="5.6475177" />
|
||||
<path
|
||||
sodipodi:nodetypes="czc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4510"
|
||||
d="m 70.492558,70.403272 c 0,0 25.469056,36.944678 42.445432,36.599868 16.97638,-0.34481 41.46528,-37.355819 41.46528,-37.355819"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
inkscape:export-xdpi="5.6475177"
|
||||
inkscape:export-ydpi="5.6475177" />
|
||||
<path
|
||||
sodipodi:nodetypes="cccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4512"
|
||||
d="M 70.114582,128.23363 100.73065,100.1689 m 23.24553,-0.188992 30.42709,28.631692"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
inkscape:export-xdpi="5.6475177"
|
||||
inkscape:export-ydpi="5.6475177" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 302 B |
|
Before Width: | Height: | Size: 459 B |
|
Before Width: | Height: | Size: 399 B |
|
Before Width: | Height: | Size: 421 B |
@@ -7,10 +7,10 @@ $(function()
|
||||
// default options
|
||||
options:
|
||||
{
|
||||
image_url: '',
|
||||
image_icon: '',
|
||||
cache_uuid: '',
|
||||
display_limit: 7,
|
||||
placeholder_image_url: '../images/transparent_32_32.png',
|
||||
placeholder_image_icon: '',
|
||||
providers: [],
|
||||
labels: {
|
||||
'no_message': 'No new message',
|
||||
@@ -157,7 +157,7 @@ $(function()
|
||||
var me = this;
|
||||
var iTotalCount = aAllMessages.length;
|
||||
var iCount = 0;
|
||||
var sHtml = '<span id="newsroom_menu" class="itop_popup toolkit_menu"><ul><li><img id="newsroom_menu_icon" src="'+this.options.image_url+'"><ul>';
|
||||
var sHtml = '<span id="newsroom_menu" class="itop_popup toolkit_menu"><ul><li><i id="newsroom_menu_icon" class="top-right-icon icon-additional-arrow '+this.options.image_icon+'"></i><ul>';
|
||||
sHtml += '<li class="newsroom_menu_item" id="newsroom_menu_dismiss_all"><i class="fas fa-fw fa-check"></i>'+this.options.labels.mark_all_as_read+'</li>';
|
||||
moment.locale(GetUserLanguage());
|
||||
var aUnreadMessagesByProvider = [];
|
||||
@@ -171,13 +171,14 @@ $(function()
|
||||
aUnreadMessagesByProvider[oMessage.provider]++;
|
||||
if (iCount < this.options.display_limit)
|
||||
{
|
||||
var sImage = '';
|
||||
if ((oMessage.image !== undefined) && (oMessage.image !== null))
|
||||
{
|
||||
sImageUrl = oMessage.image;
|
||||
sImage = '<img src="'+oMessage.image+'">';
|
||||
}
|
||||
else
|
||||
{
|
||||
sImageUrl = this.options.placeholder_image_url;
|
||||
sImage = '<i class="'+this.options.placeholder_image_icon+'"></i>';
|
||||
}
|
||||
var div = document.createElement("div");
|
||||
div.textContent = oMessage.text;
|
||||
@@ -185,7 +186,7 @@ $(function()
|
||||
var converter = new showdown.Converter({noHeaderId: true});
|
||||
var sRichDescription = converter.makeHtml(sDescription);
|
||||
sRichDescription += '<span class="newsroom_menu_item_date">'+this.options.providers[oMessage.provider].label+' - '+moment(oMessage.start_date).fromNow()+'</span>';
|
||||
sHtml += '<li class="newsroom_menu_item" data-msg-id="'+oMessage.id+'" data-provider-id="'+oMessage.provider+'" data-url="'+oMessage.url+'" id="newsroom_menu_item_'+oMessage.id+'"><div><img src="'+sImageUrl+'"><p>'+sRichDescription+'</p><div style="clear:both"></div></div></li>';
|
||||
sHtml += '<li class="newsroom_menu_item" data-msg-id="'+oMessage.id+'" data-provider-id="'+oMessage.provider+'" data-url="'+oMessage.url+'" id="newsroom_menu_item_'+oMessage.id+'"><div>'+sImage+'<p>'+sRichDescription+'</p><div style="clear:both"></div></div></li>';
|
||||
}
|
||||
iCount++;
|
||||
}
|
||||
@@ -372,7 +373,7 @@ $(function()
|
||||
{
|
||||
this._markAllMessagesAsRead(k);
|
||||
}
|
||||
$('#newsroom_menu').html('<img src="'+this.options.image_url+'" style="opacity:0.4" title="'+this.options.labels.no_message+'">');
|
||||
$('#newsroom_menu').html('<i class="top-right-icon '+this.options.image_icon+'" style="opacity:0.4" title="'+this.options.labels.no_message+'"></i>');
|
||||
$('#newsroom_menu_counter_container').remove();
|
||||
this._getAllMessages();
|
||||
}
|
||||
|
||||
@@ -478,7 +478,7 @@ $(function()
|
||||
sHtml += '</select>'
|
||||
}
|
||||
sHtml += ' <button type="button" id="'+sId+'_refresh_btn">'+this.options.labels.refresh+'</button>';
|
||||
sHtml += '<div class="itop_popup toolkit_menu graph" style="font-size: 12px;" id="'+sPopupMenuId+'"><ul><li><img src="../images/toolkit_menu.png"><ul>';
|
||||
sHtml += '<div class="itop_popup toolkit_menu graph" style="font-size: 12px;" id="'+sPopupMenuId+'"><ul><li><i class="fas fa-tools"></i><i class="fas fa-caret-down"></i><ul>';
|
||||
if (this.options.export_as_pdf != null)
|
||||
{
|
||||
sHtml += '<li><a href="#" id="'+sPopupMenuId+'_pdf">'+this.options.export_as_pdf.label+'</a></li>';
|
||||
|
||||
@@ -290,6 +290,8 @@ return array(
|
||||
'MySQLHasGoneAwayException' => $baseDir . '/core/cmdbsource.class.inc.php',
|
||||
'MySQLNoTransactionException' => $baseDir . '/core/cmdbsource.class.inc.php',
|
||||
'MySQLQueryHasNoResultException' => $baseDir . '/core/cmdbsource.class.inc.php',
|
||||
'NestedQueryExpression' => $baseDir . '/core/oql/expression.class.inc.php',
|
||||
'NestedQueryOqlExpression' => $baseDir . '/core/oql/oqlquery.class.inc.php',
|
||||
'NewObjectMenuNode' => $baseDir . '/application/menunode.class.inc.php',
|
||||
'NewsroomProviderBase' => $baseDir . '/application/newsroomprovider.class.inc.php',
|
||||
'NiceWebPage' => $baseDir . '/application/nicewebpage.class.inc.php',
|
||||
@@ -1484,6 +1486,7 @@ return array(
|
||||
'TemplateMenuNode' => $baseDir . '/application/menunode.class.inc.php',
|
||||
'TemplateString' => $baseDir . '/core/templatestring.class.inc.php',
|
||||
'TemplateStringPlaceholder' => $baseDir . '/core/templatestring.class.inc.php',
|
||||
'ThemeHandler' => $baseDir . '/application/themehandler.class.inc.php',
|
||||
'ToolsLog' => $baseDir . '/core/log.class.inc.php',
|
||||
'Trigger' => $baseDir . '/core/trigger.class.inc.php',
|
||||
'TriggerOnObject' => $baseDir . '/core/trigger.class.inc.php',
|
||||
|
||||
@@ -522,6 +522,8 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b
|
||||
'MySQLHasGoneAwayException' => __DIR__ . '/../..' . '/core/cmdbsource.class.inc.php',
|
||||
'MySQLNoTransactionException' => __DIR__ . '/../..' . '/core/cmdbsource.class.inc.php',
|
||||
'MySQLQueryHasNoResultException' => __DIR__ . '/../..' . '/core/cmdbsource.class.inc.php',
|
||||
'NestedQueryExpression' => __DIR__ . '/../..' . '/core/oql/expression.class.inc.php',
|
||||
'NestedQueryOqlExpression' => __DIR__ . '/../..' . '/core/oql/oqlquery.class.inc.php',
|
||||
'NewObjectMenuNode' => __DIR__ . '/../..' . '/application/menunode.class.inc.php',
|
||||
'NewsroomProviderBase' => __DIR__ . '/../..' . '/application/newsroomprovider.class.inc.php',
|
||||
'NiceWebPage' => __DIR__ . '/../..' . '/application/nicewebpage.class.inc.php',
|
||||
@@ -1716,6 +1718,7 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b
|
||||
'TemplateMenuNode' => __DIR__ . '/../..' . '/application/menunode.class.inc.php',
|
||||
'TemplateString' => __DIR__ . '/../..' . '/core/templatestring.class.inc.php',
|
||||
'TemplateStringPlaceholder' => __DIR__ . '/../..' . '/core/templatestring.class.inc.php',
|
||||
'ThemeHandler' => __DIR__ . '/../..' . '/application/themehandler.class.inc.php',
|
||||
'ToolsLog' => __DIR__ . '/../..' . '/core/log.class.inc.php',
|
||||
'Trigger' => __DIR__ . '/../..' . '/core/trigger.class.inc.php',
|
||||
'TriggerOnObject' => __DIR__ . '/../..' . '/core/trigger.class.inc.php',
|
||||
|
||||
@@ -628,7 +628,7 @@ try
|
||||
$sPageId = "ui-global-search";
|
||||
$sLabel = Dict::S('UI:SearchResultsTitle');
|
||||
$sDescription = Dict::S('UI:SearchResultsTitle+');
|
||||
$oP->SetBreadCrumbEntry($sPageId, $sLabel, $sDescription, '', utils::GetAbsoluteUrlAppRoot().'images/search.png');
|
||||
$oP->SetBreadCrumbEntry($sPageId, $sLabel, $sDescription, '', utils::GetAbsoluteUrlAppRoot().'images/breadcrumb-search.png');
|
||||
$oP->add("<div style=\"padding: 10px;\">\n");
|
||||
$oP->add("<div class=\"header_message\" id=\"full_text_progress\" style=\"position: fixed; background-color: #cccccc; opacity: 0.7; padding: 1.5em;\">\n");
|
||||
$oP->add('<img id="full_text_indicator" src="../images/indicator.gif"> <span style="padding: 1.5em;">'.Dict::Format('UI:Search:Ongoing', htmlentities($sFullText, ENT_QUOTES, 'UTF-8')).'</span>');
|
||||
|
||||
@@ -320,7 +320,7 @@ EOF
|
||||
if ($iNewsroomDisplaySize < 1) $iNewsroomDisplaySize = 1;
|
||||
if ($iNewsroomDisplaySize > 20) $iNewsroomDisplaySize = 20;
|
||||
$sInput = '<input min="1" max="20" id="newsroom_display_size" type="number" size="2" name="newsroom_display_size" value="'.$iNewsroomDisplaySize.'">';
|
||||
$sIcon = '<img src="../images/newsroom_menu.png" style="vertical-align:middle">';
|
||||
$sIcon = '<i id="newsroom_menu_icon" class="top-right-icon icon-additional-arrow fas fa-comment-dots" style="top: 0;"></i>';
|
||||
$oP->p(Dict::Format('UI:Newsroom:DisplayAtMost_X_Messages', $sInput, $sIcon));
|
||||
|
||||
/**
|
||||
|
||||
@@ -2642,6 +2642,62 @@ EOF;
|
||||
copy($sSourceFile, $sTargetFile);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @param $oBrandingNode
|
||||
* @param $sTempTargetDir
|
||||
* @param $sFinalTargetDir
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function CompileThemes($oBrandingNode, $sTempTargetDir, $sFinalTargetDir)
|
||||
{
|
||||
$oThemeNodes = $oBrandingNode->GetNodes('themes/theme');
|
||||
$sThemesDir = $sTempTargetDir.'/branding/themes/';
|
||||
if(!is_dir($sThemesDir))
|
||||
{
|
||||
SetupUtils::builddir($sThemesDir);
|
||||
}
|
||||
foreach($oThemeNodes as $oTheme)
|
||||
{
|
||||
$sThemeId = $oTheme->getAttribute('id');
|
||||
$sThemeDir = $sTempTargetDir.'/branding/themes/'.$sThemeId;
|
||||
|
||||
if(!is_dir($sThemesDir.$sThemeId))
|
||||
{
|
||||
SetupUtils::builddir($sThemesDir.$sThemeId);
|
||||
}
|
||||
|
||||
$oVariables = $oTheme->GetNodes('variables/variable');
|
||||
$oImports = $oTheme->GetNodes('imports/import');
|
||||
$oStylesheets = $oTheme->GetNodes('stylesheets/stylesheet');
|
||||
|
||||
$aThemeParameters = array(
|
||||
'variables' => array(),
|
||||
'imports' => array(),
|
||||
'stylesheets' => array(),
|
||||
);
|
||||
// json array
|
||||
$sVariablesContent = '';
|
||||
foreach($oVariables as $oVariable)
|
||||
{
|
||||
$sVariableId = $oVariable->getAttribute('id');
|
||||
$aThemeParameters['variables'][$sVariableId] = $oVariable->GetText();
|
||||
}
|
||||
|
||||
foreach($oImports as $oImport)
|
||||
{
|
||||
$sImportId = $oImport->getAttribute('id');
|
||||
$aThemeParameters['imports'][$sImportId] = $oImport->GetText();
|
||||
}
|
||||
|
||||
foreach($oStylesheets as $oStylesheet)
|
||||
{
|
||||
$sStylesheetId = $oStylesheet->getAttribute('id');
|
||||
$aThemeParameters['stylesheets'][$sStylesheetId] = $oStylesheet->GetText();
|
||||
}
|
||||
file_put_contents($sThemeDir.'/theme-parameters.json', json_encode($aThemeParameters));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $oBrandingNode
|
||||
@@ -2669,6 +2725,9 @@ EOF;
|
||||
{
|
||||
SetupUtils::rrmdir($sTempTargetDir.'/branding/images');
|
||||
}
|
||||
|
||||
// Compile themes
|
||||
$this->CompileThemes($oBrandingNode, $sTempTargetDir, $sFinalTargetDir);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -699,6 +699,10 @@ class iTopDesignFormat
|
||||
// -- 1283 : remove "in_new_window" option for WebPageMenuNode
|
||||
$sPath = "/itop_design/menus/menu[@xsi:type='WebPageMenuNode']/in_new_window";
|
||||
$this->RemoveNodeFromXPath($sPath);
|
||||
|
||||
// -- 2314 : remove "themes" nodes
|
||||
$sPath = "/itop_design/branding/themes";
|
||||
$this->RemoveNodeFromXPath($sPath);
|
||||
}
|
||||
|
||||
private function RemoveNodeFromXPath($sPath)
|
||||
|
||||