mirror of https://github.com/rancher/ui.git
86 lines
2.5 KiB
JavaScript
86 lines
2.5 KiB
JavaScript
import { scheduleOnce, later } from '@ember/runloop';
|
|
import { inject as service } from '@ember/service';
|
|
import Component from '@ember/component';
|
|
import C from 'ui/utils/constants';
|
|
import { loadScript } from 'ui/utils/load-script';
|
|
import ModalBase from 'shared/mixins/modal-base';
|
|
import layout from './template';
|
|
|
|
export default Component.extend(ModalBase, {
|
|
settings: service(),
|
|
prefs: service(),
|
|
access: service(),
|
|
|
|
layout,
|
|
classNames: ['span-8', 'offset-2', 'modal-telemetry'],
|
|
loading: true,
|
|
|
|
init() {
|
|
this._super(...arguments);
|
|
|
|
scheduleOnce('afterRender', this, 'setupForm', JSON.parse(this.get(`settings.${ C.SETTING.FEEDBACK_FORM }`) || '{}'));
|
|
},
|
|
|
|
actions: {
|
|
submit() {
|
|
let form = $('#feedback-form'); // eslint-disable-line
|
|
|
|
form.find('INPUT[type=submit]').click();
|
|
},
|
|
|
|
sent() {
|
|
this.set(`prefs.${ C.PREFS.FEEDBACK }`, 'sent');
|
|
this.send('cancel');
|
|
},
|
|
},
|
|
styleForm() {
|
|
var self = this;
|
|
|
|
let form = $('#feedback-form'); // eslint-disable-line
|
|
|
|
form.find('.field').not('.hs_sandbox_acknowledgement')
|
|
.addClass('col-md-6');
|
|
form.find('.field.hs_sandbox_acknowledgement').addClass('span-12');
|
|
|
|
form.find('INPUT[type=text],INPUT[type=email],SELECT').addClass('form-control');
|
|
form.find('LABEL').addClass('pt-10');
|
|
|
|
form.find('INPUT[type=submit]').addClass('hide');
|
|
|
|
form.find('UL').addClass('list-unstyled');
|
|
form.find('INPUT[type=checkbox]').addClass('mr-10');
|
|
form.find('.hs-form-booleancheckbox-display').css('font-weight', 'normal');
|
|
|
|
form.find('SELECT').on('change', () => {
|
|
self.styleForm();
|
|
});
|
|
},
|
|
|
|
setupForm(opt) {
|
|
const self = this;
|
|
|
|
loadScript('//js.hsforms.net/forms/v2.js').then(() => {
|
|
window['hbspt'].forms.create({
|
|
css: '',
|
|
portalId: opt.portalId, // '468859',
|
|
formId: opt.formId, // 'bfca2d1d-ed50-4ed7-a582-3f0440f236ca',
|
|
target: '#feedback-form',
|
|
errorClass: 'form-control',
|
|
onFormReady() {
|
|
self.styleForm();
|
|
$('INPUT[name=rancher_account_id]')[0].value = self.get('access.principal.id');// eslint-disable-line
|
|
$('INPUT[name=github_username]')[0].value = self.get('access.identity.login');// eslint-disable-line
|
|
self.set('loading', false);
|
|
},
|
|
onFormSubmit() {
|
|
self.styleForm();
|
|
later(() => {
|
|
self.send('sent');
|
|
}, 1000);
|
|
},
|
|
});
|
|
});
|
|
},
|
|
|
|
});
|