From 3a2d72aa5c9330a216f467034183f6dc14ece6d6 Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Thu, 11 Aug 2022 17:59:20 +0400 Subject: [PATCH] fix gitignore & add assets registration functionality. --- modules/ppcp-order-tracking/.gitignore | 2 +- .../src/Assets/OrderEditPageAssets.php | 100 ++++++++++++++++++ 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 modules/ppcp-order-tracking/src/Assets/OrderEditPageAssets.php diff --git a/modules/ppcp-order-tracking/.gitignore b/modules/ppcp-order-tracking/.gitignore index 265c2208c..f69a89f4b 100644 --- a/modules/ppcp-order-tracking/.gitignore +++ b/modules/ppcp-order-tracking/.gitignore @@ -1,2 +1,2 @@ node_modules -assets +/assets diff --git a/modules/ppcp-order-tracking/src/Assets/OrderEditPageAssets.php b/modules/ppcp-order-tracking/src/Assets/OrderEditPageAssets.php new file mode 100644 index 000000000..cf9fab613 --- /dev/null +++ b/modules/ppcp-order-tracking/src/Assets/OrderEditPageAssets.php @@ -0,0 +1,100 @@ +module_url = $module_url; + $this->version = $version; + } + + /** + * Registers the scripts and styles. + * + * @return void + */ + public function register(): void { + wp_register_style( + 'ppcp-webhooks-order-edit-page-style', + untrailingslashit( $this->module_url ) . '/assets/css/order-edit-page.css', + array(), + $this->version + ); + + wp_register_script( + 'ppcp-tracking', + untrailingslashit( $this->module_url ) . '/assets/js/order-edit-page.js', + array( 'jquery' ), + $this->version, + true + ); + + wp_localize_script( + 'ppcp-tracking', + 'PayPalCommerceGatewayOrderTrackingInfo', + $this->get_script_data() + ); + } + + /** + * Returns the data for the script. + * + * @return array a map of script data. + */ + public function get_script_data(): array { + return array( + 'ajax' => array( + 'tracking_info' => array( + 'endpoint' => \WC_AJAX::get_endpoint( OrderTrackingEndpoint::ENDPOINT ), + 'nonce' => wp_create_nonce( OrderTrackingEndpoint::nonce() ), + ), + ), + ); + } + + /** + * Enqueues the necessary scripts. + * + * @return void + */ + public function enqueue(): void { + wp_enqueue_style( 'ppcp-webhooks-order-edit-page-style' ); + wp_enqueue_script( 'ppcp-tracking' ); + } +}