All files / web/bundles/pimui/js/controller/attribute edit.js

95% Statements 19/20
50% Branches 1/2
100% Functions 7/7
95% Lines 19/20

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              40x                                   40x         44x       44x 44x 44x   44x       43x               43x   43x     43x   43x 43x       43x 24x   43x 43x 43x   43x            
/**
 * @author    Yohan Blain <yohan.blain@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)
 */
'use strict';
 
define([
    'underscore',
    'pim/controller/front',
    'pim/form-builder',
    'pim/fetcher-registry',
    'pim/user-context',
    'pim/page-title',
    'pim/i18n'
],
function (
    _,
    BaseController,
    FormBuilder,
    fetcherRegistry,
    UserContext,
    PageTitle,
    i18n
) {
    return BaseController.extend({
        /**
         * {@inheritdoc}
         */
        renderForm: function (route) {
            Iif (!this.active) {
                return;
            }
 
            fetcherRegistry.getFetcher('attribute-group').clear();
            fetcherRegistry.getFetcher('locale').clear();
            fetcherRegistry.getFetcher('measure').clear();
 
            return fetcherRegistry.getFetcher('attribute').fetch(route.params.code, {
                cached: false,
                apply_filters: false
            }).then((attribute) => {
                var label = _.escape(
                    i18n.getLabel(
                        attribute.labels,
                        UserContext.get('catalogLocale'),
                        attribute.code
                    )
                );
 
                PageTitle.set({'attribute.label': label});
 
                    return FormBuilder.getFormMeta('pim-attribute-edit-form')
                        .then(FormBuilder.buildForm)
                        .then((form) => {
                            form.setType(attribute.type);
 
                        return form.configure().then(() => {
                            return form;
                        });
                    })
                    .then((form) => {
                        this.on('pim:controller:can-leave', function (event) {
                            form.trigger('pim_enrich:form:can-leave', event);
                        });
                        form.setData(attribute);
                        form.trigger('pim_enrich:form:entity:post_fetch', attribute);
                        form.setElement(this.$el).render();
 
                        return form;
                    });
            });
        }
    });
});