1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- export function monkeyPatchInjectorWithPreAssignedBindings(injector: any) {
- injector.oldInvoke = injector.invoke;
- injector.invoke = (fn: any, self: any, locals: any, serviceName: any) => {
- const parentScope = locals?.$scope?.$parent;
- if (parentScope) {
- // PanelCtrl
- if (parentScope.panel) {
- self.panel = parentScope.panel;
- }
- // Panels & dashboard SettingsCtrl
- if (parentScope.dashboard) {
- self.dashboard = parentScope.dashboard;
- }
- // Query editors
- if (parentScope.ctrl?.target) {
- self.panelCtrl = parentScope.ctrl;
- self.datasource = parentScope.ctrl.datasource;
- self.target = parentScope.ctrl.target;
- }
- // Data source ConfigCtrl
- if (parentScope.ctrl?.datasourceMeta) {
- self.meta = parentScope.ctrl.datasourceMeta;
- self.current = parentScope.ctrl.current;
- }
- // Data source AnnotationsQueryCtrl
- if (parentScope.ctrl?.currentAnnotation) {
- self.annotation = parentScope.ctrl.currentAnnotation;
- self.datasource = parentScope.ctrl.currentDatasource;
- }
- // App config ctrl
- if (parentScope.isAppConfigCtrl) {
- self.appEditCtrl = parentScope.ctrl;
- self.appModel = parentScope.ctrl.model;
- }
- // App page ctrl
- if (parentScope.$parent?.$parent?.ctrl?.appModel) {
- self.appModel = parentScope.$parent?.$parent?.ctrl?.appModel;
- }
- }
- return injector.oldInvoke(fn, self, locals, serviceName);
- };
- }
|