PHP Class TbEditableField

Inheritance: extends CWidget
Datei anzeigen Open project: yinhe/yincart

Public Properties

Property Type Description
$apply whether to apply 'editable' js plugin to element. Only **safe** attributes become editable.
$attribute attribute name.
$combodate full config for **combodate** input. For details see http://vitalets.github.com/combodate/#docs
$cssFile for jQuery UI only. The theme CSS file name. By default Yii's jquery UI css used.
$disabled will editable be initially disabled. It means editable plugin will be applied to element, but you should call .editable('enable') method to activate it. To totally disable applying 'editable' to element use **apply** option.
$display string Example:
'display' => 'js: function(value, sourceData) {
     var escapedValue = $("<div>").text(value).html();
     $(this).html("<b>"+escapedValue+"</b>");
}'
$emptytext text shown on empty field. If null - default X-editable value is used: Empty
$encode whether to HTML encode text on output
$format format to send date on server. If null - default X-editable value is used: yyyy-mm-dd.
$htmlOptions HTML options of element
$inputclass css class of input. If null - default X-editable value is used: input-medium
$mode mode of input: inline | popup. If not set - default X-editable value is used: popup.
$model ActiveRecord to be updated.
$onHidden string A javascript function that will be invoked when editable form is hidden Example:
'onHidden' => 'js: function(e, reason) {
   if (reason === "save" || reason === "cancel") {
auto-open next editable
       $(this).closest("tr").next().find(".editable").editable("show");
   }
}'
$onInit string A javascript function that will be invoked when editable element is initialized
$onSave string A javascript function that will be invoked when new value is saved Example:
'onSave' => 'js: function(e, params) {
    alert("Saved value: " + params.newValue);
}'
$onShown string A javascript function that will be invoked when editable form is shown Example:
'onShown' => 'js: function() {
    var $tip = $(this).data("editableContainer").tip();
    $tip.find("input").val("overwriting value of input.");
}'
$options all config options of x-editable. See full list here.
$params additional params to send on server
$parentid parent ID.
$placement placement of popup. Can be left, top, right, bottom. If null - default X-editable value is used: top
$select2 full config for **select2** input. For details see http://ivaynberg.github.com/select2
$source source data for **select**, **checklist**. Can be string (url) or array in format: array( array("value" => 1, "text" => "abc"), ...)
$success string Example:
'success' => 'js: function(response, newValue) {
    if (!response.success) return response.msg;
}'
$template template for **combodate** input. For details see http://vitalets.github.com/x-editable/docs.html#combodate.
$text text to be shown as element content
$theme for jQuery UI only. The JUI theme name.
$themeUrl for jQuery UI only. The root URL that contains JUI theme folders. If not set, default Yii's theme will be used.
$title title of popup. If null - will be generated automatically from attribute label. Can have token {label} inside that will be replaced with actual attribute label.
$type type of editable widget. Can be text, textarea, select, date, checklist, etc.
$url url to submit value. Can be string or array containing Yii route, e.g. array('site/updateUser')
$validate string Example:
'validate' => 'js: function(value) {
    if ($.trim(value) == "") return "This field is required";
}'
$value initial value. If not set - will be taken from text
$viewformat format to display date in element. If null - equals to **format** option.
$viewseparator separator used to display tags.

Public Methods

Method Description
buildHtmlOptions ( ) * ### .buildHtmlOptions()
buildJsOptions ( )
getSelector ( ) * ### .getSelector()
init ( ) ### .init()
registerAssets ( ) * ### .registerAssets()
registerClientScript ( ) * ### .registerClientScript()
renderLink ( ) * ### .renderLink()
renderText ( ) * ### .renderText()
resolveModel ( $model, $attribute ) * ### .resolveModel()
run ( ) * ### .run()

Protected Methods

Method Description
registerJQueryUI ( ) ### .registerJQueryUI()

Method Details

buildHtmlOptions() public method

* ### .buildHtmlOptions()
public buildHtmlOptions ( )

buildJsOptions() public method

public buildJsOptions ( )

getSelector() public method

* ### .getSelector()
public getSelector ( )

init() public method

initialization of widget
public init ( )

registerAssets() public method

* ### .registerAssets()
public registerAssets ( )

registerClientScript() public method

* ### .registerClientScript()

registerJQueryUI() protected method

method to register jQuery UI with build-in or custom theme
protected registerJQueryUI ( )

renderText() public method

