Home

misc/active-link.es6.js

misc/ajax.es6.js

Provides Ajax page updating via jQuery $.ajax.

Ajax is a method of making a request via JavaScript while viewing an HTML page. The request returns an array of commands encoded in JSON, which is then executed to make any changes that are necessary to the page.

Drupal uses this file to enhance form elements with #ajax['url'] and #ajax['wrapper'] properties. If set, this file will automatically be included to provide Ajax capabilities.

Source:

misc/announce.es6.js

Adds an HTML element and method to trigger audio UAs to read system messages.

Use Drupal.announce to indicate to screen reader users that an element on the page has changed state. For instance, if clicking a link loads 10 more items into a list, one might announce the change like this.

Source:

Example

$('#search-list')
  .on('itemInsert', function (event, data) {
    // Insert the new items.
    $(data.container.el).append(data.items.el);
    // Announce the change to the page contents.
    Drupal.announce(Drupal.t('@count items added to @container',
      {'@count': data.items.length, '@container': data.container.title}
    ));
  });

misc/autocomplete.es6.js

misc/batch.es6.js

misc/checkbox.es6.js

misc/collapse.es6.js

misc/date.es6.js

misc/debounce.es6.js

misc/details-aria.es6.js

misc/details-summarized-content.es6.js

misc/dialog/dialog.ajax.es6.js

misc/dialog/dialog.es6.js

misc/dialog/dialog.jquery-ui.es6.js

misc/dialog/dialog.position.es6.js

misc/dialog/off-canvas.es6.js

misc/displace.es6.js

Manages elements that can offset the size of the viewport.

Measures and reports viewport offset dimensions from elements like the toolbar that can potentially displace the positioning of other elements.

Source:

misc/dropbutton/dropbutton.es6.js

misc/drupal.es6.js

misc/drupalSettingsLoader.es6.js

misc/entity-form.es6.js

misc/form.es6.js

misc/jquery.cookie.shim.es6.js

misc/machine-name.es6.js

misc/message.es6.js

misc/modernizr-additional-tests.es6.js

misc/polyfills/array.find.es6.js

misc/polyfills/nodelist.foreach.es6.js

misc/polyfills/object.assign.es6.js

misc/progress.es6.js

misc/states.es6.js

misc/tabbingmanager.es6.js

misc/tabledrag.es6.js

misc/tableheader.es6.js

misc/tableresponsive.es6.js

misc/tableselect.es6.js

misc/timezone.es6.js

misc/vertical-tabs.es6.js

modules/big_pipe/js/big_pipe.es6.js

modules/block/js/block.admin.es6.js

modules/block/js/block.es6.js

modules/book/book.es6.js

modules/ckeditor/js/ckeditor.admin.es6.js

modules/ckeditor/js/ckeditor.drupalimage.admin.es6.js

modules/ckeditor/js/ckeditor.es6.js

modules/ckeditor/js/ckeditor.off-canvas-css-reset.es6.js

modules/ckeditor/js/ckeditor.stylescombo.admin.es6.js

modules/ckeditor/js/models/Model.es6.js

modules/ckeditor/js/views/AuralView.es6.js

modules/ckeditor/js/views/ControllerView.es6.js

modules/ckeditor/js/views/KeyboardView.es6.js

modules/ckeditor/js/views/VisualView.es6.js

modules/ckeditor/tests/modules/js/ajax-css.es6.js

modules/color/color.es6.js

modules/color/preview.es6.js

modules/color/tests/modules/color_test/themes/color_test_theme/js/color_test_theme-fontsize.es6.js

modules/comment/comment-entity-form.es6.js

modules/comment/js/comment-by-viewer.es6.js

modules/comment/js/comment-new-indicator.es6.js

modules/comment/js/node-new-comments-link.es6.js

modules/content_translation/content_translation.admin.es6.js

modules/contextual/js/contextual.es6.js

modules/contextual/js/contextual.toolbar.es6.js

modules/contextual/js/models/StateModel.es6.js

modules/contextual/js/toolbar/models/StateModel.es6.js

modules/contextual/js/toolbar/views/AuralView.es6.js

