/** * @param string $relation * @param \Illuminate\Database\Eloquent\Relations\Relation $relationObject * @param \Magia\Model\MagickEloquent $relationModel */ public function generateFieldFromRelation($relation, $relationObject, $relationModel) { $options = array(); $name = $relation; $multiple = true; $value = array(); $className = class_basename($relationObject); $pk = $relationObject->getRelated()->getKeyName(); if ($className == MagiaRelation::BELONGS_TO) { /* @var \Illuminate\Database\Eloquent\Relations\Belongsto $relation */ $options = $this->generateOptions($relationObject->getRelated(), $pk); $value[] = $relationModel->{$pk}; $this->limitSelection = 1; } if ($className == MagiaRelation::BELONGS_TO_MANY) { $options = $this->generateOptions($relationObject->getRelated(), $pk); foreach ($relationModel as $item) { $value[] = $item->{$pk}; } } $result = parent::generateFilledField($options, $name, $multiple, $value); $maxLimit = ""; if ($this->limitSelection > 0) { $maxLimit = "maximumSelectionLength: " . $this->limitSelection; } ViewIncludes::getInstance()->addScript("\n <script>\n\n \$('.select2-{$this->labelName}').select2({\n {$maxLimit}\n })\n\n </script>\n "); ViewIncludes::getInstance()->addJsAfter("plugins/select2/js/select2.min.js"); ViewIncludes::getInstance()->addCss("plugins/select2/css/select2.min.css"); return $result; }
public function __construct($obligation) { parent::__construct($obligation); ViewIncludes::getInstance()->addCss("plugins/summernote-master/summernote.css"); ViewIncludes::getInstance()->addJsAfter("plugins/summernote-master/summernote.min.js"); ViewIncludes::getInstance()->addScript("\n <script>\n var editor = \$('.summernote');\n editor.summernote({\n height: 350\n });\n\n </script>\n "); }
public function generateField($column, $value = null) { if ($value) { $value = date(self::FORMAT_DATETIME, strtotime($value)); } $result = parent::generateField($column, $value); ViewIncludes::getInstance()->addCss("plugins/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css"); ViewIncludes::getInstance()->addJsAfter("plugins/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"); ViewIncludes::getInstance()->addJsAfter("plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js"); ViewIncludes::getInstance()->addScript("\n\n <script>\n\n\n \$('#field_{$this->getName()}').datetimepicker({\n format: 'dd/mm/yyyy hh:ii',\n language: 'es'\n\n });\n\n </script>\n\n "); return $result; }
protected function addImageScripts($name) { ViewIncludes::getInstance()->addScript("\n <script>\n\n function msgImageChanged() {\n toastr.options = {\n closeButton: true,\n progressBar: true,\n showMethod: 'fadeIn',\n hideMethod: 'fadeOut',\n timeOut: 5000\n };\n toastr.info('Los cambios de imágenes no se registrarán hasta que se guarde la ficha.', '¡CUIDADO!');\n }\n\n\n\n var image_{$name} = \$('#field_{$name}').imageform({\n noImageSrc : '" . asset(self::SRC_EMPTY_IMAGE) . "',\n imgDOM: \$('#field_{$name}').parent().find('img'),\n hiddenDeleteDOM: \$('#field_{$name}').parent().find('input[type=hidden]'),\n onImgUpdate: msgImageChanged\n });\n\n\n\n\n \$('#field_{$name}').parent().find('button.remove-image').click(function(event) {\n\n image_{$name}.imageform('remove');\n\n });\n\n \$('#field_{$name}').parent().find('button.reset-image').click(function(event) {\n\n image_{$name}.imageform('reset');\n\n });\n\n \$('#field_{$name}').change(function(event){\n\n image_{$name}.imageform('eventToImage', event);\n\n });\n\n\n\n </script>\n "); }
<?php /** * Created by PhpStorm. * User: alvarobanofos * Date: 19/06/15 * Time: 00:18 */ use Magia\View\ViewComposers\ViewIncludes; View::composer('magia::layout', function ($view) { $view->css = array("plugins/bootstrap/css/bootstrap.min.css", "css/custom.css", "css/modern.min.css", "css/themes/green.css", "plugins/toastr/toastr.min.css", "plugins/metrojs/MetroJs.min.css", "plugins/weather-icons-master/css/weather-icons.min.css", "plugins/slidepushmenus/css/component.css", "plugins/3d-bold-navigation/css/style.css", "plugins/switchery/switchery.min.css", "plugins/waves/waves.min.css", "plugins/offcanvasmenueffects/css/menu_cornerbox.css", "plugins/line-icons/simple-line-icons.css", "plugins/fontawesome/css/font-awesome.css", "plugins/uniform/css/uniform.default.min.css", "plugins/pace-master/themes/blue/pace-theme-flash.css"); $view->css = array_merge($view->css, ViewIncludes::getInstance()->getCss()); foreach ($view->css as &$item) { $item = asset("packages/magia/" . $item); } $view->jsBefore = array("plugins/3d-bold-navigation/js/modernizr.js", "plugins/offcanvasmenueffects/js/snap.svg-min.js"); $view->jsBefore = array_merge($view->jsBefore, ViewIncludes::getInstance()->getJsBefore()); $view->jsAfter = array("plugins/jquery/jquery-2.1.3.min.js", "plugins/jquery-ui/jquery-ui.min.js", "plugins/pace-master/pace.min.js", "plugins/jquery-blockui/jquery.blockui.js", "plugins/bootstrap/js/bootstrap.min.js", "plugins/jquery-slimscroll/jquery.slimscroll.min.js", "plugins/switchery/switchery.min.js", "plugins/uniform/jquery.uniform.min.js", "plugins/offcanvasmenueffects/js/classie.js", "plugins/offcanvasmenueffects/js/main.js", "plugins/waves/waves.min.js", "plugins/3d-bold-navigation/js/main.js", "plugins/waypoints/jquery.waypoints.min.js", "plugins/jquery-counterup/jquery.counterup.min.js", "plugins/toastr/toastr.min.js", "plugins/flot/jquery.flot.min.js", "plugins/flot/jquery.flot.time.min.js", "plugins/flot/jquery.flot.symbol.min.js", "plugins/flot/jquery.flot.resize.min.js", "plugins/flot/jquery.flot.tooltip.min.js", "plugins/curvedlines/curvedLines.js", "plugins/metrojs/MetroJs.min.js", "js/modern.js", "js/pages/dashboard.js"); $view->jsAfter = array_merge($view->jsAfter, ViewIncludes::getInstance()->getJsAfter()); foreach ($view->jsBefore as &$item) { $item = asset("packages/magia/" . $item); } foreach ($view->jsAfter as &$item) { $item = asset("packages/magia/" . $item); } $view->scripts = array(); foreach (ViewIncludes::getInstance()->getScripts() as $script) { $view->scripts[] = "{$script}"; } }); View::composer('magia::edit', 'Magia\\View\\ViewComposers\\EditComposer');