resources/assets/js/core/edit.js   A
last analyzed

Complexity

Total Complexity 12
Complexity/F 1.09

Size

Lines of Code 74
Function Count 11

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 40
dl 0
loc 74
rs 10
c 0
b 0
f 0
wmc 12
mnd 1
bc 1
fnc 11
bpm 0.0909
cpm 1.0909
noi 1

6 Functions

Rating   Name   Duplication   Size   Complexity  
A Edit.constructor 0 3 1
A Edit.initDeleteCurrentFileListener 0 13 2
A Edit.initEntityFields 0 3 1
A Edit.initSaveAndNewListener 0 9 2
A Edit.initListeners 0 6 1
A Edit.initEntityModalButtonsListener 0 28 5
1
import {EntityField} from './entity_field'
2
3
export class Edit {
4
    constructor() {
5
        this.initListeners()
6
    }
7
8
    initListeners() {
9
        this.initDeleteCurrentFileListener()
10
        this.initSaveAndNewListener()
11
        this.initEntityFields()
12
        this.initEntityModalButtonsListener()
13
    }
14
15
    initDeleteCurrentFileListener() {
16
        $('.current-file .delete-file a').on('click', (event) => {
17
            event.preventDefault();
18
19
            // Display file field
20
            $(event.currentTarget).parents('.file-field:first').find('.btn').removeClass('hide')
21
            $(event.currentTarget).parents('.file-field:first').find('.file-path-wrapper').removeClass('hide')
22
23
            // Remove current file
24
            $(event.currentTarget).parents('.file-field:first').find('.delete-file-field').val(1)
25
            $(event.currentTarget).parents('.current-file:first').remove()
26
        })
27
    }
28
29
    initSaveAndNewListener() {
30
        $('.btn-save-new').on('click', () => {
31
            // Set we want to create a new record after save
32
            $("input[name='save_new_hdn']").val(1);
33
34
            // Submit form
35
            $('form.edit-form').submit();
36
        })
37
    }
38
39
    /**
40
     * Initalize datatable for all entity fields
41
     */
42
    initEntityFields() {
43
        let entityField = new EntityField()
0 ignored issues
show
Unused Code introduced by
The variable entityField seems to be never used. Consider removing it.
Loading history...
44
    }
45
46
    initEntityModalButtonsListener() {
47
        if (!$("meta[name='entity-new-tab']").attr('content')) {
48
            $('a.create-related-record').click(event => {
49
                let modal = $(event.currentTarget).parents('.modal:first')
50
51
                $('div.create-related-record', modal).show()
52
                $('div.search-related-record', modal).hide()
53
54
                $('a.create-related-record', modal).hide()
55
                $('a.search-related-record', modal).show()
56
            })
57
58
            $('a.search-related-record').click(event => {
59
                let modal = $(event.currentTarget).parents('.modal:first')
60
61
                $('div.search-related-record', modal).show()
62
                $('div.create-related-record', modal).hide()
63
64
                $('a.search-related-record', modal).hide()
65
                $('a.create-related-record', modal).show()
66
            })
67
        } else {
68
            $('a.create-related-record').click(event => {
69
                let modal = $(event.currentTarget).parents('.modal:first')
70
                modal.modal('close');
71
            }) 
72
        }
73
    }
74
}