Changeset View
Changeset View
Standalone View
Standalone View
src/applications/project/state/PhabricatorWorkboardViewState.php
Show First 20 Lines • Show All 101 Lines • ▼ Show 20 Lines | final class PhabricatorWorkboardViewState | ||||
} | } | ||||
public function newWorkboardURI($path = null) { | public function newWorkboardURI($path = null) { | ||||
$project = $this->getProject(); | $project = $this->getProject(); | ||||
$uri = urisprintf('%p%p', $project->getWorkboardURI(), $path); | $uri = urisprintf('%p%p', $project->getWorkboardURI(), $path); | ||||
return $this->newURI($uri); | return $this->newURI($uri); | ||||
} | } | ||||
public function newURI($path, $force = false) { | public function newURI($path) { | ||||
$project = $this->getProject(); | $project = $this->getProject(); | ||||
$uri = new PhutilURI($path); | $uri = new PhutilURI($path); | ||||
$request_order = $this->getOrder(); | $request_order = $this->getOrder(); | ||||
$default_order = $this->getDefaultOrder(); | $default_order = $this->getDefaultOrder(); | ||||
if ($force || ($request_order !== $default_order)) { | if ($request_order !== $default_order) { | ||||
$request_value = idx($this->requestState, 'order'); | $request_value = idx($this->requestState, 'order'); | ||||
if ($request_value !== null) { | if ($request_value !== null) { | ||||
$uri->replaceQueryParam('order', $request_value); | $uri->replaceQueryParam('order', $request_value); | ||||
} else { | } else { | ||||
$uri->removeQueryParam('order'); | $uri->removeQueryParam('order'); | ||||
} | } | ||||
} else { | } else { | ||||
$uri->removeQueryParam('order'); | $uri->removeQueryParam('order'); | ||||
} | } | ||||
$request_query = $this->getQueryKey(); | $request_query = $this->getQueryKey(); | ||||
$default_query = $this->getDefaultQueryKey(); | $default_query = $this->getDefaultQueryKey(); | ||||
if ($force || ($request_query !== $default_query)) { | if ($request_query !== $default_query) { | ||||
$request_value = idx($this->requestState, 'filter'); | $request_value = idx($this->requestState, 'filter'); | ||||
if ($request_value !== null) { | if ($request_value !== null) { | ||||
$uri->replaceQueryParam('filter', $request_value); | $uri->replaceQueryParam('filter', $request_value); | ||||
} else { | } else { | ||||
$uri->removeQueryParam('filter'); | $uri->removeQueryParam('filter'); | ||||
} | } | ||||
} else { | } else { | ||||
$uri->removeQueryParam('filter'); | $uri->removeQueryParam('filter'); | ||||
▲ Show 20 Lines • Show All 154 Lines • Show Last 20 Lines |