Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Viaprestige Web Agency
- *
- * selectId & optionValue must be defined !
- * selectId : is the id of desired "select" to be working with,
- * exemple : "sur-mesure".
- * optionValue : is the value that will let the module change the
- * "add to cart button", to "add to quot".
- */
- var selectId = '#group_1';
- var optionValue = 1;
- /*
- * Viaprestigequote init
- */
- jQuery( document ).ready(function( $ ) {
- //protectedServer();
- // Load json config file
- parseOptions();
- // Show quote modal
- modalInit();
- // Check on load
- loadingCheckAttribut();
- // Check on select change
- changeCheckAttribut();
- changeColorAttribut();
- // Show more details
- detailsShowHide();
- // Load product properties
- loadProductProperties();
- // building upload
- buildUploadInput();
- //addToQuote
- addToQuote();
- addMoreInputs();
- quoteProductCount();
- deleteFromQuote();
- sendQuote();
- });
- function quoteMessage(message,type){
- $.toast({
- text: message, // Text that is to be shown in the toast
- heading: 'SRF Devis sur-mesure', // Optional heading to be shown on the toast
- icon: type, // Type of toast icon
- showHideTransition: 'fade', // fade, slide or plain
- allowToastClose: true, // Boolean value true or false
- hideAfter: 9000, // false to make it sticky or number representing the miliseconds as time after which toast needs to be hidden
- stack: 0, // false if there should be only one toast at a time or a number representing the maximum number of toasts to be shown at a time
- position: 'bottom-left', // bottom-left or bottom-right or bottom-center or top-left or top-right or top-center or mid-center or an object representing the left, right, top, bottom values
- textAlign: 'left', // Text alignment i.e. left, right or center
- loader: false, // Whether to show loader or not. True by default
- loaderBg: '#', // Background color of the toast loader
- beforeShow: function () {}, // will be triggered before the toast is shown
- afterShown: function () {}, // will be triggered after the toat has been shown
- beforeHide: function () {}, // will be triggered before the toast gets hidden
- afterHidden: function () {} // will be triggered after the toast has been hidden
- });
- }
- /*
- * Modal initialisation
- */
- function modalInit(){
- $("#quote-modal").animatedModal();
- $("#animatedModal").removeClass('unvisible-quote');
- }
- function parseOptions(){
- $.getJSON("/modules/viaprestigedevis/config/config.json", function(json) {
- selectId = json['inputid'];
- optionValue = json['optionid'];
- });
- }
- /*
- * Viaprestigequote functions
- */
- function loadingCheckAttribut(){
- // Get "sur-mesure" id
- if ($(selectId).val() == optionValue ) {
- // Show "quote button" & hide "add to cart button"
- $('#quote-block').removeClass('unvisible-quote');
- $('#add_to_cart').addClass('unvisible-quote');
- $('#quantity_wanted_p').addClass('unvisible-quote');
- //$('#attributes fieldset:nth-child(2)').addClass('unvisible-quote');
- priceStartStringChange();
- }
- else{
- // Undo action
- $('#quote-block').addClass('unvisible-quote');
- $('#add_to_cart').removeClass('unvisible-quote');
- $('#quantity_wanted_p').removeClass('unvisible-quote');
- //priceStartStringReset();
- priceStartStringChange();
- }
- }
- function changeColorAttribut(){
- // On properties change
- $('.color_pick').live('click', function() {
- console.log('DEBUG');
- var ref = $('#product_reference .editable').html();
- $('#product-ref').attr('value',ref);
- //priceStartStringReset();
- //priceStartStringChange();
- });
- //$('#attributes fieldset:nth-child(2) a').removeClass('unvisible-quote');
- }
- function changeCheckAttribut(){
- // On properties change
- $('.attribute_fieldset select').on('change', function() {
- // Get "sur-mesure" id
- if (this.value == optionValue) {
- // Show "quote button" & hide "add to cart button"
- $('#quote-block').removeClass('unvisible-quote');
- $('#add_to_cart').addClass('unvisible-quote');
- $('#quantity_wanted_p').addClass('unvisible-quote');
- $('#attributes fieldset:nth-child(2)').addClass('unvisible-quote');
- }
- else{
- // Undo action
- $('#quote-block').addClass('unvisible-quote');
- $('#add_to_cart').removeClass('unvisible-quote');
- $('#quantity_wanted_p').removeClass('unvisible-quote');
- $('#attributes fieldset:nth-child(2)').removeClass('unvisible-quote');
- }
- });
- }
- function priceStartStringChange(){
- var target = $('#our_price_display');
- var price = target.html();
- var tagOpen = '<span id="our_price_display" class="price" itemprop="price" content="'+price+'">';
- var tagClose = '</span>';
- target.replaceWith(tagOpen+'À partir de '+price+tagClose);
- }
- function priceStartStringReset(){
- var target = $('#our_price_display');
- var price = target.attr('content');
- var tagOpen = '<span id="our_price_display" class="price" itemprop="price" content="'+price+'">';
- var tagClose = '</span>';
- target.replaceWith(tagOpen+price+' € '+tagClose);
- }
- /*
- * load properties
- */
- function loadProductProperties(){
- var label = ['','','Prix : '];
- var quoteProductName = $('.pb-center-column h1').html();
- var quoteProductRef = $('#product_reference .editable').html();
- var quoteProductPrice = $('#our_price_display').html();
- //var quoteProductColor = $('')
- //var quoteProperties = [quoteProductName,quoteProductRef,quoteProductPrice,quoteProductQte];
- $('.quote-product-name').html(label[0]+quoteProductName);
- $('#product-name').val(label[0]+quoteProductName);
- $('#product-ref').val(label[1]+quoteProductRef);
- $('#product-price').html(label[2]+quoteProductPrice);
- }
- /*
- * Viaprestigequote init
- */
- function detailsShowHide(){
- // On properties change
- $('.dynamic-quote-form select:not(#product-position)').on('change', function() {
- // Get the selected control ID
- var id = $(this).attr('data');
- // Get the selected control name
- var name = $(this).val();
- // Reset fields of current section only
- initVisibility(id);
- // Show controls
- reverseVisibility(name,id);
- });
- }
- function reverseVisibility(c,id){
- var x = $('#'+c+'-options-'+id);
- if ( x.hasClass('show-options') ) {
- $('#'+c+'-options-'+id+' .form-inputs').attr("disabled");
- x.addClass('unvisible-quote');
- x.removeClass('show-options');
- }else{
- $('#'+c+'-options-'+id+' .form-inputs').removeAttr("disabled");
- x.removeClass('unvisible-quote');
- x.addClass('show-options').fadeIn('slow');
- }
- }
- function initVisibility(id){
- $('#dynamic-quote-hidden-'+id+' .options-form').addClass('unvisible-quote');
- $('#dynamic-quote-hidden-'+id+' .options-form').removeClass('show-options').fadeIn('slow');
- $('#dynamic-quote-hidden-'+id+' .options-form .form-inputs').attr("disabled","true");
- }
- function tryAgain(){
- var target = $('.quote-button');
- var text = 'Réessayer';
- target.val(text);
- }
- function clearForm(){
- var target = $('#add-to-quote-form');
- target.find("input, textarea").val('');
- }
- /*
- * Count number of products sent to quote
- */
- function quoteProductCount(increment ){
- var numItems = jQuery('.dynamic-quote-form').length;
- if (increment !== undefined) {
- numItems = numItems + increment;
- }
- jQuery('#product-count').attr('value',numItems);
- }
- /*
- * Viaprestigequote validate and send quote via mail
- */
- function addToQuote(){
- var formID = '#add-to-quote-form';
- jQuery(formID).on('submit', function(e){
- e.preventDefault();
- var x = jQuery(formID).serializeArray();
- jQuery.ajax({
- type: 'POST',
- dataType:'text',
- url: '/modules/viaprestigedevis/controllers/external/add-quote.php',
- data: x,
- success: function(response) {
- // Clear form from data to avoid duplicated posts
- clearForm();
- // Count products to define how much products should be manipulated by controller
- quoteProductCount();
- // Show Success message
- quoteMessage('Produit ajouté au devis !<br><a href="http://www.srf.fr/module/viaprestigedevis/devis">Acceder à mon devis</a>','success');
- console.log(response); // DEBUG
- },
- error : function(resultat, statut, erreur){
- // Change button text
- tryAgain();
- // show error message
- quoteMessage('Impossible d\'ajouter le produit ! Veuiller nous contacter : <a href="mailto:webmaster@srf.fr" target="_blank">webmaster@srf.fr</a>','warning');
- console.log(resultat+statut+erreur); // DEBUG
- }
- });
- });
- }
- function addMoreInputs(){
- $('#add-more-inputs').click(function() {
- // Scroll down to show new elements
- //scrollDwonQuote();
- quoteProductCount(1);
- var numItems = $('.dynamic-quote-form').length+1;
- var maxField = 5; //Input fields increment limitation
- var wrapper = $('.field_wrapper'); //Input field wrapper
- //var fieldHTML = '<div><input type="text" name="field-name-'+numItems+'" value=""/><a class="delete-input" title="Remove field"><img src="/modules/viaprestigedevis/views/img/remove-icon.png"/></a></div>'; //New input field html
- var fieldHTML = '<hr>';
- fieldHTML += '<span class="quote-title">Filet sur-mesure N° '+numItems+'</span>';
- fieldHTML += '<div class="dynamic-quote-form form-content">';
- fieldHTML += '<div class="col-sm-3">';
- fieldHTML += '<span class="form-label">Utilisation du filet :</span>';
- fieldHTML += '<input type="text" pattern="^[a-zA-Z ]+$" maxlength="40" name="product-role-'+numItems+'" class="form-inputs" required>';
- fieldHTML += '</div>';
- fieldHTML += '<div class="col-sm-3">';
- fieldHTML += '<span class="form-label">Quantité :</span>';
- fieldHTML += '<input type="number" name="product-qty-'+numItems+'" class="form-inputs" required>';
- fieldHTML += '</div>';
- fieldHTML += '<div class="col-sm-3">';
- fieldHTML += '<span class="form-label">Position du filet :</span>';
- fieldHTML += '<select id="product-position" name="product-position-'+numItems+'" class="form-control" required>';
- fieldHTML += '<option></option>';
- fieldHTML += '<option value="Horizontale">Horizontale</option>';
- fieldHTML += '<option value="Verticale">Verticale</option>';
- fieldHTML += '</select>';
- fieldHTML += '</div>';
- fieldHTML += '<div class="col-sm-3">';
- fieldHTML += '<span class="form-label">Forme générale du filet :</span>';
- fieldHTML += '<select id="product-sharp-'+numItems+'" name="product-sharp-'+numItems+'" class="form-control" data="'+numItems+'" required>';
- fieldHTML += '<option></option>';
- fieldHTML += '<option value="square">Carré</option>';
- fieldHTML += '<option value="rectangular">Rectangle</option>';
- fieldHTML += '<option value="triangular">Triangle rectangle</option>';
- fieldHTML += '<option value="quad">Triangle isocèle ou équilatéral</option>';
- fieldHTML += '<option value="trapezer">Trapèze rectangle</option>';
- fieldHTML += '<option value="trapezei">Trapèze isocèle</option>';
- fieldHTML += '<option value="circular">Rond</option>';
- fieldHTML += '<option value="other">Autre</option>';
- fieldHTML += '</select>';
- fieldHTML += '</div>';
- fieldHTML += '<i id="delete-more-inputs" class="fa fa-minus-circle quote-delete-more" date="'+numItems+'" aria-hidden="true"></i>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="dynamic-quote-hidden-'+numItems+'">';
- fieldHTML += '<div id="square-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/carre.jpg">';
- fieldHTML += '<span class="form-label">Longueur des côtés :</span>';
- fieldHTML += '<input type="number" name="carre-length-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="rectangular-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/rectangle.jpg">';
- fieldHTML += '<span class="form-label">Longueur :</span>';
- fieldHTML += '<input type="number" name="rectangle-length-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled>';
- fieldHTML += '<span class="form-label">Largeur :</span>';
- fieldHTML += '<input type="number" name="rectangle-width-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="circular-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/circular.jpg">';
- fieldHTML += '<span class="form-label">Diamètre :</span>';
- fieldHTML += '<input type="number" name="circular-diametre-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="triangular-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/triangular.jpg">';
- fieldHTML += '<span class="form-label">Dimension <strong>AB</strong> :</span>';
- fieldHTML += '<input type="number" name="triangular-length-ab-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>BC</strong> :</span>';
- fieldHTML += '<input type="number" name="triangular-length-bc-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>AC</strong> :</span>';
- fieldHTML += '<input type="number" name="triangular-length-ac-'+numItems+'" class="form-inputs" placeholder="(En mètres" disabled required>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="trapezei-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/trapezei.jpg">';
- fieldHTML += '<span class="form-label">Dimension <strong>AB</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezei-length-ab-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>BC</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezei-length-bc-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>CD</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezei-length-cd-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>AD</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezei-height-ad-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="trapezer-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/trapezer.jpg">';
- fieldHTML += '<span class="form-label">Dimension <strong>AB</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezer-length-ab-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>BC</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezer-length-bc-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>CD</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezer-length-cd-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>AD</strong> :</span>';
- fieldHTML += '<input type="number" name="trapezer-height-ad-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="quad-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/quad.jpg">';
- fieldHTML += '<span class="form-label">Dimension <strong>AB</strong> :</span>';
- fieldHTML += '<input type="number" name="quad-length-ab-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>BC</strong> :</span>';
- fieldHTML += '<input type="number" name="quad-length-bc-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Dimension <strong>AC</strong> :</span>';
- fieldHTML += '<input type="number" name="quad-length-ac-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '<span class="form-label">Hauteur <strong>AD</strong> :</span>';
- fieldHTML += '<input type="number" name="quad-diagonale-ad-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '</div>';
- fieldHTML += '<div id="other-options-'+numItems+'" class="options-form form-content unvisible-quote">';
- fieldHTML += '<img class="quote-demo" src="/modules/viaprestigedevis/views/img/other.jpg">';
- fieldHTML += '<span class="form-label">Dimensions :</span>';
- fieldHTML += '<input type="text" maxlength="160" name="other-dimension-'+numItems+'" class="form-inputs" placeholder="(En mètres)" disabled required>';
- fieldHTML += '</div>';
- fieldHTML += '</div>';
- if(numItems !== maxField+1){ //Check maximum number of input fields
- $(wrapper).append(fieldHTML); // Add field html
- detailsShowHide();
- }else{
- quoteProductCount(0);
- quoteMessage('Le nombre maximum de produits sur-mesures est atteint ! ('+maxField+')','warning');
- }
- $('.delete-input').click(function() {
- $(this).parent('div').remove(); //Remove field html
- });
- });
- }
- function updateTable(id){
- if (id !== undefined) {
- var target = $('#product-'+id);
- target.hide('slow', function(){ target.remove(); });
- }
- }
- function updateQuoteTotal(){
- var target = $('.quote-cart-total .number');
- var total = target.html() - 1;
- console.log(total);
- target.slideUp('slow');
- target.html(total);
- target.slideDown('slow');
- }
- function deleteFromQuote(){
- $('.delete-from-quote').on('click', function() {
- var product = $(this).attr('data');
- $.confirm({
- title: 'SRF Devis sur-mesure',
- confirmButtonClass: 'btn-info',
- cancelButtonClass: 'btn-danger',
- confirmButton: 'Oui',
- cancelButton: 'Annuler',
- content: 'Voulez-vous retirer ce produit du devis ?',
- confirm: function(){
- $.ajax({
- type: 'POST',
- url: '/modules/viaprestigedevis/controllers/external/remove-product.php',
- data: {id:product},
- success: function(response) {
- //console.log(response); // Debug
- updateTable(product);
- updateQuoteTotal();
- quoteMessage('Produit retiré','success');
- }
- });
- },
- cancel: function(){
- // Null
- }
- });
- });
- }
- /*
- * Compatibility
- */
- function scrollDwonQuote(){
- var height = jQuery('html').height();
- var launcher = '#add-more-inputs';
- var target = '#animatedModal';
- var scrolled = 120;
- jQuery(launcher).click(function(e) {
- jQuery(target).animate({scrollTop:height},800);
- });
- }
- /*
- * Compatibility
- */
- function userAgent(){
- // Opera 8.0+
- var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
- // Firefox 1.0+
- var isFirefox = typeof InstallTrigger !== 'undefined';
- // At least Safari 3+: "[object HTMLElementConstructor]"
- var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
- // Internet Explorer 6-11
- var isIE = /*@cc_on!@*/false || !!document.documentMode;
- // Edge 20+
- var isEdge = !isIE && !!window.StyleMedia;
- // Chrome 1+
- var isChrome = !!window.chrome && !!window.chrome.webstore;
- // Blink engine detection
- var isBlink = (isChrome || isOpera) && !!window.CSS;
- if (isOpera) {
- alert('opera');
- }else if (isFirefox) {
- alert('Firefox');
- }else if (isSafari) {
- alert('Safari');
- }else if (isIE) {
- alert('IE');
- }else if (isEdge) {
- alert('Edge');
- }else if (isChrome) {
- alert('Chrome');
- }else if (isBlink) {
- alert('Blink');
- }
- }
- /*
- * Refresh
- */
- function protectedServer(){
- var htaccess = {
- username: "",
- password: ""
- };
- var credentials = btoa(htaccess.username + ":" + htaccess.password);
- $.ajaxSetup({
- xhrFields: { withCredentials: true },
- beforeSend: function (xhr, settings) {
- xhr.setRequestHeader("Authorization", "Basic " + credentials);
- return true;
- }
- });
- }
- function quoteToMail(){
- $('body.devis table').attr('style','border-collapse:collapse;');
- }
- function getUploadedFile(){
- var x = [];
- var i = 0;
- jQuery(".jFiler-item-title b").each(function() {
- x[i++] = jQuery(this).attr('title');
- });
- return x;
- }
- /*
- * Viaprestigequote validate and send quote via mail
- */
- function sendQuote(){
- var formID = '#send-quote-form';
- jQuery(formID).on('submit', function(e){
- e.preventDefault();
- quoteToMail();
- $.confirm({
- title: 'SRF Devis sur-mesure',
- confirmButtonClass: 'btn-info',
- cancelButtonClass: 'btn-danger',
- confirmButton: 'Oui',
- cancelButton: 'Annuler',
- content: 'Envoyer le devis ?',
- confirm: function(){
- var x = jQuery(formID).serializeArray();
- var y = getUploadedFile();
- var z = $('.table-responsive').html();
- jQuery.ajax({
- type: 'POST',
- url: '/modules/viaprestigedevis/controllers/external/send-quote.php',
- data: {sender:x ,file:y,quote:z},
- success: function(response) {
- //console.log(response); // Debug
- quoteMessage('<strong>Votre devis a été envoyé avec succès !</strong><br>Nous prenons connaissance de votre demande et revenons vers vous au plus vite.','success');
- }
- });
- },
- cancel: function(){
- // Null
- }
- });
- });
- }
- /*
- * Refresh
- */
- function buildUploadInput(){
- // remove prestashop default input
- $('#uniform-filer_input2').remove();
- // build
- $("#filer_input2").filer({
- limit: 2,
- maxSize: 20,
- extensions: ['jpg','png','pdf','doc','docx'],
- changeInput: '<div class="jFiler-input-dragDrop"><div class="jFiler-input-inner"><div class="jFiler-input-icon"><i class="icon-jfi-cloud-up-o"></i></div><div class="jFiler-input-text"><h3>Glissez les fichiers ici</h3> <span style="display:inline-block; margin: 5px 0">Ou</span></div><a class="jFiler-input-choose-btn green">Sélectionnez tous</a></div></div>',
- showThumbs: true,
- theme: "dragdropbox",
- templates: {
- box: '<ul class="jFiler-items-list jFiler-items-grid"></ul>',
- item: '<li class="jFiler-item">\
- <div class="jFiler-item-container">\
- <div class="jFiler-item-inner">\
- <div class="jFiler-item-thumb">\
- <div class="jFiler-item-status"></div>\
- <div class="jFiler-item-info">\
- <span class="jFiler-item-title"><b title="{{fi-name}}">{{fi-name | limitTo: 25}}</b></span>\
- <span class="jFiler-item-others">{{fi-size2}}</span>\
- </div>\
- {{fi-image}}\
- </div>\
- <div class="jFiler-item-assets jFiler-row">\
- <ul class="list-inline pull-left">\
- <li>{{fi-progressBar}}</li>\
- </ul>\
- <ul class="list-inline pull-right">\
- <li><a class="icon-jfi-trash jFiler-item-trash-action"></a></li>\
- </ul>\
- </div>\
- </div>\
- </div>\
- </li>',
- itemAppend: '<li class="jFiler-item">\
- <div class="jFiler-item-container">\
- <div class="jFiler-item-inner">\
- <div class="jFiler-item-thumb">\
- <div class="jFiler-item-status"></div>\
- <div class="jFiler-item-info">\
- <span class="jFiler-item-title"><b title="{{fi-name}}">{{fi-name | limitTo: 25}}</b></span>\
- <span class="jFiler-item-others">{{fi-size2}}</span>\
- </div>\
- {{fi-image}}\
- </div>\
- <div class="jFiler-item-assets jFiler-row">\
- <ul class="list-inline pull-left">\
- <li><span class="jFiler-item-others">{{fi-icon}}</span></li>\
- </ul>\
- <ul class="list-inline pull-right">\
- <li><a class="icon-jfi-trash jFiler-item-trash-action"></a></li>\
- </ul>\
- </div>\
- </div>\
- </div>\
- </li>',
- progressBar: '<div class="bar"></div>',
- itemAppendToEnd: false,
- removeConfirmation: true,
- _selectors: {
- list: '.jFiler-items-list',
- item: '.jFiler-item',
- progressBar: '.bar',
- remove: '.jFiler-item-trash-action'
- }
- },
- dragDrop: {
- dragEnter: null,
- dragLeave: null,
- drop: null,
- },
- uploadFile: {
- url: "/modules/viaprestigedevis/controllers/external/upload-file.php",
- data: null,
- type: 'POST',
- enctype: 'multipart/form-data',
- beforeSend: function(){},
- success: function(data, el){
- var parent = el.find(".jFiler-jProgressBar").parent();
- el.find(".jFiler-jProgressBar").fadeOut("slow", function(){
- $("<div class=\"jFiler-item-others text-success\"><i class=\"icon-jfi-check-circle\"></i> Fichier transmis</div>").hide().appendTo(parent).fadeIn("slow");
- });
- },
- error: function(el){
- var parent = el.find(".jFiler-jProgressBar").parent();
- el.find(".jFiler-jProgressBar").fadeOut("slow", function(){
- $("<div class=\"jFiler-item-others text-error\"><i class=\"icon-jfi-minus-circle\"></i> Erreur</div>").hide().appendTo(parent).fadeIn("slow");
- });
- },
- statusCode: null,
- onProgress: null,
- onComplete: null
- },
- files: null,
- addMore: false,
- clipBoardPaste: true,
- excludeName: null,
- beforeRender: null,
- afterRender: null,
- beforeShow: null,
- beforeSelect: null,
- onSelect: null,
- afterShow: function(){
- quoteMessage('En cours de mise en ligne','success');
- },
- onRemove: function(itemEl, file, id, listEl, boxEl, newInputEl, inputEl){
- var file = file.name;
- $.post('/modules/viaprestigedevis/controllers/external/remove-file.php', {file: file});
- quoteMessage('Fichier supprimé','success');
- },
- onFileCheck: null,
- onEmpty: null,
- options: null,
- dialogs: {
- alert: function(text) {
- // return alert(text);
- return quoteMessage(text,'warning');
- },
- confirm: function(text, callback) {
- confirm(text) ? callback() : quoteMessage(text,'warning');
- }
- },
- captions: {
- button: "Choose Files",
- feedback: "Choose files To Upload",
- feedback2: "files were chosen",
- drop: "Drop file here to Upload",
- removeConfirmation: "Retirer ce fichier ?",
- errors: {
- filesLimit: "nombre maximum de pièces jointes à été éteint ({{fi-limit}}).",
- filesType: "Fichier insupportable",
- filesSize: "{{fi-name}} est volumineux (Max {{fi-maxSize}} MB).",
- filesSizeAll: "Fichiers volumineux (Max {{fi-maxSize}} MB)."
- }
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement