fastlion-amis
Version:
一种MIS页面生成工具
40 lines (36 loc) • 777 B
text/typescript
import {RendererEvent} from '../utils/renderer-event';
import {filter} from '../utils/tpl';
import {
Action,
ListenerAction,
ListenerContext,
registerAction
} from './Action';
/**
* 打开页面动作
*
* @export
* @class OpenPageAction
* @implements {Action}
*/
export class OpenPageAction implements Action {
async run(
action: ListenerAction,
renderer: ListenerContext,
event: RendererEvent<any>
) {
if (!renderer.props.env?.jumpTo) {
throw new Error('env.jumpTo is required!');
}
renderer.props.env.jumpTo(
filter(
(action.to || action.url || action.link) as string,
action.args,
'| raw'
),
action,
action.args
);
}
}
registerAction('openpage', new OpenPageAction());