@@ -57,17 +57,34 @@ export default defineComponent({
type: String,
default: null
},
+ //例:[val=>!!val ||'入力してください']
+ rules: {
+ type: String,
+ default: undefined
+ },
+ required:{
+ type:Boolean,
+ default:false
+ },
+ requiredMessage: {
+ type: String,
+ default: ''
+ }
},
-
setup(props, { emit }) {
const color = ref(props.modelValue??"");
const isSelected = computed(()=>props.modelValue && props.modelValue!=="");
+ const customExp = props.rules === undefined ? [] : eval(props.rules);
+ const errmsg = props.requiredMessage?props.requiredMessage:`${props.displayName}が必須です。`;
+ const requiredExp = props.required?[((val:any)=>!!val || errmsg ),"anyColor"]:[];
+ const rulesExp=[...requiredExp,...customExp];
watchEffect(()=>{
emit('update:modelValue', color.value);
});
return {
color,
- isSelected
+ isSelected,
+ rulesExp
};
}
});
diff --git a/frontend/src/components/right/ConditionInput.vue b/frontend/src/components/right/ConditionInput.vue
index 264eacc..398c84c 100644
--- a/frontend/src/components/right/ConditionInput.vue
+++ b/frontend/src/components/right/ConditionInput.vue
@@ -59,6 +59,10 @@ export default defineComponent({
type: String,
default: 'field'
},
+ connectProps:{
+ type:Object,
+ default:()=>({})
+ },
onlySourceSelect: {
type: Boolean,
default: false
@@ -87,7 +91,10 @@ export default defineComponent({
},
setup(props, { emit }) {
- const source = props.context.find(element => element.props.name === 'sources')
+ let source = reactive(props.connectProps["source"]);
+ if(!source){
+ source = props.context.find(element => element.props.name === 'sources');
+ }
if (source) {
if (props.sourceType === 'field') {
diff --git a/frontend/src/pages/UserDomain.vue b/frontend/src/pages/UserDomain.vue
index 166cb1c..e2439e6 100644
--- a/frontend/src/pages/UserDomain.vue
+++ b/frontend/src/pages/UserDomain.vue
@@ -139,12 +139,12 @@ const columns = [
{ name: 'kintoneuser', label: 'User', field: 'kintoneuser', sortable: true },
{ name: 'kintonepwd' },
{ name: 'active', field: 'active' }
-]
-const userDomainTableFilter = ref()
+];
+const userDomainTableFilter = ref();
-const currentUserName = ref('')
+const currentUserName = ref('');
const useOtherUser = ref(false);
-const otherUserId = ref('')
+const otherUserId = ref('');
let editId = ref(0);
@@ -168,7 +168,7 @@ const addUserDomainFinished = (val: string) => {
}
};
-const showDeleteConfirm = ref(false)
+const showDeleteConfirm = ref(false);
const clickDeleteConfirm = (row: any) => {
showDeleteConfirm.value = true;
diff --git a/plugin/kintone-addins/readme.md b/plugin/kintone-addins/readme.md
index 4e85ad1..b93b934 100644
--- a/plugin/kintone-addins/readme.md
+++ b/plugin/kintone-addins/readme.md
@@ -70,8 +70,9 @@
| placeholder | 対象項目を選択してください| 入力フィールドに表示されるプレースホルダーのテキストです。この場合は設定されていません。 |
| hint | 説明文| 長い説明文を設定することが可能です。(markdown形式サポート予定、現在HTML可能) |
| selectType |`single` or `multiple`| フィールド選択・他のアプリのフィールド選択の選択モードを設定する |
-
-
+| required | boolean | 必須チェックするかどうか |
+| requiredMessage | string | 必須チェック時のエラーメッセージ。(未設定の場合「XXXX」が必須です。になります) |
+| rules |"[val=>val<=100 && val>=1 \|\| '1-100の範囲内の数値を入力してください']"| 必須チェック以外のルールを設定する |
### 使用可能なコンポーネント
| No. | コンポーネント名 | コンポーネントタイプ | 説明 |
@@ -83,9 +84,9 @@
| 5 | 選択リスト | SelectBox | 複数のオプションから選択するためのドロップダウンリストです。 |
| 6 | 条件式設定 | ConditionInput | 条件式やロジックを入力するためのコンポーネントです。 |
| 7 | イベント設定 |EventSetter | ボタンイベント設定のコンポーネントです。 |
-| 8 | 色選択 | ColorPicker | 色を設定する(追加予定中) |
-| 9 | 他のアプリのフィールド選択 | AppFieldPicker | 他のアプリのフィールドを選択する(追加予定中) |
-| 10 |ユーザー選択 | UserPicker | ユーザーを選択する(追加予定中) |
+| 8 | 色選択 | ColorPicker | 色を設定する |
+| 9 | 他のアプリのフィールド選択 | AppFieldSelect | 他のアプリのフィールドを選択する |
+| 10 | アプリ選択 | AppSelect | アプリを選択する |
## 2.アクションアドインの開発
@@ -270,7 +271,7 @@ npm run build:dev
- Azure App Service 拡張機能でデプロイが完了したことを確認します。
- ka-addin の URL にアクセスしてアプリケーションが正常に動作しているか確認します。
-3. **ローカルでプラグインをテストする**
+3. **ローカルでプラグインをテストする(ZCCの導入ため、廃止する)**
1. kintone-addinsをPreviewで起動する
```bash
yarn build:dev
@@ -278,7 +279,7 @@ yarn preview
#またはyarn devは yarn build:dev + yarn preview と同じです
yarn dev
```
-2. **ngrokをインストールする**
+2. **ngrokをインストールする(ZCCの導入ため、廃止する)**
1. [ngrok の公式ウェブサイト](https://ngrok.com/)にアクセスします。
2. 「Sign up」をクリックしてアカウントを登録するか、既存のアカウントにログインします。
3. 登録またはログイン後、ダッシュボードに進み、ダウンロードリンクが表示されます。操作システム(Windows、macOS、Linux)に応じて、適切なバージョンを選択してダウンロードします。
@@ -292,4 +293,10 @@ yarn dev
6. ngrok を起動する
```bash
ngrok https http://localhost:4173/
- ```
\ No newline at end of file
+ ```
+3. kintone-addinsをビルドする
+```bash
+yarn build:dev #開発モード
+#またはyarn devは yarn build:dev + yarn preview と同じです
+yarn build #本番リリースモード
+```
\ No newline at end of file
diff --git a/plugin/kintone-addins/src/actions/auto-lookup.ts b/plugin/kintone-addins/src/actions/auto-lookup.ts
index 770b0fd..b49e91a 100644
--- a/plugin/kintone-addins/src/actions/auto-lookup.ts
+++ b/plugin/kintone-addins/src/actions/auto-lookup.ts
@@ -16,7 +16,7 @@ import "bootstrap/js/dist/modal";
import {Modal} from "bootstrap"
import $ from "jquery";
-interface Props {
+interface IAutoLookUpProps {
displayName: string;
lookupField: LookupField;
condition: Condition;
@@ -84,11 +84,11 @@ interface App {
export class AutoLookUpAction implements IAction {
name: string;
actionProps: IActionProperty[];
- props: Props;
+ props: IAutoLookUpProps;
constructor() {
this.name = "ルックアップ更新";
this.actionProps = [];
- this.props = {} as Props;
+ this.props = {} as IAutoLookUpProps;
this.register();
}
@@ -104,7 +104,7 @@ export class AutoLookUpAction implements IAction {
this.props = {
...actionNode.ActionValue,
condition: JSON.parse((actionNode.ActionValue as any).condition),
- } as Props;
+ } as IAutoLookUpProps;
// console.log(context);
let result = {
@@ -150,12 +150,17 @@ export class AutoLookUpAction implements IAction {
* @returns
*/
makeQuery=(lookUpField:Field,key:any)=>{
+ let query ="";
if(typeof key==='number'){
- return `${lookUpField.code} = ${key}`
+ query = `${lookUpField.code} = ${key}`
}
if(typeof key==='string'){
- return `${lookUpField.code} = "${key}"`
+ query = `${lookUpField.code} = "${key}"`
}
+ if(this.props.condition.queryString!==''){
+ query = `${query} and (${this.props.condition.queryString})`
+ }
+ return query;
}
/**
diff --git a/scripts/kintoneToolDB_20240829_update.sql b/scripts/kintoneToolDB_20240829_update.sql
new file mode 100644
index 0000000..062e01e
--- /dev/null
+++ b/scripts/kintoneToolDB_20240829_update.sql
@@ -0,0 +1,902 @@
+--
+-- PostgreSQL database dump
+--
+
+-- Dumped from database version 15.6
+-- Dumped by pg_dump version 15.4
+
+-- Started on 2024-08-29 11:26:40
+
+SET statement_timeout = 0;
+SET lock_timeout = 0;
+SET idle_in_transaction_session_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SELECT pg_catalog.set_config('search_path', '', false);
+SET check_function_bodies = false;
+SET xmloption = content;
+SET client_min_messages = warning;
+SET row_security = off;
+
+ALTER TABLE IF EXISTS ONLY public.action DROP CONSTRAINT IF EXISTS fk_categoryid;
+ALTER TABLE IF EXISTS ONLY public.eventaction DROP CONSTRAINT IF EXISTS eventaction_eventid_fkey;
+ALTER TABLE IF EXISTS ONLY public.eventaction DROP CONSTRAINT IF EXISTS eventaction_actionid_fkey;
+DROP INDEX IF EXISTS public.ix_eventaction_id;
+DROP INDEX IF EXISTS public.ix_action_name;
+DROP INDEX IF EXISTS public.ix_action_id;
+ALTER TABLE IF EXISTS ONLY public.action DROP CONSTRAINT IF EXISTS name;
+ALTER TABLE IF EXISTS ONLY public.eventaction DROP CONSTRAINT IF EXISTS eventaction_pkey;
+ALTER TABLE IF EXISTS ONLY public.category DROP CONSTRAINT IF EXISTS category_pkey;
+ALTER TABLE IF EXISTS ONLY public.action DROP CONSTRAINT IF EXISTS action_pkey;
+ALTER TABLE IF EXISTS public.eventaction ALTER COLUMN id DROP DEFAULT;
+ALTER TABLE IF EXISTS public.action ALTER COLUMN id DROP DEFAULT;
+DROP SEQUENCE IF EXISTS public.eventaction_id_seq;
+DROP TABLE IF EXISTS public.eventaction;
+DROP TABLE IF EXISTS public.category;
+DROP SEQUENCE IF EXISTS public.action_id_seq;
+DROP TABLE IF EXISTS public.action;
+SET default_tablespace = '';
+
+SET default_table_access_method = heap;
+
+--
+-- TOC entry 214 (class 1259 OID 27560)
+-- Name: action; Type: TABLE; Schema: public; Owner: kabAdmin
+--
+
+CREATE TABLE public.action (
+ id integer NOT NULL,
+ create_time timestamp without time zone,
+ update_time timestamp without time zone,
+ name character varying(100) NOT NULL,
+ title character varying(200),
+ subtitle character varying(500),
+ outputpoints character varying,
+ property character varying,
+ nosort integer,
+ categoryid integer
+);
+
+
+ALTER TABLE public.action OWNER TO "kabAdmin";
+
+--
+-- TOC entry 215 (class 1259 OID 27565)
+-- Name: action_id_seq; Type: SEQUENCE; Schema: public; Owner: kabAdmin
+--
+
+CREATE SEQUENCE public.action_id_seq
+ AS integer
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE public.action_id_seq OWNER TO "kabAdmin";
+
+--
+-- TOC entry 3991 (class 0 OID 0)
+-- Dependencies: 215
+-- Name: action_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: kabAdmin
+--
+
+ALTER SEQUENCE public.action_id_seq OWNED BY public.action.id;
+
+
+--
+-- TOC entry 238 (class 1259 OID 27752)
+-- Name: category; Type: TABLE; Schema: public; Owner: kabAdmin
+--
+
+CREATE TABLE public.category (
+ id integer NOT NULL,
+ categoryname character varying(20) NOT NULL,
+ nosort integer,
+ create_time timestamp without time zone,
+ update_time timestamp without time zone
+);
+
+
+ALTER TABLE public.category OWNER TO "kabAdmin";
+
+--
+-- TOC entry 224 (class 1259 OID 27591)
+-- Name: eventaction; Type: TABLE; Schema: public; Owner: kabAdmin
+--
+
+CREATE TABLE public.eventaction (
+ id integer NOT NULL,
+ create_time timestamp without time zone,
+ update_time timestamp without time zone,
+ eventid character varying(100),
+ actionid integer
+);
+
+
+ALTER TABLE public.eventaction OWNER TO "kabAdmin";
+
+--
+-- TOC entry 225 (class 1259 OID 27594)
+-- Name: eventaction_id_seq; Type: SEQUENCE; Schema: public; Owner: kabAdmin
+--
+
+CREATE SEQUENCE public.eventaction_id_seq
+ AS integer
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE public.eventaction_id_seq OWNER TO "kabAdmin";
+
+--
+-- TOC entry 3992 (class 0 OID 0)
+-- Dependencies: 225
+-- Name: eventaction_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: kabAdmin
+--
+
+ALTER SEQUENCE public.eventaction_id_seq OWNED BY public.eventaction.id;
+
+
+--
+-- TOC entry 3823 (class 2604 OID 27627)
+-- Name: action id; Type: DEFAULT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.action ALTER COLUMN id SET DEFAULT nextval('public.action_id_seq'::regclass);
+
+
+--
+-- TOC entry 3824 (class 2604 OID 27632)
+-- Name: eventaction id; Type: DEFAULT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.eventaction ALTER COLUMN id SET DEFAULT nextval('public.eventaction_id_seq'::regclass);
+
+
+--
+-- TOC entry 3981 (class 0 OID 27560)
+-- Dependencies: 214
+-- Data for Name: action; Type: TABLE DATA; Schema: public; Owner: kabAdmin
+--
+
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (5, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', 'エラー表示', '指定した条件でエラーメッセージを表示する', 'エラー表示', '[]', '[{"component":"ConditionInput","props":{"displayName":"条件","modelValue":"","name":"condition","placeholder":"条件を選択または入力してください"}},{"component":"MuiltInputText","props":{"displayName":"エラーメッセージ","modelValue":"","name":"message","placeholder":"エラーメッセージを入力してください","required":true}}]', 1, 2);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (3, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', '表示/非表示', '要素の表示/非表示を設定する', '表示/非表示', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "modelValue": {},
+ "name": "field",
+ "placeholder": "対象項目を選択してください",
+ "required": true,
+ "requiredMessage": "フィールドを選択してください"
+ }
+ },
+ {
+ "component": "SelectBox",
+ "props": {
+ "displayName": "表示/非表示",
+ "options": [
+ "表示",
+ "非表示"
+ ],
+ "modelValue": "",
+ "name": "show",
+ "placeholder": "",
+ "required": true
+ }
+ },
+ {
+ "component": "ConditionInput",
+ "props": {
+ "displayName": "条件",
+ "modelValue": "",
+ "name": "condition",
+ "placeholder": "条件式を設定してください"
+ }
+ }
+]', 2, 2);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (4, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', '条件式', '指定した条件でフローを分岐させる', '条件式', '["はい","いいえ"]', '[{"component":"ConditionInput","props":{"displayName":"条件","modelValue":"","name":"condition","placeholder":"条件式を設定してください"}},{"component":"InputText","props":{"displayName":"結果(戻り値)","modelValue":"","name":"verName","placeholder":"変数名を入力してください"}}]', 3, 3);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (11, '2024-04-30 15:33:50.958114', '2024-04-30 15:33:50.958114', 'メールアドレスチェック', 'フィールドの値がメールアドレスかチェックする', 'メールアドレスチェック', '[]', '[{"component":"FieldInput","props":{"displayName":"フィールド","modelValue":{},"name":"field","placeholder":"対象項目を選択してください","required":true}},{"component":"SelectBox","props":{"displayName":"チェックする強さを選択してください","modelValue":"","name":"emailCheck","placeholder":"チェックする強さを選択してください","options":["厳格","ゆるめ"],"required":true}},{"component":"MuiltInputText","props":{"displayName":"エラーメッセージ","modelValue":"","name":"message","placeholder":"エラーメッセージを入力してください","required":true}}]', 4, 1);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (19, '2024-05-27 18:59:42', '2024-05-27 18:59:42', '現在日時', '現在日時を取得する', '現在日時', '[]', '[
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "変数にセット",
+ "modelValue": "",
+ "name": "verName",
+ "placeholder": "",
+ "required":true,
+ "requiredMessage":"変数名が必須です"
+ }
+ }
+]', 1, 3);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (12, '2024-05-07 15:33:50.958114', '2024-05-07 15:33:50.958114', '全角チェック', 'フィールドの値がすべて全角かチェックする', '全角チェック', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "modelValue": {},
+ "name": "field",
+ "placeholder": "対象項目を選択してください",
+ "required":true
+ }
+ }
+ ]', 2, 1);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (1, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', '必須チェック', 'フィールドの値が入力されているかチェックする', '必須チェック', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "modelValue": {},
+ "name": "field",
+ "placeholder": "必須項目を選択してください",
+ "required":true
+ }
+ },
+ {
+ "component": "MuiltInputText",
+ "props": {
+ "displayName": "エラーメッセージ",
+ "modelValue": "",
+ "name": "message",
+ "placeholder": "エラーメッセージを入力してください",
+ "required":true
+ }
+ }
+]', 1, 1);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (13, '2024-05-10 10:08:34.990297', '2024-05-10 10:08:34.990297', '文字結合', '2つのフィールドの文字を結合する', '文字結合', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "保存先フィールド",
+ "modelValue": {},
+ "name": "saveField",
+ "placeholder": "",
+ "fieldTypes":["SINGLE_LINE_TEXT","MULTI_LINE_TEXT","RICH_TEXT"],
+ "hint": "対象:文字列(1行),文字列(複数行),リッチエディターのいずれか。
未選択/不存在/型合わない時エラー表示。",
+ "required":true
+ }
+ },
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "結合元フィールド1",
+ "modelValue": {},
+ "name": "joinField1",
+ "placeholder": "",
+ "hint": "対象外:ラベル,関連レコード一覧,スペース,罫線,グループ,テーブル,イベント的な取得対象外(例:新規追加成功前のレコード番号取得)。
未選択/不存在/対象外時エラー表示。",
+ "required":true
+ }
+ },
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "結合元フィールド2",
+ "modelValue": {},
+ "name": "joinField2",
+ "placeholder": "",
+ "hint": "対象外:ラベル,関連レコード一覧,スペース,罫線,グループ,テーブル,イベント的な取得対象外(例:新規追加成功前のレコード番号取得)。
未選択/不存在/対象外時エラー表示。",
+ "required":true
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "区切り文字",
+ "modelValue": "",
+ "name": "delimiter",
+ "placeholder": ""
+ }
+ }
+]', 2, 4);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (16, '2024-05-13 04:08:44', '2024-05-13 04:08:48', 'データ処理', '指定したアプリのデータを指定した条件で集計する', 'データ処理', '[]', '[
+ {
+ "component": "AppFieldSelect",
+ "props": {
+ "displayName": "データソース",
+ "modelValue": {},
+ "name": "sources",
+ "placeholder": "データソースを選択してください",
+ "selectType": "multiple",
+ "fieldTypes":["CALC","CATEGORY","CREATED_TIME","DATE","DATETIME","NUMBER","SINGLE_LINE_TEXT","TIME"],
+ "required":true
+ }
+ },
+ {
+ "component": "ConditionInput",
+ "props": {
+ "displayName": "抽出条件",
+ "modelValue": "",
+ "name": "condition",
+ "placeholder": "データ抽出条件を設定してください",
+ "sourceType": "app",
+ "operatorList": [
+ {
+ "label": "=",
+ "value": "="
+ },
+ {
+ "label": "!=",
+ "value": "!="
+ },
+ {
+ "label": ">",
+ "value": ">"
+ },
+ {
+ "label": ">=",
+ "value": ">="
+ },
+ {
+ "label": "<",
+ "value": "<"
+ },
+ {
+ "label": "<=",
+ "value": "<="
+ },
+ {
+ "label": "contains",
+ "value": "like"
+ }
+ ]
+ }
+ },
+ {
+ "component": "DataProcessing",
+ "props": {
+ "displayName": "集計処理",
+ "modelValue": "",
+ "name": "verName",
+ "placeholder": "データのマッピング・集計処理を設定してください",
+ "required":true
+ }
+ }
+]', 5, 4);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (18, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', '値を取得する', 'フィールドの値を取得する', '値を取得する', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "placeholder": "フィールドを選択してください",
+ "name": "field",
+ "required":true
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "結果(戻り値)",
+ "modelValue": "",
+ "name": "verName",
+ "placeholder": "変数名を入力してください",
+ "required":true
+ }
+ }
+]', 3, 4);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (8, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', '正規表現チェック', 'フィールドの値が指定した正規表現かチェックする', '正規表現チェック', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "placeholder": "フィールドを選択してください",
+ "name": "field",
+ "required":true
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "正規表現",
+ "name": "regExpression",
+ "placeholder": "正規表現を入力してください",
+ "required":true,
+ "rules":"[(val) => {try { return !!new RegExp(val); } catch (e) { return ''正規表現は無効です''; }} ]"
+ }
+ },
+ {
+ "component": "MuiltInputText",
+ "props": {
+ "displayName": "エラーメッセージ",
+ "modelValue": "",
+ "name": "message",
+ "placeholder": "エラーメッセージを入力してください",
+ "required":true
+ }
+ }
+]', 5, 1);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (15, '2024-05-13 01:17:24', '2024-05-13 01:17:28', 'データ更新', '指定のアプリのレコードを追加または更新する', 'データ更新', '[]', '[
+ {
+ "component": "AppSelect",
+ "props": {
+ "displayName": "連携先アプリ選択",
+ "modelValue": {},
+ "name": "sources",
+ "placeholder": "データ連携先のアプリを選択してください",
+ "required":true,
+ "requiredMessage":"データ連携先のアプリを選択してください"
+ }
+ },
+ {
+ "component": "DataMapping",
+ "props": {
+ "displayName": "マッピング設定",
+ "modelValue": {},
+ "name": "dataMapping",
+ "placeholder": "データ連携のマッピングを設定してください",
+ "onlySourceSelect": false,
+ "required":true,
+ "requiredMessage":"データ連携のマッピングを設定してください"
+ }
+ }
+]', 6, 4);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (22, '2024-06-07 10:34:50.958114', '2024-06-07 10:34:50.958114', '半角チェック', 'フィールドの値がすべて半角かチェックする', '半角チェック', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "modelValue": {},
+ "name": "field",
+ "placeholder": "対象項目を選択してください",
+ "required":true
+ }
+ }
+ ]', 3, 1);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (14, '2024-05-10 13:00:23.958114', '2024-05-10 13:00:23.958114', '文字数チェック', 'フィールドの値が指定された文字数かチェックする', '文字数チェック', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "placeholder": "フィールドを選択してください",
+ "name": "field",
+ "required":true
+ }
+ },
+ {
+ "component": "NumInput",
+ "props": {
+ "displayName": "文字数チェック",
+ "name": "maxLength",
+ "placeholder": "制限したい文字数を入力してください",
+ "rules":"[val=>val>0||''0以上の数字を入力してください'']"
+ }
+ },
+ {
+ "component": "MuiltInputText",
+ "props": {
+ "displayName": "エラーメッセージ",
+ "modelValue": "",
+ "name": "message",
+ "placeholder": "エラーメッセージを入力してください",
+ "required":true
+ }
+ }
+]', 6, 1);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (23, '2024-06-07 15:37:50.958114', '2024-06-07 15:37:50.958114', 'ログインユーザー取得', 'ログインユーザーのデータを取得する', 'ログインユーザー取得', '[]', '[
+ {
+ "component":"InputText",
+ "props":{
+ "displayName":"変数にセット:",
+ "modelValue":"",
+ "name":"verName",
+ "placeholder":"セット先の変数名を入力してください",
+ "required":true,
+ "requiredMessage":"変数名が必須です"
+ }
+ }
+]', 2, 3);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (9, '2024-04-08 11:21:50.958114', '2024-04-08 11:21:50.958114', '値を挿入する', 'フィールドに値を挿入する', '値を挿入する', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド選択",
+ "modelValue": {},
+ "name": "field",
+ "placeholder": "値を挿入するフィールドを選択してください",
+ "required":true
+ }
+ },
+ {
+ "component": "ConditionInput",
+ "props": {
+ "displayName": "条件",
+ "modelValue": "",
+ "name": "condition",
+ "placeholder": "条件式を設定してください"
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "挿入する値、変数",
+ "modelValue": "",
+ "name": "value",
+ "placeholder": "変数は、変数名を直接入力ください",
+ "required":true
+ }
+ },
+ {
+ "component": "SelectBox",
+ "props": {
+ "displayName": "値は手入力/変数",
+ "options": [
+ "手入力",
+ "変数"
+ ],
+ "modelValue": "",
+ "name": "show",
+ "placeholder": "",
+ "required":true
+ }
+ }
+]', 4, 4);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (24, '2024-07-23 15:33:50.958114', '2024-07-23 15:33:50.958114', '編集可/不可', 'フィールドの編集可/不可を設定する', '編集可/不可', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "フィールド",
+ "modelValue": {},
+ "name": "field",
+ "fieldTypes":[
+ "CHECK_BOX",
+ "DATE",
+ "DATETIME",
+ "DROP_DOWN",
+ "FILE",
+ "GROUP_SELECT",
+ "LINK",
+ "MULTI_LINE_TEXT",
+ "MULTI_SELECT",
+ "NUMBER",
+ "ORGANIZATION_SELECT",
+ "RADIO_BUTTON",
+ "RICH_TEXT",
+ "SINGLE_LINE_TEXT",
+ "TIME",
+ "USER_SELECT"
+ ],
+ "placeholder": "対象項目を選択してください",
+ "required":true
+ }
+ },
+ {
+ "component": "SelectBox",
+ "props": {
+ "displayName": "編集可/不可",
+ "options": [
+ "編集可",
+ "編集不可"
+ ],
+ "modelValue": "",
+ "name": "editable",
+ "placeholder": "",
+ "required":true
+ }
+ },
+ {
+ "component": "ConditionInput",
+ "props": {
+ "displayName": "条件",
+ "modelValue": "",
+ "name": "condition",
+ "placeholder": "条件式を設定してください"
+ }
+ }
+]', 3, 2);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (21, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', 'ルックアップ更新', '更新されたときにルックアップ先を同期する', 'ルックアップ更新', '[]', '[
+ {
+ "component": "AppFieldSelect",
+ "props": {
+ "displayName": "更新先選択",
+ "fieldTypes": [
+ "lookup"
+ ],
+ "hint": "更新先のルックアップフィールドを選択する",
+ "modelValue": {},
+ "name": "lookupField",
+ "required": true
+ }
+ },
+ {
+ "component": "ConditionInput",
+ "props": {
+ "displayName": "更新条件",
+ "modelValue": "",
+ "name": "condition",
+ "connectProps": [
+ {
+ "key": "source",
+ "propName": "lookupField"
+ }
+ ],
+ "sourceType": "app",
+ "operatorList": [
+ {
+ "label": "=",
+ "value": "="
+ },
+ {
+ "label": "!=",
+ "value": "!="
+ },
+ {
+ "label": ">",
+ "value": ">"
+ },
+ {
+ "label": ">=",
+ "value": ">="
+ },
+ {
+ "label": "<",
+ "value": "<"
+ },
+ {
+ "label": "<=",
+ "value": "<="
+ },
+ {
+ "label": "contains",
+ "value": "like"
+ }
+ ],
+ "placeholder": "条件式を設定してください"
+ }
+ }
+]', 8, 4);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (6, '2024-02-29 15:33:50.958114', '2024-02-29 15:33:50.958114', 'ボタンの配置', 'ボタンをメニュー/スペースに配置する', 'ボタンの配置', '[]', '[
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "ボタン名",
+ "modelValue": "",
+ "name": "buttonName",
+ "placeholder": "ボタンのラベルを入力してください",
+ "required":true
+ }
+ },
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "配置スペースを選択",
+ "modelValue": {},
+ "name": "space",
+ "fieldTypes":["SPACER"],
+ "placeholder": "ボタンを配置するスペースを選択"
+ }
+ },
+ {
+ "component": "SelectBox",
+ "props": {
+ "displayName": "追加位置",
+ "modelValue": "",
+ "name": "position",
+ "options": [
+ "一番右に追加する",
+ "一番左に追加する"
+ ],
+ "placeholder": "追加位置を選択してください",
+ "required":true
+ }
+ },
+ {
+ "component": "EventSetter",
+ "props": {
+ "displayName": "イベント名",
+ "modelValue": "",
+ "name": "eventName",
+ "connectProps": [
+ {
+ "key": "displayName",
+ "propName": "buttonName"
+ }
+ ],
+ "placeholder": "イベント名を入力してください",
+ "required":true
+ }
+ }
+]
+
+', 4, 2);
+INSERT INTO public.action (id, create_time, update_time, name, title, subtitle, outputpoints, property, nosort, categoryid) VALUES (2, '2024-01-21 15:33:50.958114', '2024-01-21 15:33:50.958114', '自動採番する', 'レコードIDを元に指定のフォーマットに変換する', '自動採番する', '[]', '[
+ {
+ "component": "FieldInput",
+ "props": {
+ "displayName": "採番項目",
+ "modelValue": {},
+ "name": "field",
+ "placeholder": "採番項目を選択してください",
+ "fieldTypes":["SINGLE_LINE_TEXT"],
+ "required":true
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "フォーマット",
+ "modelValue": "",
+ "name": "format",
+ "placeholder": "数値書式文字列を指定します",
+ "rules":"[val=>!val||/^[0]+$/.test(val)||''数値書式文字列が不正です'']",
+ "hint": "数値書式文字列記入例:
ゼロ埋めと桁揃えを指定することができます。
使用例:\"000000\" - 整数部が6桁に満たない場合に先頭をゼロで埋めて6桁にする。"
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "前につける文字列",
+ "modelValue": "",
+ "name": "prefix",
+ "placeholder": "前につける文字列を入力してください",
+ "hint": "固定文字やJavascriptの式を`${}`内に記述することが可能です。
使用可能日付フォーマット関数:$format(''フォーマット式'')。
使用例:${$format(''yyyyMMdd'')} --現在の日付をyyyyMMdd形式を表記する"
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "後ろにつける文字列",
+ "modelValue": "",
+ "name": "suffix",
+ "placeholder": "後ろにつける文字列を入力してください",
+ "hint": "固定文字やJavascriptの式を`${}`内に記述することが可能です。
使用可能日付フォーマット関数:$format(''フォーマット式'')。
使用例:${$format(''yyyyMMdd'')} --現在の日付をyyyyMMdd形式を表記する"
+ }
+ },
+ {
+ "component": "InputText",
+ "props": {
+ "displayName": "結果(戻り値)",
+ "modelValue": "",
+ "name": "verName",
+ "placeholder": "変数名を入力してください",
+ "hint": "採番された番号の値を指定の変数名に格納する"
+ }
+ }
+]', 7, 4);
+
+
+--
+-- TOC entry 3985 (class 0 OID 27752)
+-- Dependencies: 238
+-- Data for Name: category; Type: TABLE DATA; Schema: public; Owner: kabAdmin
+--
+
+INSERT INTO public.category (id, categoryname, nosort, create_time, update_time) VALUES (1, '入力チェック', 1, '2024-08-19 00:00:00', '2024-08-19 00:00:00');
+INSERT INTO public.category (id, categoryname, nosort, create_time, update_time) VALUES (2, '表示・動作', 2, '2024-08-19 00:00:00', '2024-08-19 00:00:00');
+INSERT INTO public.category (id, categoryname, nosort, create_time, update_time) VALUES (3, 'ユーティリティ', 4, '2024-08-19 00:00:00', '2024-08-19 00:00:00');
+INSERT INTO public.category (id, categoryname, nosort, create_time, update_time) VALUES (4, 'データ操作', 3, '2024-08-19 00:00:00', '2024-08-19 00:00:00');
+
+
+--
+-- TOC entry 3983 (class 0 OID 27591)
+-- Dependencies: 224
+-- Data for Name: eventaction; Type: TABLE DATA; Schema: public; Owner: kabAdmin
+--
+
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (1, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.create.show', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (2, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.create.submit.success', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (3, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.detail.show', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (4, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.detail.process.proceed', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (5, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.edit.show', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (6, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.edit.submit.success', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (7, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.index.show', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (8, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.index.edit.show', 1);
+INSERT INTO public.eventaction (id, create_time, update_time, eventid, actionid) VALUES (9, '2024-06-24 00:00:00', '2024-06-24 00:00:00', 'app.record.index.edit.submit.success', 1);
+
+
+--
+-- TOC entry 3993 (class 0 OID 0)
+-- Dependencies: 215
+-- Name: action_id_seq; Type: SEQUENCE SET; Schema: public; Owner: kabAdmin
+--
+
+SELECT pg_catalog.setval('public.action_id_seq', 23, true);
+
+
+--
+-- TOC entry 3994 (class 0 OID 0)
+-- Dependencies: 225
+-- Name: eventaction_id_seq; Type: SEQUENCE SET; Schema: public; Owner: kabAdmin
+--
+
+SELECT pg_catalog.setval('public.eventaction_id_seq', 1, false);
+
+
+--
+-- TOC entry 3826 (class 2606 OID 27662)
+-- Name: action action_pkey; Type: CONSTRAINT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.action
+ ADD CONSTRAINT action_pkey PRIMARY KEY (id);
+
+
+--
+-- TOC entry 3835 (class 2606 OID 27756)
+-- Name: category category_pkey; Type: CONSTRAINT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.category
+ ADD CONSTRAINT category_pkey PRIMARY KEY (id);
+
+
+--
+-- TOC entry 3832 (class 2606 OID 27672)
+-- Name: eventaction eventaction_pkey; Type: CONSTRAINT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.eventaction
+ ADD CONSTRAINT eventaction_pkey PRIMARY KEY (id);
+
+
+--
+-- TOC entry 3830 (class 2606 OID 27682)
+-- Name: action name; Type: CONSTRAINT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.action
+ ADD CONSTRAINT name UNIQUE (name);
+
+
+--
+-- TOC entry 3827 (class 1259 OID 27689)
+-- Name: ix_action_id; Type: INDEX; Schema: public; Owner: kabAdmin
+--
+
+CREATE INDEX ix_action_id ON public.action USING btree (id);
+
+
+--
+-- TOC entry 3828 (class 1259 OID 27690)
+-- Name: ix_action_name; Type: INDEX; Schema: public; Owner: kabAdmin
+--
+
+CREATE INDEX ix_action_name ON public.action USING btree (name);
+
+
+--
+-- TOC entry 3833 (class 1259 OID 27697)
+-- Name: ix_eventaction_id; Type: INDEX; Schema: public; Owner: kabAdmin
+--
+
+CREATE INDEX ix_eventaction_id ON public.eventaction USING btree (id);
+
+
+--
+-- TOC entry 3837 (class 2606 OID 27710)
+-- Name: eventaction eventaction_actionid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.eventaction
+ ADD CONSTRAINT eventaction_actionid_fkey FOREIGN KEY (actionid) REFERENCES public.action(id);
+
+
+--
+-- TOC entry 3838 (class 2606 OID 27715)
+-- Name: eventaction eventaction_eventid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.eventaction
+ ADD CONSTRAINT eventaction_eventid_fkey FOREIGN KEY (eventid) REFERENCES public.event(eventid);
+
+
+--
+-- TOC entry 3836 (class 2606 OID 27762)
+-- Name: action fk_categoryid; Type: FK CONSTRAINT; Schema: public; Owner: kabAdmin
+--
+
+ALTER TABLE ONLY public.action
+ ADD CONSTRAINT fk_categoryid FOREIGN KEY (categoryid) REFERENCES public.category(id) NOT VALID;
+
+
+-- Completed on 2024-08-29 11:26:44
+
+--
+-- PostgreSQL database dump complete
+--
+