this._drag_obj= new Draggable(this._div.id, {snap: {$CONF['dragdrop_snap']}, handle: 'handle'}); } break; }"; */ } $script_saveProperty .= '};'; } $xtpl->concat('ADDED_JS', $script_fillProperty); $xtpl->concat('ADDED_JS', $script_saveProperty); $xtpl->concat('ADDED_JS', $script_init_obj); $xtpl->concat('BODY', '<script src="callbacks.js" type="text/javascript"></script>' . "\n"); $xtpl->concat('BODY', '<div id="debug">Generation time: ' . (microtime(true) - $start_time) . '</div>'); // init page properties $script = ''; foreach ($page->getProperties() as $name => $prop) { $script .= "page['{$name}']= unescape(\"{$prop->value}\");\n"; } $script .= 'var pages_list= ["' . implode('","', $storage->getPagesList()) . '"];'; $script .= 'Datasource.loadFromServer();'; $xtpl->concat('ADDED_JS', $script); // add model for each component foreach ($available_components as $comp) { $tmp = new $comp(); $tmp->setPropertyValue('id', 'model_' . $comp); $tmp->setPropertyValue('display', 'none'); $xtpl->concat('BODY', $tmp->renderComponent()); $xtpl->concat('ADDED_JS', 'Element.hide("' . 'model_' . $comp . '");'); } // Store the form sent back to the php to save the page state $xtpl->concat('BODY', '