thingsboard-aplcache
Changes
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java 6(+3 -3)
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCreateAlarmNode.java 6(+3 -3)
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbLogNode.java 4(+2 -2)
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNode.java 2(+1 -1)
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNode.java 6(+3 -3)
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java 7(+3 -4)
ui/src/app/help/help-links.constant.js 149(+64 -85)
Details
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java
index ed54c62..f2523c3 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbClearAlarmNode.java
@@ -39,9 +39,9 @@ import org.thingsboard.server.common.msg.TbMsg;
nodeDetails =
"Details - JS function that creates JSON object based on incoming message. This object will be added into Alarm.details field.\n" +
"Node output:\n" +
- "If alarm was not cleared, original message is returned. Otherwise new Message returned with type 'ALARM', Alarm object in 'msg' property and 'matadata' will contains 'isClearedAlarm' property " +
- "Message payload can be accessed via <code>msg</code> property. For example <code>'temperature = ' + msg.temperature ;</code>" +
- "Message metadata can be accessed via <code>metadata</code> property. For example <code>'name = ' + metadata.customerName;</code>",
+ "If alarm was not cleared, original message is returned. Otherwise new Message returned with type 'ALARM', Alarm object in 'msg' property and 'matadata' will contains 'isClearedAlarm' property. " +
+ "Message payload can be accessed via <code>msg</code> property. For example <code>'temperature = ' + msg.temperature ;</code>. " +
+ "Message metadata can be accessed via <code>metadata</code> property. For example <code>'name = ' + metadata.customerName;</code>.",
uiResources = {"static/rulenode/rulenode-core-config.js"},
configDirective = "tbActionNodeClearAlarmConfig",
icon = "notifications_off"
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCreateAlarmNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCreateAlarmNode.java
index dcf9068..a81b744 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCreateAlarmNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbCreateAlarmNode.java
@@ -41,9 +41,9 @@ import org.thingsboard.server.common.msg.TbMsg;
nodeDetails =
"Details - JS function that creates JSON object based on incoming message. This object will be added into Alarm.details field.\n" +
"Node output:\n" +
- "If alarm was not created, original message is returned. Otherwise new Message returned with type 'ALARM', Alarm object in 'msg' property and 'matadata' will contains one of those properties 'isNewAlarm/isExistingAlarm' " +
- "Message payload can be accessed via <code>msg</code> property. For example <code>'temperature = ' + msg.temperature ;</code>" +
- "Message metadata can be accessed via <code>metadata</code> property. For example <code>'name = ' + metadata.customerName;</code>",
+ "If alarm was not created, original message is returned. Otherwise new Message returned with type 'ALARM', Alarm object in 'msg' property and 'matadata' will contains one of those properties 'isNewAlarm/isExistingAlarm'. " +
+ "Message payload can be accessed via <code>msg</code> property. For example <code>'temperature = ' + msg.temperature ;</code>. " +
+ "Message metadata can be accessed via <code>metadata</code> property. For example <code>'name = ' + metadata.customerName;</code>.",
uiResources = {"static/rulenode/rulenode-core-config.js"},
configDirective = "tbActionNodeCreateAlarmConfig",
icon = "notifications_active"
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbLogNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbLogNode.java
index 895862e..33ac5ed 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbLogNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/action/TbLogNode.java
@@ -31,8 +31,8 @@ import static org.thingsboard.rule.engine.api.TbRelationTypes.SUCCESS;
configClazz = TbLogNodeConfiguration.class,
nodeDescription = "Log incoming messages using JS script for transformation Message into String",
nodeDetails = "Transform incoming Message with configured JS function to String and log final value into Thingsboard log file. " +
- "Message payload can be accessed via <code>msg</code> property. For example <code>'temperature = ' + msg.temperature ;</code>" +
- "Message metadata can be accessed via <code>metadata</code> property. For example <code>'name = ' + metadata.customerName;</code>",
+ "Message payload can be accessed via <code>msg</code> property. For example <code>'temperature = ' + msg.temperature ;</code>. " +
+ "Message metadata can be accessed via <code>metadata</code> property. For example <code>'name = ' + metadata.customerName;</code>.",
uiResources = {"static/rulenode/rulenode-core-config.js"},
configDirective = "tbActionNodeLogConfig",
icon = "menu"
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNode.java
index faea63a..2bd770b 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/debug/TbMsgGeneratorNode.java
@@ -38,7 +38,7 @@ import static org.thingsboard.rule.engine.api.TbRelationTypes.SUCCESS;
name = "generator",
configClazz = TbMsgGeneratorNodeConfiguration.class,
nodeDescription = "Periodically generates messages",
- nodeDetails = "Generates messages with configurable period. Javascript function used fore message generation.",
+ nodeDetails = "Generates messages with configurable period. Javascript function used for message generation.",
inEnabled = false,
uiResources = {"static/rulenode/rulenode-core-config.js", "static/rulenode/rulenode-core-config.css"},
configDirective = "tbActionNodeGeneratorConfig",
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNode.java
index 62bbbf9..5da4f8c 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbMsgToEmailNode.java
@@ -35,9 +35,9 @@ import static org.thingsboard.rule.engine.mail.TbSendEmailNode.SEND_EMAIL_TYPE;
type = ComponentType.TRANSFORMATION,
name = "to email",
configClazz = TbMsgToEmailNodeConfiguration.class,
- nodeDescription = "Change Message Originator To Tenant/Customer/Related Entity",
- nodeDetails = "Related Entity found using configured relation direction and Relation Type. " +
- "If multiple Related Entities are found, only first Entity is used as new Originator, other entities are discarded. ",
+ nodeDescription = "Transforms message to email message",
+ nodeDetails = "Transforms message to email message by populating email fields using values derived from message metadata. " +
+ "Set 'SEND_EMAIL' output message type.",
uiResources = {"static/rulenode/rulenode-core-config.js"},
configDirective = "tbTransformationNodeToEmailConfig",
icon = "email"
diff --git a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java
index c31f912..e6c8ca0 100644
--- a/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java
+++ b/rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java
@@ -37,10 +37,9 @@ import static org.thingsboard.rule.engine.api.TbRelationTypes.SUCCESS;
type = ComponentType.EXTERNAL,
name = "send email",
configClazz = TbSendEmailNodeConfiguration.class,
- nodeDescription = "Log incoming messages using JS script for transformation Message into String",
- nodeDetails = "Transform incoming Message with configured JS condition to String and log final value. " +
- "Message payload can be accessed via <code>msg</code> property. For example <code>'temperature = ' + msg.temperature ;</code>" +
- "Message metadata can be accessed via <code>metadata</code> property. For example <code>'name = ' + metadata.customerName;</code>",
+ nodeDescription = "Sends email message via SMTP server",
+ nodeDetails = "Expects messages with 'SEND_EMAIL' message type, usually processed by 'to email' node. " +
+ "Will send email message via configured SMTP server.",
uiResources = {"static/rulenode/rulenode-core-config.js"},
configDirective = "tbActionNodeSendEmailConfig",
icon = "send"
ui/src/app/help/help-links.constant.js 149(+64 -85)
diff --git a/ui/src/app/help/help-links.constant.js b/ui/src/app/help/help-links.constant.js
index 9b1f84f..f22328a 100644
--- a/ui/src/app/help/help-links.constant.js
+++ b/ui/src/app/help/help-links.constant.js
@@ -13,36 +13,36 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-var pluginClazzHelpLinkMap = {
- 'org.thingsboard.server.extensions.core.plugin.messaging.DeviceMessagingPlugin': 'pluginDeviceMessaging',
- 'org.thingsboard.server.extensions.core.plugin.telemetry.TelemetryStoragePlugin': 'pluginTelemetryStorage',
- 'org.thingsboard.server.extensions.core.plugin.rpc.RpcPlugin': 'pluginRpcPlugin',
- 'org.thingsboard.server.extensions.core.plugin.mail.MailPlugin': 'pluginMailPlugin',
- 'org.thingsboard.server.extensions.rest.plugin.RestApiCallPlugin': 'pluginRestApiCallPlugin',
- 'org.thingsboard.server.extensions.core.plugin.time.TimePlugin': 'pluginTimePlugin',
- 'org.thingsboard.server.extensions.kafka.plugin.KafkaPlugin': 'pluginKafkaPlugin',
- 'org.thingsboard.server.extensions.rabbitmq.plugin.RabbitMqPlugin': 'pluginRabbitMqPlugin'
-};
-
-var filterClazzHelpLinkMap = {
- 'org.thingsboard.server.extensions.core.filter.MsgTypeFilter': 'filterMsgType',
- 'org.thingsboard.server.extensions.core.filter.DeviceTelemetryFilter': 'filterDeviceTelemetry',
- 'org.thingsboard.server.extensions.core.filter.MethodNameFilter': 'filterMethodName',
- 'org.thingsboard.server.extensions.core.filter.DeviceAttributesFilter': 'filterDeviceAttributes'
-};
-
-var processorClazzHelpLinkMap = {
- 'org.thingsboard.server.extensions.core.processor.AlarmDeduplicationProcessor': 'processorAlarmDeduplication'
-};
-
-var pluginActionsClazzHelpLinkMap = {
- 'org.thingsboard.server.extensions.core.action.rpc.RpcPluginAction': 'pluginActionRpc',
- 'org.thingsboard.server.extensions.core.action.mail.SendMailAction': 'pluginActionSendMail',
- 'org.thingsboard.server.extensions.core.action.telemetry.TelemetryPluginAction': 'pluginActionTelemetry',
- 'org.thingsboard.server.extensions.kafka.action.KafkaPluginAction': 'pluginActionKafka',
- 'org.thingsboard.server.extensions.rabbitmq.action.RabbitMqPluginAction': 'pluginActionRabbitMq',
- 'org.thingsboard.server.extensions.rest.action.RestApiCallPluginAction': 'pluginActionRestApiCall'
+var ruleNodeClazzHelpLinkMap = {
+ 'org.thingsboard.rule.engine.filter.TbJsFilterNode': 'ruleNodeJsFilter',
+ 'org.thingsboard.rule.engine.filter.TbJsSwitchNode': 'ruleNodeJsSwitch',
+ 'org.thingsboard.rule.engine.filter.TbMsgTypeFilterNode': 'ruleNodeMessageTypeFilter',
+ 'org.thingsboard.rule.engine.filter.TbMsgTypeSwitchNode': 'ruleNodeMessageTypeSwitch',
+ 'org.thingsboard.rule.engine.metadata.TbGetAttributesNode': 'ruleNodeOriginatorAttributes',
+ 'org.thingsboard.rule.engine.metadata.TbGetCustomerAttributeNode': 'ruleNodeCustomerAttributes',
+ 'org.thingsboard.rule.engine.metadata.TbGetDeviceAttrNode': 'ruleNodeDeviceAttributes',
+ 'org.thingsboard.rule.engine.metadata.TbGetRelatedAttributeNode': 'ruleNodeRelatedAttributes',
+ 'org.thingsboard.rule.engine.metadata.TbGetTenantAttributeNode': 'ruleNodeTenantAttributes',
+ 'org.thingsboard.rule.engine.transform.TbChangeOriginatorNode': 'ruleNodeChangeOriginator',
+ 'org.thingsboard.rule.engine.transform.TbTransformMsgNode': 'ruleNodeTransformMsg',
+ 'org.thingsboard.rule.engine.mail.TbMsgToEmailNode': 'ruleNodeMsgToEmail',
+ 'org.thingsboard.rule.engine.action.TbClearAlarmNode': 'ruleNodeClearAlarm',
+ 'org.thingsboard.rule.engine.action.TbCreateAlarmNode': 'ruleNodeCrateAlarm',
+ 'org.thingsboard.rule.engine.debug.TbMsgGeneratorNode': 'ruleNodeMsgGenerator',
+ 'org.thingsboard.rule.engine.action.TbLogNode': 'ruleNodeLog',
+ 'org.thingsboard.rule.engine.rpc.TbSendRPCReplyNode': 'ruleNodeRpcCallReply',
+ 'org.thingsboard.rule.engine.rpc.TbSendRPCRequestNode': 'ruleNodeRpcCallRequest',
+ 'org.thingsboard.rule.engine.telemetry.TbMsgAttributesNode': 'ruleNodeSaveAttributes',
+ 'org.thingsboard.rule.engine.telemetry.TbMsgTimeseriesNode': 'ruleNodeSaveTimeseries',
+ 'tb.internal.RuleChain': 'ruleNodeRuleChain',
+ 'org.thingsboard.rule.engine.aws.sns.TbSnsNode': 'ruleNodeAwsSns',
+ 'org.thingsboard.rule.engine.aws.sqs.TbSqsNode': 'ruleNodeAwsSqs',
+ 'org.thingsboard.rule.engine.kafka.TbKafkaNode': 'ruleNodeKafka',
+ 'org.thingsboard.rule.engine.mqtt.TbMqttNode': 'ruleNodeMqtt',
+ 'org.thingsboard.rule.engine.rabbitmq.TbRabbitMqNode': 'ruleNodeRabbitMq',
+ 'org.thingsboard.rule.engine.rest.TbRestApiCallNode': 'ruleNodeRestApiCall',
+ 'org.thingsboard.rule.engine.mail.TbSendEmailNode': 'ruleNodeSendEmail'
};
var helpBaseUrl = "https://thingsboard.io";
@@ -52,30 +52,36 @@ export default angular.module('thingsboard.help', [])
{
linksMap: {
outgoingMailSettings: helpBaseUrl + "/docs/user-guide/ui/mail-settings",
- plugins: helpBaseUrl + "/docs/user-guide/rule-engine/#plugins",
- pluginDeviceMessaging: helpBaseUrl + "/docs/reference/plugins/messaging/",
- pluginTelemetryStorage: helpBaseUrl + "/docs/reference/plugins/telemetry/",
- pluginRpcPlugin: helpBaseUrl + "/docs/reference/plugins/rpc/",
- pluginMailPlugin: helpBaseUrl + "/docs/reference/plugins/mail/",
- pluginRestApiCallPlugin: helpBaseUrl + "/docs/reference/plugins/rest/",
- pluginTimePlugin: helpBaseUrl + "/docs/reference/plugins/time/",
- pluginKafkaPlugin: helpBaseUrl + "/docs/reference/plugins/kafka/",
- pluginRabbitMqPlugin: helpBaseUrl + "/docs/reference/plugins/rabbitmq/",
- rules: helpBaseUrl + "/docs/user-guide/rule-engine/#rules",
- filters: helpBaseUrl + "/docs/user-guide/rule-engine/#filters",
- filterMsgType: helpBaseUrl + "/docs/reference/filters/message-type-filter",
- filterDeviceTelemetry: helpBaseUrl + "/docs/reference/filters/device-telemetry-filter",
- filterMethodName: helpBaseUrl + "/docs/reference/filters/method-name-filter/",
- filterDeviceAttributes: helpBaseUrl + "/docs/reference/filters/device-attributes-filter",
- processors: helpBaseUrl + "/docs/user-guide/rule-engine/#processors",
- processorAlarmDeduplication: "http://thingsboard.io/docs/#q=processorAlarmDeduplication",
- pluginActions: helpBaseUrl + "/docs/user-guide/rule-engine/#actions",
- pluginActionRpc: helpBaseUrl + "/docs/reference/actions/rpc-plugin-action",
- pluginActionSendMail: helpBaseUrl + "/docs/reference/actions/send-mail-action",
- pluginActionTelemetry: helpBaseUrl + "/docs/reference/actions/telemetry-plugin-action/",
- pluginActionKafka: helpBaseUrl + "/docs/reference/actions/kafka-plugin-action",
- pluginActionRabbitMq: helpBaseUrl + "/docs/reference/actions/rabbitmq-plugin-action",
- pluginActionRestApiCall: helpBaseUrl + "/docs/reference/actions/rest-api-call-plugin-action",
+ ruleEngine: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/overview/",
+ ruleNodeJsFilter: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/filter-nodes/#script-filter-node",
+ ruleNodeJsSwitch: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/filter-nodes/#switch-node",
+ ruleNodeMessageTypeFilter: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/filter-nodes/#message-type-filter-node",
+ ruleNodeMessageTypeSwitch: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/filter-nodes/#message-type-switch-node",
+ ruleNodeOriginatorAttributes: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/enrichment-nodes/#originator-attributes",
+ ruleNodeCustomerAttributes: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/enrichment-nodes/#customer-attributes",
+ ruleNodeDeviceAttributes: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/enrichment-nodes/#device-attributes",
+ ruleNodeRelatedAttributes: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/enrichment-nodes/#related-attributes",
+ ruleNodeTenantAttributes: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/enrichment-nodes/#tenant-attributes",
+ ruleNodeChangeOriginator: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/transformation-nodes/#change-originator",
+ ruleNodeTransformMsg: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/transformation-nodes/#script-transformation-node",
+ ruleNodeMsgToEmail: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/transformation-nodes/#to-email-node",
+ ruleNodeClearAlarm: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#clear-alarm-node",
+ ruleNodeCrateAlarm: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#create-alarm-node",
+ ruleNodeMsgGenerator: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#generator-node",
+ ruleNodeLog: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#log-node",
+ ruleNodeRpcCallReply: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#rpc-call-reply-node",
+ ruleNodeRpcCallRequest: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#rpc-call-request-node",
+ ruleNodeSaveAttributes: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#save-attributes-node",
+ ruleNodeSaveTimeseries: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/action-nodes/#save-timeseries-node",
+ ruleNodeRuleChain: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/rule-chains/",
+ ruleNodeAwsSns: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/external-nodes/#aws-sns-node",
+ ruleNodeAwsSqs: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/external-nodes/#aws-sqs-node",
+ ruleNodeKafka: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/external-nodes/#kafka-node",
+ ruleNodeMqtt: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/external-nodes/#mqtt-node",
+ ruleNodeRabbitMq: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/external-nodes/#rabbitmq-node",
+ ruleNodeRestApiCall: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/external-nodes/#rest-api-call-node",
+ ruleNodeSendEmail: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/external-nodes/#send-email-node",
+ rulechains: helpBaseUrl + "/docs/user-guide/rule-engine-2-0/rule-chains/",
tenants: helpBaseUrl + "/docs/user-guide/ui/tenants",
customers: helpBaseUrl + "/docs/user-guide/ui/customers",
assets: helpBaseUrl + "/docs/user-guide/ui/assets",
@@ -90,38 +96,11 @@ export default angular.module('thingsboard.help', [])
widgetsConfigAlarm: helpBaseUrl + "/docs/user-guide/ui/dashboards#alarm",
widgetsConfigStatic: helpBaseUrl + "/docs/user-guide/ui/dashboards#static",
},
- getPluginLink: function(plugin) {
- var link = 'plugins';
- if (plugin && plugin.clazz) {
- if (pluginClazzHelpLinkMap[plugin.clazz]) {
- link = pluginClazzHelpLinkMap[plugin.clazz];
- }
- }
- return link;
- },
- getFilterLink: function(filter) {
- var link = 'filters';
- if (filter && filter.clazz) {
- if (filterClazzHelpLinkMap[filter.clazz]) {
- link = filterClazzHelpLinkMap[filter.clazz];
- }
- }
- return link;
- },
- getProcessorLink: function(processor) {
- var link = 'processors';
- if (processor && processor.clazz) {
- if (processorClazzHelpLinkMap[processor.clazz]) {
- link = processorClazzHelpLinkMap[processor.clazz];
- }
- }
- return link;
- },
- getPluginActionLink: function(pluginAction) {
- var link = 'pluginActions';
- if (pluginAction && pluginAction.clazz) {
- if (pluginActionsClazzHelpLinkMap[pluginAction.clazz]) {
- link = pluginActionsClazzHelpLinkMap[pluginAction.clazz];
+ getRuleNodeLink: function(ruleNode) {
+ var link = 'ruleEngine';
+ if (ruleNode && ruleNode.component && ruleNode.component.clazz) {
+ if (ruleNodeClazzHelpLinkMap[ruleNode.component.clazz]) {
+ link = ruleNodeClazzHelpLinkMap[ruleNode.component.clazz];
}
}
return link;
diff --git a/ui/src/app/rulechain/add-link.tpl.html b/ui/src/app/rulechain/add-link.tpl.html
index 42c0777..0a21104 100644
--- a/ui/src/app/rulechain/add-link.tpl.html
+++ b/ui/src/app/rulechain/add-link.tpl.html
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<md-dialog aria-label="{{ 'rulenode.add-link' | translate }}" tb-help="'rulechains'" help-container-id="help-container">
+<md-dialog aria-label="{{ 'rulenode.add-link' | translate }}" tb-help="'ruleEngine'" help-container-id="help-container">
<form name="theForm" ng-submit="vm.add()">
<md-toolbar>
<div class="md-toolbar-tools">
diff --git a/ui/src/app/rulechain/add-rulenode.tpl.html b/ui/src/app/rulechain/add-rulenode.tpl.html
index c36b43b..c572915 100644
--- a/ui/src/app/rulechain/add-rulenode.tpl.html
+++ b/ui/src/app/rulechain/add-rulenode.tpl.html
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<md-dialog aria-label="{{ 'rulenode.add' | translate }}" tb-help="'rulechains'" help-container-id="help-container" style="min-width: 650px;">
+<md-dialog aria-label="{{ 'rulenode.add' | translate }}" tb-help="vm.helpLinks.getRuleNodeLink(vm.ruleNode)" help-container-id="help-container" style="min-width: 650px;">
<form name="theForm" ng-submit="vm.add()">
<md-toolbar>
<div class="md-toolbar-tools">
diff --git a/ui/src/app/rulechain/rulechain.controller.js b/ui/src/app/rulechain/rulechain.controller.js
index d15cf74..7050ec5 100644
--- a/ui/src/app/rulechain/rulechain.controller.js
+++ b/ui/src/app/rulechain/rulechain.controller.js
@@ -30,7 +30,7 @@ import addRuleNodeLinkTemplate from './add-link.tpl.html';
/*@ngInject*/
export function RuleChainController($state, $scope, $compile, $q, $mdUtil, $timeout, $mdExpansionPanel, $window, $document, $mdDialog,
$filter, $translate, hotkeys, types, ruleChainService, itembuffer, Modelfactory, flowchartConstants,
- ruleChain, ruleChainMetaData, ruleNodeComponents) {
+ ruleChain, ruleChainMetaData, ruleNodeComponents, helpLinks) {
var vm = this;
@@ -113,6 +113,8 @@ export function RuleChainController($state, $scope, $compile, $q, $mdUtil, $time
vm.openRuleChainContextMenu = openRuleChainContextMenu;
+ vm.helpLinkIdForRuleNodeType = helpLinkIdForRuleNodeType;
+
initHotKeys();
function openRuleChainContextMenu($event, $mdOpenMousepointMenu) {
@@ -473,6 +475,10 @@ export function RuleChainController($state, $scope, $compile, $q, $mdUtil, $time
vm.destroyTooltips = destroyTooltips;
+ function helpLinkIdForRuleNodeType() {
+ return helpLinks.getRuleNodeLink(vm.editingRuleNode);
+ }
+
function destroyTooltips() {
if (vm.tooltipTimeout) {
$timeout.cancel(vm.tooltipTimeout);
diff --git a/ui/src/app/rulechain/rulechain.tpl.html b/ui/src/app/rulechain/rulechain.tpl.html
index 4ba967d..a84df90 100644
--- a/ui/src/app/rulechain/rulechain.tpl.html
+++ b/ui/src/app/rulechain/rulechain.tpl.html
@@ -202,7 +202,7 @@
on-toggle-details-edit-mode="vm.onRevertRuleNodeLinkEdit(vm.ruleNodeLinkForm)"
on-apply-details="vm.saveRuleNodeLink(vm.ruleNodeLinkForm)"
the-form="vm.ruleNodeLinkForm">
- <details-buttons tb-help="vm.helpLinkIdForRuleNodeLink()" help-container-id="link-help-container">
+ <details-buttons tb-help="'ruleEngine'" help-container-id="link-help-container">
<div id="link-help-container"></div>
</details-buttons>
<form name="vm.ruleNodeLinkForm" ng-if="vm.isEditingRuleNodeLink">