File size: 1,219 Bytes
465d267
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
/*!
 * Matomo - free/libre analytics platform
 *
 * @link    https://matomo.org
 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

import { Matomo, translate } from 'CoreHome';
import ClickEvent = JQuery.ClickEvent;
import SubmitEvent = JQuery.SubmitEvent;

const { $ } = window;

function onUploadPlugin(event: ClickEvent) {
  event.preventDefault();
  Matomo.helper.modalConfirm('#installPluginByUpload', {});
}

function onSubmitPlugin(event: SubmitEvent) {
  const $zipFile = $('[name=pluginZip]') as JQuery<HTMLInputElement>;
  const fileName = $zipFile.val() as string;

  if (!fileName || fileName.slice(-4) !== '.zip') {
    event.preventDefault();
    // eslint-disable-next-line no-alert
    alert(translate('CorePluginsAdmin_NoZipFileSelected'));
  } else if ($zipFile.data('maxSize') > 0
    && $zipFile[0].files![0].size > $zipFile.data('maxSize') * 1048576
  ) {
    event.preventDefault();
    // eslint-disable-next-line no-alert
    alert(translate('CorePluginsAdmin_FileExceedsUploadLimit'));
  }
}

export default {
  mounted(): void {
    setTimeout(() => {
      $('.uploadPlugin').click(onUploadPlugin);
      $('#uploadPluginForm').submit(onSubmitPlugin);
    });
  },
};