Кастомизация
09
Июл
0

Скрытие левого навигационного меню по кнопке

Простой код и кнопка, которые помогут Вам в нужный момент «расширить» рабочее пространство на форме:

  • Создайте JS Веб-ресурс с таким кодом:
    // Обработчик нажатия переключателя
    function ShowHide(CommandProperties) {
        if (CommandProperties.On)
            hideMenu();
        else
            showMenu();
    }
    
    // Скрытие меню
    function hideMenu() {
        document.getElementById("crmNavBar").parentElement.style.display = "none";
        document.getElementById("tdAreas").parentElement.parentElement.parentElement.parentElement.colSpan = 2; 
    }
    
    // Отображение меню
    function showMenu() {
        document.getElementById("crmNavBar").parentElement.style.display = "";
        document.getElementById("tdAreas").parentElement.parentElement.parentElement.parentElement.colSpan = 1;
    }
    

    Код состоит из трех функций. Первая проверяет состояние кнопки и вызывает одну из двух других функций, скрывающих и отображающих левое навигационное меню;

  • Теперь выгрузите Решение с нужным Вам объектом и добавьте в него кнопку-переключатель:
    <RibbonDiffXml>
      <CustomActions>
        <CustomAction Id="ShowHide.CustomAction"
                      Location="Mscrm.Form.account.MainTab.Save.Controls._children"
                      Sequence="50" >
          <CommandUIDefinition>
            <ToggleButton Id="ShowHide.Button"
                          TemplateAlias="o1"
                          Command="ShowHide.Command"
                          CommandValueId="hide"
                          LabelText="Скрыть/отобразить левое меню"
                          Sequence="50"
                          Image32by32="$webresource:new_toggle.png"
                          ToolTipDescription="Скрыть/отобразить левое меню"
                          ToolTipTitle="Скрыть/отобразить левое меню" />
          </CommandUIDefinition>
        </CustomAction>
      </CustomActions>
      <Templates>
        <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
      </Templates>
      <CommandDefinitions>
        <CommandDefinition Id="ShowHide.Command">
          <EnableRules>
            <EnableRule Id="Mscrm.Enabled" />
          </EnableRules>
          <DisplayRules/>
          <Actions>
            <JavaScriptFunction Library="$webresource:new_account.js" FunctionName="ShowHide">
              <CrmParameter Value="CommandProperties" />
            </JavaScriptFunction>
          </Actions>
        </CommandDefinition>
      </CommandDefinitions>
      <RuleDefinitions>
        <TabDisplayRules/>
        <DisplayRules/>
        <EnableRules/>
      </RuleDefinitions>
      <LocLabels />
    </RibbonDiffXml>
    

    Соответственно, Вам нужно подредактировать местоположение кнопки (сейчас она расположена на форме Организации) и рисунок кнопки.



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

*

code