76 lines
3.2 KiB
TypeScript
76 lines
3.2 KiB
TypeScript
import { actionAddins } from ".";
|
||
import { IField,IAction,IActionResult, IActionNode, IActionProperty,IContext,IVarName} from "../types/ActionTypes";
|
||
//右UI画面propertyのname:型:
|
||
interface ILoginUserGetterProps{
|
||
//変数名にセット:値がオブジェクトの形式
|
||
verName:IVarName;
|
||
}
|
||
//IActionインタフェースを実装する新しいクラスActionを作成:
|
||
export class LoginUserGetterAction implements IAction{
|
||
name: string;
|
||
//importから導入顕示定義
|
||
actionProps: IActionProperty[];
|
||
//上方のinterface Propsから、props受ける属性を定義:
|
||
props:ILoginUserGetterProps;
|
||
//関数定義に必要な類名を構築:
|
||
constructor(){
|
||
//pgAdminDBに登録したアクション名(name/subtitle)一致する必要がある:
|
||
this.name="ログインユーザー取得";
|
||
this.actionProps=[];
|
||
this.register();
|
||
//プロパティ属性初期化:
|
||
this.props={
|
||
verName:{name:''}
|
||
}
|
||
//リセット上記登録表:
|
||
this.register();
|
||
}
|
||
/**
|
||
* アクションの処理を実装する
|
||
* @param actionNode アクションノード
|
||
* @param event Kintoneのイベント
|
||
* @param context コンテキスト(レコード、変数情報を持っている)
|
||
* @returns
|
||
*/
|
||
//非同期処理ある関数下のある属性:
|
||
async process(actionNode:IActionNode,event:any,context:IContext):Promise<IActionResult> {
|
||
let result={
|
||
canNext:true,
|
||
result:false
|
||
};
|
||
try{
|
||
//属性設定を取得する:
|
||
this.actionProps=actionNode.actionProps;
|
||
//プロパティ設定のデータ型は必要な情報含めますか?全部不存在時return:
|
||
if (!('verName' in actionNode.ActionValue)) {
|
||
return result
|
||
}
|
||
//既定のプロパティのインタフェースへ変換:
|
||
this.props = actionNode.ActionValue as ILoginUserGetterProps;
|
||
//////////////////////////////////////////////////////////////////////////////////////
|
||
if(this.props.verName&&this.props.verName.name!==''){
|
||
context.variables[this.props.verName.name]=kintone.getLoginUser();
|
||
// window.alert("変数名"+this.props.verName.name+"の値は"+context.variables[this.props.verName.name]+"です");
|
||
// event.record["変数運用先のユーザ選択フィールド"].value= [{code:context.variables[this.props.verName.name].code}];
|
||
}
|
||
//////////////////////////////////////////////////////////////////////////////////////
|
||
result= {
|
||
canNext:true,
|
||
result:true
|
||
}
|
||
return result;
|
||
//////////////////////////////////////////////////////////////////////////////////////
|
||
}catch(error:any){;
|
||
context.errors.handleError(error,actionNode);
|
||
return {
|
||
canNext:false,
|
||
result:false
|
||
}
|
||
}
|
||
}
|
||
//////////////////////////////////////////////////////////////////////////////////////
|
||
register(): void {
|
||
actionAddins[this.name]=this;
|
||
}
|
||
}
|
||
new LoginUserGetterAction(); |