cssCollectionOptimizer = $css_collection_optimizer;
$this->jsCollectionOptimizer = $js_collection_optimizer;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static(
$container->get('config.factory'),
$container->get('asset.css.collection_optimizer'),
$container->get('asset.js.collection_optimizer')
);
}
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'advagg_ext_minify_settings';
}
/**
* {@inheritdoc}
*/
protected function getEditableConfigNames() {
return ['advagg_ext_minify.settings'];
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$form = [];
// CSS command line.
$this->generateForm($form, ['css', $this->t('CSS')]);
// JS command line.
$this->generateForm($form, ['js', $this->t('JavaScript')]);
return parent::buildForm($form, $form_state);
}
/**
* Generate a form for css or js depending on the input.
*
* @param array $form
* The form array to add to.
* @param array $params
* An array where:
* key 0 is the machine name
* key 1 is the title
* key 2 is the state.
*/
private function generateForm(array &$form, array $params) {
$form[$params[0]] = [
'#type' => 'fieldset',
'#title' => $this->t('@title', ['@title' => $params[1]]),
];
$form[$params[0]]['cmd'] = [
'#type' => 'fieldset',
'#title' => $this->t('Command Line'),
];
$description = $this->t('{%CWD%} = \Drupal::root().
{%IN%} = input file.
{%IN_URL_ENC%} = url pointing to the input file that has been url encoded.
{%OUT%} = output file.
');
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$description .= ' ' . $this->t('Example using the Microsoft Ajax Minifier.
@code1
@code1
@code1
@code1
@code1