diff --git a/mocha-php/src/mocha-php/lib/mocha/oms/HttpOmsClient.inc.php b/mocha-php/src/mocha-php/lib/mocha/oms/HttpOmsClient.inc.php index 612e76b..141397e 100644 --- a/mocha-php/src/mocha-php/lib/mocha/oms/HttpOmsClient.inc.php +++ b/mocha-php/src/mocha-php/lib/mocha/oms/HttpOmsClient.inc.php @@ -406,6 +406,24 @@ return [ ]; } + public function getGlobal(UUID $inst, $defaultValue = null) + { + $json = $this->curl_request_json("/globals/" . $inst->__toString(), HttpRequestMethod::GET); + if ($json["result"] == "success") + { + return $json["value"]; + } + return $defaultValue; + } + + public function setGlobal(UUID $inst, mixed $value) + { + $this->curl_request_json("/globals/" . $inst->__toString(), HttpRequestMethod::POST, array + ( + "value" => $value + )); + } + } ?> \ No newline at end of file diff --git a/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer.inc.php b/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer.inc.php index 269e53e..7a2cd3e 100644 --- a/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer.inc.php +++ b/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer.inc.php @@ -920,7 +920,7 @@ EOF return true; } - private function processRelatedPostback(array &$parentElementContents, InstanceReference $element) + protected function processRelatedPostback(array &$parentElementContents, InstanceReference $element) { /** * @var \Mocha\Core\Oms diff --git a/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer2.inc.php b/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer2.inc.php index 52bd901..f5295cc 100644 --- a/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer2.inc.php +++ b/mocha-php/src/mocha-php/lib/mocha/ui/renderers/html/HTMLRenderer2.inc.php @@ -73,7 +73,7 @@ public function renderInitialElement($element) { - $json = $this->OMS->getResponse($element); + $json = $this->OMS->getResponse(element: $element); $this->renderResponse($json["value"]); } @@ -89,6 +89,16 @@ } $this->renderBeginPage($title); + + echo (""); + + if (!array_key_exists("visible", $json["title"]) || $json["title"]["visible"] === true) + { + $this->renderPageHeader($title, null); + } + $this->renderBeginContent(); $this->renderFragment($json); @@ -97,9 +107,66 @@ $this->renderEndForm(); $this->renderEndPage(); } + + public function renderTask(InstanceReference $task, ?InstanceReference $relatedInstance = null) + { + if ($_SERVER["REQUEST_METHOD"] == "POST") + { + + } + else + { + $json = $this->OMS->getResponse(element: $task); + if ($json["result"] == "success") { + $title = $json["value"]["title"]["label"]; + + $this->renderResponse($json["value"]); + } + } + echo ("renderTask: " . $task->InstanceKey); + return; + } + + private function renderTabContainer(array $json) + { + echo ("
"); + echo (""); + echo ("
"); + $i = 0; + foreach ($json["children"] as $c) + { + echo ("
"); + $this->renderFragment($c); + echo ("
"); + $i++; + } + echo ("
"); + echo ("
"); + } public function renderFragment(array $json, $fqecidPrefix = "") { + echo (""); + // echo ("renderFragment:
"); print_r($json); //print_r($json); die(); $fqecid = $fqecidPrefix . $json["ecid"]; @@ -114,9 +181,24 @@ { $this->renderFragment($json["body"]); } + else if ($json["widget"] == "tabContainer") + { + $this->renderTabContainer($json); + } else if ($json["widget"] == "grid") { echo (""); + echo (""); echo (""); echo (""); foreach ($json["columns"] as $col) @@ -181,9 +263,23 @@ } else if ($json["widget"] == "fieldSet") { - echo ("
"); + $emitFieldset = false; foreach ($json["children"] as $child) { + if ($child["widget"] == "commandButton") + { + echo (""); + continue; + } + else + { + if (!$emitFieldset) + { + echo ("
"); + } + $emitFieldset = true; + } + // $fqecidChild = $fqecidPrefix . $child["ecid"]; $fqecidChild = $child["ecid"]; @@ -224,7 +320,10 @@ echo ("
"); echo ("
"); } - echo (""); + + if ($emitFieldset) { + echo (""); + } } else if ($json["widget"] == "text") { diff --git a/mocha-php/src/mocha-php/themes/common/styles/uwt-alert.less b/mocha-php/src/mocha-php/themes/common/styles/uwt-alert.less index fb10602..6905fc1 100644 --- a/mocha-php/src/mocha-php/themes/common/styles/uwt-alert.less +++ b/mocha-php/src/mocha-php/themes/common/styles/uwt-alert.less @@ -82,4 +82,23 @@ div.uwt-alert display: none; } } +} + +.uwt-alert-mini +{ + position: fixed !important; + bottom: 0px; + display: block; + width: 400px !important; + margin-left: auto !important; + margin-right: auto !important; + background: #111; + color: #fff; + text-align: center; + border-radius: 10px; + left: 0px; + &> div.uwt-title + { + display: none; + } } \ No newline at end of file diff --git a/mocha-php/src/mocha-php/ui/masterPages/Blank.phpx.php b/mocha-php/src/mocha-php/ui/masterPages/Blank.phpx.php index 321d149..1bbcdb7 100644 --- a/mocha-php/src/mocha-php/ui/masterPages/Blank.phpx.php +++ b/mocha-php/src/mocha-php/ui/masterPages/Blank.phpx.php @@ -6,6 +6,7 @@ use Phast\RenderingEventArgs; use Phast\RenderMode; use Phast\System; + use Phast\UUID; use Phast\WebPage; class BlankMasterPage extends WebPage @@ -40,6 +41,8 @@ { // echo($page->FileName); $_SESSION["login_return"] = $path; + $oms->setGlobal(UUID::parse("{6daaa721-db70-43ad-b373-6a8038e69d2e}"), "/" . implode("/", $path)); + System::RedirectToLoginPage(true); $e->Cancel = true; } diff --git a/mocha-php/src/mocha-php/ui/pages/InstancePage.phpx.php b/mocha-php/src/mocha-php/ui/pages/InstancePage.phpx.php index 38d1f82..d2ca76e 100644 --- a/mocha-php/src/mocha-php/ui/pages/InstancePage.phpx.php +++ b/mocha-php/src/mocha-php/ui/pages/InstancePage.phpx.php @@ -46,6 +46,11 @@ $castkey = InstanceKey::parse($this->Page->GetPathVariableValue("castinstid")); $inst = $oms->getInstanceByKey($instkey); + $json = $oms->getResponse($inst); + print_r($json); + $htmlRenderer->renderResponse($json["value"]); + return; + if ($inst === null) { $htmlRenderer->renderBeginPage("Error"); diff --git a/mocha-php/src/mocha-php/ui/pages/RelatedTaskPage.phpx.php b/mocha-php/src/mocha-php/ui/pages/RelatedTaskPage.phpx.php index 30f3cdb..55475bf 100644 --- a/mocha-php/src/mocha-php/ui/pages/RelatedTaskPage.phpx.php +++ b/mocha-php/src/mocha-php/ui/pages/RelatedTaskPage.phpx.php @@ -7,6 +7,7 @@ use Mocha\Core\KnownRelationshipGuids; use Mocha\Core\OmsContext; use Mocha\UI\Renderers\HTML\HTMLRenderer; + use Mocha\UI\Renderers\HTML\HTMLRenderer2; use Phast\RenderingEventArgs; use Phast\WebPage; @@ -27,6 +28,8 @@ $instance = $oms->getInstanceByKey($instanceKey); $relatedTaskInstance = $oms->getInstanceByKey($relatedTaskKey); + + /* $initiatingElement = $oms->getRelatedInstance($relatedTaskInstance, KnownRelationshipGuids::Task__has_initiating__Element); $context = new OmsContext(); @@ -41,6 +44,10 @@ { $taskRenderer->processPostback(element: $initiatingElement); } + */ + + $context = new OmsContext(); + $taskRenderer = new HTMLRenderer2($context); $taskRenderer->renderTask($relatedTaskInstance, $instance); exit(); } diff --git a/mocha-php/src/mocha-php/ui/pages/SearchPage.phpx.php b/mocha-php/src/mocha-php/ui/pages/SearchPage.phpx.php index 8a8a1cf..c1af73c 100644 --- a/mocha-php/src/mocha-php/ui/pages/SearchPage.phpx.php +++ b/mocha-php/src/mocha-php/ui/pages/SearchPage.phpx.php @@ -184,7 +184,12 @@ { $inst = $results[$i]; $viewTask = $results[$i]->DefaultTask; // $oms->getRelatedInstance($instClass, KnownRelationshipGuids::Class__has_default__Task); - $uri = "/" . $oms->getTenantName() . "/d/inst/" . $inst->InstanceKey->__toString() . ".htmld"; + # $uri = "/" . $oms->getTenantName() . "/d/inst/" . $inst->InstanceKey->__toString() . ".htmld"; + $uri = $results[$i]->DefaultTaskUrl; + # if ($inst->ParentClass->InstanceKey->InstanceIndex == 2997) + { + # $uri = "/" . $oms->getTenantName() . "/d/task/" . $inst->InstanceKey->__toString() . ".htmld"; + } /* if ($oms->is_a($inst, KnownClassGuids::Task)) {
"); + + echo ("
"); + echo (""); + echo (""); + echo (""); + echo (""); + echo (""); + echo ("
"); + + echo ("