| @@ -218,6 +218,7 @@ show_only_private = Showing only private | |||||
| show_only_public = Showing only public | show_only_public = Showing only public | ||||
| issues.in_your_repos = In your repositories | issues.in_your_repos = In your repositories | ||||
| contributors = Contributors | |||||
| [explore] | [explore] | ||||
| repos = Repositories | repos = Repositories | ||||
| @@ -755,6 +756,7 @@ unit_disabled = The site administrator has disabled this repository section. | |||||
| language_other = Other | language_other = Other | ||||
| datasets = Datasets | datasets = Datasets | ||||
| datasets.desc = Enable Dataset | datasets.desc = Enable Dataset | ||||
| cloudbrain_helper=Use GPU/NPU resources to open notebooks, model training tasks, etc. | |||||
| debug=Debug | debug=Debug | ||||
| stop=Stop | stop=Stop | ||||
| @@ -220,6 +220,8 @@ show_only_public=只显示公开的 | |||||
| issues.in_your_repos=属于该用户项目的 | issues.in_your_repos=属于该用户项目的 | ||||
| contributors=贡献者 | |||||
| [explore] | [explore] | ||||
| repos=项目 | repos=项目 | ||||
| users=用户 | users=用户 | ||||
| @@ -757,6 +759,7 @@ unit_disabled=站点管理员已禁用此项目单元。 | |||||
| language_other=其它 | language_other=其它 | ||||
| datasets=数据集 | datasets=数据集 | ||||
| datasets.desc=数据集功能 | datasets.desc=数据集功能 | ||||
| cloudbrain_helper=使用GPU/NPU资源,开启Notebook、模型训练任务等 | |||||
| debug=调试 | debug=调试 | ||||
| stop=停止 | stop=停止 | ||||
| @@ -2,8 +2,18 @@ | |||||
| <div class="repository commits"> | <div class="repository commits"> | ||||
| {{template "repo/header" .}} | {{template "repo/header" .}} | ||||
| <div class="ui container"> | <div class="ui container"> | ||||
| <h2 class="ui header">{{.DateFrom}} - {{.DateUntil}} | |||||
| <div class="ui right"> | |||||
| <div class="ui three column stackable grid" style="align-items: center;"> | |||||
| <div class="column"> | |||||
| <div class="ui breadcrumb"> | |||||
| <a class="section" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">{{.i18n.Tr "repo.code"}}</a> | |||||
| <div class="divider"> / </div> | |||||
| <div class="active section" href="{{.RepoLink}}/activity">{{.i18n.Tr "repo.activity"}}</div> | |||||
| </div> | |||||
| </div> | |||||
| <div class="column center aligned" style="font-weight: 800;"> | |||||
| {{.DateFrom}} - {{.DateUntil}} | |||||
| </div> | |||||
| <div class="column right aligned"> | |||||
| <!-- Period --> | <!-- Period --> | ||||
| <div class="ui floating dropdown jump filter"> | <div class="ui floating dropdown jump filter"> | ||||
| <div class="ui basic compact button"> | <div class="ui basic compact button"> | ||||
| @@ -23,7 +33,7 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </h2> | |||||
| </div> | |||||
| <div class="ui divider"></div> | <div class="ui divider"></div> | ||||
| {{if (or (.Permission.CanRead $.UnitTypeIssues) (.Permission.CanRead $.UnitTypePullRequests))}} | {{if (or (.Permission.CanRead $.UnitTypeIssues) (.Permission.CanRead $.UnitTypePullRequests))}} | ||||
| @@ -1,6 +1,49 @@ | |||||
| {{template "base/head" .}} | {{template "base/head" .}} | ||||
| <style> | |||||
| </style> | |||||
| <div class="repository watchers"> | <div class="repository watchers"> | ||||
| {{template "repo/header" .}} | {{template "repo/header" .}} | ||||
| {{template "repo/user_cards" .}} | |||||
| <div class="ui container"> | |||||
| <div class="row git-user-content"> | |||||
| <h3 class="ui header"> | |||||
| <div class="ui breadcrumb"> | |||||
| <a class="section" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">{{.i18n.Tr "repo.code"}}</a> | |||||
| <div class="divider"> / </div> | |||||
| <div class="active section" href="{{.RepoLink}}/releases">{{.i18n.Tr "home.contributors"}} ({{len .ContributorInfo}})</div> | |||||
| </div> | |||||
| </h3> | |||||
| <div class="ui horizontal relaxed list"> | |||||
| {{range .ContributorInfo}} | |||||
| <div class="item user-list-item" data-username="" > | |||||
| {{if .UserInfo}} | |||||
| <a href="{{AppSubUrl}}/{{.UserInfo.Name}}"><img class="ui avatar s16 image js-popover-card" src="{{.UserInfo.RelAvatarLink}}"></a> | |||||
| {{else if .Email}} | |||||
| <a href="mailto:{{.Email}}"><img class="ui avatar s16 image js-popover-card" avatar="{{.Email}}"></a> | |||||
| {{end}} | |||||
| <div class="content"> | |||||
| <div class="header" > | |||||
| {{if .UserInfo}} | |||||
| <a href="{{AppSubUrl}}/{{.UserInfo.Name}}">{{.UserInfo.Name}}</a> | |||||
| {{else if .Email}} | |||||
| <a href="mailto:{{.Email}}">{{.Email}}</a> | |||||
| {{end}} | |||||
| </div> | |||||
| <span class="commit-btn">Commits: {{.CommitCnt}}</span> | |||||
| </div> | |||||
| </div> | |||||
| {{end}} | |||||
| </div> | |||||
| {{template "base/paginate" .}} | |||||
| </div> | |||||
| </div> | |||||
| </div> | </div> | ||||
| {{template "base/footer" .}} | {{template "base/footer" .}} | ||||
| @@ -92,16 +92,27 @@ | |||||
| {{if not .Repository.IsBeingCreated}} | {{if not .Repository.IsBeingCreated}} | ||||
| <div class="ui tabular stackable menu navbar"> | <div class="ui tabular stackable menu navbar"> | ||||
| {{if .Permission.CanRead $.UnitTypeCode}} | {{if .Permission.CanRead $.UnitTypeCode}} | ||||
| <a class="{{if .PageIsViewCode}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}"> | |||||
| {{svg "octicon-code" 16}} {{.i18n.Tr "repo.code"}} | |||||
| <div class="dropdown-menu"> | |||||
| <a class="{{if or .PageIsViewCode .PageIsReleaseList .PageIsWiki .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}"> | |||||
| <span>{{svg "octicon-code" 16}} {{.i18n.Tr "repo.code"}} <i class="dropdown icon"></i></span> | |||||
| </a> | </a> | ||||
| {{end}} | |||||
| <div class="dropdown-content"> | |||||
| <a style="border: none;" class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases"> | |||||
| {{svg "octicon-tag" 16}} {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .NumReleases}}gray{{else}}blue{{end}} small label">{{.NumReleases}}</span> | |||||
| </a> | |||||
| <a style="border: none;" class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}> | |||||
| {{svg "octicon-book" 16}} {{.i18n.Tr "repo.wiki"}} | |||||
| </a> | |||||
| <a style="border: none;" class="{{if .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}/activity"> | |||||
| {{svg "octicon-pulse" 16}} {{.i18n.Tr "repo.activity"}} | |||||
| </a> | |||||
| {{if .Permission.CanRead $.UnitTypeDatasets}} | |||||
| <a class="{{if .PageIsDataset}}active{{end}} item" href="{{.RepoLink}}/datasets?type=0"> | |||||
| {{svg "octicon-inbox" 16}} {{.i18n.Tr "datasets"}} | |||||
| </a> | |||||
| </div> | |||||
| </div> | |||||
| {{end}} | {{end}} | ||||
| {{if .Permission.CanRead $.UnitTypeIssues}} | {{if .Permission.CanRead $.UnitTypeIssues}} | ||||
| <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues"> | <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues"> | ||||
| @@ -109,11 +120,11 @@ | |||||
| </a> | </a> | ||||
| {{end}} | {{end}} | ||||
| {{if .Permission.CanRead $.UnitTypeExternalTracker}} | |||||
| <!-- {{if .Permission.CanRead $.UnitTypeExternalTracker}} | |||||
| <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer"> | <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoExternalIssuesLink}}" target="_blank" rel="noopener noreferrer"> | ||||
| {{svg "octicon-link-external" 16}} {{.i18n.Tr "repo.issues"}} </span> | {{svg "octicon-link-external" 16}} {{.i18n.Tr "repo.issues"}} </span> | ||||
| </a> | </a> | ||||
| {{end}} | |||||
| {{end}} --> | |||||
| {{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}} | {{if and .Repository.CanEnablePulls (.Permission.CanRead $.UnitTypePullRequests)}} | ||||
| <a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls"> | <a class="{{if .PageIsPullList}}active{{end}} item" href="{{.RepoLink}}/pulls"> | ||||
| @@ -121,35 +132,22 @@ | |||||
| </a> | </a> | ||||
| {{end}} | {{end}} | ||||
| {{if and (.Permission.CanRead $.UnitTypeReleases) (not .IsEmptyRepo) }} | |||||
| <a class="{{if .PageIsReleaseList}}active{{end}} item" href="{{.RepoLink}}/releases"> | |||||
| {{svg "octicon-tag" 16}} {{.i18n.Tr "repo.releases"}} <span class="ui {{if not .NumReleases}}gray{{else}}blue{{end}} small label">{{.NumReleases}}</span> | |||||
| {{if .Permission.CanRead $.UnitTypeDatasets}} | |||||
| <a class="{{if .PageIsDataset}}active{{end}} item" href="{{.RepoLink}}/datasets?type=0"> | |||||
| {{svg "octicon-inbox" 16}} {{.i18n.Tr "datasets"}} | |||||
| </a> | </a> | ||||
| {{end}} | {{end}} | ||||
| {{if or (.Permission.CanRead $.UnitTypeWiki) (.Permission.CanRead $.UnitTypeExternalWiki)}} | |||||
| <a class="{{if .PageIsWiki}}active{{end}} item" href="{{.RepoLink}}/wiki" {{if (.Permission.CanRead $.UnitTypeExternalWiki)}} target="_blank" rel="noopener noreferrer" {{end}}> | |||||
| {{svg "octicon-book" 16}} {{.i18n.Tr "repo.wiki"}} | |||||
| </a> | |||||
| {{end}} | |||||
| {{if and (.Permission.CanReadAny $.UnitTypePullRequests $.UnitTypeIssues $.UnitTypeReleases) (not .IsEmptyRepo)}} | |||||
| <a class="{{if .PageIsActivity}}active{{end}} item" href="{{.RepoLink}}/activity"> | |||||
| {{svg "octicon-pulse" 16}} {{.i18n.Tr "repo.activity"}} | |||||
| </a> | |||||
| {{end}} | |||||
| {{if .Permission.CanRead $.UnitTypeCloudBrain}} | {{if .Permission.CanRead $.UnitTypeCloudBrain}} | ||||
| <a class="{{if .PageIsCloudBrain}}active{{end}} item" href="{{.RepoLink}}/cloudbrain"> | <a class="{{if .PageIsCloudBrain}}active{{end}} item" href="{{.RepoLink}}/cloudbrain"> | ||||
| {{svg "octicon-server" 16}} {{.i18n.Tr "repo.cloudbrain"}} | |||||
| <span>{{svg "octicon-server" 16}} {{.i18n.Tr "repo.cloudbrain"}}<i class="question circle icon link cloudbrain-question" data-content={{.i18n.Tr "repo.cloudbrain_helper"}} data-position="top center" data-variation="mini"></i></span> | |||||
| </a> | </a> | ||||
| {{end}} | {{end}} | ||||
| {{if .IsSigned}} | |||||
| <!-- {{if .IsSigned}} | |||||
| <a class="{{if .PageIsBlockChain}}active{{end}} item " href="{{.RepoLink}}/blockchain"> | <a class="{{if .PageIsBlockChain}}active{{end}} item " href="{{.RepoLink}}/blockchain"> | ||||
| {{svg "octicon-law" 16}} | {{svg "octicon-law" 16}} | ||||
| {{.i18n.Tr "repo.balance"}} | {{.i18n.Tr "repo.balance"}} | ||||
| </a> | </a> | ||||
| {{end}} | |||||
| {{end}} --> | |||||
| {{template "custom/extra_tabs" .}} | {{template "custom/extra_tabs" .}} | ||||
| @@ -243,4 +241,9 @@ | |||||
| window.location.href = repolink + "/datasets?type=" + checked_radio | window.location.href = repolink + "/datasets?type=" + checked_radio | ||||
| }) | }) | ||||
| }) | }) | ||||
| $('.question.circle.icon').hover(function(){ | |||||
| $(this).popup('show') | |||||
| $('.ui.popup.mini.top.center').css({"border-color":'rgba(50, 145, 248, 100)',"color":"rgba(3, 102, 214, 100)","border-radius":"5px"}) | |||||
| }); | |||||
| </script> | </script> | ||||
| @@ -331,7 +331,7 @@ | |||||
| <h4 class="ui header"> | <h4 class="ui header"> | ||||
| <strong>贡献者 ({{len .ContributorInfo}})</strong> | <strong>贡献者 ({{len .ContributorInfo}})</strong> | ||||
| <div class="ui right"> | <div class="ui right"> | ||||
| <a class="membersmore text grey" href="javascript:;">全部 {{svg "octicon-chevron-right" 16}}</a> | |||||
| <a class="membersmore text grey" href="{{.RepoLink}}/contributors">全部 {{svg "octicon-chevron-right" 16}}</a> | |||||
| </div> | </div> | ||||
| </h4> | </h4> | ||||
| <div class="ui members" id="contributorInfo"> | <div class="ui members" id="contributorInfo"> | ||||
| @@ -353,10 +353,10 @@ | |||||
| </div> | </div> | ||||
| <script type="text/javascript"> | <script type="text/javascript"> | ||||
| $(document).ready(function(){ | |||||
| $(".membersmore").click(function(){ | |||||
| $("#contributorInfo > a:nth-child(n+25)").show(); | |||||
| }); | |||||
| }); | |||||
| // $(document).ready(function(){ | |||||
| // $(".membersmore").click(function(){ | |||||
| // $("#contributorInfo > a:nth-child(n+25)").show(); | |||||
| // }); | |||||
| // }); | |||||
| </script> | </script> | ||||
| {{template "base/footer" .}} | {{template "base/footer" .}} | ||||
| @@ -4,7 +4,11 @@ | |||||
| <div class="ui container"> | <div class="ui container"> | ||||
| {{template "base/alert" .}} | {{template "base/alert" .}} | ||||
| <h2 class="ui header"> | <h2 class="ui header"> | ||||
| {{.i18n.Tr "repo.release.releases"}} | |||||
| <div class="ui breadcrumb"> | |||||
| <a class="section" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">{{.i18n.Tr "repo.code"}}</a> | |||||
| <div class="divider"> / </div> | |||||
| <div class="active section" href="{{.RepoLink}}/releases">{{.i18n.Tr "repo.releases"}}</div> | |||||
| </div> | |||||
| {{if .CanCreateRelease}} | {{if .CanCreateRelease}} | ||||
| <div class="ui right"> | <div class="ui right"> | ||||
| <a class="ui small green button" href="{{$.RepoLink}}/releases/new"> | <a class="ui small green button" href="{{$.RepoLink}}/releases/new"> | ||||
| @@ -2,6 +2,13 @@ | |||||
| <div class="repository wiki start"> | <div class="repository wiki start"> | ||||
| {{template "repo/header" .}} | {{template "repo/header" .}} | ||||
| <div class="ui container"> | <div class="ui container"> | ||||
| <h2 class="ui header"> | |||||
| <div class="ui breadcrumb"> | |||||
| <a class="section" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">{{.i18n.Tr "repo.code"}}</a> | |||||
| <div class="divider"> / </div> | |||||
| <div class="active section" href="{{.RepoLink}}/wiki">{{.i18n.Tr "repo.wiki"}}</div> | |||||
| </div> | |||||
| </h2> | |||||
| <div class="ui center segment"> | <div class="ui center segment"> | ||||
| {{svg "octicon-book" 32}} | {{svg "octicon-book" 32}} | ||||
| <h2>{{.i18n.Tr "repo.wiki.welcome"}}</h2> | <h2>{{.i18n.Tr "repo.wiki.welcome"}}</h2> | ||||
| @@ -3,6 +3,14 @@ | |||||
| {{template "repo/header" .}} | {{template "repo/header" .}} | ||||
| {{ $title := .title}} | {{ $title := .title}} | ||||
| <div class="ui container"> | <div class="ui container"> | ||||
| <h2 class="ui header"> | |||||
| <div class="ui breadcrumb"> | |||||
| <a class="section" href="{{.RepoLink}}{{if (ne .BranchName .Repository.DefaultBranch)}}/src/{{.BranchNameSubURL | EscapePound}}{{end}}">{{.i18n.Tr "repo.code"}}</a> | |||||
| <div class="divider"> / </div> | |||||
| <div class="active section" href="{{.RepoLink}}/wiki">{{.i18n.Tr "repo.wiki"}}</div> | |||||
| </div> | |||||
| </h2> | |||||
| <div class="ui divider"></div> | |||||
| <div class="ui stackable grid"> | <div class="ui stackable grid"> | ||||
| <div class="ui ten wide column"> | <div class="ui ten wide column"> | ||||
| <div class="choose page"> | <div class="choose page"> | ||||
| @@ -28,7 +36,7 @@ | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="ui six wide column"> | |||||
| <div class="ui six wide column right aligned"> | |||||
| <div class="ui action small input" id="clone-panel"> | <div class="ui action small input" id="clone-panel"> | ||||
| {{if not $.DisableHTTP}} | {{if not $.DisableHTTP}} | ||||
| <button class="ui basic clone button" id="repo-clone-https" data-link="{{.WikiCloneLink.HTTPS}}"> | <button class="ui basic clone button" id="repo-clone-https" data-link="{{.WikiCloneLink.HTTPS}}"> | ||||
| @@ -1,9 +1,9 @@ | |||||
| <template> | <template> | ||||
| <div> | <div> | ||||
| <h4 id="about-desc" class="ui header">简介 | |||||
| <!-- <a class="edit-icon" href="javascript:void(0)" @click="editClick"> | |||||
| <i class="gray edit outline icon"></i> | |||||
| </a> --> | |||||
| <h4 id="about-desc" class="ui header desc-home">简介 | |||||
| <a class="edit-icon" href="javascript:void(0)" @click="editClick"> | |||||
| <i class="gray edit outline icon" style="margin-right: 0;"></i> | |||||
| </a> | |||||
| </h4> | </h4> | ||||
| <edit-dialog-cmpt | <edit-dialog-cmpt | ||||
| :vmContext="vmContext" | :vmContext="vmContext" | ||||
| @@ -11,8 +11,8 @@ | |||||
| v-model="editDataDialog" | v-model="editDataDialog" | ||||
| :deleteCallback="editDataFunc" | :deleteCallback="editDataFunc" | ||||
| :deleteLoading ="editDataListLoading" | :deleteLoading ="editDataListLoading" | ||||
| deleteParam = "ruleForm" | |||||
| @input="initForm" | |||||
| deleteParam = "ruleForm" | |||||
| @input="initForm" | |||||
| > | > | ||||
| <div slot="title"> | <div slot="title"> | ||||
| @@ -20,7 +20,7 @@ | |||||
| <div slot="content"> | <div slot="content"> | ||||
| <el-form label-position="top" :model="info" :rules="rule" ref="ruleForm"> | <el-form label-position="top" :model="info" :rules="rule" ref="ruleForm"> | ||||
| <el-form-item label="简介" prop="desc"> | <el-form-item label="简介" prop="desc"> | ||||
| <el-input v-model="info.desc" type="textarea" :autosize="{minRows:2,maxRows:6}"></el-input> | |||||
| <el-input v-model="info.desc" type="textarea" placeholder="请输入内容" :autosize="{minRows:4,maxRows:6}" maxlength="255" show-word-limit></el-input> | |||||
| </el-form-item> | </el-form-item> | ||||
| <el-form-item label="主页" prop="index_web" > | <el-form-item label="主页" prop="index_web" > | ||||
| <el-input v-model="info.index_web" placeholder="主页(eg: https://git.openi.org.cn)"></el-input> | <el-input v-model="info.index_web" placeholder="主页(eg: https://git.openi.org.cn)"></el-input> | ||||
| @@ -79,7 +79,6 @@ export default { | |||||
| }, | }, | ||||
| initForm(diaolog) { | initForm(diaolog) { | ||||
| if (diaolog === false) { | if (diaolog === false) { | ||||
| console.log("--watch----------") | |||||
| this.getRepoName(); | this.getRepoName(); | ||||
| this.getDesc(); | this.getDesc(); | ||||
| this.getWeb(); | this.getWeb(); | ||||
| @@ -133,12 +132,11 @@ export default { | |||||
| <style scoped> | <style scoped> | ||||
| .edit-icon{ | .edit-icon{ | ||||
| float: right; | |||||
| font-size: 16px; | |||||
| display: block; | |||||
| top: -2px; | |||||
| color: #8c92a4; | color: #8c92a4; | ||||
| background-color: transparent; | |||||
| } | |||||
| } | |||||
| .desc-home{ | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| } | |||||
| </style> | </style> | ||||
| @@ -14,8 +14,8 @@ | |||||
| <slot name="content"></slot> | <slot name="content"></slot> | ||||
| <div slot="footer" class="dialog-footer"> | <div slot="footer" class="dialog-footer"> | ||||
| <el-button @click="deleteDialog = false">{{"取消"}}</el-button> | |||||
| <el-button type="primary" @click="deleteCallback.call(vmContext,deleteParam)">{{"确定"}}</el-button> | |||||
| <el-button size="small" @click="deleteDialog = false">{{"取消"}}</el-button> | |||||
| <el-button size="small" style="background-color: #21ba45;color: #fff;" @click="deleteCallback.call(vmContext,deleteParam)">{{"确定"}}</el-button> | |||||
| </div> | </div> | ||||
| </el-dialog> | </el-dialog> | ||||
| </template> | </template> | ||||
| @@ -80,26 +80,31 @@ export default { | |||||
| .message-box__content .message-box-title{font-size:16px;padding:2px 0;color:#333;} | .message-box__content .message-box-title{font-size:16px;padding:2px 0;color:#333;} | ||||
| .message-box__content .message-box-p{font-size:16px;padding:20px 0;color:#333;} | .message-box__content .message-box-p{font-size:16px;padding:20px 0;color:#333;} | ||||
| .message-box__content .message-box-info{color:#999;padding:2px 0;} | .message-box__content .message-box-info{color:#999;padding:2px 0;} | ||||
| .dialog-footer,.el-message-box__btns{text-align:center;} | |||||
| /deep/ .el-dialog__body{ | |||||
| padding: 1rem; | |||||
| } | |||||
| /deep/ .el-dialog__header { | /deep/ .el-dialog__header { | ||||
| background: #0067b3; | |||||
| padding: 12px 30px; | |||||
| line-height: 25px;} | |||||
| background: #f0f0f0; | |||||
| padding: 1rem; | |||||
| } | |||||
| /deep/ .el-dialog__title { | /deep/ .el-dialog__title { | ||||
| font-family: PingFangSC-Regular; | font-family: PingFangSC-Regular; | ||||
| font-size: 18px; | |||||
| color: #fff; | |||||
| font-size: 1.28571429rem; | |||||
| color: rgba(0,0,0,.87); | |||||
| font-weight: 200; | font-weight: 200; | ||||
| line-height: 25px; | line-height: 25px; | ||||
| height: 25px; | height: 25px; | ||||
| } | } | ||||
| /deep/ .el-dialog__footer { | /deep/ .el-dialog__footer { | ||||
| background: #eff3f9; | background: #eff3f9; | ||||
| padding: 20px 30px; | |||||
| padding: 1rem; | |||||
| } | } | ||||
| /deep/ .el-dialog{ | /deep/ .el-dialog{ | ||||
| width: 40%; | |||||
| width: 30%; | |||||
| } | |||||
| /deep/ .el-form-item__label{ | |||||
| padding: 0; | |||||
| } | } | ||||
| </style> | </style> | ||||
| @@ -0,0 +1,74 @@ | |||||
| /** | |||||
| * LetterAvatar | |||||
| * | |||||
| * Artur Heinze | |||||
| * Create Letter avatar based on Initials | |||||
| * based on https://gist.github.com/leecrossley/6027780 | |||||
| */ | |||||
| (function(w, d){ | |||||
| function LetterAvatar (name, size, color) { | |||||
| name = name || ''; | |||||
| size = size || 60; | |||||
| var colours = [ | |||||
| "#1abc9c", "#2ecc71", "#3498db", "#9b59b6", "#34495e", "#16a085", "#27ae60", "#2980b9", "#8e44ad", "#2c3e50", | |||||
| "#f1c40f", "#e67e22", "#e74c3c", "#00bcd4", "#95a5a6", "#f39c12", "#d35400", "#c0392b", "#bdc3c7", "#7f8c8d" | |||||
| ], | |||||
| nameSplit = String(name).split(' '), | |||||
| initials, charIndex, colourIndex, canvas, context, dataURI; | |||||
| if (nameSplit.length == 1) { | |||||
| initials = nameSplit[0] ? nameSplit[0].charAt(0):'?'; | |||||
| } else { | |||||
| initials = nameSplit[0].charAt(0) + nameSplit[1].charAt(0); | |||||
| } | |||||
| if (w.devicePixelRatio) { | |||||
| size = (size * w.devicePixelRatio); | |||||
| } | |||||
| charIndex = (initials == '?' ? 72 : initials.charCodeAt(0)) - 64; | |||||
| colourIndex = charIndex % 20; | |||||
| canvas = d.createElement('canvas'); | |||||
| canvas.width = size; | |||||
| canvas.height = size; | |||||
| context = canvas.getContext("2d"); | |||||
| context.fillStyle = color ? color : colours[colourIndex - 1]; | |||||
| context.fillRect (0, 0, canvas.width, canvas.height); | |||||
| context.font = Math.round(canvas.width/2)+"px 'Microsoft Yahei'"; | |||||
| context.textAlign = "center"; | |||||
| context.fillStyle = "#FFF"; | |||||
| context.fillText(initials, size / 2, size / 1.5); | |||||
| dataURI = canvas.toDataURL(); | |||||
| canvas = null; | |||||
| return dataURI; | |||||
| } | |||||
| LetterAvatar.transform = function() { | |||||
| Array.prototype.forEach.call(d.querySelectorAll('img[avatar]'), function(img, name, color) { | |||||
| name = img.getAttribute('avatar'); | |||||
| color = img.getAttribute('color'); | |||||
| img.src = LetterAvatar(name, img.getAttribute('width'), color); | |||||
| img.removeAttribute('avatar'); | |||||
| img.setAttribute('alt', name); | |||||
| }); | |||||
| }; | |||||
| // AMD support | |||||
| if (typeof define === 'function' && define.amd) { | |||||
| define(function () { return LetterAvatar; }); | |||||
| // CommonJS and Node.js module support. | |||||
| } else if (typeof exports !== 'undefined') { | |||||
| // Support Node.js specific `module.exports` (which can be a function) | |||||
| if (typeof module != 'undefined' && module.exports) { | |||||
| exports = module.exports = LetterAvatar; | |||||
| } | |||||
| // But always support CommonJS module 1.1.1 spec (`exports` cannot be a function) | |||||
| exports.LetterAvatar = LetterAvatar; | |||||
| } else { | |||||
| window.LetterAvatar = LetterAvatar; | |||||
| d.addEventListener('DOMContentLoaded', function(event) { | |||||
| LetterAvatar.transform(); | |||||
| }); | |||||
| } | |||||
| })(window, document); | |||||
| @@ -4,7 +4,7 @@ | |||||
| import './publicpath.js'; | import './publicpath.js'; | ||||
| import './polyfills.js'; | import './polyfills.js'; | ||||
| import './features/letteravatar.js' | |||||
| import Vue from 'vue'; | import Vue from 'vue'; | ||||
| import ElementUI from 'element-ui'; | import ElementUI from 'element-ui'; | ||||
| import 'element-ui/lib/theme-chalk/index.css'; | import 'element-ui/lib/theme-chalk/index.css'; | ||||
| @@ -243,4 +243,77 @@ footer .column{margin-bottom:0!important; padding-bottom:0!important;} | |||||
| display: inline-block; | display: inline-block; | ||||
| width: 100%; | width: 100%; | ||||
| } | } | ||||
| .git-user-content{ | |||||
| margin-bottom: 16px; | |||||
| word-break: break-all; | |||||
| } | |||||
| .row.git-user-content .ui.avatar.s16.image { | |||||
| width: 50px !important; | |||||
| height: 50px !important; | |||||
| vertical-align: middle; | |||||
| border-radius: 500rem;} | |||||
| .user-list-item { | |||||
| padding: 0.3em 0px !important; | |||||
| margin: 15px 0 !important; | |||||
| width: 220px !important; | |||||
| } | |||||
| .row.git-user-content .content { | |||||
| margin-left: 6px; | |||||
| display: inline-block; | |||||
| vertical-align: top !important; | |||||
| overflow: hidden; | |||||
| } | |||||
| .row.git-user-content .content .header { | |||||
| font-weight: bold; | |||||
| } | |||||
| .item.user-list-item .header { | |||||
| line-height: 23px !important; | |||||
| font-size: 16px !important; | |||||
| text-overflow: ellipsis; | |||||
| overflow: hidden; | |||||
| width: 145px; | |||||
| white-space:nowrap; | |||||
| } | |||||
| .item.user-list-item .header a { | |||||
| color: #587284 !important; | |||||
| } | |||||
| .row.git-user-content .content .commit-btn { | |||||
| margin-top: 6px; | |||||
| float: left; | |||||
| font-size: 11px; | |||||
| color: #40485b !important; | |||||
| } | |||||
| .dropdown-menu { | |||||
| position: relative; | |||||
| display: inline-block; | |||||
| margin-top: 4px; | |||||
| } | |||||
| .dropdown-menu:hover .dropdown-content { | |||||
| display: block; | |||||
| } | |||||
| .dropdown-content{ | |||||
| display: none; | |||||
| position: absolute; | |||||
| background-color: #ffffff; | |||||
| min-width: 160px; | |||||
| z-index: 999; | |||||
| border: 1px solid transparent; | |||||
| border-color: #d4d4d5; | |||||
| border-top: none; | |||||
| } | |||||
| .dropdown-content a { | |||||
| color: black; | |||||
| padding: 12px 16px; | |||||
| text-decoration: none; | |||||
| display: block; | |||||
| } | |||||
| .dropdown-content a:hover {background-color: #f1f1f1} | |||||
| .cloudbrain-question{ | |||||
| margin-left: 4px !important; | |||||
| color: #3291F8; | |||||
| } | |||||