registerAssets() public method

Registers the needed assets.
public registerAssets ( View $view )
$view View The View object
Ejemplo n.º 1
0
    /**
     * @param \wbraganca\dynamicform\View $view
     */
    public function registerAssets($view)
    {
        parent::registerAssets($view);
        // For init select2
        $view->registerJs(<<<JS
            \$('.{$this->widgetContainer}').on('afterInsert', function(e, item) {
                var options = eval(\$(this).data('dynamicform'));
                var combos = \$(item).find('[data-combo-field]');
                if (combos.length > 0) {
                    combos.each(function() {
                        var comboItem = this;
                        var template = \$('.' + options.widgetContainer).find(options.widgetItem).first().find('[data-combo-field]').filter(function () {
                            return \$(this).data('combo-field') == \$(comboItem).data('combo-field');
                        });

                        if (template.length == 0) {
                            return true;
                        }

                        var config_id = \$(template[0]).data('field').id;
                        \$(item).closest(options.widgetItem).combo().register(\$(this), config_id);
                    });
                }
            });
JS
);
        // For init datetime picker
        $view->registerJs(<<<JS
            \$('.{$this->widgetContainer}').on('afterInsert', function(e, item) {
                var options = eval(\$(this).data('dynamicform'));
                var pickers = \$(item).find('[data-krajee-datetimepicker]');
                if (pickers.length > 0) {
                    pickers.each(function() {
                        var pickerItem = this;
                        var template = \$('.' + options.widgetContainer).find(options.widgetItem).first().find('[data-krajee-datetimepicker]').filter(function () {
                            return \$(this).data('krajee-datetimepicker') == \$(pickerItem).data('krajee-datetimepicker');
                        });

                        if (template.length == 0) {
                            return true;
                        }

                        var config_id = \$(template[0]).data('krajee-datetimepicker');
                        var elementId = \$(pickerItem).attr('id');
                        \$('#' + elementId + '-datetime').datetimepicker(config_id);
                    });
                }
            });
JS
);
    }