summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/notes/mixins/autosave.js
blob: d670d0bd4c5457c6d8fbbb85df1ba41b88152143 (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
import $ from 'jquery';
import { s__ } from '~/locale';
import Autosave from '../../autosave';
import { capitalizeFirstCharacter } from '../../lib/utils/text_utility';

export default {
  methods: {
    initAutoSave(noteable, extraKeys = []) {
      let keys = [
        s__('Autosave|Note'),
        capitalizeFirstCharacter(noteable.noteable_type || noteable.noteableType),
        noteable.id,
      ];

      if (extraKeys) {
        keys = keys.concat(extraKeys);
      }

      this.autosave = new Autosave($(this.$refs.noteForm.$refs.textarea), keys);
    },
    resetAutoSave() {
      this.autosave.reset();
    },
    setAutoSave() {
      this.autosave.save();
    },
    disposeAutoSave() {
      this.autosave.dispose();
    },
  },
};