Пример #1
0
const selector = (
  standardId,
  risks,
  usersByIds,
  riskTypesByIds,
  departmentsByIds,
  standardsByIds,
) => compose(
  map(compose(
    over(lenses.type, id => riskTypesByIds[id]),
    over(lenses.originator, id => getUserWithFullName(usersByIds[id])),
    over(lenses.owner, id => getUserWithFullName(usersByIds[id])),
    over(lenses.departments, map(compose(
      renameKeys({ name: 'title' }),
      id => departmentsByIds[id],
    ))),
    over(lenses.standards, map(id => standardsByIds[id])),
    over(lenses.analysis, compose(
      over(lenses.executor, id => getUserWithFullName(usersByIds[id])),
      over(lenses.completedBy, id => getUserWithFullName(usersByIds[id])),
    )),
    renameKeys({
      ownerId: 'owner',
      originatorId: 'originator',
      typeId: 'type',
      departmentsIds: 'departments',
      standardsIds: 'standards',
    }),
  )),
  filter(where({ standardsIds: contains(standardId) })),
)(risks);
Пример #2
0
const NewActionForm = ({
  organizationId,
  linkedTo,
  loadActions,
  ...props
}) => (
  <Field
    name="active"
    buttons={[
      <span key="new">New</span>,
      <span key="existing">Existing</span>,
    ]}
    component={SwitchViewAdapter}
  >
    <ActionForm {...{ ...props, organizationId }}>
      <FormField>
        Linked to
        <LinkedEntityInput disabled {...renameKeys({ title: 'value' }, linkedTo)} />
      </FormField>
    </ActionForm>
    <CardBlock>
      <FormField>
        Existing action
        <Field
          loadOptionsOnOpen
          name="action"
          placeholder="Existing action"
          component={SelectInputAdapter}
          loadOptions={loadActions}
        />
      </FormField>
    </CardBlock>
  </Field>
);
Пример #3
0
const LessonForm = ({
  organizationId,
  linkedTo,
  onChangeTitle,
  onChangeDate,
  onChangeOwner,
  onChangeNotes,
}) => (
  <Fragment>
    <CardBlock>
      <FormField>
        Title
        <InputField
          name="title"
          placeholder="Title"
          onBlur={onChangeTitle}
        />
      </FormField>
      <FormField>
        Linked to
        <LinkedEntityInput disabled {...renameKeys({ title: 'value' }, linkedTo)} />
      </FormField>
      <FormField>
        Created date
        <DatePickerField
          name="date"
          onChange={onChangeDate}
          placeholderText="Created date"
        />
      </FormField>
      <FormField>
        Created by
        <OrgUsersSelectInputContainer
          name="owner"
          placeholder="Created by"
          component={SelectInputField}
          onChange={onChangeOwner}
          {...{ organizationId }}
        />
      </FormField>
    </CardBlock>
    <QuillField
      name="notes"
      onBlur={onChangeNotes}
    />
  </Fragment>
);
Пример #4
0
    'description',
    'owner',
    'planInPlace',
    'completionTargetDate',
    'toBeCompletedBy',
    'completedAt',
    'completedBy',
    'verifiedAt',
    'verifiedBy',
    'completionComments',
    'verificationComments',
    'toBeVerifiedBy',
    'verificationTargetDate',
    'linkedTo',
  ]),
  renameKeys({ goals: 'linkedTo' }),
  over(lenses.goals, mapEntitiesToOptions),
  over(lenses.toBeVerifiedBy, getUserOptions),
  over(lenses.verifiedBy, getUserOptions),
  over(lenses.completedBy, getUserOptions),
  over(lenses.toBeCompletedBy, getUserOptions),
  over(lenses.owner, getUserOptions),
);

export const getActionFormInitialState = user => ({
  active: 0,
  owner: getUserOptions(user),
  toBeCompletedBy: getUserOptions(user),
  planInPlace: ActionPlanOptions.NO,
  // TODO: Update based on linked documents like creation modal?
  completionTargetDate: moment().add(1, 'days'),