Merge remote-tracking branch 'origin/develop/2.0' into develop/2.0
# Conflicts: # rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/mail/TbSendEmailNode.java
This commit is contained in:
commit
53f84b625b
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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",
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -37,7 +37,7 @@ import static org.thingsboard.rule.engine.api.TbRelationTypes.SUCCESS;
|
||||
type = ComponentType.EXTERNAL,
|
||||
name = "send email",
|
||||
configClazz = TbSendEmailNodeConfiguration.class,
|
||||
nodeDescription = "Sends message using configured Mail Server.",
|
||||
nodeDescription = "Sends email message via SMTP server.",
|
||||
nodeDetails = "Expects messages with <b>SEND_EMAIL</b> type. Node works only with messages that " +
|
||||
" where created using <code>to Email</code> transformation Node, please connect this Node " +
|
||||
"with <code>to Email</code> Node using <code>Successful</code> chain.",
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user