You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ak...@apache.org on 2019/04/11 16:01:19 UTC
[incubator-pinot] branch master updated: [TE] frontend -
harleyjj/yaml-editor - user can create a new subscription group without a
new alert (#4097)
This is an automated email from the ASF dual-hosted git repository.
akshayrai09 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 9612260 [TE] frontend - harleyjj/yaml-editor - user can create a new subscription group without a new alert (#4097)
9612260 is described below
commit 96122604232620897d92406992f922f485fe9aaa
Author: Harley Jackson <ha...@gmail.com>
AuthorDate: Thu Apr 11 09:01:14 2019 -0700
[TE] frontend - harleyjj/yaml-editor - user can create a new subscription group without a new alert (#4097)
---
.../app/pods/components/yaml-editor/component.js | 66 ++++++++++++----------
.../pods/components/yaml-editor/component-test.js | 48 ----------------
2 files changed, 36 insertions(+), 78 deletions(-)
diff --git a/thirdeye/thirdeye-frontend/app/pods/components/yaml-editor/component.js b/thirdeye/thirdeye-frontend/app/pods/components/yaml-editor/component.js
index e3d968c..aaa21fd 100644
--- a/thirdeye/thirdeye-frontend/app/pods/components/yaml-editor/component.js
+++ b/thirdeye/thirdeye-frontend/app/pods/components/yaml-editor/component.js
@@ -35,6 +35,8 @@ import {inject as service} from '@ember/service';
import {task} from 'ember-concurrency';
import config from 'thirdeye-frontend/config/environment';
+const CREATE_GROUP_TEXT = 'Create a new subscription group';
+
export default Component.extend({
classNames: ['yaml-editor'],
notifications: service('toast'),
@@ -52,12 +54,10 @@ export default Component.extend({
subscriptionMsg: '', //General subscription failures
detectionYaml: null, // The YAML for the anomaly detection
subscriptionYaml: null, // The YAML for the subscription group
- yamlAlertProps: yamlAlertProps,
- yamlAlertSettings: yamlAlertSettings,
+ currentYamlAlertOriginal: yamlAlertProps,
+ currentYamlSettingsOriginal: yamlAlertSettings,
showAnomalyModal: false,
showNotificationModal: false,
- currentYamlAlertOriginal: '',
- currentYamlSettingsOriginal: '',
toggleCollapsed: true,
alertDataIsCurrent: true,
@@ -65,19 +65,13 @@ export default Component.extend({
init() {
this._super(...arguments);
- // In edit mode, sets subscription group to an existing group by default and sets default yamls
- if (get(this, 'isEditMode')) {
- const subscriptionGroupNames = get(this, 'subscriptionGroupNames');
- // Checks to make sure there is a subscription group array with at least one subscription group
- if (subscriptionGroupNames && Array.isArray(subscriptionGroupNames) && subscriptionGroupNames.length > 0) {
- const firstGroup = subscriptionGroupNames[0];
- set(this, 'subscriptionYaml', firstGroup.yaml);
- set(this, 'groupName', firstGroup);
- set(this, 'subscriptionGroupId', firstGroup.id);
- }
- // Sets default yamls after checking for and setting default subscription group
- set(this, 'currentYamlAlertOriginal', get(this, 'detectionYaml') || get(this, 'yamlAlertProps'));
- set(this, 'currentYamlSettingsOriginal', get(this, 'subscriptionYaml') || get(this, 'yamlAlertSettings'));
+ const subscriptionGroupNamesDisplay = get(this, 'subscriptionGroupNamesDisplay');
+ // Checks to make sure there is a subscription group array with at least one subscription group
+ if (subscriptionGroupNamesDisplay && Array.isArray(subscriptionGroupNamesDisplay) && subscriptionGroupNamesDisplay.length > 0) {
+ const firstGroup = subscriptionGroupNamesDisplay[0];
+ set(this, 'subscriptionYaml', firstGroup.yaml);
+ set(this, 'groupName', firstGroup);
+ set(this, 'subscriptionGroupId', firstGroup.id);
}
},
@@ -89,12 +83,21 @@ export default Component.extend({
subscriptionGroupNamesDisplay: computed(
'subscriptionGroupNames',
async function() {
- const isEditMode = get(this, 'isEditMode');
+ const {
+ isEditMode,
+ subscriptionGroupNames
+ } = this.getProperties('isEditMode', 'subscriptionGroupNames');
+ const createGroup = {
+ name: CREATE_GROUP_TEXT,
+ id: 'n/a',
+ yaml: yamlAlertSettings
+ };
+ const moddedArray = [createGroup];
if (isEditMode) {
- return get(this, 'subscriptionGroupNames');
+ return [...moddedArray, ...subscriptionGroupNames];
}
const subscriptionGroups = await get(this, '_fetchSubscriptionGroups').perform();
- return get(this, 'subscriptionGroupNames') || subscriptionGroups;
+ return [...moddedArray, ...subscriptionGroups];
}
),
@@ -115,7 +118,7 @@ export default Component.extend({
),
/**
- * sets Yaml value displayed to contents of detectionYaml or yamlAlertProps
+ * sets Yaml value displayed to contents of detectionYaml or currentYamlAlertOriginal
* @method currentYamlAlert
* @return {String}
*/
@@ -123,12 +126,12 @@ export default Component.extend({
'detectionYaml',
function() {
const inputYaml = get(this, 'detectionYaml');
- return inputYaml || get(this, 'yamlAlertProps');
+ return inputYaml || get(this, 'currentYamlAlertOriginal');
}
),
/**
- * sets Yaml value displayed to contents of subscriptionYaml or yamlAlertSettings
+ * sets Yaml value displayed to contents of subscriptionYaml or currentYamlSettingsOriginal
* @method currentYamlAlert
* @return {String}
*/
@@ -136,7 +139,7 @@ export default Component.extend({
'subscriptionYaml',
function() {
const subscriptionYaml = get(this, 'subscriptionYaml');
- return subscriptionYaml || get(this, 'yamlAlertSettings');
+ return subscriptionYaml || get(this, 'currentYamlSettingsOriginal');
}
),
@@ -292,8 +295,11 @@ export default Component.extend({
// Method for handling subscription group, whether there are any or not
async _handleSubscriptionGroup(subscriptionYaml, notifications, subscriptionGroupId) {
- const noExistingSubscriptionGroup = get(this, 'noExistingSubscriptionGroup');
- if (noExistingSubscriptionGroup) {
+ const {
+ noExistingSubscriptionGroup,
+ groupName
+ } = this.getProperties('noExistingSubscriptionGroup', 'groupName');
+ if (noExistingSubscriptionGroup || !groupName || groupName.name === CREATE_GROUP_TEXT) {
//PUT settings
const setting_url = '/yaml/subscription';
const settingsPostProps = {
@@ -352,15 +358,15 @@ export default Component.extend({
if(isEditMode) {
set(this, 'detectionYaml', get(this, 'currentYamlAlertOriginal'));
} else {
- const yamlAlertProps = get(this, 'yamlAlertProps');
- set(this, 'detectionYaml', yamlAlertProps);
+ const currentYamlAlertOriginal = get(this, 'currentYamlAlertOriginal');
+ set(this, 'detectionYaml', currentYamlAlertOriginal);
}
} else if (field === 'subscription') {
if(isEditMode) {
set(this, 'subscriptionYaml', get(this, 'currentYamlSettingsOriginal'));
} else {
- const yamlAlertSettings = get(this, 'yamlAlertSettings');
- set(this, 'subscriptionYaml', yamlAlertSettings);
+ const currentYamlSettingsOriginal = get(this, 'currentYamlSettingsOriginal');
+ set(this, 'subscriptionYaml', currentYamlSettingsOriginal);
}
}
},
diff --git a/thirdeye/thirdeye-frontend/tests/integration/pods/components/yaml-editor/component-test.js b/thirdeye/thirdeye-frontend/tests/integration/pods/components/yaml-editor/component-test.js
index ef2504e..086d781 100644
--- a/thirdeye/thirdeye-frontend/tests/integration/pods/components/yaml-editor/component-test.js
+++ b/thirdeye/thirdeye-frontend/tests/integration/pods/components/yaml-editor/component-test.js
@@ -58,54 +58,6 @@ module('Integration | Component | yaml-editor', function(hooks) {
assert.ok(this.$('.ace_line')[0].children[0].textContent === defaultText);
});
- test(`displays first subscription group in dropdown in edit mode`, async function(assert) {
- this.setProperties({
- alertId: 1,
- subscriptionGroups: [ {
- id : 1,
- name : 'test_subscription_group',
- yaml : testText
- } ],
- detectionYaml: testText
- });
-
- await render(hbs`
- {{yaml-editor
- alertId=alertId
- isEditMode=true
- showSettings=true
- subscriptionGroupNames=subscriptionGroups
- detectionYaml=detectionYaml
- }}
- `);
-
- assert.ok(this.$('.ember-power-select-selected-item')[0].innerText === `test_subscription_group (1)`);
- });
-
- test(`displays first subscription group yaml in edit mode`, async function(assert) {
- this.setProperties({
- alertId: 1,
- subscriptionGroups: [ {
- id : 1,
- name : 'test_subscription_group',
- yaml : testText
- } ],
- detectionYaml: 'nothing'
- });
-
- await render(hbs`
- {{yaml-editor
- alertId=alertId
- isEditMode=true
- showSettings=true
- subscriptionGroupNames=subscriptionGroups
- detectionYaml=detectionYaml
- }}
- `);
-
- assert.ok(this.$('.ace_line')[1].innerText === testText);
- });
-
test(`displays default yaml file of subscription group in create mode`, async function(assert) {
const defaultText = '# Below is a sample subscription group template. You may refer the documentation and update accordingly.';
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org