Merge remote-tracking branch 'origin/support/3.0' into develop

# Conflicts:
#	css/backoffice/pages/_csv-import.scss
#	pages/ajax.render.php
This commit is contained in:
Benjamin Dalsass
2023-03-03 14:26:21 +01:00
18 changed files with 242 additions and 57 deletions

View File

@@ -5,6 +5,7 @@
*/
use Combodo\iTop\Application\UI\Base\Component\Form\FormUIBlockFactory;
use Combodo\iTop\Application\UI\Base\Component\Input\InputUIBlockFactory;
use Combodo\iTop\Application\UI\Base\Layout\UIContentBlockUIBlockFactory;
use Combodo\iTop\Core\MetaModel\FriendlyNameType;
@@ -323,12 +324,12 @@ EOF
EOF
);
$sHTMLValue .= "<div class=\"ibo-input-select--action-buttons\">";
$sHTMLValue .= " <div class=\"ibo-input-select--action-button ibo-input-select--action-button--clear ibo-is-hidden\" id=\"mini_clear_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.Clear();\" data-tooltip-content='".Dict::S('UI:Button:Clear')."'><i class=\"fas fa-times\"></i></div>";
$sHTMLValue .= " <a href=\"#\" class=\"ibo-input-select--action-button ibo-input-select--action-button--clear ibo-is-hidden\" id=\"mini_clear_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.Clear();\" data-tooltip-content='".Dict::S('UI:Button:Clear')."'><i class=\"fas fa-times\"></i></a>";
}
if ($bCreate && $bExtensions) {
$sCallbackName = (MetaModel::IsAbstract($this->sTargetClass)) ? 'SelectObjectClass' : 'CreateObject';
$sHTMLValue .= "<div class=\"ibo-input-select--action-button ibo-input-select--action-button--create\" id=\"mini_add_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.{$sCallbackName}();\" data-tooltip-content='".Dict::S('UI:Button:Create')."'><i class=\"fas fa-plus\"></i></div>";
$sHTMLValue .= "<a href=\"#\" class=\"ibo-input-select--action-button ibo-input-select--action-button--create\" id=\"mini_add_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.{$sCallbackName}();\" data-tooltip-content='".Dict::S('UI:Button:Create')."'><i class=\"fas fa-plus\"></i></a>";
$oPage->add_ready_script(
<<<JS
if ($('#ajax_{$this->iId}').length == 0)
@@ -339,7 +340,7 @@ JS
);
}
if ($bExtensions && MetaModel::IsHierarchicalClass($this->sTargetClass) !== false) {
$sHTMLValue .= "<div class=\"ibo-input-select--action-button ibo-input-select--action-button--hierarchy\" id=\"mini_tree_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.HKDisplay();\" data-tooltip-content='".Dict::S('UI:Button:SearchInHierarchy')."'><i class=\"fas fa-sitemap\"></i></div>";
$sHTMLValue .= "<a href=\"#\" class=\"ibo-input-select--action-button ibo-input-select--action-button--hierarchy\" id=\"mini_tree_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.HKDisplay();\" data-tooltip-content='".Dict::S('UI:Button:SearchInHierarchy')."'><i class=\"fas fa-sitemap\"></i></a>";
$oPage->add_ready_script(
<<<JS
if ($('#ac_tree_{$this->iId}').length == 0)
@@ -350,7 +351,7 @@ JS
);
}
if ($oAllowedValues->CountExceeds($iMaxComboLength)) {
$sHTMLValue .= " <div class=\"ibo-input-select--action-button ibo-input-select--action-button--search\" id=\"mini_search_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.Search();\" data-tooltip-content='".Dict::S('UI:Button:Search')."'><i class=\"fas fa-search\"></i></div>";
$sHTMLValue .= " <a href=\"#\" class=\"ibo-input-select--action-button ibo-input-select--action-button--search\" id=\"mini_search_{$this->iId}\" onClick=\"oACWidget_{$this->iId}.Search();\" data-tooltip-content='".Dict::S('UI:Button:Search')."'><i class=\"fas fa-search\"></i></a>";
}
$sHTMLValue .= "</div>";
$sHTMLValue .= "</div>";
@@ -904,7 +905,7 @@ JS
{
// For security reasons: check that the "proposed" class is actually a subclass of the linked class
// and that the current user is allowed to create objects of this class
$aSubClasses = MetaModel::EnumChildClasses($this->sTargetClass);
$aSubClasses = MetaModel::EnumChildClasses($this->sTargetClass, ENUM_CHILD_CLASSES_ALL);
$aPossibleClasses = array();
foreach($aSubClasses as $sCandidateClass)
{
@@ -924,6 +925,7 @@ JS
$sDialogTitleEscaped = addslashes($sDialogTitle);
$oPage->add_ready_script("$('#ac_create_$this->iId').dialog({ width: 'auto', height: 'auto', maxHeight: $(window).height() - 50, autoOpen: false, modal: true, title: '$sDialogTitleEscaped'});\n");
$oPage->add_ready_script("$('#ac_create_{$this->iId} form').removeAttr('onsubmit');");
$oPage->add_ready_script("$('#ac_create_{$this->iId} form').find('select').attr('id', 'ac_create_{$this->iId}_select');");
$oPage->add_ready_script("$('#ac_create_{$this->iId} form').on('submit.uilinksWizard', oACWidget_{$this->iId}.DoSelectObjectClass);");
}

View File

@@ -60,7 +60,7 @@ class UISearchFormForeignKeys
$oPage->add(<<<HTML
<form id="ObjectsAddForm_{$this->m_iInputId}">
<div id="SearchResultsToAdd_{$this->m_iInputId}" style="vertical-align:top;background: #fff;height:100%;overflow:auto;padding:0;border:0;">
<div id="SearchResultsToAdd_{$this->m_iInputId}" style="vertical-align:top;height:100%;overflow:auto;padding:0;border:0;">
<div style="background: #fff; border:0; text-align:center; vertical-align:middle;"><p>{$sEmptyList}</p></div>
</div>
<input type="hidden" id="count_{$this->m_iInputId}" value="0"/>

View File

@@ -1,46 +1,60 @@
/*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2023 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
$ibo-table-preview--header-cell--padding: $ibo-spacing-200 $ibo-spacing-600 $ibo-spacing-200 $ibo-spacing-200 !default;
$ibo-table-preview--header-cell--background-color: $ibo-color-white-200 !default;
$ibo-table-preview--header-cell--border-width: 1px 1px 0 !default;
$ibo-table-preview--body-cell--padding-x: $ibo-spacing-200 !default;
$ibo-table-preview--body-cell--border-width: 0 1px !default;
$ibo-table-preview--body-cell--last--border-bottom-width: 1px !default;
$ibo-preview-header--margin-bottom: $ibo-spacing-200 !default;
$ibo-table-preview--remove-column--top: $ibo-spacing-300 !default;
$ibo-table-preview--remove-column--right: $ibo-spacing-300 !default;
$ibo-table-preview--remove-column--font-size: 8px !default;
$ibo-form-part-interactive-fields--margin-top: $ibo-spacing-600 !default;
.ibo-table-preview {
margin-top: 20px;
overflow-x: auto;
th {
position: relative;
padding: 5px;
padding-right: $ibo-spacing-600;
border-width: 1px 1px 0;
padding: $ibo-table-preview--header-cell--padding;
border-width: $ibo-table-preview--header-cell--border-width;
border-style: groove groove none;
background: $ibo-color-white-200;
background: $ibo-table-preview--header-cell--background-color;
}
td {
padding-right: 5px;
padding-left: 5px;
border-width: 0 1px;
padding-right: $ibo-table-preview--body-cell--padding-x;
padding-left: $ibo-table-preview--body-cell--padding-x;
border-width: $ibo-table-preview--body-cell--border-width;
border-style: none groove;
}
tr:last-child td {
border-bottom-width: 1px;
border-bottom-width: $ibo-table-preview--body-cell--last--border-bottom-width;
border-bottom-style: groove;
}
}
.ibo-preview-header {
margin-bottom: 5px;
margin-bottom: $ibo-preview-header--margin-bottom;
}
.ibo-table-preview--remove-column {
position: absolute;
top: $ibo-spacing-300;
right: $ibo-spacing-300;
top: $ibo-table-preview--remove-column--top;
right: $ibo-table-preview--remove-column--right;
display: inline-block;
cursor: pointer;
font-size: 8px;
font-size: $ibo-table-preview--remove-column--font-size;
}
#form_part_interactive_fields_xlsx, #form_part_interactive_fields_csv, #form_part_interactive_fields_pdf {
margin-top: $ibo-spacing-600;
margin-top: $ibo-form-part-interactive-fields--margin-top;
}

View File

@@ -237,3 +237,6 @@ $ibo-field--enable-bulk--checkbox--margin-left: $ibo-spacing-300 !default;
margin-left: $ibo-field--enable-bulk--checkbox--margin-left;
}
.ibo-input-select--action-buttons a {
@extend %ibo-hyperlink-inherited-colors;
}

View File

@@ -20,7 +20,7 @@ $ibo-datatable--row--background-color--is-selected: $ibo-color-primary-300 !defa
$ibo-datatable--selection-validation-buttons-toolbar--margin-top: 10px !default;
$ibo-list-column--max-height: 150px !default;
$ibo-datatable--sort-order--color: $ibo-color-orange-600 !default;
$ibo-datatable--sort-order--color: $ibo-color-primary-600 !default;
$ibo-fieldsorter--selected--background-color: $ibo-color-blue-200 !default;

View File

@@ -3,7 +3,14 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
$ibo-csv-import--cell-message-padding:3px;
$ibo-csv-import--cell-message--padding-top: 3px !default;
$ibo-csv-import--cell-modified--color: $ibo-color-blue-700 !default;
$ibo-csv-import--cell-error--color: $ibo-color-red-700 !default;
$ibo-csv-import--row--border-color: $ibo-color-grey-400 !default;
$ibo-csv-import--row-error--background-color: $ibo-color-red-200 !default;
$ibo-csv-import--download-file--color: $ibo-color-primary-400 !default;
$ibo-csv-import--download-file--font-size: 4em !default;
$ibo-csv-import--download-file--margin: 20px !default;
#tabs1-import .ibo-field--label {
max-width: 50%;
@@ -11,32 +18,37 @@ $ibo-csv-import--cell-message-padding:3px;
div.ibo-csv-import--cell-modified {
font-weight: bold;
color: $ibo-color-blue-700;
color: $ibo-csv-import--cell-modified--color;
}
div.ibo-csv-import--cell-error {
font-weight: bold;
color: $ibo-color-red-700;
color: $ibo-csv-import--cell-error--color;
}
div.ibo-csv-import--cell-message {
padding-top: $ibo-csv-import--cell-message-padding;
padding-top: $ibo-csv-import--cell-message--padding-top;
}
tr.ibo-csv-import--row-unchanged td {
border-bottom: 1px $ibo-color-grey-400 solid;
border-bottom: 1px $ibo-csv-import--row--border-color solid;
}
.wizContainer table tr.ibo-csv-import--row-error td {
border-bottom: 1px $ibo-csv-import--row--border-color solid;
background-color: $ibo-csv-import--row-error--background-color;
}
tr.ibo-csv-import--row-modified td {
border-bottom: 1px $ibo-color-grey-400 solid;
border-bottom: 1px $ibo-csv-import--row--border-color solid;
}
tr.ibo-csv-import--row-added td {
border-bottom: 1px $ibo-color-grey-400 solid;
border-bottom: 1px $ibo-csv-import--row--border-color solid;
}
.ibo-csv-import--download-file {
font-size: 4em;
color: $ibo-color-primary-400;
margin: 20px;
}
font-size: $ibo-csv-import--download-file--font-size;
color: $ibo-csv-import--download-file--color;
margin: $ibo-csv-import--download-file--margin;
}

View File

@@ -6,6 +6,10 @@
$ibo-datamodel-viewer--parent--spacer--padding-y: $ibo-spacing-0 !default;
$ibo-datamodel-viewer--parent--spacer--padding-x: $ibo-spacing-300 !default;
$ibo-datamodel-viewer--classes-list--selectize-input--background-color: $ibo-color-white-100 !default;
$ibo-datamodel-viewer--classes-list--selectize-input--color: $ibo-color-grey-800 !default;
$ibo-datamodel-viewer--classes-list--selectize-input--border-color: $ibo-color-grey-500 !default;
$ibo-datamodel-viewer--attributes-table--first-column--width: 3px !default;
$ibo-datamodel-viewer--origin-cell--diameter: 8px !default;
@@ -45,6 +49,15 @@ $ibo-datamodel-viewer--lifecycle-image--margin-bottom: $ibo-spacing-500 !default
padding: $ibo-datamodel-viewer--parent--spacer--padding-y $ibo-datamodel-viewer--parent--spacer--padding-x;
}
// Overwrite selectize rules with !important
.ibo-datamodel-viewer--classes-list .selectize-input{
background-color: $ibo-datamodel-viewer--classes-list--selectize-input--background-color !important;
background-image: none !important;
color: $ibo-datamodel-viewer--classes-list--selectize-input--color;
box-shadow: none !important;
border-color: $ibo-datamodel-viewer--classes-list--selectize-input--border-color !important;
}
#ibo-datamodel-viewer--attributes-table{
> tbody tr td:first-child{
width: $ibo-datamodel-viewer--attributes-table--first-column--width;

View File

@@ -6,4 +6,5 @@
@import "base";
@import "base-palette";
@import "semantic-palette";
@import "lifecycle-palette";
@import "lifecycle-palette";
@import "skeleton-palette";

View File

@@ -0,0 +1,17 @@
/*
* @copyright Copyright (C) 2010-2023 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
/* Skeleton palette */
/* - Colors used by skeletons svg to display placeholders */
$ibo-skeleton-start-color: $ibo-color-grey-200 !default;
$ibo-skeleton-stop-color: $ibo-color-blue-grey-100 !default;
/* CSS variables */
/* Skeleton CSS3 variables are not ibo prefixed as they are not iTop backoffice exclusives*/
:root {
--skeleton-start-color: #{$ibo-skeleton-start-color};
--skeleton-stop-color: #{$ibo-skeleton-stop-color};
}

View File

@@ -12,6 +12,7 @@
<stylesheets>
<stylesheet id="fullmoon">../css/backoffice/main.scss</stylesheet>
<stylesheet id="editor">combodo-backoffice-darkmoon-theme/scss/editor.scss</stylesheet>
<stylesheet id="ace_editor">combodo-backoffice-darkmoon-theme/scss/ace_editor.scss</stylesheet>
</stylesheets>
<precompiled_stylesheet>combodo-backoffice-darkmoon-theme/precompiled-themes/main.css</precompiled_stylesheet>
</theme>

View File

@@ -0,0 +1,90 @@
.ace-eclipse .ace_gutter {
background: unset !important;
border-right: unset !important;
color: $ibo-color-grey-400 !important;
}
.ace-eclipse .ace_print-margin {
width: 1px !important;
background: $ibo-color-grey-500 !important;
}
.ace-eclipse {
background-color: $ibo-color-grey-800 !important;
color: $ibo-color-grey-200 !important;
}
.ace-eclipse .ace_entity.ace_other.ace_attribute-name,
.ace-eclipse .ace_storage {
color: $ibo-color-grey-200 !important;
}
.ace-eclipse .ace_cursor {
color: $ibo-color-grey-200 !important;
}
.ace-eclipse .ace_string.ace_regexp {
color: $ibo-color-red-600 !important;
}
.ace-eclipse .ace_marker-layer .ace_active-line {
background: $ibo-color-grey-600 !important;
}
.ace-eclipse .ace_marker-layer .ace_selection {
background: $ibo-color-grey-600 !important;
}
.ace-eclipse.ace_multiselect .ace_selection.ace_start {
box-shadow: 0 0 3px 0px $ibo-color-grey-800 !important;
}
.ace-eclipse .ace_marker-layer .ace_step {
background: $nord13 !important;
}
.ace-eclipse .ace_marker-layer .ace_bracket {
margin: -1px 0 0 -1px !important;
border: 1px solid $ibo-color-primary-300 !important;
}
.ace-eclipse .ace_gutter-active-line {
background-color: $ibo-color-grey-600 !important;
}
.ace-eclipse .ace_marker-layer .ace_selected-word {
border: 1px solid $ibo-color-primary-300 !important;
}
.ace-eclipse .ace_invisible {
color: $ibo-color-grey-500 !important;
}
.ace-eclipse .ace_keyword,
.ace-eclipse .ace_meta,
.ace-eclipse .ace_support.ace_class,
.ace-eclipse .ace_support.ace_type {
color: $ibo-color-primary-500 !important;
}
.ace-eclipse .ace_constant.ace_character,
.ace-eclipse .ace_constant.ace_other {
color: $ibo-color-grey-200 !important;
}
.ace-eclipse .ace_constant.ace_language {
color: $ibo-color-primary-800 !important;
}
.ace-eclipse .ace_constant.ace_escape {
color: $nord13 !important;
}
.ace-eclipse .ace_constant.ace_numeric {
color: $nord15 !important;
}
.ace-eclipse .ace_fold {
background-color: $ibo-color-grey-500 !important;
border-color: $ibo-color-grey-200 !important;
}
.ace-eclipse .ace_entity.ace_name.ace_function,
.ace-eclipse .ace_entity.ace_name.ace_tag,
.ace-eclipse .ace_support.ace_function,
.ace-eclipse .ace_variable,
.ace-eclipse .ace_variable.ace_language {
color: #8fbcbb !important;
}
.ace-eclipse .ace_string {
color: $nord14 !important;
}
.ace-eclipse .ace_comment {
color: $nord7 !important;
}
.ace-eclipse .ace_indent-guide {
box-shadow: inset -1px 0 0 0 $ibo-color-grey-600 !important;
}
.ace-eclipse .ace_indent-guide-active {
box-shadow: inset -1px 0 0 0 $ibo-color-grey-400 !important;
}

View File

@@ -50,8 +50,8 @@ $text : $ibo-color-grey-100;
$text-invert: $ibo-color-grey-800;
$text-light : $ibo-color-grey-200;
$text-strong: inherit;
$code: $ibo-color-primary-800;
$code-background: $ibo-color-grey-300;
$code: $ibo-color-primary-400;
$code-background: $ibo-color-grey-700;
$pre-background: $ibo-color-grey-600;
$ibo-scrollbar--scrollbar-track-background-color: $ibo-color-grey-700;
@@ -145,6 +145,10 @@ $ibo-vendors-datatables--row--background-color--is-even: $ibo-color-grey-800;
$ibo-datatable--row--background-color--is-hover: $ibo-color-blue-900;
$ibo-datatable--row--background-color--is-selected: $ibo-color-blue-700;
$ibo-fieldsorter--selected--background-color: $ibo-color-blue-800;
$ibo-table-preview--header-cell--background-color: $ibo-color-grey-500;
$ibo-field--value--color: $ibo-body-text-color;
$ibo-title--text-color: $ibo-body-text-color;
@@ -173,8 +177,9 @@ $ibo-input-select-selectize--item--active--text-color: $ibo-color-grey-100;
$ibo-input-select-selectize--item--active--background-color: $ibo-color-grey-500;
$ibo-vendors-selectize-input--color: $ibo-body-text-color;
$ibo-popover-menu--separator--background-color: $ibo-color-grey-500;
$ibo-popover-menu--item-separator--background-color: $ibo-color-grey-500;
$ibo-popover-menu--item--text-color: $ibo-color-grey-200;
$ibo-popover-menu--item--icon--color: $ibo-color-grey-300;
$ibo-popover-menu--background-color: $ibo-color-grey-700;
$ibo-popover-menu--item--hover-background-color: $ibo-color-grey-500;
@@ -189,9 +194,17 @@ $ibo-tab-container--extra-tab-toggler--background-color--on-hover: $ibo-color-gr
$ibo-activity-panel--header--background-color: $ibo-color-grey-400;
$ibo-activity-panel--tab-toggler--is-active--background-color: $ibo-color-grey-200;
$ibo-activity-panel--tab-toolbar--background-color: $ibo-activity-panel--tab-toggler--is-active--background-color;
$ibo-activity-panel--load-entries-button--background-color: $ibo-color-grey-500;
$ibo-caselog-entry-form--background-color: $ibo-activity-panel--tab-toolbar--background-color;
$ibo-object-details--tag--separator--background-color: $ibo-color-grey-300;
$ibo-skeleton-start-color: $ibo-color-grey-500;
$ibo-skeleton-stop-color: $ibo-color-grey-400;
$ibo-tab--temporary-remote-content--button--color: $ibo-color-grey-200;
$ibo-tab--temporary-remote-content--button--hover--color: $ibo-color-grey-200;
$ibo-tab--temporary-remote-content--button--hover--background-color: $ibo-color-grey-800;
$ibo-activity-panel--tab-toolbar--text-color: $ibo-color-grey-800;
$ibo-activity-panel--tab-toolbar-action--color: $ibo-color-grey-800;
@@ -216,7 +229,7 @@ $ibo-search-form-panel--criteria--color: $ibo-color-grey-100;
$ibo-search-form-panel--more-criteria--background-color: $ibo-color-grey-800;
$ibo-search-form-panel--more-criteria--color: $ibo-color-grey-100;
$ibo-search-form-panel--more-criteria--icon--color: $ibo-color-primary-500;
$ibo-search-form-panel--criteria--border-color: $ibo-color-grey-500;
$ibo-search-form-panel--criteria--border-color: $ibo-color-grey-900;
$ibo-search-form-panel--multiple-choice--hover--color: $ibo-color-grey-500;
$ibo-search-form-panel--items--hover--color: $ibo-search-form-panel--multiple-choice--hover--color;
@@ -251,4 +264,16 @@ $ibo-vendors-c3--legend--background-color: $ibo-color-white-100;
$ibo-vendors-c3--legend-item--fill: $ibo-color-grey-100;
$ibo-vendors-c3--axis--fill: $ibo-color-grey-200;
$ibo-run-query--highlight--background-color: $ibo-color-primary-700;
$ibo-run-query--highlight--background-color: $ibo-color-primary-700;
$ibo-datamodel-viewer--classes-list--selectize-input--background-color: $ibo-color-grey-700;
$ibo-datamodel-viewer--classes-list--selectize-input--border-color: $ibo-color-grey-500;
$ibo-datamodel-viewer--classes-list--selectize-input--color: $ibo-color-grey-200;
$ibo-datamodel-viewer--lifecycle--code--color: $ibo-color-grey-300;
$ibo-datamodel-viewer--lifecycle--stimuli--color: $ibo-color-blue-300;
$ibo-datamodel-viewer--lifecycle--attribute-option--color: $ibo-color-pink-300;
$ibo-datamodel-viewer--schema--tooltip--fill: $ibo-color-grey-600;
$ibo-csv-import--row-error--background-color: $ibo-color-red-950;
$ibo-csv-import--cell-error--color: $ibo-color-red-500;
$ibo-csv-import--cell-modified--color: $ibo-color-blue-500;

View File

@@ -38,7 +38,7 @@
<linearGradient id="dashboard-fill">
<stop
offset="0.599964"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate
@@ -51,7 +51,7 @@
</stop>
<stop
offset="1.59996"
stop-color="#ecebeb"
stop-color="var(--skeleton-stop-color)"
stop-opacity="1"
>
<animate
@@ -64,7 +64,7 @@
</stop>
<stop
offset="2.59996"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -39,7 +39,7 @@
<linearGradient id="list-fill">
<stop
offset="0.599964"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate
@@ -52,7 +52,7 @@
</stop>
<stop
offset="1.59996"
stop-color="#ecebeb"
stop-color="var(--skeleton-stop-color)"
stop-opacity="1"
>
<animate
@@ -65,7 +65,7 @@
</stop>
<stop
offset="2.59996"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -44,7 +44,7 @@
<linearGradient id="object-fill">
<stop
offset="0.599964"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate
@@ -57,7 +57,7 @@
</stop>
<stop
offset="1.59996"
stop-color="#ecebeb"
stop-color="var(--skeleton-stop-color)"
stop-opacity="1"
>
<animate
@@ -70,7 +70,7 @@
</stop>
<stop
offset="2.59996"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -39,7 +39,7 @@
<linearGradient id="misc-fill">
<stop
offset="0.599964"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate
@@ -52,7 +52,7 @@
</stop>
<stop
offset="1.59996"
stop-color="#ecebeb"
stop-color="var(--skeleton-stop-color)"
stop-opacity="1"
>
<animate
@@ -65,7 +65,7 @@
</stop>
<stop
offset="2.59996"
stop-color="#f3f3f3"
stop-color="var(--skeleton-start-color)"
stop-opacity="1"
>
<animate

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -634,7 +634,7 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
// will force it be of the same class as the previous call)
me.sTargetClass = me.sOriginalTargetClass;
me.CreateObject(oWizHelper);
me.CreateObject();
};
this.DoSelectObjectClass = function () {
@@ -646,13 +646,12 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
// Setting new target class
me.sTargetClass = oSelectedClass.val();
// Opening real creation form
me.CreateObject(true);
$('#ac_create_'+me.id).dialog('close');
me.CreateObject();
};
this.CreateObject = function (oWizHelper) {
this.CreateObject = function (bTargetClassSelected) {
if ($('#'+me.id).prop('disabled')) {
return;
} // Disabled, do nothing
@@ -670,7 +669,8 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
sAttCode: me.sAttCode,
'json': me.oWizardHelper.ToJSON(),
operation: 'objectCreationForm',
ajax_promise_id: sPromiseId
ajax_promise_id: sPromiseId,
bTargetClassSelected: bTargetClassSelected
};
// Make sure that we cancel any pending request before issuing another
@@ -678,6 +678,7 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
me.StopPendingRequest();
// Run the query and get the result back directly in HTML
var sLocalTargetClass = me.sTargetClass; // Remember the target class since it will be reset when closing the dialog
me.ajax_request = $.post(AddAppContext(GetAbsoluteUrlAppRoot()+'pages/ajax.render.php'), theMap,
function (data) {
$('#ajax_'+me.id).html(data);
@@ -687,6 +688,7 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
// Modify the action of the cancel button
$('#ac_create_'+me.id+' button.cancel').off('click').on('click', me.CloseCreateObject);
me.ajax_request = null;
me.sTargetClass = sLocalTargetClass;
// Adjust the dialog's size to fit into the screen
if ($('#ac_create_'+me.id).width() > ($(window).width()-40)) {
$('#ac_create_'+me.id).width($(window).width()-40);
@@ -714,6 +716,10 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper
$('#ac_create_'+me.id).dialog("destroy");
$('#ac_create_'+me.id).remove();
$('#ajax_'+me.id).html('');
// Resetting target class to its original value
// (If not done, closing the dialog and trying to create a object again
// will force it be of the same class as the previous call)
me.sTargetClass = me.sOriginalTargetClass;
};
this.DoCreateObject = function () {

View File

@@ -416,9 +416,10 @@ try
$iInputId = utils::ReadParam('iInputId', '');
$sAttCode = utils::ReadParam('sAttCode', '');
$sJson = utils::ReadParam('json', '', false, 'raw_data');
// Building form, if target class is abstract we ask the user for the desired leaf class
$bTargetClassSelected = utils::ReadParam('bTargetClassSelected', '', false, 'raw_data');
// Building form, if target class has child classes we ask the user for the desired leaf class, unless we've already done just that
$oWidget = new UIExtKeyWidget($sTargetClass, $iInputId, $sAttCode, false);
if (MetaModel::IsAbstract($sTargetClass)) {
if(!$bTargetClassSelected && MetaModel::HasChildrenClasses($sTargetClass)){
$oWidget->GetClassSelectionForm($oPage);
} else {
$aPrefillFormParam = array();