PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.3
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.3
1.1.10 1.1.9 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6 0.9.4 0.9.5 0.9.3 0.9.2 0.9.1 0.9.0 0.8.9 0.8.8 0.8.7 All 34 releases
desktop-mode / includes / my-wordpress / assets.php

assets.php in OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin 1.1.3, at includes/my-wordpress/assets.php

65 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * OpenStation — My WordPress: asset registration.
4 *
5 * Registers the bundle script + CSS handles. The bundle is lazy-loaded
6 * by the native-window sync the first time the My WordPress window
7 * opens, the same as the recycle-bin and posts-window modules.
8 *
9 * @package OpenStation
10 */
11
12 defined( 'ABSPATH' ) || exit;
13
14 /**
15 * Register My WordPress CSS and JS handles.
16 */
17 function openstation_my_wordpress_register_assets() {
18 $version = OPENSTATION_VERSION;
19 $suffix = openstation_asset_suffix();
20
21 /*
22 * `os-files` is a real dependency, not decoration. Every tile in
23 * this window is an `<os-tile>` wearing the canonical
24 * `.os-file-tile` chrome that `desktop-files.css` declares, and
25 * this stylesheet overrides a handful of those declarations at
26 * EQUAL specificity — most visibly `.os-my-wordpress__media-tile`,
27 * which has to undo `position: absolute` + the fixed 88×104 box so
28 * media thumbnails flow inside their CSS Grid.
29 *
30 * Equal specificity means source order decides, and source order is
31 * not ours to assume: any handle depending on this one that is
32 * enqueued before `openstation_enqueue_assets()` runs (the
33 * WooCommerce integration enqueues its companion stylesheet at
34 * `admin_enqueue_scripts` priority 5) pulls this file into
35 * `WP_Dependencies::$to_do` ahead of `os-files`. The overrides then
36 * lose, every media tile is absolutely positioned with no offsets,
37 * and the whole grid stacks in one corner.
38 *
39 * Declaring the dependency makes the order a fact rather than a
40 * coincidence. `Tests_OpenStation_TileStylesheetOrder` holds it.
41 */
42 $css_path = OPENSTATION_DIR . 'assets/css/my-wordpress.css';
43 wp_register_style(
44 'desktop-mode-my-wordpress',
45 OPENSTATION_URL . 'assets/css/my-wordpress.css',
46 array( 'os-variables', 'dashicons', 'os-files' ),
47 file_exists( $css_path ) ? (string) filemtime( $css_path ) : $version
48 );
49
50 $js_path = OPENSTATION_DIR . 'assets/js/my-wordpress' . $suffix . '.js';
51 wp_register_script(
52 'desktop-mode-my-wordpress',
53 OPENSTATION_URL . 'assets/js/my-wordpress' . $suffix . '.js',
54 array( 'wp-i18n' ),
55 file_exists( $js_path ) ? (string) filemtime( $js_path ) : $version,
56 true
57 );
58 wp_set_script_translations(
59 'desktop-mode-my-wordpress',
60 'desktop-mode',
61 OPENSTATION_DIR . 'languages'
62 );
63 }
64 add_action( 'init', 'openstation_my_wordpress_register_assets', 5 );
65