Кастомизация
01
Фев
0

Чекбоксы в стиле CRM

Если Вы внимательно (или не очень 🙂 ) посмотрите на чекбоксы CRM, то заметите, что они выполнены в весьма традиционном «виндовом» стиле – никак не в CRM’ном (который к тому же некоторым не нравится из-за трудности чтения в неактивном состоянии). Данное поведение управляется файлами CSS, входящими в стандартную поставку CRM. Но данное поведение можно изменить, используя скрипты и ряд графических файлов на формах CRM.

  • Сначала скачайте рисунки новых чекбоксов (которые Вы, кстати, можете переделать, если они Вам не понравятся) и поместите их в папку ISV/checkboxstyle;
  • Добавьте на онлоад нужной Вам формы такой скрипт:
    function StyleCheckbox() {
    	/**  
    	* Style Checkbox for Microsoft Dynamics CRM
    	* Styling all checkboxes in CRM from to make it more appealing by using explicit images.  
    	*  
    	* @author Daniel Cai  
    	* @website http://danielcai.blogspot.com/  
    	* @copyright Daniel Cai  
    	* @license Microsoft Public License (Ms-PL), http://www.opensource.org/licenses/ms-pl.html  
    	*  
    	* This release is provided "AS IS" and contains no warranty or whatsoever.  
    	*  
    	* Date: Oct 28 2009  
    	*/
     
    	var imgpath = "/ISV/checkboxstyle"; // Путь к папке с рисунками чекбокса
        
    	function GetImageSrc(checkbox) {
    		var src = imgpath + "/style-checkbox";
    
    		if(checkbox.disabled) {
    			src += "-disabled";
    		}
    
    		return checkbox.checked ? src + "-checked.gif" : src + ".gif";
    	}
    
    	function OnImgBtnClicked() {
    		var imgbtn = window.event.srcElement;
    		var chkbox = imgbtn.nextSibling;
    		if(chkbox.checked) {
    			chkbox.checked = '';
    		} else {
    			chkbox.checked = 'checked';
    		}
    		imgbtn.src = GetImageSrc(chkbox);
    	}
        
    	function ApplyStyle() {
    		var inputs = document.getElementsByTagName('input');
    		for(var i = 0; i < inputs.length; i++) {
    			if(inputs[i].getAttribute('type') === 'checkbox' && inputs[i].style.display !== "none") {
    				var checkbox = inputs[i];
    				var img = document.createElement('img');
    				img.src = GetImageSrc(checkbox);
                    
    				if(!checkbox.disabled) {
    					img.style.cursor = "hand";
    					img.onclick = OnImgBtnClicked;
    				}
                    
    				checkbox.parentNode.insertBefore(img, checkbox);
    				checkbox.style.display = 'none';
    			}
    		}
    	}
        
    	ApplyStyle();
    } 
    
    StyleCheckbox();
    
  • Ну, а дальше просто запустите форму…



Комментарии (0)

*

code