PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.11
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.11
1.1.11 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 All 35 releases
← All changes | includes/dock-rail-renderer.php +25 -22 0.9.8 → 1.1.11 View file →
@@ -2,10 +2,10 @@
2 2 /**
3 3 * Server-side opt-in for dock rail renderer scripts.
4 4 *
5 5 * Mirrors `includes/commands.php` exactly — a plugin enqueues a JS
6 - * bundle that registers a renderer with `wp.desktop.registerDockRailRenderer()`,
7 - * then calls `desktop_mode_register_dock_rail_renderer_script( $handle )`
6 + * bundle that registers a renderer with `wp.os.registerDockRailRenderer()`,
7 + * then calls `openstation_register_dock_rail_renderer_script( $handle )`
8 8 * to opt the script into the live-refresh payload. The shell loads
9 9 * the script over the chromeless bridge on activation, the JS calls
10 10 * `registerDockRailRenderer()`, and the OS Settings → Dock style picker
11 11 * surfaces the new option immediately — no F5.
@@ -14,9 +14,9 @@
14 14 * tagged with `owner: '<handle>'` is unregistered. The active id falls
15 15 * back through the registry's chain (user pick → `default`) and the
16 16 * dispatcher rebuilds the rails with whatever resolves.
17 17 *
18 - * @package WPDesktopMode
18 + * @package OpenStation
19 19 */
20 20
21 21 defined( 'ABSPATH' ) || exit;
22 22
@@ -25,22 +25,22 @@
25 25 *
26 26 * Example:
27 27 *
28 28 * ```php
29 - * add_action( 'desktop_mode_shell_assets', function () {
29 + * add_action( 'openstation_shell_assets', function () {
30 30 * wp_register_script(
31 31 * 'orbit-rail',
32 32 * plugin_dir_url( __FILE__ ) . 'orbit-rail.js',
33 - * array( 'desktop-mode' ),
33 + * array( 'openstation' ),
34 34 * '1.0.0',
35 35 * true
36 36 * );
37 37 * wp_enqueue_script( 'orbit-rail' );
38 38 * } );
39 - * desktop_mode_register_dock_rail_renderer_script( 'orbit-rail' );
39 + * openstation_register_dock_rail_renderer_script( 'orbit-rail' );
40 40 * ```
41 41 *
42 - * The script's JS side calls `wp.desktop.registerDockRailRenderer( { … } )`
42 + * The script's JS side calls `wp.os.registerDockRailRenderer( { … } )`
43 43 * with `owner: 'orbit-rail'` (matching the handle) so deactivation
44 44 * cleanly removes the renderer.
45 45 *
46 46 * @param string $handle WP-registered script handle.
@@ -45,18 +45,18 @@
45 45 *
46 46 * @param string $handle WP-registered script handle.
47 47 * @return true|WP_Error `true` on success; `WP_Error` on validation failure.
48 48 */
49 -function desktop_mode_register_dock_rail_renderer_script( $handle ) {
49 +function openstation_register_dock_rail_renderer_script( $handle ) {
50 50 $handle = (string) $handle;
51 51 if ( '' === $handle ) {
52 - return desktop_mode_registration_error(
53 - 'desktop_mode_missing_handle',
52 + return openstation_registration_error(
53 + 'openstation_missing_handle',
54 54 __( 'Dock rail renderer script registration requires a non-empty script handle.', 'desktop-mode' )
55 55 );
56 56 }
57 57
58 - desktop_mode_dock_rail_renderer_script_registry( $handle, true );
58 + openstation_dock_rail_renderer_script_registry( $handle, true );
59 59
60 60 /**
61 61 * Fires after a desktop dock rail renderer script handle is registered.
62 62 *
@@ -61,9 +61,9 @@
61 61 * Fires after a desktop dock rail renderer script handle is registered.
62 62 *
63 63 * @param string $handle The registered script handle.
64 64 */
65 - do_action( 'desktop_mode_dock_rail_renderer_script_registered', $handle );
65 + do_action( 'openstation_dock_rail_renderer_script_registered', $handle );
66 66
67 67 return true;
68 68 }
69 69
@@ -76,9 +76,9 @@
76 76 * @param string $handle Script handle to read or write.
77 77 * @param bool|null $value Pass `true` to register; `null` to read only.
78 78 * @return array|bool When called with no args returns the full store.
79 79 */
80 -function desktop_mode_dock_rail_renderer_script_registry( $handle = '', $value = null ) {
80 +function openstation_dock_rail_renderer_script_registry( $handle = '', $value = null ) {
81 81 static $store = array();
82 82
83 83 if ( '__flush__' === (string) $handle ) {
84 84 $store = array();
@@ -94,12 +94,12 @@
94 94 }
95 95
96 96 /**
97 97 * Test-only: clear the registry between PHPUnit cases. See
98 - * {@see desktop_mode_flush_script_handle_registries()}.
98 + * {@see openstation_flush_script_handle_registries()}.
99 99 */
100 -function desktop_mode_flush_dock_rail_renderer_script_registry() {
101 - desktop_mode_dock_rail_renderer_script_registry( '__flush__' );
100 +function openstation_flush_dock_rail_renderer_script_registry() {
101 + openstation_dock_rail_renderer_script_registry( '__flush__' );
102 102 }
103 103
104 104 /**
105 105 * Build the payload fed to the shell. Resolves each registered handle
@@ -109,10 +109,10 @@
109 109 * dropped.
110 110 *
111 111 * @return array[]
112 112 */
113 -function desktop_mode_build_dock_rail_renderer_scripts_payload() {
114 - $registry = desktop_mode_dock_rail_renderer_script_registry();
113 +function openstation_build_dock_rail_renderer_scripts_payload() {
114 + $registry = openstation_dock_rail_renderer_script_registry();
115 115 if ( ! is_array( $registry ) || empty( $registry ) ) {
116 116 return array();
117 117 }
118 118
@@ -121,18 +121,18 @@
121 121 foreach ( $registry as $handle => $active ) {
122 122 if ( ! $active || isset( $seen[ $handle ] ) ) {
123 123 continue;
124 124 }
125 - $payload = desktop_mode_resolve_script_payload( $handle );
125 + $payload = openstation_resolve_script_payload( $handle );
126 126 if ( '' === $payload['url'] ) {
127 - desktop_mode_warn_unresolvable_script_handle(
128 - 'desktop_mode_register_dock_rail_renderer_script',
127 + openstation_warn_unresolvable_script_handle(
128 + 'openstation_register_dock_rail_renderer_script',
129 129 'Dock rail renderer',
130 130 (string) $handle
131 131 );
132 132 continue;
133 133 }
134 - $out[] = array(
134 + $out[] = array(
135 135 'handle' => (string) $handle,
136 136 'scriptUrl' => $payload['url'],
137 137 'scriptBefore' => $payload['before'],
138 138 'scriptAfter' => $payload['after'],
@@ -137,8 +137,11 @@
137 137 'scriptBefore' => $payload['before'],
138 138 'scriptAfter' => $payload['after'],
139 139 'scriptL10n' => $payload['l10n'],
140 140 'scriptTranslations' => $payload['translations'],
141 + // The handle's dependency closure, replayed before the bundle
142 + // on its lazy load — see `openstation_resolve_script_dependencies()`.
143 + 'scriptDeps' => openstation_resolve_script_dependencies( $handle ),
141 144 );
142 145 $seen[ $handle ] = true;
143 146 }
144 147 return $out;