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 | 153x 153x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 153x 2x 2x 2x 2x | 'use strict'; define( [ 'jquery', 'underscore', 'backbone', 'routing', 'pim/form-builder', 'oro/messenger', 'pim/template/attribute-option/validation-error' ], function ( $, _, Backbone, Routing, FormBuilder, messenger, errorTemplate ) { var CreateOptionView = Backbone.View.extend({ errorTemplate: _.template(errorTemplate), attribute: null, initialize: function (options) { this.attribute = options.attribute; }, createOption: function () { var deferred = $.Deferred(); FormBuilder.build('pim-attribute-option-form').done((form) => { var modal = new Backbone.BootstrapModal({ title: _.__('pim_enrich.entity.product.module.attribute.add_attribute_option'), content: form, cancelText: _.__('pim_common.cancel'), okText: _.__('pim_common.add'), picture: 'illustrations/Attribute.svg', okCloses: false }); modal.open(); modal.on('cancel', deferred.reject); modal.on('ok', () => { $.ajax({ method: 'POST', url: Routing.generate( 'pim_enrich_attributeoption_create', { attributeId: this.attribute.meta.id } ), data: JSON.stringify(form.getFormData()) }).done((option) => { modal.close(); messenger.notify( 'success', _.__('pim_enrich.entity.attribute_option.flash.create.success') ); deferred.resolve(option); }).fail((xhr) => { var response = xhr.responseJSON; if (response.code) { form.$('input[name="code"]').after( this.errorTemplate({ errors: [response.code] }) ); } else { messenger.notify( 'error', _.__('pim_enrich.entity.attribute_option.flash.create.fail') ); } }); }); }); return deferred.promise(); } }); return function (attribute) { Iif (!attribute) { throw new Error('Attribute must be provided to create a new option'); } var view = new CreateOptionView({ attribute: attribute }); return view.createOption().always(function () { view.remove(); }); }; } ); |