Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | 10x 10x 10x 10x 10x 10x 10x 9x 9x 9x 11x 11x 11x 11x 1x 11x 11x | /**
* Group type select2 to be added in a creation form
*
* @author Tamara Robichet <tamara.robichet@akeneo.com>
* @copyright 2017 Akeneo SAS (http://www.akeneo.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
define([
'jquery',
'underscore',
'backbone',
'routing',
'pim/form',
'pim/user-context',
'pim/i18n',
'oro/translator',
'pim/template/form/creation/job',
'pim/base-fetcher'
], function(
$,
_,
Backbone,
Routing,
BaseForm,
UserContext,
i18n,
__,
template,
BaseFetcher
) {
return BaseForm.extend({
options: {},
template: _.template(template),
events: {
'change select': 'updateModel'
},
/**
* Configure the form
*
* @return {Promise}
*/
configure() {
const jobType = this.options.config.type;
const fetcher = new BaseFetcher({
urls: { list: this.options.config.url }
});
return fetcher.search({ jobType }).then((jobs) => {
this.jobs = jobs;
BaseForm.prototype.configure.apply(this, arguments)
})
},
/**
* Model update callback
*/
updateModel(event) {
const option = this.$(event.target);
const optionParent = $(':selected', option).closest('optgroup');
this.getFormModel().set({
'alias': option.val(),
'connector': optionParent.attr('label')
});
},
/**
* Renders the form
*
* @return {Promise}
*/
render() {
Iif (!this.configured) return this;
const errors = this.getRoot().validationErrors || [];
const identifier = this.options.config.identifier || 'alias';
this.$el.html(this.template({
label: __(this.options.config.label),
jobs: this.jobs,
required: __('pim_common.required_label'),
selectedJobType: this.getFormData().alias,
errors: errors.filter(error => error.path === identifier),
__
}));
this.$el.find('.job-input').select2();
this.delegateEvents();
}
});
});
|