diff options
Diffstat (limited to 'app/assets/javascripts/environments/components/environment_actions.js')
-rw-r--r-- | app/assets/javascripts/environments/components/environment_actions.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/app/assets/javascripts/environments/components/environment_actions.js b/app/assets/javascripts/environments/components/environment_actions.js new file mode 100644 index 00000000000..15e3f8823d2 --- /dev/null +++ b/app/assets/javascripts/environments/components/environment_actions.js @@ -0,0 +1,41 @@ +const Vue = require('vue'); +const playIconSvg = require('icons/_icon_play.svg'); + +module.exports = Vue.component('actions-component', { + props: { + actions: { + type: Array, + required: false, + default: () => [], + }, + }, + + data() { + return { playIconSvg }; + }, + + template: ` + <div class="btn-group" role="group"> + <button class="dropdown btn btn-default dropdown-new" data-toggle="dropdown"> + <span> + <span class="js-dropdown-play-icon-container" v-html="playIconSvg"></span> + <i class="fa fa-caret-down"></i> + </span> + + <ul class="dropdown-menu dropdown-menu-align-right"> + <li v-for="action in actions"> + <a :href="action.play_path" + data-method="post" + rel="nofollow" + class="js-manual-action-link"> + ${playIconSvg} + <span> + {{action.name}} + </span> + </a> + </li> + </ul> + </button> + </div> + `, +}); |