diff --git a/src/utils/mutation.ts b/src/utils/mutation.ts new file mode 100644 index 00000000..219d9337 --- /dev/null +++ b/src/utils/mutation.ts @@ -0,0 +1,44 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export class mutationObserver { + private static mutationObserverMap: Map = new Map(); + + static create(key: string, callback: MutationCallback) { + const observer = new MutationObserver(callback); + mutationObserver.mutationObserverMap.set(key, observer); + } + + static observe(key: string, target: Node, options?: MutationObserverInit) { + const observer = mutationObserver.mutationObserverMap.get(key); + if (observer) { + observer.observe(target, options); + } + } + + static deleteObserve(key: string): void { + this.disconnect(key); + this.mutationObserverMap.delete(key); + } + + static disconnect(key: string): void { + const observer = this.mutationObserverMap.get(key); + if (observer) { + observer.disconnect(); + } + } +} diff --git a/src/views/dashboard/controls/Trace.vue b/src/views/dashboard/controls/Trace.vue index 4daa614b..4db7e77a 100644 --- a/src/views/dashboard/controls/Trace.vue +++ b/src/views/dashboard/controls/Trace.vue @@ -25,22 +25,34 @@ limitations under the License. -->
- +
- + +
+
+ + + +
diff --git a/src/views/dashboard/related/trace/Detail.vue b/src/views/dashboard/related/trace/Detail.vue index c5c1ea2a..f115f602 100644 --- a/src/views/dashboard/related/trace/Detail.vue +++ b/src/views/dashboard/related/trace/Detail.vue @@ -166,8 +166,8 @@ limitations under the License. -->