diff options
author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-06-20 18:36:04 -0400 |
---|---|---|
committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-06-20 18:36:04 -0400 |
commit | f2b54dc49205f8ea8944e26e43662a0c8dd08ed0 (patch) | |
tree | a89f7bd6377100b5add6710224b9204e6745f6a3 /src/new_fields/Doc.ts | |
parent | 0cab79a50719719e1dade40520a6967f7aa8f951 (diff) | |
parent | 7d0f6c18489f7155818611721985d9610b08d8e7 (diff) |
Merge branch 'master' of github-tsch-brown:browngraphicslab/Dash-Web
Diffstat (limited to 'src/new_fields/Doc.ts')
-rw-r--r-- | src/new_fields/Doc.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/new_fields/Doc.ts b/src/new_fields/Doc.ts index de4bc4d5d..9bacf49ba 100644 --- a/src/new_fields/Doc.ts +++ b/src/new_fields/Doc.ts @@ -222,6 +222,16 @@ export namespace Doc { return Array.from(results); } + export function AddDocToList(target: Doc, key: string, doc: Doc, relativeTo?: Doc, before?: boolean) { + let list = Cast(target[key], listSpec(Doc)); + if (list) { + let ind = relativeTo ? list.indexOf(relativeTo) : -1; + if (ind === -1) list.push(doc); + else list.splice(before ? ind : ind + 1, 0, doc); + } + return true; + } + export function MakeAlias(doc: Doc) { if (!GetT(doc, "isPrototype", "boolean", true)) { return Doc.MakeCopy(doc); |