Same name in this branch
  1. 5.0.x advagg_old_ie_compatibility/src/Form/SettingsForm.php \Drupal\advagg_old_ie_compatibility\Form\SettingsForm
  2. 5.0.x advagg_bundler/src/Form/SettingsForm.php \Drupal\advagg_bundler\Form\SettingsForm
  3. 5.0.x advagg_css_minify/src/Form/SettingsForm.php \Drupal\advagg_css_minify\Form\SettingsForm
  4. 5.0.x src/Form/SettingsForm.php \Drupal\advagg\Form\SettingsForm
  5. 5.0.x advagg_cdn/src/Form/SettingsForm.php \Drupal\advagg_cdn\Form\SettingsForm
  6. 5.0.x advagg_ext_minify/src/Form/SettingsForm.php \Drupal\advagg_ext_minify\Form\SettingsForm
  7. 5.0.x advagg_mod/src/Form/SettingsForm.php \Drupal\advagg_mod\Form\SettingsForm
Same name and namespace in other branches
  1. 6.0.x advagg_bundler/src/Form/SettingsForm.php \Drupal\advagg_bundler\Form\SettingsForm 1 comment
  2. 6.0.x advagg_css_minify/src/Form/SettingsForm.php \Drupal\advagg_css_minify\Form\SettingsForm 1 comment
  3. 6.0.x advagg_js_minify/src/Form/SettingsForm.php \Drupal\advagg_js_minify\Form\SettingsForm 1 comment
  4. 6.0.x src/Form/SettingsForm.php \Drupal\advagg\Form\SettingsForm 1 comment
  5. 6.0.x advagg_ext_minify/src/Form/SettingsForm.php \Drupal\advagg_ext_minify\Form\SettingsForm 1 comment
  6. 6.0.x advagg_mod/src/Form/SettingsForm.php \Drupal\advagg_mod\Form\SettingsForm 1 comment
  7. 8.x-2.x advagg_bundler/src/Form/SettingsForm.php \Drupal\advagg_bundler\Form\SettingsForm 1 comment
  8. 8.x-2.x advagg_css_minify/src/Form/SettingsForm.php \Drupal\advagg_css_minify\Form\SettingsForm 1 comment
  9. 8.x-2.x advagg_js_minify/src/Form/SettingsForm.php \Drupal\advagg_js_minify\Form\SettingsForm 1 comment
  10. 8.x-2.x src/Form/SettingsForm.php \Drupal\advagg\Form\SettingsForm 1 comment
  11. 8.x-2.x advagg_cdn/src/Form/SettingsForm.php \Drupal\advagg_cdn\Form\SettingsForm 1 comment
  12. 8.x-2.x advagg_ext_minify/src/Form/SettingsForm.php \Drupal\advagg_ext_minify\Form\SettingsForm 1 comment
  13. 8.x-2.x advagg_mod/src/Form/SettingsForm.php \Drupal\advagg_mod\Form\SettingsForm 1 comment
  14. 8.x-3.x advagg_old_ie_compatibility/src/Form/SettingsForm.php \Drupal\advagg_old_ie_compatibility\Form\SettingsForm 1 comment
  15. 8.x-3.x advagg_bundler/src/Form/SettingsForm.php \Drupal\advagg_bundler\Form\SettingsForm 1 comment
  16. 8.x-3.x advagg_css_minify/src/Form/SettingsForm.php \Drupal\advagg_css_minify\Form\SettingsForm 1 comment
  17. 8.x-3.x advagg_js_minify/src/Form/SettingsForm.php \Drupal\advagg_js_minify\Form\SettingsForm 1 comment
  18. 8.x-3.x src/Form/SettingsForm.php \Drupal\advagg\Form\SettingsForm 1 comment
  19. 8.x-3.x advagg_cdn/src/Form/SettingsForm.php \Drupal\advagg_cdn\Form\SettingsForm 1 comment
  20. 8.x-3.x advagg_ext_minify/src/Form/SettingsForm.php \Drupal\advagg_ext_minify\Form\SettingsForm 1 comment
  21. 8.x-3.x advagg_mod/src/Form/SettingsForm.php \Drupal\advagg_mod\Form\SettingsForm 1 comment
  22. 8.x-4.x advagg_old_ie_compatibility/src/Form/SettingsForm.php \Drupal\advagg_old_ie_compatibility\Form\SettingsForm 1 comment
  23. 8.x-4.x advagg_bundler/src/Form/SettingsForm.php \Drupal\advagg_bundler\Form\SettingsForm 1 comment
  24. 8.x-4.x advagg_css_minify/src/Form/SettingsForm.php \Drupal\advagg_css_minify\Form\SettingsForm 1 comment
  25. 8.x-4.x advagg_js_minify/src/Form/SettingsForm.php \Drupal\advagg_js_minify\Form\SettingsForm 1 comment
  26. 8.x-4.x src/Form/SettingsForm.php \Drupal\advagg\Form\SettingsForm 1 comment
  27. 8.x-4.x advagg_cdn/src/Form/SettingsForm.php \Drupal\advagg_cdn\Form\SettingsForm 1 comment
  28. 8.x-4.x advagg_ext_minify/src/Form/SettingsForm.php \Drupal\advagg_ext_minify\Form\SettingsForm 1 comment
  29. 8.x-4.x advagg_mod/src/Form/SettingsForm.php \Drupal\advagg_mod\Form\SettingsForm 1 comment

