diff --git a/entries/static/entries/js/components/LexicalUnitEdit.js b/entries/static/entries/js/components/LexicalUnitEdit.js
index 9558ba987411a222d67954b623aa20dd0300831f..59f99fa63c38a7e61b09807ddf68ce714579b329 100644
--- a/entries/static/entries/js/components/LexicalUnitEdit.js
+++ b/entries/static/entries/js/components/LexicalUnitEdit.js
@@ -5,6 +5,8 @@ import ExamplesComponent from "./frame-components/ExamplesComponent.js";
 import SlowalFrameComponent from "./frame-components/SlowalFrameComponent.js";
 import SemanticsSchemataComponent from "./frame-components/SemanticsSchemataComponent.js";
 import MeaningComponent from "./frame-components/MeaningComponent.js";
+import SelectionalPreference from "../selectional_preference.js";
+
 
 let LexicalUnitEdit = {};
 
@@ -114,6 +116,11 @@ Object.assign(LexicalUnitEdit, {
       this.loadFrame();
     }
   },
+  computed: {
+    selectionalPreference() {
+      return new SelectionalPreference();
+    }
+  },
   methods: {
     hasWhiteSpace(s) {
       return /\s/g.test(s);
@@ -202,12 +209,15 @@ Object.assign(LexicalUnitEdit, {
       }
     },
     addSelectivePreference () {
-      if (!this.active_unified_frame_argument) {
-        alert(gettext("Zaznacz argument, do którego chcesz dodać preferencję."));
-      } else {
-        window.addSelectivePreference(this.unified_frame, this.active_unified_frame_argument.id, this.frames, function () {
-          this.loadFrame();
-        }.bind(this));
+        if (!this.active_unified_frame_argument) {
+          alert(gettext("Zaznacz argument, do którego chcesz dodać preferencję."));
+        } else {
+          this.selectionalPreference.addSelectivePreference(this.unified_frame, this.active_unified_frame_argument.id, this.frames, function () {
+            this.loadFrame();
+          }.bind(this));
+        //   window.addSelectivePreference(this.unified_frame, this.active_unified_frame_argument.id, this.frames, function () {
+        //   this.loadFrame();
+        // }.bind(this));
       }
     },
     removeSelectionalPreference () {
diff --git a/entries/static/entries/js/entries.js b/entries/static/entries/js/entries.js
index 05f31b5944955b960ebe076398f1acf832b7d138..a218b24fe6e98f44d5bd4bf553a3b3f16fb43b15 100644
--- a/entries/static/entries/js/entries.js
+++ b/entries/static/entries/js/entries.js
@@ -1113,7 +1113,7 @@ $(document).ready(function() {
     
     bind_settings();
     
-    initialize_entries_list();
+    // initialize_entries_list();
     
     // $('#id_filter_schema_').change(function() {
     //     get_entry(curr_entry, curr_no_filters);
@@ -1124,22 +1124,22 @@ $(document).ready(function() {
     // });
     
     initialize_main_form();
-    
+
     initialize_frames_form();
-    
+
     initialize_schemata_form();
     
     //$('.local-filter').hide();
 
-    getPredefinedSelections();
+    // getPredefinedSelections();
 
-    getRoles();
-
-    getRoleAttributes();
+    // getRoles();
+    //
+    // getRoleAttributes();
 
-    $.getJSON('relations', function(data){
-        memorizeRelations(data.relations);
-    });
+    // $.getJSON('relations', function(data){
+    //     memorizeRelations(data.relations);
+    // });
     
     $('#main-form').submit();
 });
diff --git a/entries/static/entries/js/selectional_preference.js b/entries/static/entries/js/selectional_preference.js
index 1ee7f992de301db2d6d0d359f70eb64e7f9db68f..f4afa793e13fb85a9a396fc3c7384c96e6fe8ebd 100644
--- a/entries/static/entries/js/selectional_preference.js
+++ b/entries/static/entries/js/selectional_preference.js
@@ -1,337 +1,369 @@
-var predefined = [];
-var relations = [];
-var synsets = [];
-var change = false;
+export default class SelectionalPreference {
 
-function predefinedSelect() {
-    let display = "";
+    predefined = [];
+    relations = [];
+    synsets = [];
+    change = false;
 
-    let i;
-    for (i = 0; i < predefined.length; i++) {
-        display += "<input type = \"checkbox\" name = \"predef\" value = \"" + predefined[i].id + "\">" + predefined[i].content + "<br>";
+    constructor() {
+        this.loadPredefinedSelections();
+        this.loadRelations();
     }
 
-    return display;
-}
+    loadPredefinedSelections() {
+        $.ajax({
+            dataType: "json",
+            url: 'predefined_preferences',
+            success: (data) => {
+                this.predefined = data.predefined;
+            },
+            async: false
+        });
+    }
 
-function getPredefinedSelections() {
-    $.ajax({
-        dataType: "json",
-        url: 'predefined_preferences',
-        success: function(data){
-            predefined = data.predefined;
-        },
-        async: false
-    });
-}
+    loadRelations(new_relations) {
+        $.ajax({
+            dataType: "json",
+            url: 'relations',
+            success: (data) => {
+                this.relations = data.relations;
+            },
+            async: false
+        });
+    }
 
-function memorizeRelations(new_relations) {
-    relations = new_relations;
-}
+    getSynsets(context, pos) {
 
-function relationsSelect() {
-    let display = "<select name = \"rel\">";
+        if ((typeof pos) == 'undefined') {
+            pos = '_';
+        }
 
-    let i;
-    for (i = 0; i < relations.length; i++) {
-        display += "<option value = \"" + relations[i].id + "\">" + relations[i].content + "</option>";
+        $.ajax({
+            dataType: "json",
+            url: 'synsets',
+            data: {base: context, pos: pos},
+            success: function (data) {
+                this.synsets = data.synsets
+            }.bind(this),
+            async: false
+        });
+
+        let display = "";
+
+        let i;
+        for (i = 0; i < this.synsets.length; i++) {
+            display += "<input type = \"radio\" name = \"synset\" value = \"" + this.synsets[i].id + "\"><div>";
+            let j;
+            for (j = 0; j < this.synsets[i].content.length; j++) {
+                const lexical_unit = this.synsets[i].content[j];
+                display += lexical_unit.base + "-" + lexical_unit.sense + ": <i>" + lexical_unit.glossa + "</i><br>";
+            }
+            display += "</div>";
+        }
+
+        return display;
     }
-    display += "</select>"
-    return display;
-}
 
-function argumentSelect(frame, complement_id) {
-    let display = "<select name = \"arg\">";
+    predefinedSelect() {
+        let display = "";
 
-    let i;
-    for (i = 0; i < frame.arguments.length; i++) {
-        var local_complement_id = frame.arguments[i].argument_id;
-        if (local_complement_id && local_complement_id !== String(complement_id)) {
-            display += "<option value = \"" + local_complement_id + "\">" + frame.arguments[i].role + "</option>";
+        let i;
+        for (i = 0; i < this.predefined.length; i++) {
+            display += "<input type = \"checkbox\" name = \"predef\" value = \"" + this.predefined[i].id + "\">" + this.predefined[i].content + "<br>";
         }
-    }
-
-    display += "</select>"
 
-    return display;
-}
+        return display;
+    }
 
-function getSynsets(context, pos) {
+    relationsSelect() {
+        let display = "<select name = \"rel\">";
 
-    if ((typeof pos) == 'undefined') {
-        pos = '_';
+        let i;
+        for (i = 0; i < this.relations.length; i++) {
+            display += "<option value = \"" + this.relations[i].id + "\">" + this.relations[i].content + "</option>";
+        }
+        display += "</select>"
+        return display;
     }
 
-    $.ajax({
-        dataType: "json",
-        url: 'synsets',
-        data: {base: context, pos: pos},
-        success: function(data){ synsets = data.synsets },
-        async: false
-    });
-
-    let display = "";
-
-    let i;
-    for (i = 0; i < synsets.length; i++) {
-        display += "<input type = \"radio\" name = \"synset\" value = \"" + synsets[i].id + "\"><div>";
-        let j;
-        for (j = 0; j < synsets[i].content.length; j++) {
-            const lexical_unit = synsets[i].content[j];
-            display += lexical_unit.base + "-" + lexical_unit.sense + ": <i>" + lexical_unit.glossa + "</i><br>";
+    argumentSelect(frame, complement_id) {
+        let display = "<select name = \"arg\">";
+
+        let i;
+        for (i = 0; i < frame.arguments.length; i++) {
+            var local_complement_id = frame.arguments[i].id;
+            if (local_complement_id && local_complement_id !== complement_id && frame.arguments[i].role) {
+                display += "<option value = \"" + local_complement_id + "\">" + frame.arguments[i].role.str + "</option>";
+            }
         }
-        display += "</div>";
-    }
 
-    return display;
+        display += "</select>"
 
-}
+        return display;
+    }
 
-function relationArgument(frame, complement_id) {
-    return relationsSelect() + "<br><br>" + argumentSelect(frame, complement_id);
-}
+    relationArgument(frame, complement_id) {
+        return this.relationsSelect() + "<br><br>" + this.argumentSelect(frame, complement_id);
+    }
 
-function attachPlWNContextAutocomplete() {
-    $('#plWN_context_selection').autocomplete({
-        select: function(event, ui){
-        },
-        source: function(req, add){
-            $.getJSON('plWN_context_lookup', req, function(data) {
-                const suggestions = [];
-                $.each(data['result'], function(i, val){
-                    suggestions.push(val);
+    attachPlWNContextAutocomplete() {
+        $('#plWN_context_selection').autocomplete({
+            select: function (event, ui) {
+            },
+            source: function (req, add) {
+                $.getJSON('plWN_context_lookup', req, function (data) {
+                    const suggestions = [];
+                    $.each(data['result'], function (i, val) {
+                        suggestions.push(val);
+                    });
+                    add(suggestions);
                 });
-                add(suggestions);
-            });
-        },
-    });
-}
+            },
+        });
+    }
 
-function addSelectivePreference(unified_frame, unified_frame_active_argument_id, frames, callbackFunction) {
-    if (!unified_frame_active_argument_id) return;
-    addSelectivePreferenceBase(unified_frame, frames, unified_frame_active_argument_id, callbackFunction);
-}
+    addSelectivePreference(unified_frame, unified_frame_active_argument_id, frames, callbackFunction) {
+        if (!unified_frame_active_argument_id) return;
+        this.addSelectivePreferenceBase(unified_frame, frames, unified_frame_active_argument_id, callbackFunction);
+    }
 
-function addSelectivePreferenceBase(unified_frame, frames, complement_id, callbackFunction) {
-    let unified_frame_id = unified_frame.id;
+    addSelectivePreferenceBase(unified_frame, frames, complement_id, callbackFunction) {
+        let unified_frame_id = unified_frame.id;
 
-    const submitSynsetSelection = function(e,v,m,f){
-        if (v == -1) {
-            e.preventDefault();
-            $.prompt.goToState('state2');
-        }
-        if (v == 1) {
-            e.preventDefault();
-            const synset = normalizeFormData(f.synset);
+        const submitSynsetSelection = (e, v, m, f) => {
+            if (v == -1) {
+                e.preventDefault();
+                $.prompt.goToState('state2');
+            }
+            if (v == 1) {
+                e.preventDefault();
+                const synset = normalizeFormData(f.synset);
 
-            let i;
-            for (i = 0; i < synset.length; i++) {
-                saveSynsetPreference(unified_frame_id, complement_id, synset[i])
+                let i;
+                for (i = 0; i < synset.length; i++) {
+                    this.saveSynsetPreference(unified_frame_id, complement_id, synset[i])
+                }
+                $.prompt.goToState('state0');
             }
-            $.prompt.goToState('state0');
         }
-    }
 
-    const existingSelect = function () {
-        let availablePreferencies = slowal_frames2selecional_preferencies(unified_frame, frames)[complement_id];
-        if (!availablePreferencies) {
-            return gettext('Brak preferencji selekcyjnych do wyboru.')
-        }
-        return availablePreferencies.map(preference => {
-            return `<label><input type="checkbox" name="existing" value="${preference.type}:${preference.id}" /> ${preference.str}</label><br />`;
-        }).join("");
-    };
-
-    const select_preference = {
-        state0: {
-            title: 'Typ preferencji selekcyjnej',
-            html: 'Wybierz typ preferencji selekcyjnej',
-            buttons: { Istniejąca: 0, Predefiniowana: 1, Słowosieć: 2, Relacja: 3, Koniec: -1 },
-            focus: -1,
-            submit: function(e,v,m,f){
-                if (v == -1) {
-                    e.preventDefault();
-                    $.prompt.close();
-
-                    callbackFunction();
-                }
-                if (v === 0) {
-                    e.preventDefault();
-                    $.prompt.goToState('state4');
-                }
-                if (v == 1) {
-                    e.preventDefault();
-                    $.prompt.goToState('state1');
-                }
-                if (v == 2) {
-                    e.preventDefault();
-                    $.prompt.goToState('state2');
-                }
-                if (v == 3) {
-                    e.preventDefault();
-                    $.prompt.goToState('state3');
-                }
+        const existingSelect = function () {
+            let availablePreferencies = slowal_frames2selecional_preferencies(unified_frame, frames)[complement_id];
+            if (!availablePreferencies) {
+                return gettext('Brak preferencji selekcyjnych do wyboru.')
             }
-        },
-        state1: {
-            title: 'Wybierz preferencjÄ™ selekcyjnÄ…',
-            html: predefinedSelect(),
-            buttons: { Anuluj: -1, Zatwierdź: 1 },
-            focus: 1,
-            submit: function(e,v,m,f){
-
-                if (v == -1) {
-                    e.preventDefault();
-                    $.prompt.goToState('state0');
-                }
-                if (v == 1) {
-                    e.preventDefault();
-                    const predef = normalizeFormData(f.predef);
-
-                    let i;
-                    for (i = 0; i < predef.length; i++) {
-                        savePredefinedPreference(unified_frame_id, complement_id, predef[i])
-                        // addPreference(unified_frame_id, complement_id, { type: 'g', content: predef[i], text: predefined[indexOfId(predefined, predef[i])].content });
+            return availablePreferencies.map(preference => {
+                return `<label><input type="checkbox" name="existing" value="${preference.type}:${preference.id}" /> ${preference.str}</label><br />`;
+            }).join("");
+        };
+
+        const select_preference = {
+            state0: {
+                title: 'Typ preferencji selekcyjnej',
+                html: 'Wybierz typ preferencji selekcyjnej',
+                buttons: {Istniejąca: 0, Predefiniowana: 1, Słowosieć: 2, Relacja: 3, Koniec: -1},
+                focus: -1,
+                submit: (e, v, m, f) => {
+                    if (v == -1) {
+                        e.preventDefault();
+                        $.prompt.close();
+
+                        callbackFunction();
+                    }
+                    if (v === 0) {
+                        e.preventDefault();
+                        $.prompt.goToState('state4');
+                    }
+                    if (v == 1) {
+                        e.preventDefault();
+                        $.prompt.goToState('state1');
+                    }
+                    if (v == 2) {
+                        e.preventDefault();
+                        $.prompt.goToState('state2');
+                    }
+                    if (v == 3) {
+                        e.preventDefault();
+                        $.prompt.goToState('state3');
                     }
-                    $.prompt.goToState('state0');
-                }
-            }
-        },
-        state2: {
-            title: 'Wybierz preferencjÄ™ selekcyjnÄ…',
-            html: "<input id=\"plWN_context_selection\" type=\"text\" name=\"context\">",
-            buttons: { Anuluj: -1, Wyszukaj: 1 },
-            focus: 1,
-            submit: function(e,v,m,f){
-                if (v == -1) {
-                    e.preventDefault();
-                    $.prompt.goToState('state0');
                 }
-                if (v == 1) {
-                    e.preventDefault();
-                    $.prompt.removeState('state21');
-                    $.prompt.addState('state21', {title: 'Znaczenia', html: getSynsets(f.context), buttons: {Anuluj: -1, Zatwierdź: 1}, focus: 1, submit: submitSynsetSelection}, 'state2');
-                    $.prompt.goToState('state21');
+            },
+            state1: {
+                title: 'Wybierz preferencjÄ™ selekcyjnÄ…',
+                html: this.predefinedSelect(),
+                buttons: {Anuluj: -1, Zatwierdź: 1},
+                focus: 1,
+                submit: (e, v, m, f) => {
+
+                    if (v == -1) {
+                        e.preventDefault();
+                        $.prompt.goToState('state0');
+                    }
+                    if (v == 1) {
+                        e.preventDefault();
+                        const predef = normalizeFormData(f.predef);
+
+                        let i;
+                        for (i = 0; i < predef.length; i++) {
+                            this.savePredefinedPreference(unified_frame_id, complement_id, predef[i])
+                        }
+                        $.prompt.goToState('state0');
+                    }
                 }
-            }
-        },
-        state3: {
-            title: 'Wybierz relacjÄ™ i argument',
-            html: relationArgument(unified_frame, complement_id),
-            buttons: { Anuluj: -1, Zatwierdź: 1 },
-            focus: 1,
-            submit: function(e,v,m,f){
-                if (v == -1) {
-                    e.preventDefault();
-                    $.prompt.goToState('state0');
+            },
+            state2: {
+                title: 'Wybierz preferencjÄ™ selekcyjnÄ…',
+                html: "<input id=\"plWN_context_selection\" type=\"text\" name=\"context\">",
+                buttons: {Anuluj: -1, Wyszukaj: 1},
+                focus: 1,
+                submit: (e, v, m, f) => {
+                    if (v == -1) {
+                        e.preventDefault();
+                        $.prompt.goToState('state0');
+                    }
+                    if (v == 1) {
+                        e.preventDefault();
+                        $.prompt.removeState('state21');
+                        $.prompt.addState('state21', {
+                            title: 'Znaczenia',
+                            html: this.getSynsets(f.context),
+                            buttons: {Anuluj: -1, Zatwierdź: 1},
+                            focus: 1,
+                            submit: submitSynsetSelection
+                        }, 'state2');
+                        $.prompt.goToState('state21');
+                    }
                 }
-                if (v == 1) {
-                    e.preventDefault();
+            },
+            state3: {
+                title: 'Wybierz relacjÄ™ i argument',
+                html: this.relationArgument(unified_frame, complement_id),
+                buttons: {Anuluj: -1, Zatwierdź: 1},
+                focus: 1,
+                submit: (e, v, m, f) => {
+                    if (v == -1) {
+                        e.preventDefault();
+                        $.prompt.goToState('state0');
+                    }
+                    if (v == 1) {
+                        e.preventDefault();
 
-                    const rel = normalizeFormData(f.rel);
-                    const args = normalizeFormData(f.arg);
+                        const rel = normalizeFormData(f.rel);
+                        const args = normalizeFormData(f.arg);
 
-                    let i, j;
-                    for (i = 0; i < rel.length; i++) {
-                        for (j = 0; j < args.length; j++) {
-                            saveRelationalSelectionalPreference(unified_frame_id, complement_id, args[j], rel[i])
-                            // addPreference(unified_frame_id, complement_id, {type: 'r', content: { relation: rel[i], to: args[j] }, text: relations[indexOfId(relations, rel[i])].content + "<br>-> [" + text + "]" });
+                        let i, j;
+                        for (i = 0; i < rel.length; i++) {
+                            for (j = 0; j < args.length; j++) {
+                                this.saveRelationalSelectionalPreference(unified_frame_id, complement_id, args[j], rel[i])
+                            }
                         }
-                    }
 
-                    $.prompt.goToState('state0');
-                }
-            }
-        },
-        state4: {
-            title: 'Wybierz z istniejÄ…cych',
-            html: existingSelect(),
-            buttons: { Anuluj: -1, Zatwierdź: 1 },
-            focus: 1,
-            submit: function(e,v,m,f){
-                if (v == -1) {
-                    e.preventDefault();
-                    $.prompt.goToState('state0');
+                        $.prompt.goToState('state0');
+                    }
                 }
-                if (v == 1) {
-                    e.preventDefault();
-                    normalizeFormData(f.existing).map(choice => {
-                        let [type, id] = choice.split(':');
-                        switch (type) {
-                            case 'meanings.Synset':
-                                saveSynsetPreference(unified_frame_id, complement_id, id);
-                            case 'semantics.PredefinedSelectionalPreference':
-                                savePredefinedPreference(unified_frame_id, complement_id, id);
-                            case 'semantics.RelationalSelectionalPreference':
-                                saveRelationalSelectionalPreference(unified_frame_id, complement_id, null, null);  // TODO
-                        }
-                    });
-                    $.prompt.goToState('state0');
+            },
+            state4: {
+                title: 'Wybierz z istniejÄ…cych',
+                html: existingSelect(),
+                buttons: {Anuluj: -1, Zatwierdź: 1},
+                focus: 1,
+                submit: (e, v, m, f) => {
+                    if (v == -1) {
+                        e.preventDefault();
+                        $.prompt.goToState('state0');
+                    }
+                    if (v == 1) {
+                        e.preventDefault();
+                        normalizeFormData(f.existing).map(choice => {
+                            let [type, id] = choice.split(':');
+                            switch (type) {
+                                case 'meanings.Synset':
+                                    this.saveSynsetPreference(unified_frame_id, complement_id, id);
+                                    break;
+                                case 'semantics.PredefinedSelectionalPreference':
+                                    this.savePredefinedPreference(unified_frame_id, complement_id, id);
+                                    break;
+                                case 'semantics.RelationalSelectionalPreference':
+                                    this.saveRelationalSelectionalPreference(unified_frame_id, complement_id, null, null);  // TODO
+                                    break;
+                            }
+                        });
+                        $.prompt.goToState('state0');
+                    }
                 }
-            }
-        },
-    };
-    if (change == true) {
-        alertSemantics();
-    } else {
-        $.prompt(select_preference);
-        attachPlWNContextAutocomplete();
-    }
-
-}
-
+            },
+        };
+        if (this.change == true) {
+            this.alertSemantics();
+        } else {
+            $.prompt(select_preference);
+            this.attachPlWNContextAutocomplete();
+        }
 
+    }
 
+    saveSynsetPreference(frame_id, complement_id, synset_preference_id) {
+        const data = {
+            'frame_id': frame_id,
+            'complement_id': complement_id,
+            'synset_preference_id': synset_preference_id
+        };
+        $.ajax({
+            type: 'post',
+            url: '/' + lang + '/unifier/save_synset_preference/',
+            dataType: 'json',
+            data: data,
+            timeout: 60000,
+            success: function (response) {
+                show_info('Preferencja zosała zapisana');
+            },
+            error: function (request, errorType, errorMessage) {
+                show_error(errorType + ' (' + errorMessage + ')');
+            }
+        });
+    }
 
-function saveSynsetPreference(frame_id, complement_id, synset_preference_id) {
-    const data = { 'frame_id' : frame_id, 'complement_id' : complement_id, 'synset_preference_id' : synset_preference_id };
-    $.ajax({
-        type     : 'post',
-        url      : '/' + lang + '/unifier/save_synset_preference/',
-        dataType : 'json',
-        data     : data,
-        timeout  : 60000,
-        success  : function(response) {
-            show_info('Preferencja zosała zapisana');
-        },
-        error: function(request, errorType, errorMessage) {
-            show_error(errorType + ' (' + errorMessage + ')');
-        }
-    });
-}
+    savePredefinedPreference(frame_id, complement_id, predefined_preference_id) {
+        const data = {
+            'frame_id': frame_id,
+            'complement_id': complement_id,
+            'predefined_preference_id': predefined_preference_id
+        };
+        $.ajax({
+            type: 'post',
+            url: '/' + lang + '/unifier/save_predefined_preference/',
+            dataType: 'json',
+            data: data,
+            timeout: 60000,
+            success: function (response) {
+                show_info('Preferencja zosała zapisana');
+            },
+            error: function (request, errorType, errorMessage) {
+                show_error(errorType + ' (' + errorMessage + ')');
+            }
+        });
+    }
 
-function savePredefinedPreference(frame_id, complement_id, predefined_preference_id) {
-    const data = { 'frame_id' : frame_id, 'complement_id' : complement_id, 'predefined_preference_id' : predefined_preference_id };
-    $.ajax({
-        type     : 'post',
-        url      : '/' + lang + '/unifier/save_predefined_preference/',
-        dataType : 'json',
-        data     : data,
-        timeout  : 60000,
-        success  : function(response) {
-            show_info('Preferencja zosała zapisana');
-        },
-        error: function(request, errorType, errorMessage) {
-            show_error(errorType + ' (' + errorMessage + ')');
-        }
-    });
-}
+    saveRelationalSelectionalPreference(frame_id, complement_id_from, complement_id_to, relation_id) {
+        const data = {
+            'frame_id': frame_id,
+            'complement_id_from': complement_id_from,
+            'complement_id_to': complement_id_to,
+            'relation_id': relation_id
+        };
+        $.ajax({
+            type: 'post',
+            url: '/' + lang + '/unifier/save_relational_selectional_preference/',
+            dataType: 'json',
+            data: data,
+            timeout: 60000,
+            success: function (response) {
+                show_info('Preferencja zosała zapisana');
+            },
+            error: function (request, errorType, errorMessage) {
+                show_error(errorType + ' (' + errorMessage + ')');
+            }
+        });
+    }
 
-function saveRelationalSelectionalPreference(frame_id, complement_id_from, complement_id_to, relation_id) {
-    const data = { 'frame_id' : frame_id, 'complement_id_from' : complement_id_from, 'complement_id_to' : complement_id_to, 'relation_id': relation_id };
-    $.ajax({
-        type     : 'post',
-        url      : '/' + lang + '/unifier/save_relational_selectional_preference/',
-        dataType : 'json',
-        data     : data,
-        timeout  : 60000,
-        success  : function(response) {
-            show_info('Preferencja zosała zapisana');
-        },
-        error: function(request, errorType, errorMessage) {
-            show_error(errorType + ' (' + errorMessage + ')');
-        }
-    });
 }
-
-
diff --git a/entries/templates/entries.html b/entries/templates/entries.html
index 6100d20eb38bdd28ec675ca9fc8cd51d0640f9d7..cb1455a803ce1ef31488da84906c724c455af2cd 100644
--- a/entries/templates/entries.html
+++ b/entries/templates/entries.html
@@ -12,7 +12,6 @@
     <script src="{% static 'entries/js/unification_frames_list.js' %}"></script>
     <script src="{% static 'entries/js/unification_entries_for_frames_list.js' %}"></script>
     <script src="{% static 'entries/js/unification.js' %}"></script>
-    <script src="{% static 'entries/js/selectional_preference.js' %}"></script>
     <script src="{% static 'entries/js/jquery-impromptu.min.js' %}"></script>
     <script src="https://unpkg.com/vue@3"></script>
     <script type="module" src="{% static 'entries/js/entries_index.js' %}"></script>
diff --git a/entries/templates/entries_base.html b/entries/templates/entries_base.html
index 25996851a9006507414ce8e3ad617ff48cdc2649..2df1529b641a36758ffc1203af32ba0a50385d8d 100644
--- a/entries/templates/entries_base.html
+++ b/entries/templates/entries_base.html
@@ -25,7 +25,6 @@
     <!--script src="{% static 'entries/js/panels.js' %}"></script-->
     <script src="{% static 'entries/js/forms.js' %}"></script>
     <script src="{% static 'entries/js/utils.js' %}"></script>
-    <script src="{% static 'entries/js/selectional_preference.js' %}"></script>
     <script src="{% static 'entries/js/entries.js' %}"></script>
 {% endblock %}
 
diff --git a/entries/templates/unification.html b/entries/templates/unification.html
index af416ac21b4f9bb522b8ce565ef9b9b19ec9e07a..fd0aba6b0e8d78ae6fb1454e4f01257dcd4ada26 100644
--- a/entries/templates/unification.html
+++ b/entries/templates/unification.html
@@ -13,7 +13,6 @@
     <script src="{% static 'entries/js/unification_frames_list.js' %}"></script>
     <script src="{% static 'entries/js/unification_entries_for_frames_list.js' %}"></script>
     <script src="{% static 'entries/js/unification.js' %}"></script>
-    <script src="{% static 'entries/js/selectional_preference.js' %}"></script>
     <script src="{% static 'entries/js/jquery-impromptu.min.js' %}"></script>
     <script src="https://unpkg.com/vue@3"></script>
     <script>