diff --git a/core/includes/batch.inc b/core/includes/batch.inc index 088889d..4150e72 100644 --- a/core/includes/batch.inc +++ b/core/includes/batch.inc @@ -58,11 +58,11 @@ function _batch_page(Request $request) { $build = array(); - // Add batch-specific CSS. + // Add batch-specific libraries. foreach ($batch['sets'] as $batch_set) { - if (isset($batch_set['css'])) { - foreach ($batch_set['css'] as $css) { - $build['#attached']['css'][$css] = array(); + if (isset($batch_set['library'])) { + foreach ($batch_set['library'] as $library) { + $build['#attached']['library'][] = $library; } } } diff --git a/core/modules/block/src/BlockForm.php b/core/modules/block/src/BlockForm.php index 0a5c8de..23d6ca0 100644 --- a/core/modules/block/src/BlockForm.php +++ b/core/modules/block/src/BlockForm.php @@ -162,9 +162,7 @@ public function form(array $form, FormStateInterface $form_state) { '#prefix' => '
', '#suffix' => '
', ); - $form['#attached']['css'] = array( - drupal_get_path('module', 'block') . '/css/block.admin.css', - ); + $form['#attached']['library'][] = 'block/drupal.block.admin'; return $form; } diff --git a/core/modules/book/book.libraries.yml b/core/modules/book/book.libraries.yml index fe4209e..2382e75 100644 --- a/core/modules/book/book.libraries.yml +++ b/core/modules/book/book.libraries.yml @@ -6,3 +6,15 @@ drupal.book: - core/jquery - core/drupal - core/drupal.form + +navigation: + version: VERSION + css: + theme: + css/book.theme.css: {} + +admin: + version: VERSION + css: + theme: + css/book.admin.css: {} diff --git a/core/modules/book/book.module b/core/modules/book/book.module index 43fb2457..820ded2 100644 --- a/core/modules/book/book.module +++ b/core/modules/book/book.module @@ -164,7 +164,9 @@ function book_form_node_form_alter(&$form, FormStateInterface $form_state, $form '#submit' => array('book_pick_book_nojs_submit'), '#weight' => 20, '#attached' => array( - 'css' => array(drupal_get_path('module', 'book') . '/css/book.admin.css'), + 'library' => [ + 'book/admin', + ], ), ); $form['#entity_builders'][] = 'book_node_builder'; @@ -241,9 +243,9 @@ function book_node_view(array &$build, EntityInterface $node, EntityViewDisplayI '#markup' => drupal_render($book_navigation), '#weight' => 100, '#attached' => array( - 'css' => array( - drupal_get_path('module', 'book') . '/css/book.theme.css', - ), + 'library' => [ + 'book/navigation', + ], ), // The book navigation is a listing of Node entities, so associate its // list cache tag for correct invalidation. diff --git a/core/modules/color/color.libraries.yml b/core/modules/color/color.libraries.yml index c6a2db9..b2eb8d6 100644 --- a/core/modules/color/color.libraries.yml +++ b/core/modules/color/color.libraries.yml @@ -18,3 +18,10 @@ drupal.color.preview: - core/drupal - core/drupalSettings - core/jquery.once + +admin: + version: VERSION + css: + theme: + css/color.admin.css: {} + diff --git a/core/modules/color/color.module b/core/modules/color/color.module index 138385c..9960e04 100644 --- a/core/modules/color/color.module +++ b/core/modules/color/color.module @@ -240,10 +240,7 @@ function color_scheme_form($complete_form, FormStateInterface $form_state, $them '#attached' => array( 'library' => array( 'color/drupal.color', - ), - // Add custom CSS. - 'css' => array( - $base . '/css/color.admin.css' => array(), + 'color/admin', ), // Add custom JavaScript. 'js' => array( @@ -297,15 +294,10 @@ function template_preprocess_color_scheme_form(&$variables) { $theme = $form['theme']['#value']; $info = $form['info']['#value']; - $path = drupal_get_path('theme', $theme) . '/'; - if (isset($info['preview_css'])) { - $preview_css_path = $path . $info['preview_css']; - $form['scheme']['#attached']['css'][$preview_css_path] = array(); + if (isset($info['preview_library'])) { + $form['scheme']['#attached']['library'][] = $info['preview_library']; } - $preview_js_path = isset($info['preview_js']) ? $path . $info['preview_js'] : drupal_get_path('module', 'color') . '/' . 'preview.js'; - // Add the JS at a weight below color.js. - $form['scheme']['#attached']['js'][$preview_js_path] = array('weight' => -1); // Attempt to load preview HTML if the theme provides it. $preview_html_path = \Drupal::root() . '/' . (isset($info['preview_html']) ? drupal_get_path('theme', $theme) . '/' . $info['preview_html'] : drupal_get_path('module', 'color') . '/preview.html'); diff --git a/core/modules/comment/comment.libraries.yml b/core/modules/comment/comment.libraries.yml index ac1ba10..46c98e7 100644 --- a/core/modules/comment/comment.libraries.yml +++ b/core/modules/comment/comment.libraries.yml @@ -7,6 +7,12 @@ drupal.comment: - core/drupal - core/drupal.form +drupal.comment.threaded: + version: VERSION + css: + theme: + css/comment.theme.css: {} + drupal.comment-by-viewer: version: VERSION js: diff --git a/core/modules/comment/src/CommentViewBuilder.php b/core/modules/comment/src/CommentViewBuilder.php index cd9a5b9..0e453ae 100644 --- a/core/modules/comment/src/CommentViewBuilder.php +++ b/core/modules/comment/src/CommentViewBuilder.php @@ -315,7 +315,7 @@ protected function alterBuild(array &$build, EntityInterface $comment, EntityVie // Add indentation div or close open divs as needed. if ($is_threaded) { - $build['#attached']['css'][] = drupal_get_path('module', 'comment') . '/css/comment.theme.css'; + $build['#attached']['library'][] = 'comment/drupal.comment.threaded'; $prefix .= $comment->divs <= 0 ? str_repeat('', abs($comment->divs)) : "\n" . '
'; } diff --git a/core/modules/config/src/Controller/ConfigController.php b/core/modules/config/src/Controller/ConfigController.php index 8eb713f..dc56910 100644 --- a/core/modules/config/src/Controller/ConfigController.php +++ b/core/modules/config/src/Controller/ConfigController.php @@ -138,7 +138,7 @@ public function diff($source_name, $target_name = NULL, $collection = NULL) { $build['#title'] = t('View changes of @config_file', array('@config_file' => $source_name)); // Add the CSS for the inline diff. - $build['#attached']['css'][] = drupal_get_path('module', 'system') . '/css/system.diff.css'; + $build['#attached']['library'][] = 'system/diff'; $build['diff'] = array( '#type' => 'table', diff --git a/core/modules/content_translation/content_translation.admin.inc b/core/modules/content_translation/content_translation.admin.inc index 231dbc6..b1d1a2a 100644 --- a/core/modules/content_translation/content_translation.admin.inc +++ b/core/modules/content_translation/content_translation.admin.inc @@ -79,7 +79,6 @@ function _content_translation_form_language_content_settings_form_alter(array &$ $form['entity_types']['#default_value'] = $default; $form['#attached']['library'][] = 'content_translation/drupal.content_translation.admin'; - $form['#attached']['js'][] = array('data' => drupal_get_path('module', 'content_translation') . '/content_translation.admin.js', 'type' => 'file'); $dependent_options_settings = array(); $entity_manager = Drupal::entityManager(); diff --git a/core/modules/editor/src/Tests/EditorManagerTest.php b/core/modules/editor/src/Tests/EditorManagerTest.php index 410ed29..66804ef 100644 --- a/core/modules/editor/src/Tests/EditorManagerTest.php +++ b/core/modules/editor/src/Tests/EditorManagerTest.php @@ -88,7 +88,7 @@ public function testManager() { $this->assertIdentical(array(), $this->editorManager->getAttachments(array()), 'No attachments when one text editor is enabled and retrieving attachments for zero text formats.'); $expected = array( 'library' => array( - 0 => 'edit_test/unicorn', + 0 => 'editor_test/unicorn', ), 'js' => array( 0 => array( diff --git a/core/modules/editor/tests/modules/editor_test.libraries.yml b/core/modules/editor/tests/modules/editor_test.libraries.yml new file mode 100644 index 0000000..b65d5f4 --- /dev/null +++ b/core/modules/editor/tests/modules/editor_test.libraries.yml @@ -0,0 +1,4 @@ +unicorn: + version: VERSION + js: + unicorn.js: {} diff --git a/core/modules/editor/tests/modules/src/Plugin/Editor/UnicornEditor.php b/core/modules/editor/tests/modules/src/Plugin/Editor/UnicornEditor.php index 6937fb2..fcc2c90 100644 --- a/core/modules/editor/tests/modules/src/Plugin/Editor/UnicornEditor.php +++ b/core/modules/editor/tests/modules/src/Plugin/Editor/UnicornEditor.php @@ -60,7 +60,7 @@ function getJSSettings(EditorEntity $editor) { */ public function getLibraries(EditorEntity $editor) { return array( - 'edit_test/unicorn', + 'editor_test/unicorn', ); } diff --git a/core/modules/help/help.libraries.yml b/core/modules/help/help.libraries.yml new file mode 100644 index 0000000..541c67b --- /dev/null +++ b/core/modules/help/help.libraries.yml @@ -0,0 +1,5 @@ +help: + version: VERSION + css: + component: + css/help.module.css: {} diff --git a/core/modules/help/src/Controller/HelpController.php b/core/modules/help/src/Controller/HelpController.php index 2de0a53..bd2f727 100644 --- a/core/modules/help/src/Controller/HelpController.php +++ b/core/modules/help/src/Controller/HelpController.php @@ -54,7 +54,7 @@ public static function create(ContainerInterface $container) { public function helpMain() { $output = array( '#attached' => array( - 'css' => array(drupal_get_path('module', 'help') . '/css/help.module.css'), + 'library' => ['help/help'], ), '#markup' => '

' . $this->t('Help topics') . '

' . $this->t('Help is available on the following items:') . '

' . $this->helpLinksAsList(), ); diff --git a/core/modules/image/image.libraries.yml b/core/modules/image/image.libraries.yml new file mode 100644 index 0000000..fbf9ef4 --- /dev/null +++ b/core/modules/image/image.libraries.yml @@ -0,0 +1,11 @@ +form: + version: VERSION + css: + theme: + css/image.theme.css: {} + +admin: + version: VERSION + css: + theme: + css/image.admin.css: {} diff --git a/core/modules/image/src/Form/ImageEffectFormBase.php b/core/modules/image/src/Form/ImageEffectFormBase.php index addbcf6..04516bf 100644 --- a/core/modules/image/src/Form/ImageEffectFormBase.php +++ b/core/modules/image/src/Form/ImageEffectFormBase.php @@ -69,7 +69,7 @@ public function buildForm(array $form, FormStateInterface $form_state, ImageStyl throw new NotFoundHttpException(); } - $form['#attached']['css'][drupal_get_path('module', 'image') . '/css/image.admin.css'] = array(); + $form['#attached']['library'][] = 'image/admin'; $form['uuid'] = array( '#type' => 'value', '#value' => $this->imageEffect->getUuid(), diff --git a/core/modules/image/src/Form/ImageStyleEditForm.php b/core/modules/image/src/Form/ImageStyleEditForm.php index 9c4887c..bc58404 100644 --- a/core/modules/image/src/Form/ImageStyleEditForm.php +++ b/core/modules/image/src/Form/ImageStyleEditForm.php @@ -57,7 +57,7 @@ public function form(array $form, FormStateInterface $form_state) { $user_input = $form_state->getUserInput(); $form['#title'] = $this->t('Edit style %name', array('%name' => $this->entity->label())); $form['#tree'] = TRUE; - $form['#attached']['css'][drupal_get_path('module', 'image') . '/css/image.admin.css'] = array(); + $form['#attached']['library'][] = 'image/admin'; // Show the thumbnail preview. $preview_arguments = array('#theme' => 'image_style_preview', '#style' => $this->entity); diff --git a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php index c0d9863..eb3a0b4 100644 --- a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php +++ b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php @@ -158,7 +158,7 @@ public static function process($element, FormStateInterface $form_state, $form) $item['fids'] = $element['fids']['#value']; $element['#theme'] = 'image_widget'; - $element['#attached']['css'][] = drupal_get_path('module', 'image') . '/css/image.theme.css'; + $element['#attached']['library'][] = 'image/form'; // Add the image preview. if (!empty($element['#files']) && $element['#preview_image_style']) { diff --git a/core/modules/locale/src/Form/TranslationStatusForm.php b/core/modules/locale/src/Form/TranslationStatusForm.php index 3487589..c8e3017 100644 --- a/core/modules/locale/src/Form/TranslationStatusForm.php +++ b/core/modules/locale/src/Form/TranslationStatusForm.php @@ -167,7 +167,6 @@ public function buildForm(array $form, FormStateInterface $form_state) { ); $form['#attached']['library'][] = 'locale/drupal.locale.admin'; - $form['#attached']['css'] = array(drupal_get_path('module', 'locale') . '/css/locale.admin.css'); $form['actions'] = array('#type' => 'actions'); if ($languages_update) { diff --git a/core/modules/node/node.libraries.yml b/core/modules/node/node.libraries.yml index 231687e..8795628 100644 --- a/core/modules/node/node.libraries.yml +++ b/core/modules/node/node.libraries.yml @@ -1,5 +1,8 @@ drupal.node: version: VERSION + css: + layout: + css/node.module.css: {} js: node.js: {} dependencies: diff --git a/core/modules/search/search.libraries.yml b/core/modules/search/search.libraries.yml index 624fc93..4c04600 100644 --- a/core/modules/search/search.libraries.yml +++ b/core/modules/search/search.libraries.yml @@ -3,3 +3,8 @@ drupal.search.results: css: theme: css/search.theme.css: {} + +admin: + css: + theme: + css/search.admin.css: {} diff --git a/core/modules/search/src/SearchPageListBuilder.php b/core/modules/search/src/SearchPageListBuilder.php index c17bb62..6092202 100644 --- a/core/modules/search/src/SearchPageListBuilder.php +++ b/core/modules/search/src/SearchPageListBuilder.php @@ -254,9 +254,9 @@ public function buildForm(array $form, FormStateInterface $form_state) { 'class' => array('container-inline'), ), '#attached' => array( - 'css' => array( - drupal_get_path('module', 'search') . '/css/search.admin.css', - ), + 'library' => [ + 'search/admin', + ], ), ); // In order to prevent validation errors for the parent form, this cannot be diff --git a/core/modules/simpletest/simpletest.module b/core/modules/simpletest/simpletest.module index feeffd4..7c0c34f 100644 --- a/core/modules/simpletest/simpletest.module +++ b/core/modules/simpletest/simpletest.module @@ -152,7 +152,7 @@ function simpletest_run_tests($test_list) { ), 'finished' => '_simpletest_batch_finished', 'progress_message' => '', - 'css' => array(drupal_get_path('module', 'simpletest') . '/css/simpletest.module.css'), + 'library' => array('simpletest/drupal.simpletest'), 'init_message' => t('Processing test @num of @max - %test.', array('%test' => $info['name'], '@num' => '1', '@max' => count($test_list))), ); batch_set($batch); diff --git a/core/modules/simpletest/src/Form/SimpletestResultsForm.php b/core/modules/simpletest/src/Form/SimpletestResultsForm.php index 7d39496..a127683 100644 --- a/core/modules/simpletest/src/Form/SimpletestResultsForm.php +++ b/core/modules/simpletest/src/Form/SimpletestResultsForm.php @@ -118,7 +118,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $test_id } // Load all classes and include CSS. - $form['#attached']['css'][] = drupal_get_path('module', 'simpletest') . '/css/simpletest.module.css'; + $form['#attached']['library'][] = 'simpletest/drupal.simpletest'; // Keep track of which test cases passed or failed. $filter = array( diff --git a/core/modules/system/src/Tests/Ajax/FrameworkTest.php b/core/modules/system/src/Tests/Ajax/FrameworkTest.php index d52e243..d998f01 100644 --- a/core/modules/system/src/Tests/Ajax/FrameworkTest.php +++ b/core/modules/system/src/Tests/Ajax/FrameworkTest.php @@ -134,7 +134,7 @@ public function testLazyLoad() { 'data' => $expected['css'], 'browsers' => array('IE' => TRUE, '!IE' => TRUE), )), TRUE); - $expected_js_html = drupal_get_js('header', array($expected['js'] => drupal_js_defaults($expected['js'])), TRUE); + $expected_js_html = drupal_get_js('header', array($expected['js'] => ['version' => \Drupal::VERSION] + drupal_js_defaults($expected['js'])), TRUE); // Get the base page. $this->drupalGet('ajax_forms_test_lazy_load_form'); diff --git a/core/modules/system/system.libraries.yml b/core/modules/system/system.libraries.yml index 61eb1b4..34c90dd 100644 --- a/core/modules/system/system.libraries.yml +++ b/core/modules/system/system.libraries.yml @@ -44,3 +44,9 @@ drupal.system.modules: - core/jquery - core/drupal - core/jquery.once + +diff: + version: VERSION + css: + component: + css/system.diff.css: {} diff --git a/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestLazyLoadForm.php b/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestLazyLoadForm.php index 96f5cd5..9ea17cd 100644 --- a/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestLazyLoadForm.php +++ b/core/modules/system/tests/modules/ajax_forms_test/src/Form/AjaxFormsTestLazyLoadForm.php @@ -57,18 +57,17 @@ public function buildForm(array $form, FormStateInterface $form_state) { */ public function submitForm(array &$form, FormStateInterface $form_state) { if ($form_state->getValue('add_files')) { - $path = drupal_get_path('module', 'system'); $attached = array( '#attached' => array( - 'css' => array( - $path . '/css/system.admin.css' => array(), - ), + 'library' => [ + 'system/admin', + 'system/drupal.system', + ], 'js' => array( 0 => array( 'type' => 'setting', 'data' => array('ajax_forms_test_lazy_load_form_submit' => 'executed'), ), - $path . '/system.js' => array(), ), ), ); diff --git a/core/modules/views/includes/ajax.inc b/core/modules/views/includes/ajax.inc index 16f4546..d59ce61 100644 --- a/core/modules/views/includes/ajax.inc +++ b/core/modules/views/includes/ajax.inc @@ -34,9 +34,6 @@ function views_ajax_form_wrapper($form_class, FormStateInterface &$form_state) { // These forms have the title built in, so set the title here: $title = $form_state->get('title') ?: ''; - if (!$ajax && $title) { - $form['#attached']['css'][] = drupal_get_path('module', 'views_ui') . '/css/views_ui.admin.css'; - } if ($ajax && (!$form_state->isExecuted() || $form_state->get('rerender'))) { // If the form didn't execute and we're using ajax, build up a diff --git a/core/modules/views_ui/src/ViewAddForm.php b/core/modules/views_ui/src/ViewAddForm.php index 84bb713..d4c9410 100644 --- a/core/modules/views_ui/src/ViewAddForm.php +++ b/core/modules/views_ui/src/ViewAddForm.php @@ -55,8 +55,7 @@ protected function prepareEntity() { * {@inheritdoc} */ public function form(array $form, FormStateInterface $form_state) { - $form['#attached']['css'] = static::getAdminCSS(); - $form['#attached']['js'][] = drupal_get_path('module', 'views_ui') . '/js/views-admin.js'; + $form['#attached']['library'][] = 'views_ui/admin.styling'; $form['#attributes']['class'] = array('views-admin'); $form['name'] = array( diff --git a/core/modules/views_ui/src/ViewEditForm.php b/core/modules/views_ui/src/ViewEditForm.php index 8b1e4a2..6ec6aac 100644 --- a/core/modules/views_ui/src/ViewEditForm.php +++ b/core/modules/views_ui/src/ViewEditForm.php @@ -107,8 +107,7 @@ public function form(array $form, FormStateInterface $form_state) { $form['#attached']['library'][] = 'core/drupal.states'; $form['#attached']['library'][] = 'core/drupal.tabledrag'; $form['#attached']['library'][] = 'views_ui/views_ui.admin'; - - $form['#attached']['css'] = static::getAdminCSS(); + $form['#attached']['library'][] = 'views_ui/admin.styling'; $form['#attached']['js'][] = array( 'data' => array('views' => array('ajax' => array( diff --git a/core/modules/views_ui/src/ViewFormBase.php b/core/modules/views_ui/src/ViewFormBase.php index b250f54..4da7f8b 100644 --- a/core/modules/views_ui/src/ViewFormBase.php +++ b/core/modules/views_ui/src/ViewFormBase.php @@ -79,27 +79,6 @@ protected function prepareEntity() { } /** - * Creates an array of Views admin CSS for adding or attaching. - * - * This returns an array of arrays. Each array represents a single - * file. The array format is: - * - file: The fully qualified name of the file to send to _drupal_add_css - * - options: An array of options to pass to _drupal_add_css. - */ - public static function getAdminCSS() { - $module_path = drupal_get_path('module', 'views_ui'); - $list = array(); - $list[$module_path . '/css/views_ui.admin.css'] = array(); - $list[$module_path . '/css/views_ui.admin.theme.css'] = array(); - - if (\Drupal::moduleHandler()->moduleExists('contextual')) { - $list[$module_path . '/css/views_ui.contextual.css'] = array(); - } - - return $list; - } - - /** * Adds tabs for navigating across Displays when editing a View. * * This function can be called from hook_menu_local_tasks_alter() to implement diff --git a/core/modules/views_ui/src/ViewListBuilder.php b/core/modules/views_ui/src/ViewListBuilder.php index b29d9b0..10e0d7e 100644 --- a/core/modules/views_ui/src/ViewListBuilder.php +++ b/core/modules/views_ui/src/ViewListBuilder.php @@ -174,7 +174,6 @@ public function render() { $list['#type'] = 'container'; $list['#attributes']['id'] = 'views-entity-list'; - $list['#attached']['css'] = ViewFormBase::getAdminCSS(); $list['#attached']['library'][] = 'core/drupal.ajax'; $list['#attached']['library'][] = 'views_ui/views_ui.listing'; diff --git a/core/modules/views_ui/views_ui.libraries.yml b/core/modules/views_ui/views_ui.libraries.yml index d809b10..112aa03 100644 --- a/core/modules/views_ui/views_ui.libraries.yml +++ b/core/modules/views_ui/views_ui.libraries.yml @@ -13,6 +13,7 @@ views_ui.admin: - core/drupal.ajax - core/drupal.dropbutton - views/views.ajax + - views_ui/admin.styling views_ui.listing: version: VERSION @@ -22,3 +23,13 @@ views_ui.listing: - core/jquery - core/drupal - core/jquery.once + - views_ui/admin.styling + +admin.styling: + version: VERSION + css: + component: + css/views_ui.admin.css: {} + theme: + css/views_ui.admin.theme.css: {} + css/views_ui.contextual.css: {} diff --git a/core/themes/bartik/bartik.libraries.yml b/core/themes/bartik/bartik.libraries.yml index 6866d6b..dd34f5d 100644 --- a/core/themes/bartik/bartik.libraries.yml +++ b/core/themes/bartik/bartik.libraries.yml @@ -7,6 +7,16 @@ base: css/colors.css: {} css/print.css: { media: print } +color.preview: + version: VERSION + css: + theme: + color/preview.css: {} + js: + color/preview.js: {} + dependencies: + - color/drupal.color + maintenance_page: version: VERSION css: diff --git a/core/themes/bartik/color/color.inc b/core/themes/bartik/color/color.inc index 251c0fc..25e630d 100644 --- a/core/themes/bartik/color/color.inc +++ b/core/themes/bartik/color/color.inc @@ -120,7 +120,6 @@ ), // Preview files. - 'preview_css' => 'color/preview.css', - 'preview_js' => 'color/preview.js', + 'preview_library' => 'bartik/color.preview', 'preview_html' => 'color/preview.html', ); diff --git a/core/themes/seven/seven.theme b/core/themes/seven/seven.theme index ada5da2..d8d818b 100644 --- a/core/themes/seven/seven.theme +++ b/core/themes/seven/seven.theme @@ -167,7 +167,6 @@ function seven_form_node_form_alter(&$form, FormStateInterface $form_state) { $node = $form_state->getFormObject()->getEntity(); $form['#theme'] = array('node_edit_form'); - $form['#attached']['css'][] = drupal_get_path('module', 'node') . '/css/node.module.css'; $form['advanced']['#type'] = 'container'; $is_new = !$node->isNew() ? format_date($node->getChangedTime(), 'short') : t('Not saved yet');