/**
  * {@inheritdoc}
  */
 public function registerAssets(array $config, ContainerBuilder $containerBuilder)
 {
     $assets = [];
     $assets[] = AssetFactory::asset('jquery', 'bundles/ynloframework/vendor/jquery/jquery.min.js');
     $assets[] = AssetFactory::module('underscore', 'bundles/ynloframework/vendor/underscore/underscore-min.js');
     if ($config['ajax_forms']) {
         $assets[] = AssetFactory::module('jquery_form', 'bundles/ynloframework/vendor/jquery.form/jquery.form.js');
     }
     if ($config['pace']) {
         $assets[] = AssetFactory::module('pace_js', 'bundles/ynloframework/vendor/pace/pace.js');
         $assets[] = AssetFactory::asset('pace_config', 'bundles/ynloframework/js/pace_settings.js', ['pace_settings_dumper']);
         $assets[] = AssetFactory::asset('pace_css', 'bundles/ynloframework/vendor/pace/pace.css');
     }
     //$assets[] = AssetFactory::asset('fastclick', 'bundles/ynloframework/vendor/fastclick/fastclick.js');
     $assets[] = AssetFactory::module('bootstrap_js', 'bundles/ynloframework/vendor/bootstrap/js/bootstrap.min.js')->setCdn('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js');
     $assets[] = AssetFactory::asset('bootstrap_css', 'bundles/ynloframework/vendor/bootstrap/css/bootstrap.min.css');
     $assets[] = AssetFactory::asset('fontawesome', 'bundles/ynloframework/vendor/font-awesome/css/font-awesome.min.css');
     $assets[] = AssetFactory::asset('glyphicons', 'bundles/ynloframework/vendor/glyphicons/css/glyphicons.css');
     $assets[] = AssetFactory::asset('icomoon', 'bundles/ynloframework/vendor/icomoon/icomoon.css');
     $assets[] = AssetFactory::asset('ynlo_framework_js', 'bundles/ynloframework/js/framework.js');
     $assets[] = AssetFactory::asset('ynlo_framework_core_js', 'bundles/ynloframework/js/core.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_framework_libraries_js', 'bundles/ynloframework/js/lib/*.js');
     if ($config['debug']) {
         $assets[] = AssetFactory::asset('ynlo_debugger_js', 'bundles/ynloframework/js/debugger.yfp.js', ['yfp_config_dumper']);
         $assets[] = AssetFactory::asset('ynlo_debugger_css', 'bundles/ynloframework/css/debugger.css');
     }
     if ($config['animate_css']) {
         $assets[] = AssetFactory::asset('animate_css', 'bundles/ynloframework/vendor/animate/animate.min.css');
     }
     return $assets;
 }
 /**
  * {@inheritdoc}
  */
 public function prepend(ContainerBuilder $container)
 {
     if (!$container->hasExtension('assetic')) {
         throw new \LogicException('The assetic bundle is required.');
     }
     $asseticConfig = $container->getExtensionConfig('assetic')[0];
     $assetConfig = $container->getExtensionConfig('ynlo_assets')[0];
     //Assetic base configuration
     $asseticConfig['bundles'][] = 'YnloFrameworkBundle';
     $asseticConfig['filters']['cssrewrite'] = null;
     if (empty($asseticConfig['assets'])) {
         $asseticConfig['assets'] = [];
     }
     $useRequireJs = !isset($assetConfig['requirejs']) || $assetConfig['requirejs'] !== false;
     AssetRegistry::build($container, $useRequireJs);
     if ($useRequireJs) {
         AssetRegistry::prependAssets([AssetFactory::asset('requirejs', 'bundles/ynloassets/vendor/requirejs/require.min.js'), AssetFactory::asset('requirejs_config', 'bundles/ynloassets/js/require_js_config.js', ['require_js_config'])]);
         AssetRegistry::addAsset(AssetFactory::asset('jquery_plugins_overrides', 'bundles/ynloassets/js/jquery_plugins_overrides.js', ['jquery_plugin_override']));
     }
     $this->processAssetContexts($container);
     //save the array of assets in a param to restore the registry later
     $container->setParameter('ynlo.assets', AssetRegistry::serialize());
     $registeredAssets = AssetRegistry::getAsseticAssetsArray();
     $asseticConfig['assets'] = array_merge($registeredAssets, $asseticConfig['assets']);
     $container->prependExtensionConfig('assetic', $asseticConfig);
 }
 /**
  * {@inheritdoc}
  */
 public function registerAssets(array $config, ContainerBuilder $containerBuilder)
 {
     $assets = [];
     //vendor
     $assets[] = AssetFactory::module('bootstrap_dialog_js', 'bundles/ynlomodal/vendor/bootstrap-dialog/bootstrap-dialog.min.js')->setModuleName('bootstrap-dialog')->setDependencies(['bootstrap']);
     $assets[] = AssetFactory::asset('bootstrap_dialog_css', 'bundles/ynlomodal/vendor/bootstrap-dialog/bootstrap-dialog.min.css');
     //internal
     $assets[] = AssetFactory::asset('ynlo_modal_js', 'bundles/ynlomodal/js/modal.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_modal_css', 'bundles/ynlomodal/css/modals.css', ['yfp_config_dumper']);
     return $assets;
 }
 /**
  * Register all assets and modules given in the asset configuration.
  */
 private static function registerConfigAssets()
 {
     $config = self::$container->getExtensionConfig('ynlo_assets')[0];
     if (isset($config['assets'])) {
         foreach ($config['assets'] as $name => $asset) {
             self::addAsset(AssetFactory::asset($name, $asset));
         }
     }
     if (isset($config['modules'])) {
         foreach ($config['modules'] as $name => $assetConfig) {
             if (!array_key_value($assetConfig, 'asset')) {
                 $msg = sprintf('The registered javascript module `%s` don`t have a valid asset associated.', $name);
                 throw new \RuntimeException($msg);
             }
             $module = AssetFactory::module($name, $assetConfig['asset']);
             $module->setDependencies(array_key_value($assetConfig, 'deps', []));
             $module->setCdn(array_key_value($assetConfig, 'cdn'));
             $module->setExports(array_key_value($assetConfig, 'exports', []));
             $module->setInit(array_key_value($assetConfig, 'init'));
             $module->setJqueryPlugins(array_key_value($assetConfig, 'jquery_plugins', []));
             self::addAsset($module);
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function registerAssets(array $config, ContainerBuilder $containerBuilder)
 {
     $assets = [];
     //Vendor
     $assets[] = AssetFactory::asset('admin_lte_css', 'bundles/ynloadmin/vendor/admin-lte/css/AdminLTE.min.css');
     $assets[] = AssetFactory::asset('admin_lte_skins_css', 'bundles/ynloadmin/vendor/admin-lte/css/skins/_all-skins.min.css');
     $assets[] = AssetFactory::module('admin_lte_js', 'bundles/ynloadmin/vendor/admin-lte/js/app.min.js')->setDependencies(['bootstrap']);
     $assets[] = AssetFactory::module('jquery_slim_scroll_js', 'bundles/ynloadmin/vendor/admin-lte/plugins/slimScroll/jquery.slimscroll.min.js')->setJqueryPlugins(['slimScroll', 'slimscroll']);
     $assets[] = AssetFactory::asset('jquery_confirm_exit_js', 'bundles/sonataadmin/jquery/jquery.confirmExit.js');
     if ($config['icheck']) {
         $assets[] = AssetFactory::module('icheck_js', 'bundles/ynloadmin/vendor/admin-lte/plugins/iCheck/icheck.min.js');
         $theme = 'flat-blue';
         if (is_string($config['icheck']) && $config['icheck'] !== $theme) {
             $theme = $config['icheck'];
         }
         if (strpos($theme, '-') !== false) {
             $theme = str_replace('-', '/', $theme);
         } else {
             $theme = $theme . '/' . $theme;
         }
         $assets[] = AssetFactory::asset('icheck_theme_css', "bundles/ynloadmin/vendor/admin-lte/plugins/iCheck/{$theme}.css");
     }
     $assets[] = AssetFactory::module('bootstrap_editable_js', 'bundles/sonataadmin/vendor/x-editable/dist/bootstrap3-editable/js/bootstrap-editable.min.js')->setDependencies(['bootstrap'])->setJqueryPlugins(['editable']);
     $assets[] = AssetFactory::asset('bootstrap_editable_css', 'bundles/sonataadmin/vendor/x-editable/dist/bootstrap3-editable/css/bootstrap-editable.css');
     $assets[] = AssetFactory::module('jquery_ui_js', 'bundles/sonataadmin/vendor/jqueryui/ui/minified/jquery-ui.min.js')->setJqueryPlugins(['sortable']);
     $assets[] = AssetFactory::asset('jquery_ui_css', 'bundles/sonataadmin/vendor/jqueryui/themes/base/jquery-ui.css');
     $assets[] = AssetFactory::asset('tree_view_js', 'bundles/sonataadmin/treeview.js');
     $assets[] = AssetFactory::asset('jquery_waypoints_js', 'bundles/sonataadmin/vendor/waypoints/lib/jquery.waypoints.min.js');
     $assets[] = AssetFactory::asset('jquery_waypoints_sticky_js', 'bundles/sonataadmin/vendor/waypoints/lib/shortcuts/sticky.min.js');
     $assets[] = AssetFactory::module('sonata_admin_js', 'bundles/sonataadmin/Admin.js');
     $assets[] = AssetFactory::asset('jquery_visible_js', 'bundles/ynloadmin/vendor/plugins/js/jquery_visible.js');
     //Internal
     $assets[] = AssetFactory::asset('ynlo_admin_js', 'bundles/ynloadmin/js/admin.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_admin_css', 'bundles/ynloadmin/css/ynlo-admin.css', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('sonata_admin_override_js', 'bundles/ynloadmin/js/sonata_admin_override.js');
     $assets[] = AssetFactory::asset('ynlo_admin_list_batch_js', 'bundles/ynloadmin/js/admin_list_batch.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_admin_list_details_js', 'bundles/ynloadmin/js/admin_list_details.yfp.js', ['yfp_config_dumper']);
     return $assets;
 }
 /**
  * {@inheritdoc}
  */
 public function registerAssets(array $config, ContainerBuilder $containerBuilder)
 {
     $assets = [];
     //vendor
     $assets[] = AssetFactory::module('moment_js', 'bundles/ynloform/vendor/moment.min.js');
     if (array_key_value($config, 'datetimepicker')) {
         $assets[] = AssetFactory::module('bootstrap_datetimepicker_js', 'bundles/ynloform/vendor/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js')->setDependencies(['bootstrap', 'moment'])->addJqueryPlugin('datetimepicker');
         $assets[] = AssetFactory::asset('bootstrap_datetimepicker_css', 'bundles/ynloform/vendor/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css');
         $assets[] = AssetFactory::asset('ynlo_form_date_time_picker_js', 'bundles/ynloform/js/form_date_time_picker.yfp.js', ['yfp_config_dumper']);
     }
     $assets[] = AssetFactory::module('spectrum_colorpicker_js', 'bundles/ynloform/vendor/spectrum/spectrum.js')->addJqueryPlugin('spectrum');
     $assets[] = AssetFactory::asset('spectrum_colorpicker_css', 'bundles/ynloform/vendor/spectrum/spectrum.css');
     $assets[] = AssetFactory::asset('spectrum_colorpicker_theme_css', 'bundles/ynloform/vendor/spectrum/themes/bootstrap.css');
     //switchery does not work as module, why?
     $assets[] = AssetFactory::asset('switchery_js', 'bundles/ynloform/vendor/switchery/switchery.min.js');
     $assets[] = AssetFactory::asset('switchery_css', 'bundles/ynloform/vendor/switchery/switchery.min.css');
     if (array_key_value($config, 'select2.enabled')) {
         $assets[] = AssetFactory::module('select2_js', 'bundles/ynloform/vendor/select2/js/select2.full.min.js');
         $assets[] = AssetFactory::asset('select2_css', 'bundles/ynloform/vendor/select2/css/select2.min.css');
         if (array_key_value($config, 'select2.theme') === 'bootstrap') {
             $assets[] = AssetFactory::asset('select2_bootstrap_theme_css', 'bundles/ynloform/vendor/select2/css/select2-bootstrap.min.css');
         }
         $assets[] = AssetFactory::asset('ynlo_form_select2_js', 'bundles/ynloform/js/form_select2.yfp.js', ['yfp_config_dumper']);
     }
     $assets[] = AssetFactory::module('angular', 'bundles/ynloform/vendor/angular/angular.min.js');
     $assets[] = AssetFactory::module('angular_animate', 'bundles/ynloform/vendor/angular/angular-animate.min.js')->setModuleName('ngAnimate')->setDependencies(['angular']);
     $assets[] = AssetFactory::module('bootstrap_typeahead_js', 'bundles/ynloform/vendor/bootstrap_typeahead/bootstrap3-typeahead.min.js')->addJqueryPlugin('typeahead');
     $assets[] = AssetFactory::asset('typeahead_css', 'bundles/ynloform/vendor/typeahead/typeahead.css');
     $assets[] = AssetFactory::module('jquery_form_toggle', 'bundles/ynloform/vendor/jquery-form-toggle/jquery-form-toggle.js')->addJqueryPlugin('formToggle');
     $assets[] = AssetFactory::asset('ynlo_form_js', 'bundles/ynloform/js/form.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_form_color_picker_js', 'bundles/ynloform/js/form_color_picker.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_form_switchery_js', 'bundles/ynloform/js/form_switchery.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_form_angular_controller_js', 'bundles/ynloform/js/form_angular_controller.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_form_typeahead_js', 'bundles/ynloform/js/form_typeahead.yfp.js', ['yfp_config_dumper']);
     $assets[] = AssetFactory::asset('ynlo_form_toggle_js', 'bundles/ynloform/js/form_toggle.yfp.js', ['yfp_config_dumper']);
     return $assets;
 }
 /**
  * {@inheritdoc}
  */
 public function registerAssets(array $config, ContainerBuilder $containerBuilder)
 {
     return [AssetFactory::asset('ynlo_pjax_js', 'bundles/ynlopjax/js/pjax.yfp.js', ['yfp_config_dumper'])];
 }