* ### .renderText()
public renderText ( )

resolveModel() public static method

check if attribute points to related model and resolve it
public static resolveModel ( $model, $attribute )
$model
$attribute

run() public method

* ### .run()
public run ( )

Property Details

$apply public_oe property

whether to apply 'editable' js plugin to element. Only **safe** attributes become editable.
public $apply

$attribute public_oe property

attribute name.
public $attribute

$combodate public_oe property

full config for **combodate** input. For details see http://vitalets.github.com/combodate/#docs
public $combodate

$cssFile public_oe property

for jQuery UI only. The theme CSS file name. By default Yii's jquery UI css used.
public $cssFile

$disabled public_oe property

will editable be initially disabled. It means editable plugin will be applied to element, but you should call .editable('enable') method to activate it. To totally disable applying 'editable' to element use **apply** option.
public $disabled

$display public_oe property

Example:
'display' => 'js: function(value, sourceData) {
     var escapedValue = $("<div>").text(value).html();
     $(this).html("<b>"+escapedValue+"</b>");
}'
public string $display
return string

$emptytext public_oe property

text shown on empty field. If null - default X-editable value is used: Empty
public $emptytext

$encode public_oe property

whether to HTML encode text on output
public $encode

$format public_oe property

format to send date on server. If null - default X-editable value is used: yyyy-mm-dd.
public $format

$htmlOptions public_oe property

HTML options of element
public $htmlOptions

$inputclass public_oe property

css class of input. If null - default X-editable value is used: input-medium
public $inputclass

$mode public_oe property

mode of input: inline | popup. If not set - default X-editable value is used: popup.
public $mode

$model public_oe property

ActiveRecord to be updated.
public $model

$onHidden public_oe property

A javascript function that will be invoked when editable form is hidden Example:
'onHidden' => 'js: function(e, reason) {
   if (reason === "save" || reason === "cancel") {
auto-open next editable
       $(this).closest("tr").next().find(".editable").editable("show");
   }
}'
public string $onHidden
return string

$onInit public_oe property

A javascript function that will be invoked when editable element is initialized
public string $onInit
return string

$onSave public_oe property

A javascript function that will be invoked when new value is saved Example:
'onSave' => 'js: function(e, params) {
    alert("Saved value: " + params.newValue);
}'
public string $onSave
return string

$onShown public_oe property

A javascript function that will be invoked when editable form is shown Example:
'onShown' => 'js: function() {
    var $tip = $(this).data("editableContainer").tip();
    $tip.find("input").val("overwriting value of input.");
}'
public string $onShown
return string

$options public_oe property

all config options of x-editable. See full list here.
public $options

$params public_oe property

additional params to send on server
public $params

$parentid public_oe property

parent ID.
public $parentid

$placement public_oe property

placement of popup. Can be left, top, right, bottom. If null - default X-editable value is used: top
public $placement

$select2 public_oe property

full config for **select2** input. For details see http://ivaynberg.github.com/select2
public $select2

$source public_oe property

source data for **select**, **checklist**. Can be string (url) or array in format: array( array("value" => 1, "text" => "abc"), ...)
public $source

$success public_oe property

Example:
'success' => 'js: function(response, newValue) {
    if (!response.success) return response.msg;
}'
public string $success
return string

$template public_oe property

template for **combodate** input. For details see http://vitalets.github.com/x-editable/docs.html#combodate.
public $template

$text public_oe property

text to be shown as element content
public $text

$theme public_oe property

for jQuery UI only. The JUI theme name.
public $theme

$themeUrl public_oe property

for jQuery UI only. The root URL that contains JUI theme folders. If not set, default Yii's theme will be used.
public $themeUrl

$title public_oe property

title of popup. If null - will be generated automatically from attribute label. Can have token {label} inside that will be replaced with actual attribute label.
public $title

$type public_oe property

type of editable widget. Can be text, textarea, select, date, checklist, etc.
public $type

$url public_oe property

url to submit value. Can be string or array containing Yii route, e.g. array('site/updateUser')
public $url

$validate public_oe property

Example:
'validate' => 'js: function(value) {
    if ($.trim(value) == "") return "This field is required";
}'
public string $validate
return string

$value public_oe property

initial value. If not set - will be taken from text
public $value

$viewformat public_oe property

format to display date in element. If null - equals to **format** option.
public $viewformat

$viewseparator public_oe property

separator used to display tags.
public $viewseparator