Example #1
0
 public function __construct($field, \Cmb2Grid\Grid\Cmb2Grid $grid)
 {
     $this->setParentFieldId($field[0]);
     $this->setFieldId($field[1]);
     $field = cmb2_get_field($grid->getCmb2Obj(), $this->getParentFieldId());
     $this->setField($field);
     //parent::__construct( $field, $grid );
     /* $this->setGrid( $grid );
     			  if ( is_string( $field ) ) {
     			  $this->setFieldId( $field );
     			  } elseif ( is_array( $field ) ) {
     			  $this->setFieldId( $field[0] );
     			  }
     			  $fieldId = $this->getFieldId();
     
     
     			  $field = cmb2_get_field( $grid->getCmb2Obj(), $fieldId );
     
     			  $this->setField( $field );
     
     			  if ( is_array( $field ) ) {
     			  if ( isset( $field['class'] ) ) {
     			  $this->setColumnClass( $field['class'] );
     			  }
     			  } */
 }
Example #2
0
 public function test_cmb2_get_field()
 {
     $val_to_save = '123Abc';
     $field_id = 'test_test';
     $retrieved = cmb2_get_field($this->cmb_id, $field_id, $this->post_id);
     $this->assertInstanceOf('CMB2_Field', $retrieved);
 }
Example #3
0
 public function __construct($field, Cmb2Grid $grid)
 {
     $this->setGrid($grid);
     if (is_string($field)) {
         $this->setFieldId($field);
     } elseif (is_array($field)) {
         $this->setFieldId($field[0]);
     } elseif (is_a($field, '\\Cmb2Grid\\Grid\\Group\\Cmb2GroupGrid')) {
         $this->setFieldId($field->getParentFieldId());
     }
     $fieldId = $this->getFieldId();
     $finalField = cmb2_get_field($grid->getCmb2Obj(), $fieldId);
     $this->setField($finalField);
     if (is_array($field)) {
         if (isset($field['class'])) {
             $this->setColumnClass($field['class']);
         }
     }
 }
Example #4
0
/**
 * Get a field's value.
 * @since  1.1.0
 * @param  array  $meta_box    Metabox ID or Metabox config array
 * @param  array  $field_id    Field ID or all field arguments
 * @param  int    $object_id   Object ID
 * @param  string $object_type Type of object being saved. (e.g., post, user, comment, or options-page).
 *                             Defaults to metabox object type.
 * @return mixed               Maybe escaped value
 */
function cmb2_get_field_value($meta_box, $field_id, $object_id = 0, $object_type = '')
{
    $field = cmb2_get_field($meta_box, $field_id, $object_id, $object_type);
    return $field->escaped_value();
}
Example #5
0
 public function test_remove_group_field()
 {
     $cmb = cmb2_get_metabox('test2');
     $cmb->remove_field('colorpicker', 'group_field');
     $field = cmb2_get_field('test2', 'group_field', $this->post_id);
     $mock = array('first_field' => array('name' => 'Field 1', 'id' => 'first_field', 'type' => 'text'));
     $this->assertEquals($mock, $field->fields());
 }
Example #6
0
    public function test_field_attributes()
    {
        $cmb = new CMB2($this->attributes_test);
        $field = cmb2_get_field($this->attributes_test['id'], 'attributes_test_field', $this->post_id);
        $this->assertInstanceOf('CMB2_Field', $field);
        $expected_field = '
		<div class="cmb-row cmb-type-text cmb2-id-attributes-test-field table-layout">
			<div class="cmb-th"><label for="attributes_test_field">Name</label></div>
			<div class="cmb-td">
				<input type="number" class="regular-text" name="attributes_test_field" id="arbitrary-id" value="" disabled="disabled" data-test=\'{"one":"One","two":"Two","true":true,"false":false,"array":{"nested_data":true}}\'/>
				<p class="cmb2-metabox-description">This is a description</p>
			</div>
		</div>
		';
        $this->assertHTMLstringsAreEqual($expected_field, $this->render_field($field));
    }
Example #7
0
 public function test_remove_group_field()
 {
     $cmb = cmb2_get_metabox('test2');
     $cmb->remove_field('colorpicker', 'group_field');
     $field = cmb2_get_field('test2', 'group_field', $this->post_id);
     $fields = $field->fields();
     $mock_fields = array('first_field' => array('name' => 'Field 1', 'id' => 'first_field', 'type' => 'text'));
     foreach ($mock_fields as $field_id => $field_props_array) {
         foreach ($field_props_array as $prop_name => $prop_value) {
             $this->assertEquals($prop_value, $fields[$field_id][$prop_name]);
         }
     }
 }