Configure advagg_js_minify settings for this site.

Hierarchy

Expanded class hierarchy of SettingsForm

1 file declares its use of SettingsForm
SettingsFormTest.php in advagg_js_minify/tests/src/Kernel/Form/SettingsFormTest.php
1 string reference to 'SettingsForm'
advagg_js_minify.routing.yml in advagg_js_minify/advagg_js_minify.routing.yml
advagg_js_minify/advagg_js_minify.routing.yml

File

advagg_js_minify/src/Form/SettingsForm.php, line 15

Namespace

Drupal\advagg_js_minify\Form
View source
class SettingsForm extends ConfigFormBase {
    use AdvaggSettersTrait;
    
    /**
     * {@inheritdoc}
     */
    public static function create(ContainerInterface $container) {
        
        /**
         * @var \Drupal\advagg_js_minify\Form\SettingsForm
         */
        $instance = parent::create($container);
        $instance->setCache($container->get('cache.advagg'));
        return $instance;
    }
    
    /**
     * {@inheritdoc}
     */
    public function getFormId() {
        return 'advagg_js_minify_settings';
    }
    
    /**
     * {@inheritdoc}
     */
    protected function getEditableConfigNames() {
        return [
            'advagg_js_minify.settings',
        ];
    }
    
    /**
     * {@inheritdoc}
     */
    public function buildForm(array $form, FormStateInterface $form_state) {
        
        /** @var \Drupal\Core\Config\Config $config */
        $config = $this->config('advagg_js_minify.settings');
        $form = [];
        if ($this->config('advagg.settings')
            ->get('cache_level') === 0) {
            $form['advagg_devel_msg'] = [
                '#markup' => '<p>' . $this->t('The settings below will not have any effect because AdvAgg is currently in <a href="@devel">development mode</a>. Once the cache settings have been set to a non-development level, JS minification will take place.', [
                    '@devel' => Url::fromRoute('advagg.settings', [], [
                        'fragment' => 'edit-advagg-cache-level',
                    ])->toString(),
                ]) . '</p>',
            ];
        }
        $options = [
            0 => $this->t('Disabled'),
            1 => $this->t('JSMin+ ~1300ms'),
            // 2 => $this->t('Packer ~500ms'),
            // 3 is JSMin c extension.
4 => $this->t('JShrink ~1000ms'),
            5 => $this->t('JSqueeze ~600ms'),
        ];
        if (function_exists('jsmin')) {
            $options[3] = $this->t('JSMin ~2ms');
            $description = $this->t('JSMin is the very fast C complied version. Recommend using it.');
        }
        else {
            $description = $this->t('You can use the much faster C version of JSMin (~2ms) by installing the <a href="@php_jsmin">JSMin PHP Extension</a> on this server.', [
                '@php_jsmin' => 'https://github.com/sqmk/pecl-jsmin/',
            ]);
        }
        $form['minifier'] = [
            '#type' => 'radios',
            '#title' => $this->t('Minification: Select a minifier'),
            '#default_value' => $config->get('minifier'),
            '#options' => $options,
            '#description' => $description,
        ];
        $form['add_license'] = [
            '#type' => 'checkbox',
            '#title' => $this->t('Add licensing comments'),
            '#default_value' => $config->get('add_license'),
            '#description' => $this->t("If unchecked, the Advanced Aggregation module's licensing comments\n      will be omitted from the aggregated files. Omitting the comments will produce somewhat better scores in\n      some automated security scans but otherwise should not affect your site. These are included by default in order to better follow the spirit of the GPL by providing the source for javascript files."),
        ];
        return parent::buildForm($form, $form_state);
    }
    
