@@ -6,6 +6,7 @@ import events from "../../core/events";
66import  logging  from  "../../core/logging" ; 
77import  Parser  from  "../../core/parser" ; 
88import  registry  from  "../../core/registry" ; 
9+ import  create_uuid  from  "../../core/uuid" ; 
910import  utils  from  "../../core/utils" ; 
1011
1112const  log  =  logging . getLogger ( "pat.inject" ) ; 
@@ -136,26 +137,28 @@ const inject = {
136137                    if  ( ! cfgs [ 0 ] . delay )  { 
137138                        this . onTrigger ( {  currentTarget : el  } ) ; 
138139                    }  else  { 
139-                         // generate UID  
140-                         const  uid  =  Math . random ( ) . toString ( 36 ) ; 
141-                         el . setAttribute ( "data-pat-inject-uid " ,  uid ) ; 
140+                         // generate UUID  
141+                         const  uuid  =  create_uuid ( ) ; 
142+                         el . setAttribute ( "data-pat-inject-uuid " ,  uuid ) ; 
142143
143144                        // function to trigger the autoload and mark as triggered 
144-                         const  delayed_trigger  =  ( uid_ )  =>  { 
145+                         const  delayed_trigger  =  ( uuid_ )  =>  { 
145146                            // Check if the element has been removed from the dom 
146147                            const  still_there  =  document . querySelector ( 
147-                                 `[data-pat-inject-uid ="${ uid_ }  
148+                                 `[data-pat-inject-uuid ="${ uuid_ }  
148149                            ) ; 
149150                            if  ( ! still_there )  { 
150151                                return  false ; 
151152                            } 
152153
153154                            $el . data ( "pat-inject-autoloaded" ,  true ) ; 
154155                            this . onTrigger ( {  currentTarget : el  } ) ; 
156+                             // Cleanup again. 
157+                             still_there . removeAttribute ( "data-pat-inject-uuid" ) ; 
155158                            return  true ; 
156159                        } ; 
157160                        window . setTimeout ( 
158-                             delayed_trigger . bind ( null ,  uid ) , 
161+                             delayed_trigger . bind ( null ,  uuid ) , 
159162                            cfgs [ 0 ] . delay 
160163                        ) ; 
161164                    } 
0 commit comments