mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Attach a tooltip to the action status icon (#24614)
To clearly communicate the current state of the action       --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com>
This commit is contained in:
		@@ -2,12 +2,14 @@
 | 
			
		||||
    Please also update the template file above if this vue is modified.
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <SvgIcon name="octicon-check-circle-fill" class="text green" :size="size" :class-name="className" v-if="status === 'success'"/>
 | 
			
		||||
  <SvgIcon name="octicon-skip" class="text grey" :size="size" :class-name="className" v-else-if="status === 'skipped'"/>
 | 
			
		||||
  <SvgIcon name="octicon-clock" class="text yellow" :size="size" :class-name="className" v-else-if="status === 'waiting'"/>
 | 
			
		||||
  <SvgIcon name="octicon-blocked" class="text yellow" :size="size" :class-name="className" v-else-if="status === 'blocked'"/>
 | 
			
		||||
  <SvgIcon name="octicon-meter" class="text yellow" :size="size" :class-name="'job-status-rotate ' + className" v-else-if="status === 'running'"/>
 | 
			
		||||
  <SvgIcon name="octicon-x-circle-fill" class="text red" :size="size" v-else/>
 | 
			
		||||
  <span :data-tooltip-content="localeStatus">
 | 
			
		||||
    <SvgIcon name="octicon-check-circle-fill" class="text green" :size="size" :class-name="className" v-if="status === 'success'"/>
 | 
			
		||||
    <SvgIcon name="octicon-skip" class="text grey" :size="size" :class-name="className" v-else-if="status === 'skipped'"/>
 | 
			
		||||
    <SvgIcon name="octicon-clock" class="text yellow" :size="size" :class-name="className" v-else-if="status === 'waiting'"/>
 | 
			
		||||
    <SvgIcon name="octicon-blocked" class="text yellow" :size="size" :class-name="className" v-else-if="status === 'blocked'"/>
 | 
			
		||||
    <SvgIcon name="octicon-meter" class="text yellow" :size="size" :class-name="'job-status-rotate ' + className" v-else-if="status === 'running'"/>
 | 
			
		||||
    <SvgIcon name="octicon-x-circle-fill" class="text red" :size="size" v-else/>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
@@ -27,6 +29,10 @@ export default {
 | 
			
		||||
    className: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: ''
 | 
			
		||||
    },
 | 
			
		||||
    localeStatus: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: ''
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
  <div class="action-view-container">
 | 
			
		||||
    <div class="action-view-header">
 | 
			
		||||
      <div class="action-info-summary gt-ac">
 | 
			
		||||
        <ActionRunStatus :status="run.status" :size="20"/>
 | 
			
		||||
        <ActionRunStatus :locale-status="locale.status[run.status]" :status="run.status" :size="20"/>
 | 
			
		||||
        <div class="action-title">
 | 
			
		||||
          {{ run.title }}
 | 
			
		||||
        </div>
 | 
			
		||||
@@ -32,7 +32,7 @@
 | 
			
		||||
          <div class="job-brief-list">
 | 
			
		||||
            <div class="job-brief-item" v-for="(job, index) in run.jobs" :key="job.id">
 | 
			
		||||
              <a class="job-brief-link" :href="run.link+'/jobs/'+index">
 | 
			
		||||
                <ActionRunStatus :status="job.status"/>
 | 
			
		||||
                <ActionRunStatus :locale-status="locale.status[job.status]" :status="job.status"/>
 | 
			
		||||
                <span class="ui text gt-mx-3">{{ job.name }}</span>
 | 
			
		||||
              </a>
 | 
			
		||||
              <span class="step-summary-duration">{{ job.duration }}</span>
 | 
			
		||||
@@ -319,6 +319,16 @@ export function initRepositoryActionView() {
 | 
			
		||||
      approve: el.getAttribute('data-locale-approve'),
 | 
			
		||||
      cancel: el.getAttribute('data-locale-cancel'),
 | 
			
		||||
      rerun: el.getAttribute('data-locale-rerun'),
 | 
			
		||||
      status: {
 | 
			
		||||
        unknown: el.getAttribute('data-locale-status-unknown'),
 | 
			
		||||
        waiting: el.getAttribute('data-locale-status-waiting'),
 | 
			
		||||
        running: el.getAttribute('data-locale-status-running'),
 | 
			
		||||
        success: el.getAttribute('data-locale-status-success'),
 | 
			
		||||
        failure: el.getAttribute('data-locale-status-failure'),
 | 
			
		||||
        cancelled: el.getAttribute('data-locale-status-cancelled'),
 | 
			
		||||
        skipped: el.getAttribute('data-locale-status-skipped'),
 | 
			
		||||
        blocked: el.getAttribute('data-locale-status-blocked'),
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
  view.mount(el);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user