From dd004276162a2bf9d042ff0aaa569dc30a95d827 Mon Sep 17 00:00:00 2001
From: binxie <137736985@qq.com>
Date: 星期一, 26 六月 2023 14:23:26 +0800
Subject: [PATCH] newbackup0626

---
 force-app/main/default/lwc/lexLookup/lexLookup.js |  123 +++++++++++++++++++++++++++++------------
 1 files changed, 87 insertions(+), 36 deletions(-)

diff --git a/force-app/main/default/lwc/lexLookup/lexLookup.js b/force-app/main/default/lwc/lexLookup/lexLookup.js
index 7d2ef23..05e2a9e 100644
--- a/force-app/main/default/lwc/lexLookup/lexLookup.js
+++ b/force-app/main/default/lwc/lexLookup/lexLookup.js
@@ -11,7 +11,8 @@
 const VARIANT_LABEL_INLINE = 'label-inline';
 const VARIANT_LABEL_HIDDEN = 'label-hidden';
 
-const REGEX_SOSL_RESERVED = /(\?|&|\||!|\{|\}|\[|\]|\(|\)|\^|~|\*|:|"|\+|-|\\)/g;
+const REGEX_SOSL_RESERVED =
+    /(\?|&|\||!|\{|\}|\[|\]|\(|\)|\^|~|\*|:|"|\+|-|\\)/g;
 const REGEX_EXTRA_TRAP = /(\$|\\)/g;
 
 export default class LexLookup extends NavigationMixin(LightningElement) {
@@ -45,15 +46,13 @@
     _curSelection = [];
     _focusedResultIndex = null;
 
-
-
-
-
     // PUBLIC FUNCTIONS AND GETTERS/SETTERS
     @api
     set selection(initialSelection) {
         if (initialSelection) {
-            this._curSelection = Array.isArray(initialSelection) ? initialSelection : [initialSelection];
+            this._curSelection = Array.isArray(initialSelection)
+                ? initialSelection
+                : [initialSelection];
             this.processSelectionUpdate(false);
         }
     }
@@ -93,9 +92,13 @@
         let resultsLocal = JSON.parse(JSON.stringify(results));
         // Remove selected items from search results
         const selectedIds = this._curSelection.map((sel) => sel.id);
-        resultsLocal = resultsLocal.filter((result) => selectedIds.indexOf(result.id) === -1);
+        resultsLocal = resultsLocal.filter(
+            (result) => selectedIds.indexOf(result.id) === -1
+        );
         // Format results
-        const cleanSearchTerm = this._searchTerm.replace(REGEX_SOSL_RESERVED, '.?').replace(REGEX_EXTRA_TRAP, '\\$1');
+        const cleanSearchTerm = this._searchTerm
+            .replace(REGEX_SOSL_RESERVED, '.?')
+            .replace(REGEX_EXTRA_TRAP, '\\$1');
         const regex = new RegExp(`(${cleanSearchTerm})`, 'gi');
         this._searchResults = resultsLocal.map((result) => {
             // Format title and subtitle
@@ -124,7 +127,8 @@
                 result,
                 state: {},
                 get classes() {
-                    let cls = 'slds-media slds-media_center slds-listbox__option slds-listbox__option_entity';
+                    let cls =
+                        'slds-media slds-media_center slds-listbox__option slds-listbox__option_entity';
                     if (result.subtitleFormatted) {
                         cls += ' slds-listbox__option_has-meta';
                     }
@@ -139,7 +143,7 @@
 
     @api
     getSelection() {
-        console.log('get selection:' +this._curSelection);
+        console.log('get selection:' + this._curSelection);
         return this._curSelection;
     }
 
@@ -156,9 +160,11 @@
         this.template.querySelector('input')?.blur();
     }
 
-    connectedCallback(){
+    connectedCallback() {
         console.log('LexLookup accountValue = ' + this.accountValue);
-        console.log('isDisabledForDealerText = ' + this.isDisabledForDealerText);
+        console.log(
+            'isDisabledForDealerText = ' + this.isDisabledForDealerText
+        );
     }
 
     // INTERNAL FUNCTIONS
@@ -166,7 +172,10 @@
         this._searchTerm = newSearchTerm;
 
         // Compare clean new search term with current one and abort if identical
-        const newCleanSearchTerm = newSearchTerm.trim().replace(REGEX_SOSL_RESERVED, '?').toLowerCase();
+        const newCleanSearchTerm = newSearchTerm
+            .trim()
+            .replace(REGEX_SOSL_RESERVED, '?')
+            .toLowerCase();
         if (this._cleanSearchTerm === newCleanSearchTerm) {
             return;
         }
@@ -175,7 +184,10 @@
         this._cleanSearchTerm = newCleanSearchTerm;
 
         // Ignore search terms that are too small after removing special characters
-        if (newCleanSearchTerm.replace(/\?/g, '').length < this.minSearchTermLength) {
+        if (
+            newCleanSearchTerm.replace(/\?/g, '').length <
+            this.minSearchTermLength
+        ) {
             this.setSearchResults(this._defaultSearchResults);
             return;
         }
@@ -195,7 +207,9 @@
                     detail: {
                         searchTerm: this._cleanSearchTerm,
                         rawSearchTerm: newSearchTerm,
-                        selectedIds: this._curSelection.map((element) => element.id)
+                        selectedIds: this._curSelection.map(
+                            (element) => element.id
+                        )
                     }
                 });
                 this.dispatchEvent(searchEvent);
@@ -229,7 +243,9 @@
         // If selection was changed by user, notify parent components
         if (isUserInteraction) {
             const selectedIds = this._curSelection.map((sel) => sel.id);
-            this.dispatchEvent(new CustomEvent('selectionchange', { detail: selectedIds }));
+            this.dispatchEvent(
+                new CustomEvent('selectionchange', { detail: selectedIds })
+            );
         }
     }
 
@@ -261,12 +277,18 @@
                 this._focusedResultIndex = this._searchResults.length - 1;
             }
             event.preventDefault();
-        } else if (event.keyCode === KEY_ENTER && this._hasFocus && this._focusedResultIndex >= 0) {
+        } else if (
+            event.keyCode === KEY_ENTER &&
+            this._hasFocus &&
+            this._focusedResultIndex >= 0
+        ) {
             // If the user presses enter, and the box is open, and we have used arrows,
             // treat this just like a click on the listbox item
             const selectedId = this._searchResults[this._focusedResultIndex].id;
-            console.log('selectedid:'+selectedId);
-            this.template.querySelector(`[data-recordid="${selectedId}"]`).click();
+            console.log('selectedid:' + selectedId);
+            this.template
+                .querySelector(`[data-recordid="${selectedId}"]`)
+                .click();
             event.preventDefault();
         }
     }
@@ -275,7 +297,9 @@
         const recordId = event.currentTarget.dataset.recordid;
 
         // Save selection
-        const selectedItem = this._searchResults.find((result) => result.id === recordId);
+        const selectedItem = this._searchResults.find(
+            (result) => result.id === recordId
+        );
         if (!selectedItem) {
             return;
         }
@@ -319,7 +343,7 @@
         });
         this.dispatchEvent(blurEvent);
         this._hasFocus = false;
