PATH:
home
/
letacommog
/
letaweb
/
protected
/
extensions
/
yiibooster
/
widgets
<?php /** *## TbGoogleVisualizationChart class file * * @author: antonio ramirez <antonio@clevertech.biz> * @copyright Copyright © Clevertech 2012- * @license http://www.opensource.org/licenses/bsd-license.php New BSD License */ /** *## TbGoogleVisualizationChart widget * * Makes use of the Google Visualization service to render charts * @see https://developers.google.com/chart/interactive/docs/gallery * * @package booster.widgets.charts */ class TbGoogleVisualizationChart extends CWidget { /** * @var string $containerId the container Id to render the visualization to */ public $containerId; /** * @var string $visualization the type of visualization -ie PieChart * @see https://google-developers.appspot.com/chart/interactive/docs/gallery */ public $visualization; /** * @var array $data the data to configure visualization * @see https://google-developers.appspot.com/chart/interactive/docs/datatables_dataviews#arraytodatatable */ public $data = array(); /** * @var array $options additional configuration options * @see https://google-developers.appspot.com/chart/interactive/docs/customizing_charts */ public $options = array(); /** * @var array $htmlOption the HTML tag attributes configuration */ public $htmlOptions = array(); /** * Widget's run method */ public function run() { $id = $this->getId(); $this->htmlOptions['id'] = $id; // if no container is set, it will create one if ($this->containerId == null) { $this->containerId = 'div-chart' . $id; echo '<div ' . CHtml::renderAttributes($this->htmlOptions) . '></div>'; } $this->registerClientScript(); } /** * Registers required scripts */ public function registerClientScript() { $id = $this->getId(); $jsData = CJavaScript::jsonEncode($this->data); $jsOptions = CJavaScript::jsonEncode($this->options); $script = ' google.setOnLoadCallback(drawChart' . $id . '); var ' . $id . '=null; function drawChart' . $id . '() { var data = google.visualization.arrayToDataTable(' . $jsData . '); var options = ' . $jsOptions . '; ' . $id . ' = new google.visualization.' . $this->visualization . '(document.getElementById("' . $this->containerId . '")); ' . $id . '.draw(data, options); }'; /** @var $cs CClientScript */ $cs = Yii::app()->getClientScript(); $cs->registerScriptFile('https://www.google.com/jsapi'); $cs->registerScript( __CLASS__ . '#' . $id, 'google.load("visualization", "1", {packages:["corechart"]});', CClientScript::POS_HEAD ); $cs->registerScript($id, $script, CClientScript::POS_HEAD); } }
[+]
..
[-] TbTabView.php
[edit]
[-] TbNavbar.php
[edit]
[-] TbHighCharts.php
[edit]
[-] TbPager.php
[edit]
[-] TbLabel.php
[edit]
[-] TbActiveForm.php
[edit]
[-] TbPanel.php
[edit]
[-] TbJsonButtonColumn.php
[edit]
[-] TbModalManager.php
[edit]
[-] TbToggleColumn.php
[edit]
[-] TbUiLayout.php
[edit]
[-] TbBaseMenu.php
[edit]
[-] widgets.md
[edit]
[-] TbEditableDetailView.php
[edit]
[-] TbButtonGroup.php
[edit]
[-] TbEditable.php
[edit]
[-] TbFileUpload.php
[edit]
[-] TbEditableField.php
[edit]
[-] TbTags.php
[edit]
[-] TbFormButtonElement.php
[edit]
[-] TbFormInputElement.php
[edit]
[-] TbJsonPager.php
[edit]
[-] TbCollapse.php
[edit]
[-] TbBulkActions.php
[edit]
[-] TbRelationalColumn.php
[edit]
[-] TbTabs.php
[edit]
[-] TbModal.php
[edit]
[-] TbExtendedGridView.php
[edit]
[-] TbJumbotron.php
[edit]
[-] TbImageGallery.php
[edit]
[-] TbWidget.php
[edit]
[-] TbMenu.php
[edit]
[-] TbProgress.php
[edit]
[-] TbButtonColumn.php
[edit]
[-] TbJsonToggleColumn.php
[edit]
[-] TbJsonPickerColumn.php
[edit]
[-] TbColorPicker.php
[edit]
[-] TbButtonGroupColumn.php
[edit]
[-] TbSwitch.php
[edit]
[-] TbHeroUnit.php
[edit]
[-] TbDatePicker.php
[edit]
[-] TbJsonCheckBoxColumn.php
[edit]
[-] TbButton.php
[edit]
[-] TbTypeahead.php
[edit]
[-] TbForm.php
[edit]
[-] TbPassfield.php
[edit]
[-] TbEditableColumn.php
[edit]
[-] TbMarkdownEditorJs.php
[edit]
[-] TbPopoverColumn.php
[edit]
[-] TbMarkdownEditor.php
[edit]
[-] TbAlert.php
[edit]
[-] TbGroupGridView.php
[edit]
[-] TbBaseInputWidget.php
[edit]
[-] TbWizard.php
[edit]
[-] TbGroupButtonColumn.php
[edit]
[-] TbExtendedFilter.php
[edit]
[-] TbGoogleVisualizationChart.php
[edit]
[-] TbHtml5Editor.php
[edit]
[-] TbGridView.php
[edit]
[-] TbListView.php
[edit]
[-] TbTimePicker.php
[edit]
[-] TbJsonGridView.php
[edit]
[-] TbCKEditor.php
[edit]
[-] TbTotalSumColumn.php
[edit]
[-] TbDateRangePicker.php
[edit]
[-] TbBadge.php
[edit]
[-] TbDropdown.php
[edit]
[-] TbBreadcrumbs.php
[edit]
[-] TbJsonGridColumn.php
[edit]
[-] TbDateTimePicker.php
[edit]
[-] TbDataColumn.php
[edit]
[-] TbCarousel.php
[edit]
[-] TbJsonDataColumn.php
[edit]
[-] TbRedactorJs.php
[edit]
[-] TbThumbnails.php
[edit]
[-] TbScrollSpy.php
[edit]
[-] TbDetailView.php
[edit]
[+]
input
[-] TbSelect2.php
[edit]
[-] TbImageColumn.php
[edit]