diff options
author | Stanley Yip <33562077+yipstanley@users.noreply.github.com> | 2019-07-27 22:31:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-27 22:31:22 +0000 |
commit | abbf48841a813974813bb0394725e35288b06484 (patch) | |
tree | 906646e5f5deb833e493cff26e0a0a3cccf6bec8 /src/new_fields/Doc.ts | |
parent | 3b0af6ff470539fd0a25b2ab975195ff9e269b4a (diff) | |
parent | f02e8416239b612f40dd2c65d6ca9173e81fb1a9 (diff) |
Merge pull request #218 from browngraphicslab/schema_view_improvements_2
Schema view improvements 2
Diffstat (limited to 'src/new_fields/Doc.ts')
-rw-r--r-- | src/new_fields/Doc.ts | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/new_fields/Doc.ts b/src/new_fields/Doc.ts index b5708e97b..da4f459e2 100644 --- a/src/new_fields/Doc.ts +++ b/src/new_fields/Doc.ts @@ -283,21 +283,28 @@ export namespace Doc { export function AddDocToList(target: Doc, key: string, doc: Doc, relativeTo?: Doc, before?: boolean, first?: boolean, allowDuplicates?: boolean) { if (target[key] === undefined) { + console.log("target key undefined"); Doc.GetProto(target)[key] = new List<Doc>(); } let list = Cast(target[key], listSpec(Doc)); if (list) { + console.log("has list"); if (allowDuplicates !== true) { let pind = list.reduce((l, d, i) => d instanceof Doc && Doc.AreProtosEqual(d, doc) ? i : l, -1); if (pind !== -1) { list.splice(pind, 1); } } - if (first) list.splice(0, 0, doc); + if (first) { + console.log("is first"); + list.splice(0, 0, doc); + } else { + console.log("not first"); let ind = relativeTo ? list.indexOf(relativeTo) : -1; if (ind === -1) list.push(doc); else list.splice(before ? ind : ind + 1, 0, doc); + console.log("index", ind); } } return true; |