1 <?php
2
3 4 5 6 7 8 9 10
11
12 namespace WC_POS\Admin\Settings;
13
14 class HotKeys extends Page {
15
16 protected static $instance;
17 private $labels;
18
19 20 21
22 public function __construct() {
23 $this->id = 'hotkeys';
24 $this->label = _x( 'HotKeys', 'keyboard shortcuts', 'woocommerce-pos' );
25
26 $this->defaults = array(
27 'hotkeys' => array(
28 'help' => array(
29 'key' => '?'
30 ),
31 'barcode' => array(
32 'key' => 'B'
33 ),
34 'search' => array(
35 'key' => 'V'
36 ),
37 'sync' => array(
38 'key' => 'S'
39 )
40 )
41 );
42
43 $this->labels = array(
44 'help' => __( 'Help screen', 'woocommerce-pos' ),
45 'barcode' => __( 'Barcode search', 'woocommerce-pos' ),
46 'search' => __( 'Search', 'woocommerce' ),
47 'new' => __( 'New order', 'woocommerce-pos' ),
48 'sync' => __( 'Sync with server', 'woocommerce-pos' )
49 );
50 }
51
52 public function get($key = false){
53 $data = get_option( $this->option_name() );
54 if(!$data){ $data = $this->defaults; }
55 $data['hotkeys'] = array_merge($this->defaults['hotkeys'], $data['hotkeys']);
56
57 foreach($data['hotkeys'] as $slug => &$arr){
58 $arr['label'] = $this->labels[$slug];
59 }
60
61 if($key && is_array($data)) {
62 $data = array_key_exists($key, $data) ? $data[$key] : false;
63 }
64
65 return $data;
66 }
67
68 }