summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_shared/components/markdown_drawer/makrdown_drawer.stories.js
blob: 03bd64e2a57e4998565eb2dba0326132b483410a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { GlButton } from '@gitlab/ui';
import { MOCK_HTML } from '../../../../../../spec/frontend/vue_shared/components/markdown_drawer/mock_data';
import MarkdownDrawer from './markdown_drawer.vue';

export default {
  component: MarkdownDrawer,
  title: 'vue_shared/markdown_drawer',
  parameters: {
    mirage: {
      timing: 1000,
      handlers: {
        get: {
          '/help/user/search/global_search/advanced_search_syntax.json': [
            200,
            {},
            { html: MOCK_HTML },
          ],
        },
      },
    },
  },
};

const createStory = ({ ...options }) => (_, { argTypes }) => ({
  components: { MarkdownDrawer, GlButton },
  props: Object.keys(argTypes),
  data() {
    return {
      render: false,
    };
  },
  methods: {
    toggleDrawer() {
      this.$refs.drawer.toggleDrawer();
    },
  },
  mounted() {
    window.requestAnimationFrame(() => {
      this.render = true;
    });
  },
  template: `
       <div v-if="render">
        <gl-button @click="toggleDrawer">Open Drawer</gl-button>
        <markdown-drawer
          :documentPath="'user/search/global_search/advanced_search_syntax.json'"
          ref="drawer"
        />
        </div>
      `,
  ...options,
});

export const Default = createStory({});