@@ -94,6 +94,7 @@ export default {
getConditionDomainObject(isDefault) {
let conditionObj = {
isDefault: isDefault,
+ isCurrent: true,
identifier: {
namespace: "",
key: uuid()
@@ -106,8 +107,8 @@ export default {
metaDataKey: this.openmct.telemetry.getMetadata(this.telemetryObjs[0]).values()[0].key,
key: this.telemetryObjs.length ? this.openmct.objects.makeKeyString(this.telemetryObjs[0].identifier) : null
}],
- output: 'Default test',
- type: 'condition'
+ output: 'false',
+ summary: 'summary description'
};
let conditionDOKeyString = this.openmct.objects.makeKeyString(conditionObj.identifier);
let newDO = this.instantiate(conditionObj, conditionDOKeyString);
diff --git a/src/plugins/condition/components/ConditionEdit.vue b/src/plugins/condition/components/ConditionEdit.vue
index 5840b4b355..8b1276e458 100644
--- a/src/plugins/condition/components/ConditionEdit.vue
+++ b/src/plugins/condition/components/ConditionEdit.vue
@@ -36,7 +36,7 @@
-
-
+
- -
+
-
+
+
+
+
+
+
+
-
-
@@ -70,6 +92,7 @@
diff --git a/src/plugins/condition/utils/operations.js b/src/plugins/condition/utils/operations.js
new file mode 100644
index 0000000000..2e6e9a240c
--- /dev/null
+++ b/src/plugins/condition/utils/operations.js
@@ -0,0 +1,206 @@
+export const OPERATIONS = [
+ {
+ name: 'equalTo',
+ operation: function (input) {
+ return input[0] === input[1];
+ },
+ text: 'is equal to',
+ appliesTo: ['number'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' == ' + values[0];
+ }
+ },
+ {
+ name: 'notEqualTo',
+ operation: function (input) {
+ return input[0] !== input[1];
+ },
+ text: 'is not equal to',
+ appliesTo: ['number'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' != ' + values[0];
+ }
+ },
+ {
+ name: 'greaterThan',
+ operation: function (input) {
+ return input[0] > input[1];
+ },
+ text: 'is greater than',
+ appliesTo: ['number'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' > ' + values[0];
+ }
+ },
+ {
+ name: 'lessThan',
+ operation: function (input) {
+ return input[0] < input[1];
+ },
+ text: 'is less than',
+ appliesTo: ['number'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' < ' + values[0];
+ }
+ },
+ {
+ name: 'greaterThanOrEq',
+ operation: function (input) {
+ return input[0] >= input[1];
+ },
+ text: 'is greater than or equal to',
+ appliesTo: ['number'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' >= ' + values[0];
+ }
+ },
+ {
+ name: 'lessThanOrEq',
+ operation: function (input) {
+ return input[0] <= input[1];
+ },
+ text: 'is less than or equal to',
+ appliesTo: ['number'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' <= ' + values[0];
+ }
+ },
+ {
+ name: 'between',
+ operation: function (input) {
+ return input[0] > input[1] && input[0] < input[2];
+ },
+ text: 'is between',
+ appliesTo: ['number'],
+ inputCount: 2,
+ getDescription: function (values) {
+ return ' between ' + values[0] + ' and ' + values[1];
+ }
+ },
+ {
+ name: 'notBetween',
+ operation: function (input) {
+ return input[0] < input[1] || input[0] > input[2];
+ },
+ text: 'is not between',
+ appliesTo: ['number'],
+ inputCount: 2,
+ getDescription: function (values) {
+ return ' not between ' + values[0] + ' and ' + values[1];
+ }
+ },
+ {
+ name: 'textContains',
+ operation: function (input) {
+ return input[0] && input[1] && input[0].includes(input[1]);
+ },
+ text: 'text contains',
+ appliesTo: ['string'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' contains ' + values[0];
+ }
+ },
+ {
+ name: 'textDoesNotContain',
+ operation: function (input) {
+ return input[0] && input[1] && !input[0].includes(input[1]);
+ },
+ text: 'text does not contain',
+ appliesTo: ['string'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' does not contain ' + values[0];
+ }
+ },
+ {
+ name: 'textStartsWith',
+ operation: function (input) {
+ return input[0].startsWith(input[1]);
+ },
+ text: 'text starts with',
+ appliesTo: ['string'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' starts with ' + values[0];
+ }
+ },
+ {
+ name: 'textEndsWith',
+ operation: function (input) {
+ return input[0].endsWith(input[1]);
+ },
+ text: 'text ends with',
+ appliesTo: ['string'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' ends with ' + values[0];
+ }
+ },
+ {
+ name: 'textIsExactly',
+ operation: function (input) {
+ return input[0] === input[1];
+ },
+ text: 'text is exactly',
+ appliesTo: ['string'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' is exactly ' + values[0];
+ }
+ },
+ {
+ name: 'isUndefined',
+ operation: function (input) {
+ return typeof input[0] === 'undefined';
+ },
+ text: 'is undefined',
+ appliesTo: ['string', 'number', 'enum'],
+ inputCount: 0,
+ getDescription: function () {
+ return ' is undefined';
+ }
+ },
+ {
+ name: 'isDefined',
+ operation: function (input) {
+ return typeof input[0] !== 'undefined';
+ },
+ text: 'is defined',
+ appliesTo: ['string', 'number', 'enum'],
+ inputCount: 0,
+ getDescription: function () {
+ return ' is defined';
+ }
+ },
+ {
+ name: 'enumValueIs',
+ operation: function (input) {
+ return input[0] === input[1];
+ },
+ text: 'is',
+ appliesTo: ['enum'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' == ' + values[0];
+ }
+ },
+ {
+ name: 'enumValueIsNot',
+ operation: function (input) {
+ return input[0] !== input[1];
+ },
+ text: 'is not',
+ appliesTo: ['enum'],
+ inputCount: 1,
+ getDescription: function (values) {
+ return ' != ' + values[0];
+ }
+ }
+];