-        if(!this.hasSelection()){
+        if (!this.hasSelection()) {
             this._searchTerm = '';
         }
     }
@@ -329,7 +353,9 @@
             return;
         }
         const recordId = event.currentTarget.name;
-        this._curSelection = this._curSelection.filter((item) => item.id !== recordId);
+        this._curSelection = this._curSelection.filter(
+            (item) => item.id !== recordId
+        );
         // Process selection update
         this.processSelectionUpdate(true);
     }
@@ -344,7 +370,9 @@
 
     handleNewRecordClick(event) {
         const objectApiName = event.currentTarget.dataset.sobject;
-        const selection = this.newRecordOptions.find((option) => option.value === objectApiName);
+        const selection = this.newRecordOptions.find(
+            (option) => option.value === objectApiName
+        );
 
         const preNavigateCallback = selection.preNavigateCallback
             ? selection.preNavigateCallback
@@ -370,11 +398,15 @@
     }
 
     get isListboxOpen() {
-        const isSearchTermValid = this._cleanSearchTerm && this._cleanSearchTerm.length >= this.minSearchTermLength;
+        const isSearchTermValid =
+            this._cleanSearchTerm &&
+            this._cleanSearchTerm.length >= this.minSearchTermLength;
         return (
             this._hasFocus &&
             this.isSelectionAllowed() &&
-            (isSearchTermValid || this.hasResults || this.newRecordOptions?.length > 0)
+            (isSearchTermValid ||
+                this.hasResults ||
+                this.newRecordOptions?.length > 0)
         );
     }
 
