Skip to content

Commit 951079c

Browse files
committed
maint(pat-inject): Use create_uuid for generating the temporary autoload uuid and remove it again afterwards.
1 parent cc11562 commit 951079c

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/pat/inject/inject.js

+9-6
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import events from "../../core/events";
66
import logging from "../../core/logging";
77
import Parser from "../../core/parser";
88
import registry from "../../core/registry";
9+
import create_uuid from "../../core/uuid";
910
import utils from "../../core/utils";
1011

1112
const 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

Comments
 (0)