public static function onWindowLoad($jsCode) { if ($jsCode instanceof \Psc\JS\Lambda) { $c = $jsCode->JS(); } elseif ($jsCode instanceof \Psc\JS\Expression) { $c = 'function() { ' . $jsCode->JS() . ' }'; } else { $c = 'function() { ' . (string) $jsCode . ' }'; } return Helper::embed('jQuery(window).load(' . $c . ')'); }
/** * Erstellt das Objekt direkt nachdem das HTML geladen wird per inline-Javascript * * vorher werden mögliche Dependencies geladen und es wird auf Main gewartet. * in den Constructor-Parametern ist "main" definiert und zeigt auf Psc.UI.Main * * man muss selbst sicherstellen dass init() aufgerufen wurde (bzw this->html gesetzt ist) */ protected function autoLoad() { if (!$this->disableAutoLoad) { $constructCode = $this->createConstructCode($this->jooseClass, $this->constructParams, FALSE); if (mb_strpos($this->html->getTemplate(), '%autoLoadJoose%') === FALSE) { $this->html->templateAppend("\n" . '%autoLoadJoose%'); } $this->html->getTemplateContent()->autoLoadJoose = jsHelper::embed(jsHelper::requireLoad(array_merge(array('jquery'), array_map(function ($class) { return str_replace('.', '/', $class); }, $this->dependencies)), array('jQuery'), $constructCode)); } return $this; }
public function html() { return Helper::embed($this->JS()); }
/** * Wählt den Index aus, der direkt nach dem Laden der Seite geladen werden soll * * dies initialisiert das widget auch auf Javascript-Basis */ public function select($index) { $this->init(); $this->select = $index; $this->html->getTemplateContent()->select = jsHelper::embed(jsHelper::bootLoad(array('app/main'), array('main'), sprintf("var tabs = main.getTabs(), tab = tabs.tab({index: %d});\n tabs.select(tab);", $this->select))); return $this; }