@@ -403,7 +435,8 @@
     }
 
     get getDropdownClass() {
-        let css = 'slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click ';
+        let css =
+            'slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click ';
         if (this.isListboxOpen) {
             css += 'slds-is-open';
         }
@@ -415,11 +448,16 @@
         if (this._hasFocus && this.hasResults) {
             css += 'slds-has-focus ';
         }
-        if (this._errors.length > 0 || (this._isDirty && this.required && !this.hasSelection())) {
+        if (
+            this._errors.length > 0 ||
+            (this._isDirty && this.required && !this.hasSelection())
+        ) {
             css += 'has-custom-error ';
         }
         if (!this.isMultiEntry) {
-            css += 'slds-combobox__input-value ' + (this.hasSelection() ? 'has-custom-border' : '');
+            css +=
+                'slds-combobox__input-value ' +
+                (this.hasSelection() ? 'has-custom-border' : '');
         }
         return css;
     }
@@ -429,7 +467,9 @@
         if (this.isMultiEntry) {
             css += 'slds-input-has-icon_right';
         } else {
-            css += this.hasSelection() ? 'slds-input-has-icon_left-right' : 'slds-input-has-icon_right';
+            css += this.hasSelection()
+                ? 'slds-input-has-icon_left-right'
+                : 'slds-input-has-icon_right';
         }
         return css;
     }
@@ -450,23 +490,32 @@
     }
 
     get getSelectIconName() {
-        if(this._curSelection[0])
-            console.log('this._curSelection[0].icon = ' + this._curSelection[0].icon);
-        return this.hasSelection() ? this._curSelection[0].icon : 'standard:default';
+        if (this._curSelection[0])
+            console.log(
+                'this._curSelection[0].icon = ' + this._curSelection[0].icon
+            );
+        return this.hasSelection()
+            ? this._curSelection[0].icon
+            : 'standard:default';
     }
 
     get getSelectIconClass() {
-        return 'slds-combobox__input-entity-icon ' + (this.hasSelection() ? '' : 'slds-hide');
+        return (
+            'slds-combobox__input-entity-icon ' +
+            (this.hasSelection() ? '' : 'slds-hide')
+        );
     }
 
     get getInputValue() {
         if (this.isMultiEntry) {
             return this._searchTerm;
         }
-        if(this.accountValue != ''){
+        if (this.accountValue != '') {
             return this.accountValue;
         }
-        return this.hasSelection() ? this._curSelection[0].title : this._searchTerm;
+        return this.hasSelection()
+            ? this._curSelection[0].title
+            : this._searchTerm;
     }
 
     get getInputTitle() {
@@ -479,7 +528,9 @@
     get getListboxClass() {
         return (
             'slds-dropdown ' +
-            (this.scrollAfterNItems ? `slds-dropdown_length-with-icon-${this.scrollAfterNItems} ` : '') +
+            (this.scrollAfterNItems
+                ? `slds-dropdown_length-with-icon-${this.scrollAfterNItems} `
+                : '') +
             'slds-dropdown_fluid'
         );
     }

--
Gitblit v1.9.1