Пример #1
0
 eventbus.on(ee.TRAINING_CLONE_AS_INSTANCE_CMD, (training, position) => {
   // if (!hasProperty(this, "plan")) {
   //   throw new Error("Cloning a day before a plan was loaded in TimelineStore");
   // }
   // if (!hasProperty(plan, "days")) {
   //   throw new Error("Cloning a day before days are loaded in TimelineStore");
   // }
   const _training = clone(training);
   const newInstanceUuid = createUuid();
   _training.uuid = newInstanceUuid;
   traininginstances.push(_training);
   // TODO modify augmentDay to accept one training as well as multiple trainings
   const augmentedDay = augmentDay(
     {uuid: createUuid(), instanceId: newInstanceUuid},
     traininginstances,
   );
   insertDayIntoPlan(position, augmentedDay, selectedWeekNr);
   eventbus.emit(ee.TRAINING_TO_PLAN_EVT, plan);
 });
Пример #2
0
export const cloneTrainingInstanceInDay = (day, uuid) => {
  const _day = clone(day);
  const _instances = clone(_day.trainings || []);
  const _instance = findTraining(uuid, _instances);
  if (_instance !== null) {
    const _instanceClone = clone(_instance);
    _instanceClone.uuid = createUuid();
    _instances.push(_instanceClone);
    _day.trainings = _instances;
  }
  return _day;
};
Пример #3
0
 const cloneLoadedTrainingInStore = () => {
   const _trainings = clone(trainings);
   const _training = {};
   _training.uuid = createUuid();
   _training.name = `${name} (clone)`;
   _training.type = clone(type);
   _training.segments = clone(segments);
   _training.total = makeSegmentsTotal(_training.segments);
   _trainings.push(_training);
   trainings = _trainings;
   eventbus.emit(ee.TRAINING_ADD_EVT, _trainings);
   eventbus.emit(ee.TRAINING_LOAD_CMD, _training.uuid);
 };
Пример #4
0
 eventbus.on(ee.INSTANCE_CREATE_CMD, dayUuid => {
   console.log(`DayStore caught INSTANCE_CREATE_CMD`);
   if (day.uuid === dayUuid) {
     console.log(`DayStore pushing a new training to local day ${day.uuid}`);
     const training = { ...DEFAULT_TRAINING, uuid: createUuid() };
     day = addTrainingInstanceToDay(day, training);
     eventbus.emit(ee.DAY_UPDATE_EVT, day);
     eventbus.emit(ee.INSTANCE_LOAD_CMD, training); //
   } else {
     console.log(
       `DayStore COULD NOT UPDATE local day since uuids are not equal ${day.uuid}/${dayUuid}`,
     );
   }
 });