From 84e0a7994d22fa5be5e5f8ae91ca4990ef495afd Mon Sep 17 00:00:00 2001
From: chenjingwu <chenjingwu@prec-tech.com>
Date: 星期五, 24 五月 2024 16:49:53 +0800
Subject: [PATCH] 1

---
 force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js |   52 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 11 deletions(-)

diff --git a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
index b96314d..725a643 100644
--- a/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
+++ b/force-app/main/default/lwc/multiSelectCombobox/multiSelectCombobox.js
@@ -1,6 +1,7 @@
 /* Code by CafeForce || www.cafeforce.com || support@cafeforce.com || Mandatory Header */
 import { LightningElement, track, api } from 'lwc';
-
+import lexHandCss from '@salesforce/resourceUrl/lexHandCss';
+import {loadStyle} from 'lightning/platformResourceLoader';
 export default class MultiSelectCombobox extends LightningElement {
     
     @api options;
@@ -15,11 +16,15 @@
     @track value;
     @track values = [];
     @track optionData;
-    @track searchString;
+    @api searchString;
     @track message;
     @track showDropdown = false;
     @api placeholder = '--鏃�--';
+    @track errorFlag = false;
     connectedCallback() {
+        Promise.all([
+            loadStyle(this, lexHandCss)
+           ]);
         this.showDropdown = false;
         var optionData = this.options ? (JSON.parse(JSON.stringify(this.options))) : null;
         var value = this.selectedValue ? (JSON.parse(JSON.stringify(this.selectedValue))) : null;
@@ -51,6 +56,15 @@
 
     get isRequired() {
         return this.required;
+    }
+    closeAction(){
+        this.showDropdown = false;
+    }
+    handlePayModeOpen() {
+        setTimeout(() => {
+            const topDiv = this.template.querySelector('[data-id="scrollSec"]');
+            topDiv.scrollTop = topDiv.scrollHeight;
+        }, 20);
     }
 
     filterOptions(event) {
@@ -112,7 +126,20 @@
                 event.preventDefault();
             else
                 this.showDropdown = false;
+                this.dispatchEvent(new CustomEvent('select', {
+                    detail: {
+                        'payloadType' : 'multi-select',
+                        'payload' : {
+                            'value' : this.value,
+                            'values' : this.values
+                        }
+                    }
+                }));
         }
+    }
+
+    dontClose(event){
+        event.preventDefault();
     }
 
     showOptions() {
@@ -159,6 +186,17 @@
                 count++;
             }
         }
+        if(!previousLabel){
+            var element = this.template.querySelector('[data-id="myinput"]');
+            element.classList.add('slds-has-error');
+            this.errorFlag = true;
+            this.showDropdown = false;
+        }else{
+            var element = this.template.querySelector('[data-id="myinput"]');
+            element.classList.remove('slds-has-error');
+            this.errorFlag = false;
+            this.showDropdown = false;
+        }
         if(this.multiSelect)
         	this.searchString = count + ' Option(s) Selected';
         else
@@ -166,15 +204,7 @@
         
         this.showDropdown = false;
 
-        this.dispatchEvent(new CustomEvent('select', {
-            detail: {
-                'payloadType' : 'multi-select',
-                'payload' : {
-                    'value' : this.value,
-                    'values' : this.values
-                }
-            }
-        }));
+        
     }
 }
 /* 

--
Gitblit v1.9.1