* Refactor view and browse of store.

This commit is contained in:
zhaoke
2023-08-03 14:04:05 +08:00
parent 669d4f3b02
commit ba8cd0be5c
21 changed files with 188 additions and 52 deletions
+6 -2
View File
@@ -100,6 +100,8 @@ class space extends control
*/
public function createApplication($appID = 0)
{
if(!commonModel::hasPriv('instance', 'create')) $this->loadModel('common')->deny('instance', 'create', false);
$this->app->loadLang('sonarqube');
$this->app->loadLang('jenkins');
$this->loadModel('cne');
@@ -111,13 +113,15 @@ class space extends control
$apps[$app->id] = $app->alias;
}
$mysqlList = $this->cne->sharedDBList('mysql');
$pgList = $this->cne->sharedDBList('postgresql');
$mysqlList = $this->cne->sharedDBList('mysql');
$pgList = $this->cne->sharedDBList('postgresql');
$versionList = $this->store->getVersionPairs($appID);
$this->view->apps = $apps;
$this->view->appID = $appID;
$this->view->pgList = $pgList;
$this->view->mysqlList = $mysqlList;
$this->view->versionList = $versionList;
$this->view->addType = empty($appID) ? 'external' : 'store';
$this->view->thirdDomain = $this->loadModel('instance')->randThirdDomain();
$this->display();
+1 -1
View File
@@ -12,7 +12,7 @@ function onChangeType(event)
{
$('.storePanel').removeClass('hidden');
$('.externalPanel').addClass('hidden');
$('#storetype_store').prop('checked', true);
$('#type_store').prop('checked', true);
}
}
+11 -2
View File
@@ -10,7 +10,9 @@ declare(strict_types=1);
*/
namespace zin;
$statusMap = array();
$statusMap = array();
$canInstall = hasPriv('instance', 'create');
foreach($instances as $instance) if(!$instance->externalID) $statusMap[$instance->id] = $instance->status;
jsVar('statusMap', $statusMap);
jsVar('idList', array_keys($statusMap));
@@ -25,7 +27,14 @@ featureBar
toolBar
(
hasPriv('instance', 'create') ? item(set(array
$canInstall ? item(set(array
(
'text' => $lang->store->cloudStore,
'icon' => 'program',
'class' => 'btn ghost',
'url' => createLink('store', 'browse'),
))) : null,
$canInstall ? item(set(array
(
'text' => $lang->space->install,
'icon' => 'plus',
+50 -26
View File
@@ -104,35 +104,64 @@ formPanel
setClass('storePanel' . ($appID ? '' : ' hidden')),
set::id('createStoreAppForm'),
set::title($lang->space->install),
formGroup
formRow
(
setStyle('display', $appID ? 'block' : 'none'),
formGroup
(
set::width('1/2'),
set::label($lang->instance->name),
set::name('customName'),
set::control('input'),
set::value($appID ? $apps[$appID] : ''),
set::required(true),
)
),
formRow
(
setStyle('display', $appID ? 'none' : 'block'),
formGroup
(
set::width('1/2'),
set::label($lang->app->common),
set::name('storeAppType'),
set::items($apps),
set::value($appID),
set::disabled(!!$appID),
set::required(true),
on::change('onChangeStoreAppType'),
)
),
formRow
(
setStyle('display', $appID ? 'none' : 'block'),
formGroup
(
set::label($lang->space->addType),
set::name('type'),
set::value('store'),
set::disabled(!!$appID),
set::control('radioListInline'),
set::items(array(array('text' => $lang->store->common, 'value' => 'store'), array('text' => $lang->space->handConfig, 'value' => 'external'))),
set::required(true),
on::change('onChangeType'),
)
),
$showVersion ? formGroup
(
set::width('1/2'),
set::label($lang->app->common),
set::name('storeAppType'),
set::items($apps),
set::value($appID),
set::disabled(!!$appID),
set::label($lang->instance->version),
set::name('version'),
set::required(true),
on::change('onChangeStoreAppType'),
),
formGroup
(
set::label($lang->space->addType),
set::name('storetype'),
set::value($addType),
set::disabled(!!$appID),
set::control('radioListInline'),
set::items(array(array('text' => $lang->store->common, 'value' => 'store'), array('text' => $lang->space->handConfig, 'value' => 'external'))),
set::required(true),
on::change('onChangeType'),
),
formGroup
set::control('picker'),
set::items($versionList)
) : formGroup
(
set::width('1/2'),
set::label($lang->instance->version),
set::name('app_version'),
set::readonly(!$showVersion),
set::required(true),
set::readonly(true),
input
(
set::type('hidden'),
@@ -154,11 +183,6 @@ formPanel
set::name('customDomain'),
set::value($thirdDomain),
),
input
(
set::type('hidden'),
set::name('customName'),
),
$this->cne->sysDomain(),
),
),