import Vue from 'vue'
import {array ,object, withKnobs} from '@storybook/addon-knobs'
import { Rundeck, TokenCredentialProvider } from '@rundeck/client'
import {BrowserFetchHttpClient} from '@azure/ms-rest-js/es/lib/browserFetchHttpClient'
import '../../../stories/setup'
import {RootStore} from '../../../stores/RootStore'
import ProjectSelectButton from './ProjectSelectButton.vue'
import ProjectSelect from './ProjectSelect.vue'
// @ts-ignore
window._rundeck.rundeckClient = new Rundeck(new TokenCredentialProvider(process.env.STORYBOOK_RUNDECK_TOKEN), {baseUri: process.env.STORYBOOK_RUNDECK_URL, httpClient: new BrowserFetchHttpClient()})
export default {
title: 'Widgets/Project Select',
decorators: [withKnobs]
}
export const projectPicker = () => {
const rootStore = new RootStore(window._rundeck.rundeckClient)
return Vue.extend({
template: ``,
provide: {rootStore},
components: {ProjectSelect},
data: () => ({
}),
mounted() {
const el = this.$el as any
el.parentNode.style.height = '100vh'
el.parentNode.style.overflow = 'hidden'
el.parentNode.style.position = 'relative'
el.parentNode.style.padding = '20px'
document.body.style.overflow = 'hidden'
}
})
}
export const pickerButton = () => {
const rootStore = new RootStore(window._rundeck.rundeckClient)
return Vue.extend({
template: ``,
provide: {rootStore},
components: {ProjectSelectButton},
data: () => ({
projectLabel: 'Test'
}),
mounted() {
const el = this.$el as any
el.parentNode.style.height = '100vh'
el.parentNode.style.overflow = 'hidden'
el.parentNode.style.position = 'relative'
el.parentNode.style.padding = '20px'
document.body.style.overflow = 'hidden'
}
})
}
export const pickerButtonNoLabel = () => {
const rootStore = new RootStore(window._rundeck.rundeckClient)
return Vue.extend({
template: ``,
provide: {rootStore},
components: {ProjectSelectButton},
data: () => ({
projectLabel: ''
}),
mounted() {
const el = this.$el as any
el.parentNode.style.height = '100vh'
el.parentNode.style.overflow = 'hidden'
el.parentNode.style.position = 'relative'
el.parentNode.style.padding = '20px'
document.body.style.overflow = 'hidden'
}
})
}