feat:変数定義類型の変更対応

This commit is contained in:
2024-06-13 15:16:44 +09:00
parent 4b27504b99
commit 504a76b4ac
6 changed files with 29 additions and 22 deletions

View File

@@ -1,6 +1,6 @@
import { actionAddins } from ".";
import { IField, IAction,IActionResult, IActionNode, IActionProperty, IContext } from "../types/ActionTypes";
import { IField, IAction,IActionResult, IActionNode, IActionProperty, IContext, IVarName } from "../types/ActionTypes";
import { Formatter } from "../util/format";
declare global {
@@ -13,7 +13,7 @@ interface IAutoNumberingProps{
format:string;
prefix:string;
suffix:string;
verName:string;
verName:IVarName;
}
export class AutoNumbering implements IAction{
@@ -29,7 +29,7 @@ export class AutoNumbering implements IAction{
format:'',
prefix:'',
suffix:'',
verName:''
verName:{name:''}
}
globalThis.window.$format=this.format;
this.register();
@@ -56,8 +56,8 @@ export class AutoNumbering implements IAction{
const docNum = await this.createNumber(this.props);
record[this.props.field.code].value=docNum;
//変数設定
if(this.props.verName){
context.variables[this.props.verName]=docNum;
if(this.props.verName && this.props.verName.name!==''){
context.variables[this.props.verName.name]=docNum;
}
result= {
canNext:true,

View File

@@ -1,13 +1,13 @@
import { actionAddins } from ".";
import { IAction,IActionResult, IActionNode, IActionProperty, IContext } from "../types/ActionTypes";
import { IAction,IActionResult, IActionNode, IActionProperty, IContext, IVarName } from "../types/ActionTypes";
import { ConditionTree } from '../types/Conditions';
/**
* アクションの属性定義
*/
interface ICondition{
condition:string;
verName:string;
verName:IVarName;
}
/**
* 条件分岐アクション
@@ -21,7 +21,7 @@ export class ConditionAction implements IAction{
this.actionProps=[];
this.props={
condition:'',
verName:''
verName:{name:''}
}
//アクションを登録する
this.register();
@@ -58,8 +58,8 @@ export class ConditionAction implements IAction{
result:'いいえ'
}
}
if(this.props.verName){
context.variables[this.props.verName]=result.result;
if(this.props.verName && this.props.verName.name!==''){
context.variables[this.props.verName.name]=result.result;
}
return result;
}catch(error){

View File

@@ -1,11 +1,11 @@
import { actionAddins } from ".";
import { IAction, IActionResult, IActionNode, IActionProperty, IField ,IContext} from "../types/ActionTypes";
import { IAction, IActionResult, IActionNode, IActionProperty, IField ,IContext, IVarName} from "../types/ActionTypes";
/**
* アクションの属性定義
*/
interface IDatetimeGetterProps {
/**変数の名前 */
verName:string;
verName:IVarName;
}
/**
* 現在日時を取得するアクション
@@ -18,7 +18,7 @@ export class DatetimeGetterAction implements IAction {
this.name = "現在日時";
this.actionProps = [];
this.props = {
verName:''
verName:{name:''}
}
this.register();
}
@@ -45,8 +45,8 @@ export class DatetimeGetterAction implements IAction {
let today = new Date();
if(this.props.verName){
context.variables[this.props.verName]=today.toISOString();
if(this.props.verName && this.props.verName.name!==''){
context.variables[this.props.verName.name]=today.toISOString();
}
return result;

View File

@@ -44,7 +44,7 @@ export class StringJoinAction implements IAction{
* @param context コンテキスト(レコード、変数情報を持っている)
* @returns
*/
  //非同期処理ある関数下のある属性:
//非同期処理ある関数下のある属性:
async process(actionNode:IActionNode,event:any):Promise<IActionResult> {
let result={
//後継処理不可:
@@ -107,7 +107,7 @@ export class StringJoinAction implements IAction{
for(let i=0;i<mototext.length;i++){
arr.push(mototext[i].name);
}
   //配列要素を,で連結して文字列を作成:
//配列要素を,で連結して文字列を作成:
value=arr.join();
}
//カテゴリー、チェックボックス、複数選択:
@@ -120,7 +120,7 @@ export class StringJoinAction implements IAction{
for(let i=0;i<mototext.length;i++){
arr.push(mototext[i]);
}
   //配列要素を,で連結して文字列を作成:
//配列要素を,で連結して文字列を作成:
value=arr.join();
}
//詳細画面プロセス実行後のステータス:

View File

@@ -1,11 +1,11 @@
import { actionAddins } from ".";
import { IAction,IActionResult, IActionNode, IActionProperty, IField, IContext} from "../types/ActionTypes";
import { IAction,IActionResult, IActionNode, IActionProperty, IField, IContext, IVarName} from "../types/ActionTypes";
/**
* アクションの属性定義
*/
interface IGetValueProps{
field:IField;//チェックするフィールドの対象
verName:string;
verName:IVarName;
}
/**
* 正規表現チェックアクション
@@ -19,7 +19,7 @@ export class GetValueAciton implements IAction{
this.actionProps=[];
this.props={
field:{code:''},
verName:''
verName:{name:''}
}
//アクションを登録する
this.register();
@@ -46,7 +46,9 @@ export class GetValueAciton implements IAction{
//条件式の計算結果を取得
const record = event.record;
const value = record[this.props.field.code].value;
context.variables[this.props.verName] = value;
if(this.props.verName && this.props.verName.name!==''){
context.variables[this.props.verName.name] = value;
}
result = {
canNext:true,
result:true

View File

@@ -92,6 +92,11 @@ export interface IField{
required?:boolean;
options?:string;
}
//変数のインターフェース
export interface IVarName{
name:string;
fields?:IVarName[];
}
/**
* アクションのプロパティ定義に基づいたクラス