modules/contextual/js/toolbar/views/VisualView.es6.js

modules/contextual/js/views/AuralView.es6.js

modules/contextual/js/views/KeyboardView.es6.js

modules/contextual/js/views/RegionView.es6.js

modules/contextual/js/views/VisualView.es6.js

modules/editor/js/editor.admin.es6.js

Provides a JavaScript API to broadcast text editor configuration changes.

Filter implementations may listen to the drupalEditorFeatureAdded, drupalEditorFeatureRemoved, and drupalEditorFeatureRemoved events on document to automatically adjust their settings based on the editor configuration.

Source:

modules/editor/js/editor.dialog.es6.js

modules/editor/js/editor.es6.js

modules/editor/js/editor.formattedTextEditor.es6.js

Text editor-based in-place editor for formatted text content in Drupal.

Depends on editor.module. Works with any (WYSIWYG) editor that implements the editor.js API, including the optional attachInlineEditor() and onChange() methods. For example, assuming that a hypothetical editor's name was "Magical Editor" and its editor.js API implementation lived at Drupal.editors.magical, this JavaScript would use:

  • Drupal.editors.magical.attachInlineEditor()
Source:

modules/field_ui/field_ui.es6.js

modules/file/file.es6.js

Provides JavaScript additions to the managed file field type.

This file provides progress bar support (if available), popup windows for file previews, and disabling of other file fields during Ajax uploads (which prevents separate file fields from accidentally uploading files).

Source:

modules/filter/filter.admin.es6.js

modules/filter/filter.es6.js

modules/filter/filter.filter_html.admin.es6.js

modules/history/js/history.es6.js

modules/history/js/mark-as-read.es6.js

modules/image/js/editors/image.es6.js

modules/image/js/theme.es6.js

modules/language/language.admin.es6.js

modules/layout_builder/js/layout-builder.es6.js

modules/locale/locale.admin.es6.js

modules/locale/locale.bulk.es6.js

modules/media/js/form.es6.js

modules/media/js/media_embed_ckeditor.theme.es6.js

modules/media/js/plugins/drupalmedia/plugin.es6.js

modules/media/js/type_form.es6.js

modules/media_library/js/media_library.click_to_select.es6.js

modules/media_library/js/media_library.ui.es6.js

modules/media_library/js/media_library.view.es6.js

modules/media_library/js/media_library.widget.es6.js

modules/media_library/js/plugins/drupalmedialibrary/plugin.es6.js

modules/menu_ui/menu_ui.admin.es6.js

modules/menu_ui/menu_ui.es6.js

modules/node/content_types.es6.js

modules/node/node.es6.js

modules/node/node.preview.es6.js

modules/path/path.es6.js

modules/quickedit/js/editors/formEditor.es6.js

modules/quickedit/js/editors/plainTextEditor.es6.js

modules/quickedit/js/models/AppModel.es6.js

modules/quickedit/js/models/BaseModel.es6.js

modules/quickedit/js/models/EditorModel.es6.js

modules/quickedit/js/models/EntityModel.es6.js

modules/quickedit/js/models/FieldModel.es6.js

modules/quickedit/js/quickedit.es6.js

Attaches behavior for the Quick Edit module.

Everything happens asynchronously, to allow for:

  • dynamically rendered contextual links
  • asynchronously retrieved (and cached) per-field in-place editing metadata
  • asynchronous setup of in-place editable field and "Quick edit" link.

To achieve this, there are several queues:

  • fieldsMetadataQueue: fields whose metadata still needs to be fetched.
  • fieldsAvailableQueue: queue of fields whose metadata is known, and for which it has been confirmed that the user has permission to edit them. However, FieldModels will only be created for them once there's a contextual link for their entity: when it's possible to initiate editing.
  • contextualLinksQueue: queue of contextual links on entities for which it is not yet known whether the user has permission to edit at >=1 of them.
Source:

modules/quickedit/js/theme.es6.js

modules/quickedit/js/util.es6.js

modules/quickedit/js/views/AppView.es6.js

modules/quickedit/js/views/ContextualLinkView.es6.js

modules/quickedit/js/views/EditorView.es6.js

