首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FullCalendar如何使用refetchResources?

FullCalendar如何使用refetchResources?
EN

Stack Overflow用户
提问于 2021-08-28 01:59:39
回答 1查看 64关注 0票数 0

我一整天都在想办法解决这个问题。我有一个日历,上面有员工的资源,加载后一切都很好。我正在尝试做的是过滤员工,以便使用外部过滤器根据用户选择只显示所选的内容。

如果需要,我可以创建某种jQuery函数并使其工作。但看起来并不理想,也不确定它能扩展到什么程度。

这就是我现在所拥有的,就像我说的那样,可以加载:

代码语言:javascript
运行
复制
resources: function(dataInfo, successCallback, failureCallback) {
       successCallback(data);
              });
          },

数据是员工的对象

我有一个侧边菜单,其中有一个,两个或所有员工的多个选择。

代码语言:javascript
运行
复制
<div class="col-md-12">
                      <div class="form-group">
                          <h5> @lang('modules.tasks.assignTo')</h5>
                          <select class="select2 select2-multiple user_id" multiple="multiple"
                                  data-placeholder="@lang('modules.tasks.chooseAssignee')" name="user_id[]" id="user_id">
                                <option value="all" selected="selected">@lang('app.all')</option>
                                  @foreach($crew_leaders as $employee)
                                      @php  $selected = ''; @endphp
                                      <option {{ $selected }} value="{{ $employee->id }}">{{ ucwords($employee->first_name) ?? '---' }} {{ ucwords($employee->last_name) ?? '---' }} </option>
                                  @endforeach
                          </select>
                      </div>
                  </div>

因此,在select上,它需要更新员工资源。为了更清晰起见,我添加了一张图片。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-08-30 22:59:26

让它工作,不确定它是否是最好的解决方案,但它是有效的。

在Calendar类中我添加了

代码语言:javascript
运行
复制
          var calendar = new FullCalendar.Calendar(calendarEl, {
    .....
          resourceAreaWidth: "22%",
          resources: function(dataInfo, successCallback, failureCallback) {
            var sel = $('#user_id').val();
            if(sel != null && sel.length > 0)
            {
              if(sel.includes('all') === true && sel.length == 1){
                 successCallback(getCrew(['all']));
              }else{
                 successCallback(getCrew(sel));
              }
            }
          },
          resourceOrder: 'title'
    ...
    });

然后创建了一个函数getCrew()

代码语言:javascript
运行
复制
      function getCrew(data=[]){
                        
      var url = "{{ route('admin.activities.all-activities.filterActivities') }}";
      var crew = '';
    
      $.easyAjax({
          type: 'GET',
          url: url,
          async: false, //<-- Make sure this is set to false
          data: {data:data, type:'crew'},
          success: function (response) {
             if (response.status == "success") {
//            //return data to post to resorce
                crew = response;
             }
          }
      });
    return crew;
  }

如果有人有更好的解决方案,请让我知道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68960798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档