Skip to content
This repository has been archived by the owner on Sep 9, 2024. It is now read-only.

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
KaneFreeman committed Oct 15, 2023
1 parent 72e3d21 commit f395560
Show file tree
Hide file tree
Showing 10 changed files with 23 additions and 7 deletions.
1 change: 1 addition & 0 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@
"gray-matter": "4.0.3",
"history": "5.3.0",
"immer": "10.0.1",
"immutable": "4.3.4",
"ini": "4.1.0",
"is-hotkey": "0.2.0",
"js-base64": "3.7.5",
Expand Down
1 change: 1 addition & 0 deletions packages/core/src/actions/entries.ts
Original file line number Diff line number Diff line change
Expand Up @@ -877,6 +877,7 @@ export function createEmptyDraft(collection: Collection, search: string) {
mediaFiles: [],
});
newEntry = await backend.processEntry(state, collection, newEntry);
console.log('EQUAL?', newEntry.i18n?.de === newEntry.i18n?.['fr']);
dispatch(emptyDraftCreated(newEntry));
};
}
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/backend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import attempt from 'lodash/attempt';
import flatten from 'lodash/flatten';
import get from 'lodash/get';
import isError from 'lodash/isError';
import set from 'lodash/set';
import uniq from 'lodash/uniq';
import { dirname, extname } from 'path';

Expand Down Expand Up @@ -53,6 +52,7 @@ import { DRAFT_MEDIA_FILES, selectMediaFilePublicPath } from './lib/util/media.u
import { selectCustomPath, slugFromCustomPath } from './lib/util/nested.util';
import { isNotNullish, isNullish } from './lib/util/null.util';
import { fileSearch, sortByScore } from './lib/util/search.util';
import set from './lib/util/set.util';
import { dateParsers, expandPath, extractTemplateVars } from './lib/widgets/stringTemplate';
import { getUseWorkflow } from './reducers/selectors/config';
import createEntry from './valueObjects/createEntry';
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/formats/YamlFormatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class YamlFormatter extends FileFormatter {
}

toFile(data: object, sortedKeys: string[] = [], comments: Record<string, string> = {}) {
const doc = new yaml.Document();
const doc = new yaml.Document({ aliasDuplicateObjects: false });
const contents = doc.createNode(data) as YAMLMap<Node>;

addComments(contents.items as Pair<Node>[], comments);
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/lib/formatters.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import get from 'lodash/get';
import set from 'lodash/set';

import { COMMIT_AUTHOR, COMMIT_DATE } from '../constants/commitProps';
import { sanitizeSlug } from './urlHelper';
import { getFields, selectIdentifier, selectInferredField } from './util/collection.util';
import { getField, selectField } from './util/field.util';
import set from './util/set.util';
import { isEmpty } from './util/string.util';
import {
addFileTemplateFields,
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/lib/i18n.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import escapeRegExp from 'lodash/escapeRegExp';
import get from 'lodash/get';
import groupBy from 'lodash/groupBy';
import set from 'lodash/set';

import { fileForEntry, selectEntrySlug } from './util/collection.util';
import set from './util/set.util';

import type {
BaseField,
Expand Down
5 changes: 5 additions & 0 deletions packages/core/src/lib/util/set.util.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { setIn } from 'immutable';

export default function set<T>(object: T, path: string, value: unknown): T {
return setIn(object, path.split('.'), value);
}
2 changes: 1 addition & 1 deletion packages/core/src/reducers/entries.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import once from 'lodash/once';
import set from 'lodash/set';
import sortBy from 'lodash/sortBy';

import {
Expand All @@ -24,6 +23,7 @@ import {
SORT_ENTRIES_SUCCESS,
} from '../constants';
import { VIEW_STYLES, VIEW_STYLE_TABLE } from '../constants/views';
import set from '../lib/util/set.util';

import type { EntriesAction } from '../actions/entries';
import type { SearchAction } from '../actions/search';
Expand Down
8 changes: 6 additions & 2 deletions packages/core/src/reducers/entryDraft.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import cloneDeep from 'lodash/cloneDeep';
import isEqual from 'lodash/isEqual';
import set from 'lodash/set';
import { v4 as uuid } from 'uuid';

import {} from '../actions/editorialWorkflow';
import {
ADD_DRAFT_ENTRY_MEDIA_FILE,
DRAFT_CHANGE_FIELD,
Expand Down Expand Up @@ -35,6 +33,7 @@ import {
import { duplicateI18nFields, getDataPath } from '../lib/i18n';
import { fileForEntry } from '../lib/util/collection.util';
import { applyDefaultsToDraftData } from '../lib/util/entry.util';
import set from '../lib/util/set.util';

import type { EditorialWorkflowAction } from '../actions/editorialWorkflow';
import type { EntriesAction } from '../actions/entries';
Expand Down Expand Up @@ -216,15 +215,20 @@ function entryDraftReducer(
: (i18n && getDataPath(i18n.currentLocale, i18n.defaultLocale)) || ['data'];

const newEntry = cloneDeep(newState.entry);
console.log('newEntry', cloneDeep(newEntry));
console.log('equal 1?', newEntry.i18n?.fr === newEntry.i18n?.de);

newState = {
...newState,
entry: set(newEntry, `${dataPath.join('.')}.${path}`, value),
};
console.log('setting', `${dataPath.join('.')}.${path}`, 'to', `"${value}"`);

if (i18n) {
newState = duplicateI18nFields(newState, field, i18n.locales, i18n.defaultLocale, path);
}
console.log('newState.entry', cloneDeep(newState.entry));
console.log('equal 2?', newState.entry?.i18n?.fr === newState.entry?.i18n?.de);

let hasChanged =
!isEqual(newEntry?.meta, newState.original?.meta) ||
Expand Down
5 changes: 5 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -10459,6 +10459,11 @@ immer@^9.0.21, immer@^9.0.6:
resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176"
integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==

[email protected]:
version "4.3.4"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.4.tgz#2e07b33837b4bb7662f288c244d1ced1ef65a78f"
integrity sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==

import-fresh@^3.2.1, import-fresh@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
Expand Down

0 comments on commit f395560

Please sign in to comment.