diff --git a/client/modules/crm/res/templates/opportunity/admin/field-manager/fields/probability-map/edit.tpl b/client/modules/crm/res/templates/opportunity/admin/field-manager/fields/probability-map/edit.tpl deleted file mode 100644 index 4f0f4e5170..0000000000 --- a/client/modules/crm/res/templates/opportunity/admin/field-manager/fields/probability-map/edit.tpl +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/client/modules/crm/src/views/opportunity/admin/field-manager/fields/probability-map.js b/client/modules/crm/src/views/opportunity/admin/field-manager/fields/probability-map.js index fa6a9aedf5..1b0eddb2d3 100644 --- a/client/modules/crm/src/views/opportunity/admin/field-manager/fields/probability-map.js +++ b/client/modules/crm/src/views/opportunity/admin/field-manager/fields/probability-map.js @@ -26,59 +26,75 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -define('crm:views/opportunity/admin/field-manager/fields/probability-map', ['views/fields/base'], function (Dep) { +import BaseFieldView from 'views/fields/base'; +import $ from 'jquery'; - return Dep.extend({ +// noinspection JSUnusedGlobalSymbols +export default class extends BaseFieldView { - editTemplate: 'crm:opportunity/admin/field-manager/fields/probability-map/edit', + editTemplateContent = ` + + ` - setup: function () { - Dep.prototype.setup.call(this); + setup() { + super.setup(); - this.listenTo(this.model, 'change:options', function (m, v, o) { - let probabilityMap = this.model.get('probabilityMap') || {} + this.listenTo(this.model, 'change:options', function (m, v, o) { + const probabilityMap = this.model.get('probabilityMap') || {}; - if (o.ui) { - (this.model.get('options') || []).forEach(item => { - if (!(item in probabilityMap)) { - probabilityMap[item] = 50; - } - }); + if (o.ui) { + (this.model.get('options') || []).forEach(item => { + if (!(item in probabilityMap)) { + probabilityMap[item] = 50; + } + }); - this.model.set('probabilityMap', probabilityMap); - } + this.model.set('probabilityMap', probabilityMap); + } - this.reRender(); - }); - }, + this.reRender(); + }); + } - data: function () { - let data = {}; + data() { + const data = {}; - let values = this.model.get('probabilityMap') || {}; + const values = this.model.get('probabilityMap') || {}; - data.stageList = this.model.get('options') || []; - data.values = values; + data.stageList = this.model.get('options') || []; + data.values = values; - return data; - }, + return data; + } - fetch: function () { - let data = { - probabilityMap: {}, - }; + fetch() { + const data = { + probabilityMap: {}, + }; - (this.model.get('options') || []).forEach(item => { - data.probabilityMap[item] = parseInt(this.$el.find('input[data-name="'+item+'"]').val()); - }); + (this.model.get('options') || []).forEach(item => { + data.probabilityMap[item] = parseInt($(this.element).find(`input[data-name="${item}"]`).val()); + }); - return data; - }, + return data; + } - afterRender: function () { - this.$el.find('input').on('change', () => { - this.trigger('change') - }); - }, - }); -}); + afterRender() { + $(this.element).find('input').on('change', () => { + this.trigger('change') + }); + } +}