-
Notifications
You must be signed in to change notification settings - Fork 0
/
extas.php
103 lines (101 loc) · 5.13 KB
/
extas.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
use deflou\components\extensions\instances\ExtensionInstanceResolver;
use deflou\components\extensions\instances\ExtensionInstanceTriggers;
use deflou\components\extensions\triggers\ExtensionTrigger;
use deflou\components\extensions\triggers\ExtensionTriggerEventValue;
use deflou\components\plugins\triggers\PluginTriggerOpTemplateArray;
use deflou\components\triggers\events\conditions\plugins\ConditionBasic;
use deflou\components\triggers\values\plugins\PluginEvent;
use deflou\components\triggers\values\plugins\PluginNow;
use deflou\components\triggers\values\plugins\PluginText;
use deflou\interfaces\extensions\instances\IExtensionInstanceResolver;
use deflou\interfaces\extensions\instances\IExtensionInstanceTriggers;
use deflou\interfaces\extensions\triggers\IExtensionTrigger;
use deflou\interfaces\extensions\triggers\IExtensionTriggerEventValue;
use deflou\interfaces\instances\IInstance;
use deflou\interfaces\stages\templates\IStageTemplate;
use deflou\interfaces\templates\ITemplateService;
use deflou\interfaces\triggers\events\conditions\IConditionPlugin;
use deflou\interfaces\triggers\ITrigger;
use deflou\interfaces\triggers\values\IValueSense;
use deflou\interfaces\triggers\values\IValueService;
use deflou\interfaces\triggers\values\plugins\IValuePlugin;
use extas\interfaces\extensions\IExtension;
use extas\interfaces\parameters\IParam;
use extas\interfaces\plugins\IPlugin;
return [
"name" => "jeyroik/df-triggers",
"plugins" => [
[
IPlugin::FIELD__CLASS => PluginTriggerOpTemplateArray::class,
IPlugin::FIELD__STAGE => IStageTemplate::NAME . PluginTriggerOpTemplateArray::CONTEXT__ARRAY
]
],
"extensions" => [
[
IExtension::FIELD__CLASS => ExtensionInstanceResolver::class,
IExtension::FIELD__INTERFACE => IExtensionInstanceResolver::class,
IExtension::FIELD__SUBJECT => IInstance::SUBJECT,
IExtension::FIELD__METHODS => ['buildResolver']
],
[
IExtension::FIELD__CLASS => ExtensionInstanceTriggers::class,
IExtension::FIELD__INTERFACE => IExtensionInstanceTriggers::class,
IExtension::FIELD__SUBJECT => IInstance::SUBJECT,
IExtension::FIELD__METHODS => ['getActiveTriggers']
],
[
IExtension::FIELD__CLASS => ExtensionTrigger::class,
IExtension::FIELD__INTERFACE => IExtensionTrigger::class,
IExtension::FIELD__SUBJECT => ITrigger::SUBJECT,
IExtension::FIELD__METHODS => ['toConstruct', 'activate', 'suspend', 'delete', 'resume', 'stateIs', 'stateIsNot']
],
[
IExtension::FIELD__CLASS => ExtensionTriggerEventValue::class,
IExtension::FIELD__INTERFACE => IExtensionTriggerEventValue::class,
IExtension::FIELD__SUBJECT => IValueSense::SUBJECT,
IExtension::FIELD__METHODS => ['met', 'getCondition', 'setCondition', 'getEdge', 'buildEdge']
]
],
"trigger_event_condition_plugins" => [
[
IConditionPlugin::FIELD__NAME => 'basic_conditions',
IConditionPlugin::FIELD__TITLE => 'Базовые условия',
IConditionPlugin::FIELD__CLASS => ConditionBasic::class,
IConditionPlugin::FIELD__APPLICATION_NAME => ITemplateService::ANY,
IConditionPlugin::FIELD__APPLY_TO_PARAM => ITemplateService::ANY,
IConditionPlugin::FIELD__PARAMS => [
ConditionBasic::PARAM__ITEMS => [
IParam::FIELD__NAME => ConditionBasic::PARAM__ITEMS,
IParam::FIELD__VALUE => ["eq", "neq", "like", "!like"]
]
]
]
],
"trigger_value_plugins" => [
[
IValuePlugin::FIELD__NAME => PluginText::NAME,
IValuePlugin::FIELD__TITLE => 'Текст',
IValuePlugin::FIELD__DESCRIPTION => 'Вставить какой-либо текст',
IValuePlugin::FIELD__CLASS => PluginText::class,
IValuePlugin::FIELD__APPLICATION_NAME => IValueService::ANY,
IValuePlugin::FIELD__APPLY_TO_PARAM => [IValueService::ANY]
],
[
IValuePlugin::FIELD__NAME => PluginEvent::NAME,
IValuePlugin::FIELD__TITLE => 'Данные из события',
IValuePlugin::FIELD__DESCRIPTION => 'Подставить данные из события',
IValuePlugin::FIELD__CLASS => PluginEvent::class,
IValuePlugin::FIELD__APPLICATION_NAME => IValueService::ANY,
IValuePlugin::FIELD__APPLY_TO_PARAM => [IValueService::ANY]
],
[
IValuePlugin::FIELD__NAME => PluginNow::NAME,
IValuePlugin::FIELD__TITLE => 'Текущие время и дата',
IValuePlugin::FIELD__DESCRIPTION => 'Подставить текущее время и/или дату',
IValuePlugin::FIELD__CLASS => PluginNow::class,
IValuePlugin::FIELD__APPLICATION_NAME => IValueService::ANY,
IValuePlugin::FIELD__APPLY_TO_PARAM => [IValueService::ANY]
]
]
];