public function client() { global $ui_default_interaction, $ui_default_view; if (is_null($ui_default_interaction)) { $ui_default_interaction = new client_interaction(); $view = \reasg\ui_views::getDefaultView(); if (!is_null($view)) { $m = function () use($view, $ui_default_interaction) { error_log("here client commit 1"); $js = 'var init_interactions = ' . $ui_default_interaction->toJSON() . ";\n"; $js .= 'var promise = {success: undefined,failure: undefined, data: undefined};' . "\n"; $js .= 'rea_controller.backend.handleResponseJSON(init_interactions,promise);' . "\n"; $view->js_ready->write($js); error_log("here client commit to view 2"); $view->debug(); }; $this->on('default_view_commit', $m); } else { $m = function () use($ui_default_interaction) { global $app_controller; error_log("here client commit 2"); $app_controller->header('Content-Type', 'text/json'); $s = $ui_default_interaction->toJSON(); $app_controller->write($s); }; $this->on('app_send_output', $m); } } error_log("returning client"); return $ui_default_interaction; }
function bindToSelector($sel) { global $app_controller; $uid = $this->uid; $name = $this->name; $view = \reasg\ui_views::getDefaultView(); //$view->js_ready->write($js); $js = "var ds = ui_datasource_controller.createDataSourceWithObject('" . $this->name . "', " . $this->getHTML() . ");\n"; error_log("@bindToSelector {$sel}::default_view_commit ========="); $m = function ($view) use($uid, $name, $sel, $js) { error_log("@closure default_view_commit ========="); $s = "ui_datasource_controller.populateSelectorWithDataset(\"{$sel}\", ui_datasource_controller.getDatsourceWithName(\"{$name}\") );\n"; $view->js_ready->write($s); $view->js_payload->write($js); }; $app_controller->on('default_view_commit', $m); }