Move tracker to telemetry extension (#1092)

Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
Jari Kolehmainen authored and GitHub committed 2020-10-19 11:56:08 +03:00
1 parent a478143423
commit c566c85351
27 files changed
+472 -117

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
// Base http-service / json-api class
import { stringify } from "querystring";
import { EventEmitter } from "../utils/eventEmitter";
import { EventEmitter } from "../../common/event-emitter";
import { cancelableFetch } from "../utils/cancelableFetch";
export interface JsonApiData {
+1 -1
View File
@@ -1,5 +1,5 @@
import { observable } from "mobx";
import { EventEmitter } from "../utils/eventEmitter";
import { EventEmitter } from "../../common/event-emitter";
interface IParams {
url?: string; // connection url, starts with ws:// or wss://
+4
View File
@@ -39,6 +39,7 @@ import { pageRegistry } from "../../extensions/page-registry";
import { DynamicPage } from "../../extensions/dynamic-page";
import { extensionLoader } from "../../extensions/extension-loader";
import { getLensRuntime } from "../../extensions/lens-runtime";
import { appEventBus } from "../../common/event-bus"
@observer
export class App extends React.Component {
@@ -51,6 +52,9 @@ export class App extends React.Component {
await clusterIpc.setFrameId.invokeFromRenderer(clusterId, frameId);
await getHostedCluster().whenReady; // cluster.activate() is done at this point
extensionLoader.loadOnClusterRenderer(getLensRuntime)
appEventBus.emit({name: "cluster", action: "open", params: {
clusterId: clusterId
}})
}
get startURL() {
-40
View File
@@ -1,40 +0,0 @@
// Custom event emitter
interface Options {
once?: boolean; // call once and remove
prepend?: boolean; // put listener to the beginning
}
type Callback<D extends [...any[]]> = (...data: D) => void | boolean;
export class EventEmitter<D extends [...any[]]> {
protected listeners = new Map<Callback<D>, Options>();
addListener(callback: Callback<D>, options: Options = {}) {
if (options.prepend) {
const listeners = [...this.listeners];
listeners.unshift([callback, options]);
this.listeners = new Map(listeners);
}
else {
this.listeners.set(callback, options);
}
}
removeListener(callback: Callback<D>) {
this.listeners.delete(callback);
}
removeAllListeners() {
this.listeners.clear();
}
emit(...data: D) {
[...this.listeners].every(([callback, options]) => {
if (options.once) this.removeListener(callback);
const result = callback(...data);
if (result === false) return; // break cycle
return true;
})
}
}
+1 -1
View File
@@ -7,7 +7,7 @@ export * from "../../common/utils"
export * from "./cssVar"
export * from "./cssNames"
export * from "./eventEmitter"
export * from "../../common/event-emitter"
export * from "./downloadFile"
export * from "./prevDefault"
export * from "./createStorage"