You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.2 KiB

1 year ago
import { axios, Environment } from 'platform-core';
import { AutoCompletionManager } from '@/views/shared/AutoCompletionManager';
import { UserDefinedFunctionsManager } from '@/views/shared/UserDefinedFunctionsManager';
/**
*
*/
abstract class Processor {
public static PARAMETER: string = 'parameter';
public static INDICATOR: string = 'indicator';
public static SCORE_CARD: string = 'scoreCard';
targetType: string;
autoCompletionManager: any;
userDefinedFunctionsManager: any;
constructor(targetType: string) {
this.targetType = targetType;
this.autoCompletionManager = new AutoCompletionManager();
this.userDefinedFunctionsManager = new UserDefinedFunctionsManager();
}
/**
*
* @param target
*/
abstract getToolbarAction(target: any): any;
/**
*
* @param row
*/
abstract format(row: any): any;
/**
*
* @param context
*/
abstract getEditorFields(context?: any): any;
/**
*
* @param context
*/
abstract getViewerFields(context?: any): any;
/**
*
* @param args
*/
abstract beforeEditorDataSubmit(args: any): void;
/**
*
* @param args
*/
abstract afterEditorOpen(args: any): void;
/**
* code-mirror
* @param args
*/
initAutoCompletionManager(args: any) {
if (this.targetType === Processor.PARAMETER) {
this.autoCompletionManager.load(Environment.apiContextPath('/api/re/common/listParameterAndValueTypeByParameterId/' + args.target.id));
} else if (this.targetType === Processor.INDICATOR) {
this.autoCompletionManager.load(Environment.apiContextPath('/api/re/common/listParameterAndValueTypeByIndicatorId/' + args.target.id));
}
}
/**
*
* @param args
*/
initUserDefinedFunctionsManager(args: any) {
this.userDefinedFunctionsManager.load();
}
}
export { Processor };