    /**
     * {@inheritdoc}
     */
    public function submitForm(array &$form, FormStateInterface $form_state) {
        
        /** @var \Drupal\Core\Config\Config $config */
        $config = $this->config('advagg_js_minify.settings');
        // Clear Caches.
        Cache::invalidateTags([
            'library_info',
        ]);
        $this->cache
            ->invalidateAll();
        // Save settings.
        $config->set('add_license', $form_state->getValue('add_license'))
            ->set('minifier', $form_state->getValue('minifier'))
            ->save();
        parent::submitForm($form, $form_state);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
AdvaggSettersTrait::$cache protected property The AdvAgg cache. 3
AdvaggSettersTrait::$cssCollectionOptimizer protected property The CSS asset collection optimizer service.
AdvaggSettersTrait::$dateFormatter protected property The date formatter service. 1
AdvaggSettersTrait::$fileSystem protected property The File System service.
AdvaggSettersTrait::$httpClient protected property The Guzzle HTTP Client. 1
AdvaggSettersTrait::$jsCollectionOptimizer protected property The JavaScript asset collection optimizer service.
AdvaggSettersTrait::$languageManager protected property The core language manager service. 1
AdvaggSettersTrait::$moduleHandler protected property The module handler service. 1
AdvaggSettersTrait::$privateKey protected property The private key service.
AdvaggSettersTrait::$renderer protected property The Drupal renderer. 1
AdvaggSettersTrait::$state protected property The state service.
AdvaggSettersTrait::$themeRegistry protected property The theme registry service. 1
AdvaggSettersTrait::$time protected property Obtaining system time.
AdvaggSettersTrait::setCache public function The set cache backend.
AdvaggSettersTrait::setCssCollectionOptimizer public function Set CSS asset collection optimizer service.
AdvaggSettersTrait::setDateFomatter public function Set date formatter service.
AdvaggSettersTrait::setFileSystem public function Set File System service.
AdvaggSettersTrait::setHttpClient public function Set http client.
AdvaggSettersTrait::setJsCollectionOptimizer public function Set JavaScript asset collection optimizer service.
AdvaggSettersTrait::setLanguageManager public function Set language manager service.
AdvaggSettersTrait::setModuleHandler public function Set module handler.
AdvaggSettersTrait::setPrivateKey public function Set private key service.
AdvaggSettersTrait::setRenderer public function Set renderer.
AdvaggSettersTrait::setState public function Set state service.
AdvaggSettersTrait::setThemeRegistry public function The theme registry service.
AdvaggSettersTrait::setTime public function Obtaining system time.
SettingsForm::buildForm public function
SettingsForm::create public static function
SettingsForm::getEditableConfigNames protected function
SettingsForm::getFormId public function
SettingsForm::submitForm public function