Skip to content
Snippets Groups Projects
Select Git revision
  • c1033daac1a4485783b138e652c25ff336d26740
  • master default protected
  • detached4
  • detached3
  • detached2
  • bsv-next
  • detached
  • php82
  • 6.x
  • 6.4.0
  • 6.3.3
  • 6.3.2
  • 6.3.1
  • 6.3.0
  • 6.2.7
  • 6.2.6
  • 6.2.5
  • 6.2.4
  • 6.2.3
  • 6.2.2
  • 6.2.1
  • 6.2.0
  • 6.1.3
  • 6.1.2
  • 6.1.1
  • 6.1.0
  • 6.0.0
27 results

unicaenVue.js

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    unicaenVue.js 1.72 KiB
    import axios from './axios';
    import flashMessenger from './flashMessenger';
    
    const unicaenVue = {
        axios: axios.uvAxios,
        flashMessenger: flashMessenger,
    
        /**
         * Crée une URL à partie d'une route, de paramètres de route (params) et de paramètres GET (query)
         *
         * @param String route
         * @param Object params
         * @param Object query
         * @returns String
         */
        url: (route, params, query) => {
            let baseUrl = window.__unicaenVueBaseUrl;
            // Remplacement des paramètres de routes par leurs valeurs
            if (params) {
                for (let p in params) {
                    route = route.replace(`:${p}`, params[p]);
                }
            }
    
            // traitement de la requête GET
            let getArgs = query ? unicaenVue.encodeUrlQueryParam(query) : null;
    
            // Construction et retour de l'URL
            return baseUrl + route + (getArgs ? `?${getArgs}` : '');
        },
    
        encodeUrlQueryParam: (query, parentKey) => {
            var params = [];
    
            for (var key in query) {
                if (query.hasOwnProperty(key)) {
                    var value = query[key];
                    var encodedKey = parentKey ? parentKey + '[' + encodeURIComponent(key) + ']' : encodeURIComponent(key);
    
                    if (typeof value === 'object' && value !== null) {
                        params.push(unicaenVue.encodeUrlQueryParam(value, encodedKey));
                    } else {
                        var encodedValue = encodeURIComponent(value);
                        params.push(encodedKey + '=' + encodedValue);
                    }
                }
            }
    
            return params.join('&');
        }
    };
    
    
    // workaround pour rendre unicaenVue disponible de partout
    window.unicaenVue = unicaenVue;
    
    export default {
        unicaenVue
    }