From f1cad5993b46ea17ae7925578a14ebd231035b78 Mon Sep 17 00:00:00 2001 From: acognet Date: Fri, 22 Jan 2021 11:46:55 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B03528=20-=20Finish=20silo=20selection=20m?= =?UTF-8?q?igration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/ui.extkeywidget.class.inc.php | 22 ++++++++++++++----- .../components/input/_input-select.scss | 6 ++++- css/backoffice/layout/_navigation-menu.scss | 4 ++++ js/extkeywidget.js | 8 +++++++ 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/application/ui.extkeywidget.class.inc.php b/application/ui.extkeywidget.class.inc.php index 0ea706330..c793ac0b3 100644 --- a/application/ui.extkeywidget.class.inc.php +++ b/application/ui.extkeywidget.class.inc.php @@ -193,6 +193,7 @@ class UIExtKeyWidget { $bAddingValue=true; } + $bAutoSelectValue=false; while($oObj = $oAllowedValues->Fetch()) { $aOption=[]; @@ -205,11 +206,8 @@ class UIExtKeyWidget $sDisplayValue=$oObj->GetName(); if($value != $oObj->GetKey()) { - $oPage->add_ready_script( - <<iId').attr('data-validate','dependencies'); -EOF - ); + $bAutoSelectValue=true; + $value=$oObj->GetKey(); } } else @@ -246,6 +244,19 @@ EOF EOF ); + if($bAutoSelectValue) + { + $oPage->add_ready_script( + <<iId > option').val('{$value}'); +$('#$this->iId > option').html('{$sDisplayValue}'); +$('#field_$this->iId').find('.ibo-input-select').append('
{$sDisplayValue}
'); +$('#$this->iId > .ibo-input-select').val('{$value}'); +$('#$this->iId > .ibo-input-select').html('{$sDisplayValue}'); +$('#$this->iId').attr('data-validate','dependencies'); +EOF + ); + } } else { @@ -272,6 +283,7 @@ EOF // the input for the auto-complete $sHTMLValue .= "iId\" value=\"$sDisplayValue\"/>"; $sHTMLValue .= "
iId}\" onClick=\"oACWidget_{$this->iId}.Search();\">
"; + $sHTMLValue .= "
iId}\" onClick=\"oACWidget_{$this->iId}.Clear();\">
"; // another hidden input to store & pass the object's Id $sHTMLValue .= "iId\" name=\"{$sAttrFieldPrefix}{$sFieldName}\" value=\"".htmlentities($value, ENT_QUOTES, 'UTF-8')."\" />\n"; diff --git a/css/backoffice/components/input/_input-select.scss b/css/backoffice/components/input/_input-select.scss index d7b865b89..578c126b8 100644 --- a/css/backoffice/components/input/_input-select.scss +++ b/css/backoffice/components/input/_input-select.scss @@ -21,8 +21,9 @@ $ibo-input-select--action-button--padding-y: 5px !default; $ibo-input-select--action-button--hierarchy--margin-left: -60px !default; $ibo-input-select--action-button--create--margin-left: -38px !default; $ibo-input-select--action-button--search--margin-left: -60px !default; +$ibo-input-select--action-button--clear--margin-left: -72px !default; -$ibo-input-select-autocomplete-action-button--hierarchy--margin-left: -82px !default; +$ibo-input-select-autocomplete-action-button--hierarchy--margin-left: -92px !default; .ibo-input-select{ appearance: none; @@ -79,6 +80,9 @@ $ibo-input-select-autocomplete-action-button--hierarchy--margin-left: -82px !def &.ibo-input-select--action-button--search{ margin-left: $ibo-input-select--action-button--search--margin-left; } + &.ibo-input-select--action-button--clear{ + margin-left: $ibo-input-select--action-button--clear--margin-left; + } } .ibo-input-select-autocomplete ~ .ibo-input-select--action-button--hierarchy{ margin-left: $ibo-input-select-autocomplete-action-button--hierarchy--margin-left; diff --git a/css/backoffice/layout/_navigation-menu.scss b/css/backoffice/layout/_navigation-menu.scss index 36e531240..fea2f4b1a 100644 --- a/css/backoffice/layout/_navigation-menu.scss +++ b/css/backoffice/layout/_navigation-menu.scss @@ -58,6 +58,7 @@ $ibo-navigation-menu--silo-selection--input--padding-right: 38px !default; $ibo-navigation-menu--silo-selection--input-select--action-button--hierarchy--margin-left: -42px !default; $ibo-navigation-menu--silo-selection--input-select-autocomplete--padding-left: 60px !default; $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--search--margin-left: -42px !default; +$ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--clear--margin-left: -72px !default; $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--hierarchy--margin-left: -60px !default; $ibo-navigation-menu--silo-visual-hint--top: 2px !default; @@ -453,6 +454,9 @@ $ibo-navigation-menu--user-info--height--is-expanded: 100% !default; ~ .ibo-input-select--action-button--search{ margin-left: $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--search--margin-left; } + ~ .ibo-input-select--action-button--clear{ + margin-left: $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--clear--margin-left; + } ~ .ibo-input-select--action-button--hierarchy{ margin-left: $ibo-navigation-menu--silo-selection--input-select-autocomplete--action-button--hierarchy--margin-left; } diff --git a/js/extkeywidget.js b/js/extkeywidget.js index 94575e273..9b59f1c4d 100644 --- a/js/extkeywidget.js +++ b/js/extkeywidget.js @@ -405,6 +405,14 @@ function ExtKeyWidget(id, sTargetClass, sFilter, sTitle, bSelectMode, oWizHelper return false; // Do NOT submit the form in case we are called by OnSubmit... }; + this.Clear = function () { + $('#'+me.id).val(''); + $('#label_'+me.id).val(''); + $('#'+me.id).trigger('validate'); + $('#'+me.id).trigger('extkeychange'); + $('#'+me.id).trigger('change'); + }; + // Workaround for a ui.jquery limitation: if the content of // the dialog contains many INPUTs, closing and opening the // dialog is very slow. So empty it each time.