aboutsummaryrefslogtreecommitdiff
path: root/src/client/documents/Documents.ts
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2025-03-10 16:13:04 -0400
committerbobzel <zzzman@gmail.com>2025-03-10 16:13:04 -0400
commitb7989dded8bb001876de6cbca59bf77935f0daf7 (patch)
tree0dba0665674db7bb84770833df0a4100d0520701 /src/client/documents/Documents.ts
parent4979415d4604d280e81a162bf9a9d39c731d3738 (diff)
parent5bf944035c0ba94ad15245416f51ca0329a51bde (diff)
Merge branch 'master' into alyssa-starter
Diffstat (limited to 'src/client/documents/Documents.ts')
-rw-r--r--src/client/documents/Documents.ts79
1 files changed, 64 insertions, 15 deletions
diff --git a/src/client/documents/Documents.ts b/src/client/documents/Documents.ts
index b0e1a7545..317bb7feb 100644
--- a/src/client/documents/Documents.ts
+++ b/src/client/documents/Documents.ts
@@ -35,7 +35,7 @@ export enum FInfoFieldType {
enumeration = 'enum',
date = 'date',
list = 'list',
- rtf = 'rich text',
+ rtf = 'richtext',
map = 'map',
}
export class FInfo {
@@ -197,8 +197,10 @@ export class DocumentOptions {
data_nativeWidth?: NUMt = new NumInfo('native width of data field contents (e.g., the pixel width of an image)', false);
data_nativeHeight?: NUMt = new NumInfo('native height of data field contents (e.g., the pixel height of an image)', false);
linearBtnWidth?: NUMt = new NumInfo('unexpanded width of a linear menu button (button "width" changes when it expands)', false);
- _nativeWidth?: NUMt = new NumInfo('native width of document contents (e.g., the pixel width of an image)', false);
- _nativeHeight?: NUMt = new NumInfo('native height of document contents (e.g., the pixel height of an image)', false);
+ _nativeWidth?: NUMt = new NumInfo('Deprecated: use nativeWidth. native width of document contents (e.g., the pixel width of an image)', false);
+ _nativeHeight?: NUMt = new NumInfo('Deprecated: use nativeHeight. native height of document contents (e.g., the pixel height of an image)', false);
+ nativeWidth?: NUMt = new NumInfo('native width of document contents (e.g., the pixel width of an image)', false);
+ nativeHeight?: NUMt = new NumInfo('native height of document contents (e.g., the pixel height of an image)', false);
acl?: STRt = new StrInfo('unused except as a display category in KeyValueBox');
acl_Guest?: STRt = new StrInfo("permissions granted to users logged in as 'guest' (either view, or private)"); // public permissions
@@ -238,8 +240,8 @@ export class DocumentOptions {
dataViz?: string;
dataViz_savedTemplates?: LISTt;
- borderWidth?: STRt = new StrInfo('Width of user-added border', false);
- borderColor?: STRt = new StrInfo('Color of user-added border', false);
+ borderWidth?: NUMt = new NumInfo('Width of docuent border', false);
+ borderColor?: STRt = new StrInfo('Color of document border', false);
text_fontColor?: STRt = new StrInfo('Color of text', false);
hCentering?: 'h-left' | 'h-center' | 'h-right';
isDefaultTemplateDoc?: BOOLt = new BoolInfo('');
@@ -272,6 +274,8 @@ export class DocumentOptions {
_layout_noSidebar?: BOOLt = new BoolInfo('whether to display the sidebar toggle button');
layout_boxShadow?: string; // box-shadow css string OR "standard" to use dash standard box shadow
layout_maxShown?: NUMt = new NumInfo('maximum number of children to display at one time (see multicolumnview)');
+ _layout_columnWidth?: NUMt = new NumInfo('width of table column', false);
+ _layout_columnCount?: NUMt = new NumInfo('number of columns in a masonry view');
_layout_dontCenter?: STRt = new StrInfo("whether collections will center their content - values of 'x', 'xy', or 'y'");
_layout_autoHeight?: BOOLt = new BoolInfo('whether document automatically resizes vertically to display contents');
_layout_autoHeightMargins?: NUMt = new NumInfo('Margin heights to be added to the computed auto height of a Doc');
@@ -295,7 +299,6 @@ export class DocumentOptions {
_xPadding?: NUMt = new NumInfo('x padding', false);
_yPadding?: NUMt = new NumInfo('y padding', false);
_createDocOnCR?: boolean; // whether carriage returns and tabs create new text documents
- _columnWidth?: NUMt = new NumInfo('width of table column', false);
_columnsHideIfEmpty?: BOOLt = new BoolInfo('whether stacking view column headings should be hidden');
_caption_xMargin?: NUMt = new NumInfo('x margin of caption inside of a carousel collection', false, true);
_caption_yMargin?: NUMt = new NumInfo('y margin of caption inside of a carousel collection', false, true);
@@ -382,6 +385,9 @@ export class DocumentOptions {
presentation_duration?: NUMt = new NumInfo('the duration of the slide in presentation view', false);
presentation_zoomText?: BOOLt = new BoolInfo('whether text anchors should shown in a larger box when following links to make them stand out', false);
+ data_annotations?: List<Doc>;
+ _data_usePath?: STRt = new StrInfo("description of field key to display in image box ('alternate','alternate:hover', 'data:hover'). defaults to primary", false);
+ data_alternates?: List<Doc>;
data?: FieldType;
data_useCors?: BOOLt = new BoolInfo('whether CORS protocol should be used for web page');
_face_showImages?: BOOLt = new BoolInfo('whether to show images in uniqe face Doc');
@@ -514,6 +520,10 @@ export class DocumentOptions {
card_sort?: STRt = new StrInfo('way cards are sorted in deck view');
card_sort_isDesc?: BOOLt = new BoolInfo('whether the cards are sorted ascending or descending');
+
+ ai?: string; // to mark items as ai generated
+ ai_firefly_seed?: number;
+ ai_firefly_prompt?: string;
}
export const DocOptions = new DocumentOptions();
@@ -563,6 +573,19 @@ export namespace Docs {
options: { acl: '' },
},
],
+
+ // AARAV ADD //
+ [
+ DocumentType.JOURNAL,
+ {
+ layout: { view: EmptyBox, dataField: 'text' },
+ options: {
+ title: 'Daily Journal',
+ acl_Guest: SharingPermissions.View,
+ },
+ },
+ ],
+ // AARAV ADD //
]);
const suffix = 'Proto';
@@ -645,6 +668,7 @@ export namespace Docs {
return undefined;
}
const { layout } = template;
+
// create title
const upper = suffix.toUpperCase();
const title = prototypeId.toUpperCase().replace(upper, `_${upper}`);
@@ -830,8 +854,8 @@ export namespace Docs {
...options,
});
}
- export function DiagramDocument(options: DocumentOptions = { title: '' }) {
- return InstanceFromProto(Prototypes.get(DocumentType.DIAGRAM), undefined, options);
+ export function DiagramDocument(data?: string, options: DocumentOptions = { title: '' }) {
+ return InstanceFromProto(Prototypes.get(DocumentType.DIAGRAM), data, options);
}
export function AudioDocument(url: string, options: DocumentOptions = {}, overwriteDoc?: Doc) {
@@ -893,6 +917,34 @@ export namespace Docs {
return InstanceFromProto(Prototypes.get(DocumentType.RTF), field, options, undefined, fieldKey);
}
+ // AARAV ADD //
+
+ export function DailyJournalDocument(text: string | RichTextField, options: DocumentOptions = {}, fieldKey: string = 'text') {
+ const styles = {
+ bold: true, // Make the journal date bold
+ color: 'blue', // Set the journal date color to blue
+ fontSize: 18, // Set the font size to 18px for the whole text
+ };
+
+ return InstanceFromProto(
+ Prototypes.get(DocumentType.JOURNAL),
+ typeof text === 'string' ? RichTextField.textToRtf(text, undefined, styles, undefined) : text,
+ {
+ title: new Date().toLocaleDateString(undefined, {
+ weekday: 'long',
+ year: 'numeric',
+ month: 'long',
+ day: 'numeric',
+ }),
+ ...options,
+ },
+ undefined,
+ fieldKey
+ );
+ }
+
+ // AARAV ADD //
+
export function LinkDocument(source: Doc, target: Doc, options: DocumentOptions = {}, id?: string) {
const linkDoc = InstanceFromProto(
Prototypes.get(DocumentType.LINK),
@@ -916,7 +968,7 @@ export namespace Docs {
const I = Doc.GetProto(ink);
// I.layout_hideOpenButton = true; // don't show open full screen button when selected
I.color = color;
- I.fillColor = fillColor;
+ I.fillColor = fillColor && fillColor !== 'transparent' ? fillColor : undefined;
I.stroke = new InkField(points);
I.stroke_width = strokeWidth;
I.stroke_bezier = strokeBezier;
@@ -926,8 +978,9 @@ export namespace Docs {
I.stroke_isInkMask = isInkMask;
I.text_align = 'center';
I.rotation = 0;
+ I.width_min = 1;
+ I.height_min = 1;
I.defaultDoubleClick = 'ignore';
- I.keepZWhenDragged = true;
I.author_date = new DateField();
I.acl_Guest = Doc.defaultAclPrivate ? SharingPermissions.None : SharingPermissions.View;
// I.acl_Override = SharingPermissions.Unset;
@@ -1087,7 +1140,7 @@ export namespace Docs {
}
export function AnnoPaletteDocument(options?: DocumentOptions) {
- return InstanceFromProto(Prototypes.get(DocumentType.ANNOPALETTE), new List([Doc.MyAnnos]), { ...(options || {}) });
+ return InstanceFromProto(Prototypes.get(DocumentType.ANNOPALETTE), new List([Doc.MyStickers]), { ...(options || {}) });
}
export function DockDocument(documents: Array<Doc>, config: string, options: DocumentOptions, id?: string) {
@@ -1097,9 +1150,5 @@ export namespace Docs {
export function DelegateDocument(proto: Doc, options: DocumentOptions = {}) {
return InstanceFromProto(proto, undefined, options);
}
-
- export function SimulationDocument(options?: DocumentOptions) {
- return InstanceFromProto(Prototypes.get(DocumentType.SIMULATION), undefined, { ...(options || {}) });
- }
}
}