public function localize_and_enqueue_service_script($id, $instance = false)
{
if (!function_exists('get_rest_url')) {
return;
}
$settings_store = $this->get_service_settings_store();
$schemas_store = $this->get_service_schemas_store();
$service_schema = $schemas_store->get_service_schema_by_id_or_instance_id($instance ? $instance : $id);
if (!$service_schema) {
return;
}
$path = $instance ? "/wc/v1/connect/services/{$id}/{$instance}" : "/wc/v1/connect/services/{$id}";
$admin_array = array('storeOptions' => $settings_store->get_store_options(), 'formSchema' => $service_schema->service_settings, 'formLayout' => $service_schema->form_layout, 'formData' => $settings_store->get_service_settings($id, $instance), 'predefinedPackages' => $settings_store->get_predefined_packages_for_service($id), 'callbackURL' => get_rest_url(null, $path), 'nonce' => wp_create_nonce('wp_rest'), 'rootView' => 'wc-connect-service-settings');
wp_localize_script('wc_connect_admin', 'wcConnectData', $admin_array);
wp_enqueue_script('wc_connect_admin');
wp_enqueue_style('wc_connect_admin');
}