18910140161

JavaScript-根据用户隐藏/显示元素's权限-fliplet-堆栈溢出

顺晟科技

2022-10-18 13:27:27

71

我需要帮助弄清楚如何根据用户状态显示或隐藏元素。普通用户=隐藏元素,管理员=显示元素。

我必须在Fliplet中做这件事(不幸的是),我知道不是所有的事情都可以在这种环境中完成,或者至少不容易。这个小问题,我已经坚持了好几个小时。我最近尝试改变它看起来像这样(加上相关的HTML和CSS):

JS

Fliplet.User.getCachedSession().then(function(session) {

var user = _.get(session, 'entries.saml2.user');
  var typeColumn = 'Admin'; //the name of the column in the data source

if (user === 'admin1(changed ofcourse)' || user === 'admin2(changed ofcourse)') {
    $('.adminlink').fadeIn(400, function() {
      document.getElementsByClassName("adminlink").style.display='block';
    }
      );
  } else {
    $('.adminlink').fadeOut(1, function() {
      document.getElementsByClassName("adminlink").style.display='none';
    }
      );
  }
});

CSS

<代码>.AdminLink{显示:无!重要的;宽度:100%;}

HTML

<代码><;DIV类=";AdminLink";ID=";管理员";>;<;fl-container CID=";XXXXX";>;<;fl-list-small-thumbs CID=";xxxxx";>;<;/fl-list-small-thumbs>;<;/fl-container>;<;/DIV>;
当然,

我最初尝试遵循Fliplet自己的知识基础的指南和代码片段,但它们从来没有起过作用。

我尝试了不同的JS方法,甚至CSS更改,但似乎都不起作用。出于某种原因,元素不想响应,无论它如何调用,即通过ID、类等。

任何想法,将不胜感激!

谢谢了格雷格

编辑:这种方法使用Office 365集成登录(工作正常),但最初有一个基于Fliplet的登录系统(JS中的不同代码),虽然仍然工作正常,但元素的隐藏/显示也不起作用。


顺晟科技:

以防将来其他人需要这个。

.adminlink {
  display: none !important;
  width: 100%;
}

CSS必须保留

<div class="adminlink" id="admin">
  <fl-container cid="xxxxx">
    <fl-list-small-thumbs cid="xxxxx"></fl-list-small-thumbs>
  </fl-container>
</div>

以及Fliplet的API文档的相关链接,这些文档帮助我将其整合在一起。是的,它已经在生产中实施并经过测试。有什么问题吗?打我

https://developers.fliplet.com/api/integrations/sso-saml2.html#exposing-data.

https://developers.fliplet.com/api/components/form-builder.html#formloadfunction.

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航