diff --git a/module/gitea/css/binduser.ui.css b/module/gitea/css/binduser.ui.css new file mode 100644 index 0000000000..08b900dbb6 --- /dev/null +++ b/module/gitea/css/binduser.ui.css @@ -0,0 +1 @@ +#featureBar {display: flex; gap: 1rem;} diff --git a/module/gitea/js/binduser.ui.js b/module/gitea/js/binduser.ui.js new file mode 100644 index 0000000000..d1537ecfb7 --- /dev/null +++ b/module/gitea/js/binduser.ui.js @@ -0,0 +1,16 @@ +window.setUserEmail = function() +{ + let email = ''; + const account = $(this).val(); + if(account && zentaoUsers[account]) email = zentaoUsers[account].email; + + $(this).closest('.dtable-cell').prev().find('.dtable-cell-content').text(email); +} + +window.renderGitlabUser = function(result, {row}) +{ + const giteaID = row.data.giteaID; + result.push({html: ``}); + + return result; +} diff --git a/module/gitea/ui/binduser.html.php b/module/gitea/ui/binduser.html.php new file mode 100644 index 0000000000..1688b2830f --- /dev/null +++ b/module/gitea/ui/binduser.html.php @@ -0,0 +1,61 @@ + + * @package gitea + * @link http://www.zentao.net + */ + +namespace zin; + +/* zin: Define the set::module('compile') feature bar on main menu. */ +featureBar +( + to::leading(array(backBtn(set::icon('back'), set::class('secondary'), $lang->goback))), + set::current($type), + set::link($this->createLink('gitea', 'binduser', "giteaID=$giteaID&type={key}")), +); + +/* zin: Define the toolbar on main menu. */ +toolbar(); + +jsVar('zentaoUsers', $zentaoUsers); +$config->gitea->dtable->bindUser->fieldList['giteaEmail']['onRenderCell'] = jsRaw('renderGitlabUser'); +$config->gitea->dtable->bindUser->fieldList['zentaoUsers']['controlItems'] = $userPairs; +form +( + setID('bindForm'), + setClass('mb-4 h-full'), + set::action(createLink('gitea', 'bindUser', "giteaID={$giteaID}")), + set::actions(array()), + on::change('input[name^="zentaoUsers"]', 'setUserEmail'), + dtable + ( + set::cols($config->gitea->dtable->bindUser->fieldList), + set::data($userList), + set::plugins(array('form')), + set::rowHeight(50), + set::showToolbarOnChecked(false), + set::footer(array('toolbar')), + set::rowKey('giteaID'), + set::footToolbar(array( + 'className' => 'w-full form-actions form-group no-label', + 'items' => array( + array( + 'text' => $lang->save, + 'btnType' => 'primary', + 'onClick' => jsRaw("() => {\$('#bindForm').trigger('submit')}") + ), + array( + 'text' => $lang->goback, + 'btnType' => 'info', + 'onClick' => jsRaw('() => {goBack()}'), + ) + ) + )), + ) +); diff --git a/module/gogs/css/binduser.ui.css b/module/gogs/css/binduser.ui.css new file mode 100644 index 0000000000..08b900dbb6 --- /dev/null +++ b/module/gogs/css/binduser.ui.css @@ -0,0 +1 @@ +#featureBar {display: flex; gap: 1rem;} diff --git a/module/gogs/js/binduser.ui.js b/module/gogs/js/binduser.ui.js new file mode 100644 index 0000000000..ed226f7fd7 --- /dev/null +++ b/module/gogs/js/binduser.ui.js @@ -0,0 +1,16 @@ +window.setUserEmail = function() +{ + let email = ''; + const account = $(this).val(); + if(account && zentaoUsers[account]) email = zentaoUsers[account].email; + + $(this).closest('.dtable-cell').prev().find('.dtable-cell-content').text(email); +} + +window.renderGitlabUser = function(result, {row}) +{ + const gogsID = row.data.gogsID; + result.push({html: ``}); + + return result; +} diff --git a/module/gogs/ui/binduser.html.php b/module/gogs/ui/binduser.html.php new file mode 100644 index 0000000000..311b44d89e --- /dev/null +++ b/module/gogs/ui/binduser.html.php @@ -0,0 +1,61 @@ + + * @package gogs + * @link http://www.zentao.net + */ + +namespace zin; + +/* zin: Define the set::module('compile') feature bar on main menu. */ +featureBar +( + to::leading(array(backBtn(set::icon('back'), set::class('secondary'), $lang->goback))), + set::current($type), + set::link($this->createLink('gogs', 'binduser', "gogsID=$gogsID&type={key}")), +); + +/* zin: Define the toolbar on main menu. */ +toolbar(); + +jsVar('zentaoUsers', $zentaoUsers); +$config->gogs->dtable->bindUser->fieldList['gogsEmail']['onRenderCell'] = jsRaw('renderGitlabUser'); +$config->gogs->dtable->bindUser->fieldList['zentaoUsers']['controlItems'] = $userPairs; +form +( + setID('bindForm'), + setClass('mb-4 h-full'), + set::action(createLink('gogs', 'bindUser', "gogsID={$gogsID}")), + set::actions(array()), + on::change('input[name^="zentaoUsers"]', 'setUserEmail'), + dtable + ( + set::cols($config->gogs->dtable->bindUser->fieldList), + set::data($userList), + set::plugins(array('form')), + set::rowHeight(50), + set::showToolbarOnChecked(false), + set::footer(array('toolbar')), + set::rowKey('gogsID'), + set::footToolbar(array( + 'className' => 'w-full form-actions form-group no-label', + 'items' => array( + array( + 'text' => $lang->save, + 'btnType' => 'primary', + 'onClick' => jsRaw("() => {\$('#bindForm').trigger('submit')}") + ), + array( + 'text' => $lang->goback, + 'btnType' => 'info', + 'onClick' => jsRaw('() => {goBack()}'), + ) + ) + )), + ) +);