HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/buyercall/assets/vue/widgets/Worklist/store/tasks/getters.js
import {
  TASK_GETTER_LATEST_TASK_CREATED_DATE,
  TASK_GETTER,
  TASK_GETTER_GET_TASK_LIST,
  TASK_GETTER_SHOW_VIEW_MORE_BUTTON,
} from '../../constants';
import * as _ from 'lodash';
import moment from 'moment';

export default {
  [TASK_GETTER_LATEST_TASK_CREATED_DATE]({ tasks }) {
    if (!tasks.length) {
      return null;
    }
    return tasks[0]['createdAt'];
  },
  [TASK_GETTER](state) {
    return state;
  },
  [TASK_GETTER_SHOW_VIEW_MORE_BUTTON](state) {
    if (state.totalRecordCount > 0) {
      const totalNumberOfPages = Math.ceil(
        state.totalRecordCount / state.taskfetchLimit,
      );
      if (totalNumberOfPages !== state.currentpage) {
        return true;
      }
    }
    return false;
  },
  [TASK_GETTER_GET_TASK_LIST]({ tasks }) {
    let tempTasks = _.map(tasks, n => {
      const createdAt = new Date(n.createdAt);
      const createdDay = moment(createdAt).format('L');
      const isyesterday =
        createdDay ===
        moment()
          .subtract(1, 'days')
          .format('L');
      const istoday = createdDay === moment().format('L');
      return {
        ...n,
        createdAt,
        createdByDay: moment(createdAt).format('L'),
        timeFormattedString: moment(createdAt).fromNow(),
        dateFormattedString: moment(createdAt).format('MMM Do'),
        isyesterday,
        istoday,
      };
    });
    tempTasks = _.groupBy(tempTasks, 'createdByDay');
    return _.map(
      _.orderBy(_.keys(tempTasks), k => moment(k), ['desc']),
      d => ({
        day: d,
        tasks: _.orderBy(tempTasks[d], k => moment(k.createdAt), ['desc']),
      }),
    );
  },
};