aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-11-26 19:46:54 -0500
committerSam Wilkins <samwilkins333@gmail.com>2019-11-26 19:46:54 -0500
commit96519f4537895edcd1a23f353322459de328a330 (patch)
tree399124e56c6ade78e91c391cf34259d0dc554595 /src
parent39bac937106e77679b2dc76078b812a6b6b11a94 (diff)
pivot label fixes
Diffstat (limited to 'src')
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
index 48d330674..42e987a9a 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLayoutEngines.tsx
@@ -1,11 +1,12 @@
import { Doc, Field, FieldResult } from "../../../../new_fields/Doc";
-import { NumCast, StrCast, Cast } from "../../../../new_fields/Types";
+import { NumCast, StrCast, Cast, DateCast } from "../../../../new_fields/Types";
import { ScriptBox } from "../../ScriptBox";
import { CompileScript } from "../../../util/Scripting";
import { ScriptField } from "../../../../new_fields/ScriptField";
import { OverlayView, OverlayElementOptions } from "../../OverlayView";
import { emptyFunction } from "../../../../Utils";
import React = require("react");
+import { DateField } from "../../../../new_fields/DateField";
interface PivotData {
type: string;
@@ -31,6 +32,16 @@ export interface ViewDefResult {
bounds?: ViewDefBounds;
}
+function toLabel(target: FieldResult<Field>) {
+ if (target instanceof DateField) {
+ const date = DateCast(target).date;
+ if (date) {
+ return `${date.toDateString()} ${date.toTimeString()}`;
+ }
+ }
+ return String(target);
+}
+
export function computePivotLayout(pivotDoc: Doc, childDocs: Doc[], childPairs: { layout: Doc, data?: Doc }[], viewDefsToJSX: (views: any) => ViewDefResult[]) {
let layoutPoolData: Map<{ layout: Doc, data?: Doc }, any> = new Map();
const pivotAxisWidth = NumCast(pivotDoc.pivotWidth, 200);
@@ -55,7 +66,7 @@ export function computePivotLayout(pivotDoc: Doc, childDocs: Doc[], childPairs:
let xCount = 0;
groupNames.push({
type: "text",
- text: String(key),
+ text: toLabel(key),
x,
y: pivotAxisWidth + 50,
width: pivotAxisWidth * 1.25 * numCols,