From fadaa853507b89edeeb17cfa0bc0865d933d9223 Mon Sep 17 00:00:00 2001 From: Alexander Kochetov Date: Sun, 26 May 2013 00:59:05 +0400 Subject: [PATCH 1/3] jQuery UI autocomplete widget rework --- framework/yii/jui/AutoComplete.php | 38 ++++++-------------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) diff --git a/framework/yii/jui/AutoComplete.php b/framework/yii/jui/AutoComplete.php index f5bbae9..44ca23d 100644 --- a/framework/yii/jui/AutoComplete.php +++ b/framework/yii/jui/AutoComplete.php @@ -8,8 +8,6 @@ namespace yii\jui; use Yii; -use yii\base\InvalidConfigException; -use yii\base\Model; use yii\helpers\Html; /** @@ -42,51 +40,27 @@ use yii\helpers\Html; * @author Alexander Kochetov * @since 2.0 */ -class AutoComplete extends Widget +class AutoComplete extends InputWidget { /** - * @var \yii\base\Model the data model that this widget is associated with. - */ - public $model; - /** - * @var string the model attribute that this widget is associated with. - */ - public $attribute; - /** - * @var string the input name. This must be set if [[model]] and [[attribute]] are not set. - */ - public $name; - /** - * @var string the input value. - */ - public $value; - - - /** * Renders the widget. */ public function run() { - echo $this->renderField(); + echo $this->renderWidget(); $this->registerWidget('autocomplete'); } /** - * Renders the AutoComplete field. If [[model]] has been specified then it will render an active field. - * If [[model]] is null or not from an [[Model]] instance, then the field will be rendered according to - * the [[name]] attribute. + * Renders the AutoComplete widget. * @return string the rendering result. - * @throws InvalidConfigException when none of the required attributes are set to render the textInput. - * That is, if [[model]] and [[attribute]] are not set, then [[name]] is required. */ - public function renderField() + public function renderWidget() { - if ($this->model instanceof Model && $this->attribute !== null) { + if ($this->hasModel()) { return Html::activeTextInput($this->model, $this->attribute, $this->options); - } elseif ($this->name !== null) { - return Html::textInput($this->name, $this->value, $this->options); } else { - throw new InvalidConfigException("Either 'name' or 'model' and 'attribute' properties must be specified."); + return Html::textInput($this->name, $this->value, $this->options); } } } From a087972704f8f2c76f278be900e5136817d3e41f Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Sun, 26 May 2013 01:46:39 +0200 Subject: [PATCH 2/3] fixed framework path of req checker + notice on wrong path git ignore composer.lock --- apps/advanced/.gitignore | 3 ++- apps/advanced/install | 0 apps/advanced/requirements.php | 9 ++++++++- apps/basic/.gitignore | 1 + apps/basic/requirements.php | 9 ++++++++- 5 files changed, 19 insertions(+), 3 deletions(-) mode change 100644 => 100755 apps/advanced/install create mode 100644 apps/basic/.gitignore diff --git a/apps/advanced/.gitignore b/apps/advanced/.gitignore index b1cf719..fd6a8d5 100644 --- a/apps/advanced/.gitignore +++ b/apps/advanced/.gitignore @@ -1 +1,2 @@ -/yii \ No newline at end of file +/yii +composer.lock diff --git a/apps/advanced/install b/apps/advanced/install old mode 100644 new mode 100755 diff --git a/apps/advanced/requirements.php b/apps/advanced/requirements.php index 5a2d910..c9e6493 100644 --- a/apps/advanced/requirements.php +++ b/apps/advanced/requirements.php @@ -11,7 +11,14 @@ */ // you may need to adjust this path to the correct Yii framework path -$frameworkPath = dirname(__FILE__) . '/../../yii'; +$frameworkPath = dirname(__FILE__) . '/vendor/yiisoft/yii2/yii'; + +if (!is_dir($frameworkPath)) { + echo '

Error

'; + echo '

The path to yii framework seems to be incorrect.

'; + echo '

You need to install Yii framework via composer or adjust the framework path in file ' . basename(__FILE__) .'.

'; + echo '

Please refer to the README on how to install Yii.

'; +} require_once($frameworkPath . '/requirements/YiiRequirementChecker.php'); $requirementsChecker = new YiiRequirementChecker(); diff --git a/apps/basic/.gitignore b/apps/basic/.gitignore new file mode 100644 index 0000000..2cf7a3f --- /dev/null +++ b/apps/basic/.gitignore @@ -0,0 +1 @@ +composer.lock \ No newline at end of file diff --git a/apps/basic/requirements.php b/apps/basic/requirements.php index 5a2d910..c075760 100644 --- a/apps/basic/requirements.php +++ b/apps/basic/requirements.php @@ -11,7 +11,14 @@ */ // you may need to adjust this path to the correct Yii framework path -$frameworkPath = dirname(__FILE__) . '/../../yii'; +$frameworkPath = dirname(__FILE__) . '/vendor/yiisoft/yii2/yii.'; + +if (!is_dir($frameworkPath)) { + echo '

Error

'; + echo '

The path to yii framework seems to be incorrect.

'; + echo '

You need to install Yii framework via composer or adjust the framework path in file ' . basename(__FILE__) .'.

'; + echo '

Please refer to the README on how to install Yii.

'; +} require_once($frameworkPath . '/requirements/YiiRequirementChecker.php'); $requirementsChecker = new YiiRequirementChecker(); From 9d46f8e4fc93a646da8dc82de661973adb4c0378 Mon Sep 17 00:00:00 2001 From: Carsten Brandt Date: Sun, 26 May 2013 01:48:01 +0200 Subject: [PATCH 3/3] added doc comment to Console::getScreensize() --- framework/yii/helpers/base/Console.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/framework/yii/helpers/base/Console.php b/framework/yii/helpers/base/Console.php index c8b89c4..6ad0b7b 100644 --- a/framework/yii/helpers/base/Console.php +++ b/framework/yii/helpers/base/Console.php @@ -574,6 +574,9 @@ class Console /** * Usage: list($w, $h) = ConsoleHelper::getScreenSize(); * + * @param bool $refresh whether to force checking and not re-use cached size value. + * This is useful to detect changing window size while the application is running but may + * not get up to date values on every terminal. * @return array|boolean An array of ($width, $height) or false when it was not able to determine size. */ public static function getScreenSize($refresh = false)