Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
elementor
/
modules
/
checklist
/
data
/
endpoints
:
steps.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Elementor\Modules\Checklist\Data\Endpoints; use Elementor\Data\V2\Base\Endpoint as Endpoint_Base; use Elementor\Modules\Checklist\Steps\Step_Base; use Elementor\Modules\Checklist\Steps_Manager; use Elementor\Modules\Checklist\Module as Checklist_Module; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Steps extends Endpoint_Base { public function get_name() : string { return 'steps'; } public function get_format() : string { return 'checklist'; } public function get_items( $request ) { return $this->get_checklist_data(); } public function update_item( $id, $request ) { $checklist_module = Checklist_Module::instance(); $step = $checklist_module->get_steps_manager()->get_step_by_id( $id ); $step->update_step( $request->get_json_params() ); return [ 'data' => 'success', ]; } private function get_checklist_data(): array { $checklist_module = Checklist_Module::instance(); $steps_data = $checklist_module->get_steps_manager()->get_steps_for_frontend(); return [ 'data' => $steps_data, ]; } protected function register() { parent::register(); $this->register_item_route(); $this->register_item_route( \WP_REST_Server::EDITABLE, [ 'id_arg_name' => 'id', 'id_arg_type_regex' => '[\w\-\_]+', 'id' => [ 'type' => 'string', 'description' => 'The step id.', 'required' => true, 'validate_callback' => function ( $step_id ) { return in_array( $step_id, Steps_Manager::get_step_ids() ); }, ], ] ); } }