modules/quickedit/js/views/EntityDecorationView.es6.js

modules/quickedit/js/views/EntityToolbarView.es6.js

modules/quickedit/js/views/FieldDecorationView.es6.js

modules/quickedit/js/views/FieldToolbarView.es6.js

modules/settings_tray/js/settings_tray.es6.js

modules/statistics/statistics.es6.js

modules/system/js/system.date.es6.js

modules/system/js/system.es6.js

modules/system/js/system.modules.es6.js

modules/system/tests/modules/ajax_test/js/insert-ajax.es6.js

modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.es6.js

modules/system/tests/modules/js_cookie_test/js/js_cookie_shim_test.es6.js

modules/system/tests/modules/js_deprecation_log_test/js/js_deprecation_log.es6.js

modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.es6.js

modules/system/tests/modules/js_message_test/js/js_message_test.es6.js

modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.es6.js

modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_ajax_request.es6.js

modules/system/tests/modules/js_webassert_test/js/js_webassert_test.wait_for_element.es6.js

modules/system/tests/modules/tabledrag_test/js/tabledrag_test.es6.js

modules/system/tests/themes/test_theme/js/collapse.es6.js

modules/taxonomy/taxonomy.es6.js

modules/text/text.es6.js

modules/toolbar/js/escapeAdmin.es6.js

modules/toolbar/js/models/MenuModel.es6.js

modules/toolbar/js/models/ToolbarModel.es6.js

modules/toolbar/js/toolbar.es6.js

modules/toolbar/js/toolbar.menu.es6.js

modules/toolbar/js/views/BodyVisualView.es6.js

modules/toolbar/js/views/MenuVisualView.es6.js

modules/toolbar/js/views/ToolbarAuralView.es6.js

modules/toolbar/js/views/ToolbarVisualView.es6.js

modules/tour/js/tour.es6.js

modules/user/tests/themes/password_theme_function_test/js/password-theme-functions.es6.js

modules/user/user.es6.js

modules/user/user.permissions.es6.js

modules/user/user.theme.es6.js

modules/views/js/ajax_view.es6.js

modules/views/js/base.es6.js

modules/views_ui/js/ajax.es6.js

modules/views_ui/js/dialog.views.es6.js

modules/views_ui/js/views-admin.es6.js

modules/views_ui/js/views_ui.listing.es6.js

themes/bartik/color/preview.es6.js

themes/bartik/js/classy/media_embed_ckeditor.theme.es6.js

themes/claro/js/ajax.es6.js

themes/claro/js/autocomplete.es6.js

themes/claro/js/checkbox.es6.js

themes/claro/js/classy/media_embed_ckeditor.theme.es6.js

themes/claro/js/details.es6.js

themes/claro/js/dropbutton.es6.js

themes/claro/js/media-library.ui.es6.js

themes/claro/js/messages.es6.js

themes/claro/js/nav-tabs.es6.js

Responsive navigation tabs.

This also supports collapsible navigable is the 'is-collapsible' class is added to the main element, and a target element is included.

Source:

themes/claro/js/responsive-details.es6.js

themes/claro/js/tabledrag.es6.js

