2015-07-14 3 views
0

В моей веб-форме я использую мастер Fuelux (ссылка: http://getfuelux.com/javascript.html#wizard), и у меня разные роли людей, пришедших на эту страницу. Мне нужно, чтобы «отключить» определенные шаги мастера на основе некоторых данных, которые я получаю при загрузке страницы. Я считаю, что это будет иметь отношение к стилизации, но мне не повезло найти то, что мне нужно.Мастер FuelUX Как отключить определенные шаги?

Например,

У меня есть шаги 1-6, и предположим, что пользователь заходит на страницу. Я идентифицирую его как архитектора данных, поэтому мне нужно отключить шаги 4 и 6. У меня есть несколько определенных ролей, которые мне нужно отключить для каждой отдельной роли некоторые комбинации вкладок.

Это можно сделать, позвонив по javascript для топлива ux, исходя из того, какую роль я идентифицирую пользователя, как в коде? И какие изменения мне понадобится для определенного шага, чтобы пользователь не смог получить к нему доступ?

Edit:

Вот мои шаги:

<ul class="steps"> 

      <li data-step="1" data-name="Documentation" class="active"><span class="badge">1</span>Documentation<span class="chevron"></span></li> 
      <li data-step="2" data-name="Business"><span class="badge">2</span>Business<span class="chevron"></span></li> 
      <li data-step="3" data-name="Application"><span class="badge">3</span>Application<span class="chevron"></span></li> 
      <li data-step="4" data-name="Data"><span class="badge">4</span>Data<span class="chevron"></span></li> 
      <li data-step="5" data-name="Infrastructure"><span class="badge">5</span>Infrastructure<span class="chevron"></span></li> 
      <li data-step="6" data-name="Security"><span class="badge">6</span>Security<span class="chevron"></span></li> 

    </ul> 

Мой вопрос на самом деле, есть ли способ отключить определенные данные-шаги из кода позади?

+0

пожалуйста, поделитесь некоторые соответствующий код так что мы можем вам помочь в лучшем виде –

+0

Помогает ли это @BhushanKawadkar? – dskoda1

+0

Просьба поделиться ссылкой плагина или поделиться ссылкой jsfiddle с заявлением о проблеме. –

ответ

0

Я понял способ сделать это, объявив int массивы в моем коде позади, а затем обращаясь к ним непосредственно под тем местом, где я инициализирую свой массив в javascript. Это выглядит следующим образом:

Код позади:

//Check which steps to disable 
      if (role.Contains("Data")) 
      { 
       disabledSteps = new int[] {5, 5}; 
      } 
      else if (role.Contains("Infra")) 
      { 
       disabledSteps = new int[] {4, 5}; 
      } 
      else if (role.Contains("Security")) 
      { 
       disabledSteps = new int[] { 4, 4 }; 
      } 

Затем, используя JavaScriptSerializer который я также объявленную в моем коде позади, Javascript выглядит следующим образом:

var disabledSteps = <%= serializer.Serialize(disabledSteps) %>; 
     for(var i in disabledSteps){ 
      alert(disabledSteps[i]); 
      $('#myWizard').wizard('removeSteps', disabledSteps[i], 1); 
     } 
Смежные вопросы