Overrides tabledrag.js that provides dragging capabilities.

  • New Drupal.theme.tableDragHandle() function for tabledrag handle markup (https://www.drupal.org/node/3077938).
  • New Drupal.theme.tableDragToggle() function for tabledrag toggle markup (@todo: https://www.drupal.org/node/3084916).
  • New Drupal.theme.tableDragToggleWrapper() function for the wrapper of the tabledrag toggle (@todo: https://www.drupal.org/node/3084916).
  • Tabledrag functionality can be disabled (https://www.drupal.org/node/3083039).
  • The initial content of the tabledrag-cell is wrapped into a new DOM element ".tabledrag-cell-content__item". This new element is moved into an another ".tabledrag-cell-content" division that contains the drag handle, the indentation elements and the tabledrag changed mark as well. This is needed to keep all of these element in a single line (https://www.drupal.org/node/3083044). Claro introduced two theme functions for these:
    • Drupal.theme.tableDragCellContentWrapper() provides the output of the original content of the first table cell.
    • Drupal.theme.tableDragCellItemsWrapper() provides the markup of the common wrapper for every tabledrag cell elements including the indentation(s), the drag-handle, the original content and the tabledrag changed marker.
  • Fixes the RTL bug of the original tabledrag.js (https://www.drupal.org/node/197641).
  • Tabledrag changed mark is added next to the drag-handle, and not after the last item. (@todo: https://www.drupal.org/node/3084910).

The '_slicedToArray' shim added for handling destructured arrays breaks IE11, that is why the 'prefer-destructuring' rule is disabled.

Source:
See:
To Do:
  • Refactor after https://www.drupal.org/node/3077938, https://www.drupal.org/node/3083039, https://www.drupal.org/node/3083044 and https://www.drupal.org/node/197641 are in.

themes/claro/js/user.theme.es6.js

themes/claro/js/vertical-tabs.es6.js

Defines vertical tabs functionality.

This file replaces core/misc/vertical-tabs.js to fix some bugs in the original implementation, as well as makes minor changes to enable Claro designs:

  1. Replaces hard-coded markup and adds 'js-' prefixed CSS classes for the JavaScript functionality (https://www.drupal.org/node/3081489).
    • The original Drupal.behavior and Drupal.verticalTab object hard-code markup of the tab list and (the outermost) wrapper of the vertical tabs component.
    • The original Drupal.verticalTab object is built on the same (unprefixed) CSS classes that should be used only for theming the component:
      • .vertical-tabs__pane - replaced by .js-vertical-tabs-pane;
      • .vertical-tabs__menu-item - replaced by .js-vertical-tabs-menu-item;
      • .vertical-tab--hidden - replaced by .js-vertical-tab-hidden.
  2. Fixes accessibility bugs (https://www.drupal.org/node/3081500):
    • The original Drupal.verticalTab object doesn't take care of the right aria attributes. Every details summary element is described with aria-expanded="false" and aria-pressed="false".
    • The original Drupal.verticalTab object uses a non-unique CSS id '#active-vertical-tab' for the marker of the active menu tab. This leads to broken behavior on filter format and editor configuration form where multiple vertical tabs may appear (/admin/config/content/formats/manage/basic_html).
    • Auto-focus bug: if the vertical tab is activated by pressing enter on the vertical tab menu link, the original Drupal.verticalTab object tries to focus the first visible :input element in a vertical tab content. The implementation doesn't work in all scenarios. For example, on the 'Filter format and editor' form (/admin/config/content/formats/manage/basic_html), if the user presses the enter key on the last vertical tabs element's menu link ('Filter settings'), the focused element will be the first vertical tabs ('CKEditor plugin settings') active input, and not the expected one.
  3. Consistency between browsers (https://www.drupal.org/node/3081508): We have to display the setting summary on the 'accordion look' as well. Using the original file, these are displayed only on browsers without HTML5 details support, where core's built-in core/misc/collapse.js HTML5 details polyfill is in action.
  4. Help fulfill our custom needs (https://www.drupal.org/node/3081519): The original behavior applies its features only when the actual screen width is bigger than 640 pixels (or the value of the drupalSettings.widthBreakpoint). But we want to switch between the 'accordion look' and 'tab look' dynamically, right after the browser viewport was resized, and not only on page load. This would be possible even by defining drupalSettings.widthBreakpoint with '0' value. But since the name of this configuration does not suggest that it is (and will be) used only by vertical tabs, it is much cleaner to remove the unneeded condition from the functionality.
Source:

themes/classy/js/media_embed_ckeditor.theme.es6.js

themes/olivero/js/checkbox.es6.js

themes/olivero/js/comments.es6.js

themes/olivero/js/messages.es6.js

themes/seven/js/classy/media_embed_ckeditor.theme.es6.js

themes/seven/js/nav-tabs.es6.js

Responsive navigation tabs.

This also supports collapsible navigable is the 'is-collapsible' class is added to the main element, and a target element is included.

Source:

themes/seven/js/responsive-details.es6.js

themes/stable9/js/user.theme.es6.js

themes/stable/js/ajax.es6.js

themes/stable/js/user.theme.es6.js