@formicoidea/labre-core 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/architecture/code.c4 +48 -44
- package/architecture/likec4.config.json +3 -3
- package/dist/_pkgs/affine-block-root/configs/toolbar.d.ts +1 -1
- package/dist/_pkgs/affine-block-root/configs/toolbar.js +4 -2
- package/dist/_pkgs/affine-block-surface/extensions/reading-toolbar.js +12 -12
- package/dist/_pkgs/affine-components/context-menu/menu-all.d.ts +1 -0
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.d.ts +3 -1
- package/dist/_pkgs/affine-components/context-menu/menu-renderer.js +9 -1
- package/dist/_pkgs/affine-components/context-menu/menu.d.ts +7 -0
- package/dist/_pkgs/affine-components/context-menu/menu.js +5 -0
- package/dist/_pkgs/affine-components/context-menu/sub-menu.d.ts +19 -1
- package/dist/_pkgs/affine-components/context-menu/sub-menu.js +46 -7
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/highlight-duotone-icon.js +8 -8
- package/dist/_pkgs/affine-components/highlight-dropdown-menu/text-duotone-icon.js +11 -11
- package/dist/_pkgs/affine-database-block/configs/slash-menu.d.ts +24 -0
- package/dist/_pkgs/affine-database-block/configs/slash-menu.js +52 -37
- package/dist/_pkgs/affine-database-block/creation-menu.d.ts +6 -0
- package/dist/_pkgs/affine-database-block/data-source.d.ts +6 -0
- package/dist/_pkgs/affine-database-block/data-source.js +16 -0
- package/dist/_pkgs/affine-database-block/database-block-styles.js +4 -3
- package/dist/_pkgs/affine-database-block/database-block.d.ts +23 -0
- package/dist/_pkgs/affine-database-block/database-block.js +129 -19
- package/dist/_pkgs/affine-database-block/database-dnd-preview-block.js +5 -1
- package/dist/_pkgs/affine-database-block/detail-panel/block-renderer.js +5 -2
- package/dist/_pkgs/affine-database-block/detail-panel/note-renderer.js +3 -2
- package/dist/_pkgs/affine-database-block/external-data-source.d.ts +17 -0
- package/dist/_pkgs/affine-database-block/external-data-source.js +54 -4
- package/dist/_pkgs/affine-database-block/index.d.ts +3 -0
- package/dist/_pkgs/affine-database-block/index.js +5 -0
- package/dist/_pkgs/affine-database-block/linked-view.d.ts +59 -0
- package/dist/_pkgs/affine-database-block/linked-view.js +131 -1
- package/dist/_pkgs/affine-database-block/properties/created-time/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/link/cell-renderer.js +3 -2
- package/dist/_pkgs/affine-database-block/properties/link/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/rich-text/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/text/hosted.js +1 -0
- package/dist/_pkgs/affine-database-block/properties/title/define.js +3 -1
- package/dist/_pkgs/affine-database-block/properties/title/hosted.js +1 -0
- package/dist/_pkgs/affine-database-block/service/new-row-menu.d.ts +1 -1
- package/dist/_pkgs/affine-database-block/service/new-row-menu.js +1 -1
- package/dist/_pkgs/affine-database-block/translations.d.ts +29 -0
- package/dist/_pkgs/affine-database-block/translations.js +104 -0
- package/dist/_pkgs/affine-database-block/turn-into-source.d.ts +38 -0
- package/dist/_pkgs/affine-database-block/turn-into-source.js +187 -0
- package/dist/_pkgs/affine-database-block/view-deletion.d.ts +15 -0
- package/dist/_pkgs/affine-database-block/view-deletion.js +113 -0
- package/dist/_pkgs/affine-database-block/views/index.d.ts +7 -9
- package/dist/_pkgs/affine-database-block/views/index.js +7 -10
- package/dist/_pkgs/affine-database-engine/core/common/properties.js +7 -7
- package/dist/_pkgs/affine-database-engine/core/common/property-menu.d.ts +18 -2
- package/dist/_pkgs/affine-database-engine/core/common/property-menu.js +78 -27
- package/dist/_pkgs/affine-database-engine/core/data-source/base.d.ts +11 -0
- package/dist/_pkgs/affine-database-engine/core/data-source/base.js +3 -0
- package/dist/_pkgs/affine-database-engine/core/detail/detail.js +8 -5
- package/dist/_pkgs/affine-database-engine/core/detail/field.js +14 -7
- package/dist/_pkgs/affine-database-engine/core/filter/add-filter.js +4 -2
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/boolean.js +7 -4
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/create.d.ts +9 -1
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/create.js +2 -0
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/date.js +7 -4
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/multi-tag.js +17 -8
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/number.js +6 -6
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/string.js +19 -12
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/tag.js +9 -4
- package/dist/_pkgs/affine-database-engine/core/filter/filter-fn/unknown.js +7 -4
- package/dist/_pkgs/affine-database-engine/core/filter/literal/define.js +6 -4
- package/dist/_pkgs/affine-database-engine/core/filter/literal/matcher.d.ts +2 -1
- package/dist/_pkgs/affine-database-engine/core/filter/literal/matcher.js +3 -2
- package/dist/_pkgs/affine-database-engine/core/filter/literal/types.d.ts +4 -1
- package/dist/_pkgs/affine-database-engine/core/filter/literal/types.js +1 -1
- package/dist/_pkgs/affine-database-engine/core/group-by/define.js +11 -9
- package/dist/_pkgs/affine-database-engine/core/group-by/group-title.js +16 -6
- package/dist/_pkgs/affine-database-engine/core/group-by/locate-row.d.ts +16 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/locate-row.js +32 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/renderer/date-group.js +10 -3
- package/dist/_pkgs/affine-database-engine/core/group-by/setting.d.ts +2 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/setting.js +40 -28
- package/dist/_pkgs/affine-database-engine/core/group-by/trait.d.ts +3 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/trait.js +8 -0
- package/dist/_pkgs/affine-database-engine/core/group-by/types.d.ts +3 -1
- package/dist/_pkgs/affine-database-engine/core/group-by/types.js +1 -1
- package/dist/_pkgs/affine-database-engine/core/property/types.d.ts +7 -0
- package/dist/_pkgs/affine-database-engine/core/property/types.js +1 -1
- package/dist/_pkgs/affine-database-engine/core/sort/add-sort.js +3 -1
- package/dist/_pkgs/affine-database-engine/core/statistics/any.js +43 -21
- package/dist/_pkgs/affine-database-engine/core/statistics/checkbox.js +29 -14
- package/dist/_pkgs/affine-database-engine/core/statistics/number.js +54 -31
- package/dist/_pkgs/affine-database-engine/core/statistics/types.d.ts +8 -0
- package/dist/_pkgs/affine-database-engine/core/statistics/types.js +2 -1
- package/dist/_pkgs/affine-database-engine/core/utils/wording.d.ts +20 -1
- package/dist/_pkgs/affine-database-engine/core/utils/wording.js +24 -0
- package/dist/_pkgs/affine-database-engine/core/view-manager/property.d.ts +7 -0
- package/dist/_pkgs/affine-database-engine/core/view-manager/property.js +29 -5
- package/dist/_pkgs/affine-database-engine/core/view-manager/single-view.d.ts +14 -0
- package/dist/_pkgs/affine-database-engine/core/view-manager/single-view.js +11 -0
- package/dist/_pkgs/affine-database-engine/property-presets/checkbox/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/date/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/multi-select/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/number/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/number/utils/formats.d.ts +3 -0
- package/dist/_pkgs/affine-database-engine/property-presets/number/utils/formats.js +56 -9
- package/dist/_pkgs/affine-database-engine/property-presets/progress/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/select/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/property-presets/text/define.js +3 -1
- package/dist/_pkgs/affine-database-engine/translations.d.ts +133 -5
- package/dist/_pkgs/affine-database-engine/translations.js +625 -9
- package/dist/_pkgs/affine-database-engine/view-presets/convert.js +0 -28
- package/dist/_pkgs/affine-database-engine/view-presets/effect.js +0 -2
- package/dist/_pkgs/affine-database-engine/view-presets/flat/flat-converts.js +2 -4
- package/dist/_pkgs/affine-database-engine/view-presets/flat/flat-view-ui.d.ts +57 -0
- package/dist/_pkgs/affine-database-engine/view-presets/flat/flat-view-ui.js +113 -4
- package/dist/_pkgs/affine-database-engine/view-presets/gallery/gallery-view.js +2 -1
- package/dist/_pkgs/affine-database-engine/view-presets/index.d.ts +0 -2
- package/dist/_pkgs/affine-database-engine/view-presets/index.js +0 -3
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/kanban-view-manager.js +2 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/group.js +7 -5
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/kanban-view-ui-logic.d.ts +5 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/kanban-view-ui-logic.js +25 -3
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/mobile/menu.js +12 -6
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/controller/selection.d.ts +8 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/controller/selection.js +35 -12
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/group.js +7 -5
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/header.js +5 -1
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/kanban-view-ui-logic.d.ts +5 -0
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/kanban-view-ui-logic.js +8 -4
- package/dist/_pkgs/affine-database-engine/view-presets/kanban/pc/menu.js +12 -6
- package/dist/_pkgs/affine-database-engine/view-presets/list/list-view.js +2 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/column-header.js +6 -4
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/group.js +6 -5
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/header.js +2 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/table-view-ui-logic.d.ts +4 -3
- package/dist/_pkgs/affine-database-engine/view-presets/table/mobile/table-view-ui-logic.js +29 -5
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/controller/clipboard.js +6 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/controller/selection.js +2 -0
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/group.js +6 -5
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/header/column-header.js +11 -7
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/header/database-header-column.js +16 -12
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/header/number-format-bar.js +4 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/menu.js +9 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/table-view-ui-logic.d.ts +8 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc/table-view-ui-logic.js +29 -7
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/controller/clipboard.js +6 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/controller/selection.js +2 -0
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/bottom/group-footer.js +5 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/bottom/stats/column-stats-column.d.ts +1 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/bottom/stats/column-stats-column.js +14 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/group-header.js +5 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/group-title.js +5 -3
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/header/column-header.js +17 -10
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/header/number-format-bar.js +4 -2
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/group/top/header/single-column-header.js +20 -14
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/row/menu.js +9 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/table-view-ui-logic.d.ts +6 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/pc-virtual/table-view-ui-logic.js +30 -3
- package/dist/_pkgs/affine-database-engine/view-presets/table/stats/column-stats-column.d.ts +1 -1
- package/dist/_pkgs/affine-database-engine/view-presets/table/stats/column-stats-column.js +14 -6
- package/dist/_pkgs/affine-database-engine/view-presets/table/table-view-manager.js +2 -0
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/condition-view.d.ts +2 -0
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/condition-view.js +13 -6
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/group-panel-view.js +20 -13
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/filter/root-panel-view.js +10 -5
- package/dist/_pkgs/affine-database-engine/widget-presets/quick-setting-bar/sort/root-panel.js +8 -5
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/search/search.js +2 -2
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/table-add-row/add-row.d.ts +6 -0
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/table-add-row/add-row.js +49 -4
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/view-options/view-settings.d.ts +3 -3
- package/dist/_pkgs/affine-database-engine/widget-presets/tools/presets/view-options/view-settings.js +3 -3
- package/dist/_pkgs/affine-database-engine/widget-presets/views-bar/views-view.js +5 -0
- package/dist/_pkgs/affine-database-view-block/configs/slash-menu.js +6 -3
- package/dist/_pkgs/affine-database-view-block/data-view-block.js +5 -4
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.d.ts +3 -2
- package/dist/_pkgs/affine-fragment-doc-title/doc-title.js +3 -2
- package/dist/_pkgs/affine-shared/services/data-source-picker-service.d.ts +130 -1
- package/dist/_pkgs/affine-widget-edgeless-zoom-toolbar/index.js +26 -26
- package/dist/_pkgs/affine-widget-keyboard-toolbar/config.js +10 -21
- package/dist/_pkgs/affine-widget-keyboard-toolbar/icons.js +98 -98
- package/dist/_pkgs/affine-widget-page-dragging-area/index.js +10 -10
- package/dist/_pkgs/affine-widget-viewport-overlay/index.js +13 -13
- package/package.json +1 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/calendar-view-manager.d.ts +0 -70
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/calendar-view-manager.js +0 -449
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/define.d.ts +0 -10
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/define.js +0 -29
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/effect.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/effect.js +0 -4
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/index.d.ts +0 -6
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/index.js +0 -6
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/layout.d.ts +0 -37
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/layout.js +0 -138
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/actions.d.ts +0 -7
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/actions.js +0 -64
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/dnd.d.ts +0 -32
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/dnd.js +0 -159
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/effect.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/effect.js +0 -7
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/hit-test.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/hit-test.js +0 -28
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/styles.d.ts +0 -1
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/styles.js +0 -707
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/view.d.ts +0 -89
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/pc/view.js +0 -849
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/renderer.d.ts +0 -2
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/renderer.js +0 -8
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/source.d.ts +0 -8
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/source.js +0 -3
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/types.d.ts +0 -79
- package/dist/_pkgs/affine-database-engine/view-presets/calendar/types.js +0 -1
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import type { InsertToPosition } from '../../../affine-shared/utils/index.js';
|
|
2
|
-
import { type ReadonlySignal } from '@preact/signals-core';
|
|
3
|
-
import { FilterTrait } from '../../core/filter/trait.js';
|
|
4
|
-
import { PropertyBase } from '../../core/view-manager/property.js';
|
|
5
|
-
import { type Row, RowBase } from '../../core/view-manager/row.js';
|
|
6
|
-
import { SingleViewBase } from '../../core/view-manager/single-view.js';
|
|
7
|
-
import type { ViewManager } from '../../core/view-manager/view-manager.js';
|
|
8
|
-
import type { CalendarEntry, CalendarEntryRange, CalendarExternalEntry, CalendarExternalSource, CalendarRowEntry, CalendarStoredViewData } from './types.js';
|
|
9
|
-
export type CalendarDateMapping = {
|
|
10
|
-
status: 'ready';
|
|
11
|
-
propertyId: string;
|
|
12
|
-
} | {
|
|
13
|
-
status: 'setup';
|
|
14
|
-
propertyId?: string;
|
|
15
|
-
};
|
|
16
|
-
export declare class CalendarSingleView extends SingleViewBase<CalendarStoredViewData> {
|
|
17
|
-
private readonly externalEntries$;
|
|
18
|
-
private externalEntriesRequestId;
|
|
19
|
-
propertiesRaw$: ReadonlySignal<CalendarProperty[]>;
|
|
20
|
-
properties$: ReadonlySignal<CalendarProperty[]>;
|
|
21
|
-
detailProperties$: ReadonlySignal<CalendarProperty[]>;
|
|
22
|
-
private readonly filter$;
|
|
23
|
-
private readonly sortList$;
|
|
24
|
-
emptyMonthHintDismissed$: ReadonlySignal<boolean>;
|
|
25
|
-
private readonly sortManager;
|
|
26
|
-
filterTrait: FilterTrait;
|
|
27
|
-
mainProperties$: ReadonlySignal<{
|
|
28
|
-
titleColumn: string | undefined;
|
|
29
|
-
}>;
|
|
30
|
-
readonly$: ReadonlySignal<boolean>;
|
|
31
|
-
dateProperties$: ReadonlySignal<CalendarProperty[]>;
|
|
32
|
-
dateMapping$: ReadonlySignal<CalendarDateMapping>;
|
|
33
|
-
startDateMapping$: ReadonlySignal<CalendarDateMapping>;
|
|
34
|
-
endDateMapping$: ReadonlySignal<CalendarDateMapping>;
|
|
35
|
-
private readonly visibleCardProperties$;
|
|
36
|
-
rowEntries$: ReadonlySignal<CalendarRowEntry[]>;
|
|
37
|
-
entries$: ReadonlySignal<CalendarEntry[]>;
|
|
38
|
-
externalSources$: ReadonlySignal<CalendarExternalSource[]>;
|
|
39
|
-
get type(): string;
|
|
40
|
-
constructor(viewManager: ViewManager, viewId: string);
|
|
41
|
-
isShow(rowId: string): boolean;
|
|
42
|
-
rowsMapping(rows: Row[]): Row[];
|
|
43
|
-
propertyGetOrCreate(propertyId: string): CalendarProperty;
|
|
44
|
-
rowGetOrCreate(rowId: string): CalendarRow;
|
|
45
|
-
setStartDateColumn(propertyId: string): void;
|
|
46
|
-
setDateColumn(propertyId: string): void;
|
|
47
|
-
setEndDateColumn(propertyId: string | undefined): void;
|
|
48
|
-
setWorkspaceCalendarEnabled(enabled: boolean): void;
|
|
49
|
-
setWorkspaceCalendarSubscriptionIds(subscriptionIds?: string[]): void;
|
|
50
|
-
dismissEmptyMonthHint(): void;
|
|
51
|
-
getDocDisplayTitle(docId: string): string;
|
|
52
|
-
createStartDateColumn(): string | undefined;
|
|
53
|
-
createDateColumn(): string | undefined;
|
|
54
|
-
createEndDateColumn(): string | undefined;
|
|
55
|
-
createRowOnDate(date: number | Date): string | undefined;
|
|
56
|
-
createLinkedDocRowOnDate(date: number | Date, docId: string): string | undefined;
|
|
57
|
-
moveRowToDate(rowId: string, date: number | Date): void;
|
|
58
|
-
resizeRowRange(rowId: string, edge: 'start' | 'end', date: number | Date): void;
|
|
59
|
-
loadExternalEntries(range: CalendarEntryRange): Promise<CalendarExternalEntry[]>;
|
|
60
|
-
}
|
|
61
|
-
export declare class CalendarProperty extends PropertyBase {
|
|
62
|
-
hide$: ReadonlySignal<boolean>;
|
|
63
|
-
constructor(view: CalendarSingleView, propertyId: string);
|
|
64
|
-
hideSet(_hide: boolean): void;
|
|
65
|
-
move(_position: InsertToPosition): void;
|
|
66
|
-
}
|
|
67
|
-
export declare class CalendarRow extends RowBase {
|
|
68
|
-
readonly calendarView: CalendarSingleView;
|
|
69
|
-
constructor(calendarView: CalendarSingleView, rowId: string);
|
|
70
|
-
}
|
|
@@ -1,449 +0,0 @@
|
|
|
1
|
-
import { DocDisplayMetaProvider } from '../../../affine-shared/services/index.js';
|
|
2
|
-
import { Text } from '../../../store/index.js';
|
|
3
|
-
import { computed, signal } from '@preact/signals-core';
|
|
4
|
-
import { Doc } from 'yjs';
|
|
5
|
-
import { evalFilter } from '../../core/filter/eval.js';
|
|
6
|
-
import { generateDefaultValues } from '../../core/filter/generate-default-values.js';
|
|
7
|
-
import { FilterTrait, filterTraitKey } from '../../core/filter/trait.js';
|
|
8
|
-
import { emptyFilterGroup } from '../../core/filter/utils.js';
|
|
9
|
-
import { fromJson } from '../../core/property/utils.js';
|
|
10
|
-
import { SortManager, sortTraitKey } from '../../core/sort/manager.js';
|
|
11
|
-
import { PropertyBase } from '../../core/view-manager/property.js';
|
|
12
|
-
import { RowBase } from '../../core/view-manager/row.js';
|
|
13
|
-
import { SingleViewBase, } from '../../core/view-manager/single-view.js';
|
|
14
|
-
import { getCalendarExternalSources } from './source.js';
|
|
15
|
-
const getStartColumnId = (data) => data?.date?.startColumnId;
|
|
16
|
-
const getEndColumnId = (data) => {
|
|
17
|
-
return data?.date?.endColumnId;
|
|
18
|
-
};
|
|
19
|
-
const getDateData = (data) => ({
|
|
20
|
-
...data.date,
|
|
21
|
-
startColumnId: getStartColumnId(data),
|
|
22
|
-
});
|
|
23
|
-
const getCardData = (data) => {
|
|
24
|
-
if (data) {
|
|
25
|
-
return data.card;
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
visiblePropertyIds: [],
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
const toTimestamp = (date) => date instanceof Date ? date.getTime() : date;
|
|
32
|
-
const isValidTimestamp = (value) => typeof value === 'number' && Number.isFinite(value);
|
|
33
|
-
const createLinkedDocTitle = (docId) => {
|
|
34
|
-
const text = new Text();
|
|
35
|
-
new Doc().getMap('root').set('text', text.yText);
|
|
36
|
-
text.applyDelta([
|
|
37
|
-
{
|
|
38
|
-
insert: ' ',
|
|
39
|
-
attributes: { reference: { type: 'LinkedPage', pageId: docId } },
|
|
40
|
-
},
|
|
41
|
-
]);
|
|
42
|
-
return text;
|
|
43
|
-
};
|
|
44
|
-
const getTitleDeltas = (value) => typeof value === 'object' && value != null && 'deltas$' in value
|
|
45
|
-
? value.deltas$?.value
|
|
46
|
-
: undefined;
|
|
47
|
-
const getTitleSegments = (value, title, getLinkedDocTitle) => {
|
|
48
|
-
const deltas = getTitleDeltas(value);
|
|
49
|
-
if (!Array.isArray(deltas)) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const segments = deltas.flatMap(delta => {
|
|
53
|
-
const item = delta;
|
|
54
|
-
const linkedDoc = item.attributes?.reference?.type === 'LinkedPage' &&
|
|
55
|
-
typeof item.attributes.reference.pageId === 'string';
|
|
56
|
-
const referenceTitle = item.attributes?.reference?.title;
|
|
57
|
-
const resolvedLinkedDocTitle = linkedDoc && typeof item.attributes?.reference?.pageId === 'string'
|
|
58
|
-
? getLinkedDocTitle?.(item.attributes.reference.pageId, typeof referenceTitle === 'string' ? referenceTitle : undefined)
|
|
59
|
-
: undefined;
|
|
60
|
-
const text = resolvedLinkedDocTitle ||
|
|
61
|
-
(linkedDoc && typeof referenceTitle === 'string' && referenceTitle
|
|
62
|
-
? referenceTitle
|
|
63
|
-
: typeof item.insert === 'string'
|
|
64
|
-
? item.insert.trim()
|
|
65
|
-
: '');
|
|
66
|
-
if (linkedDoc) {
|
|
67
|
-
return {
|
|
68
|
-
text,
|
|
69
|
-
linkedDoc,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
if (!text) {
|
|
73
|
-
return [];
|
|
74
|
-
}
|
|
75
|
-
return {
|
|
76
|
-
text,
|
|
77
|
-
};
|
|
78
|
-
});
|
|
79
|
-
const normalizedSegments = segments.reduce((result, segment) => {
|
|
80
|
-
const previous = result.at(-1);
|
|
81
|
-
if (previous?.linkedDoc &&
|
|
82
|
-
!previous.text &&
|
|
83
|
-
!segment.linkedDoc &&
|
|
84
|
-
segment.text) {
|
|
85
|
-
previous.text = segment.text;
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
result.push(segment);
|
|
89
|
-
return result;
|
|
90
|
-
}, []);
|
|
91
|
-
if (!normalizedSegments.some(segment => segment.linkedDoc)) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
if (!normalizedSegments.some(segment => segment.text)) {
|
|
95
|
-
return title
|
|
96
|
-
? [...normalizedSegments, { text: title }]
|
|
97
|
-
: normalizedSegments;
|
|
98
|
-
}
|
|
99
|
-
return normalizedSegments;
|
|
100
|
-
};
|
|
101
|
-
export class CalendarSingleView extends SingleViewBase {
|
|
102
|
-
get type() {
|
|
103
|
-
return this.data$.value?.mode ?? 'calendar';
|
|
104
|
-
}
|
|
105
|
-
constructor(viewManager, viewId) {
|
|
106
|
-
super(viewManager, viewId);
|
|
107
|
-
this.externalEntries$ = signal([]);
|
|
108
|
-
this.externalEntriesRequestId = 0;
|
|
109
|
-
this.propertiesRaw$ = computed(() => {
|
|
110
|
-
return this.dataSource.properties$.value.map(id => this.propertyGetOrCreate(id));
|
|
111
|
-
});
|
|
112
|
-
this.properties$ = this.propertiesRaw$;
|
|
113
|
-
this.detailProperties$ = computed(() => {
|
|
114
|
-
return this.propertiesRaw$.value.filter(property => property.type$.value !== 'title');
|
|
115
|
-
});
|
|
116
|
-
this.filter$ = computed(() => {
|
|
117
|
-
return this.data$.value?.filter ?? emptyFilterGroup;
|
|
118
|
-
});
|
|
119
|
-
this.sortList$ = computed(() => {
|
|
120
|
-
return this.data$.value?.sort;
|
|
121
|
-
});
|
|
122
|
-
this.emptyMonthHintDismissed$ = computed(() => {
|
|
123
|
-
return this.data$.value?.ui?.emptyMonthHintDismissed ?? false;
|
|
124
|
-
});
|
|
125
|
-
this.sortManager = this.traitSet(sortTraitKey, new SortManager(this.sortList$, this, {
|
|
126
|
-
setSortList: sortList => {
|
|
127
|
-
this.dataUpdate(data => ({
|
|
128
|
-
sort: {
|
|
129
|
-
...data.sort,
|
|
130
|
-
...sortList,
|
|
131
|
-
},
|
|
132
|
-
}));
|
|
133
|
-
},
|
|
134
|
-
}));
|
|
135
|
-
this.filterTrait = this.traitSet(filterTraitKey, new FilterTrait(this.filter$, this, {
|
|
136
|
-
filterSet: (filter) => {
|
|
137
|
-
this.dataUpdate(() => ({ filter }));
|
|
138
|
-
},
|
|
139
|
-
}));
|
|
140
|
-
this.mainProperties$ = computed(() => {
|
|
141
|
-
const card = getCardData(this.data$.value);
|
|
142
|
-
return {
|
|
143
|
-
titleColumn: card.titleColumnId ??
|
|
144
|
-
this.propertiesRaw$.value.find(property => property.type$.value === 'title')?.id,
|
|
145
|
-
};
|
|
146
|
-
});
|
|
147
|
-
this.readonly$ = computed(() => {
|
|
148
|
-
return this.manager.readonly$.value;
|
|
149
|
-
});
|
|
150
|
-
this.dateProperties$ = computed(() => {
|
|
151
|
-
return this.propertiesRaw$.value.filter(property => property.type$.value === 'date');
|
|
152
|
-
});
|
|
153
|
-
this.dateMapping$ = computed(() => {
|
|
154
|
-
const propertyId = getStartColumnId(this.data$.value);
|
|
155
|
-
if (propertyId &&
|
|
156
|
-
this.dataSource.properties$.value.includes(propertyId) &&
|
|
157
|
-
this.dataSource.propertyTypeGet(propertyId) === 'date') {
|
|
158
|
-
return {
|
|
159
|
-
status: 'ready',
|
|
160
|
-
propertyId,
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
return {
|
|
164
|
-
status: 'setup',
|
|
165
|
-
propertyId,
|
|
166
|
-
};
|
|
167
|
-
});
|
|
168
|
-
this.startDateMapping$ = this.dateMapping$;
|
|
169
|
-
this.endDateMapping$ = computed(() => {
|
|
170
|
-
const propertyId = getEndColumnId(this.data$.value);
|
|
171
|
-
if (propertyId &&
|
|
172
|
-
this.dataSource.properties$.value.includes(propertyId) &&
|
|
173
|
-
this.dataSource.propertyTypeGet(propertyId) === 'date') {
|
|
174
|
-
return {
|
|
175
|
-
status: 'ready',
|
|
176
|
-
propertyId,
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
return {
|
|
180
|
-
status: 'setup',
|
|
181
|
-
propertyId,
|
|
182
|
-
};
|
|
183
|
-
});
|
|
184
|
-
this.visibleCardProperties$ = computed(() => {
|
|
185
|
-
const card = getCardData(this.data$.value);
|
|
186
|
-
const visiblePropertyIds = card.visiblePropertyIds ?? [];
|
|
187
|
-
const titleColumn = card.titleColumnId;
|
|
188
|
-
return visiblePropertyIds
|
|
189
|
-
.filter(propertyId => propertyId !== titleColumn)
|
|
190
|
-
.map(propertyId => this.propertyGetOrCreate(propertyId));
|
|
191
|
-
});
|
|
192
|
-
this.rowEntries$ = computed(() => {
|
|
193
|
-
const mapping = this.dateMapping$.value;
|
|
194
|
-
if (mapping.status !== 'ready') {
|
|
195
|
-
return [];
|
|
196
|
-
}
|
|
197
|
-
const endMapping = this.endDateMapping$.value;
|
|
198
|
-
return this.rows$.value.flatMap(row => {
|
|
199
|
-
const startAt = this.cellGetOrCreate(row.rowId, mapping.propertyId)
|
|
200
|
-
.jsonValue$.value;
|
|
201
|
-
if (!isValidTimestamp(startAt)) {
|
|
202
|
-
return [];
|
|
203
|
-
}
|
|
204
|
-
const endAt = endMapping.status === 'ready'
|
|
205
|
-
? this.cellGetOrCreate(row.rowId, endMapping.propertyId).jsonValue$
|
|
206
|
-
.value
|
|
207
|
-
: undefined;
|
|
208
|
-
const titleColumn = this.mainProperties$.value.titleColumn ?? 'title';
|
|
209
|
-
const titleCell = this.cellGetOrCreate(row.rowId, titleColumn);
|
|
210
|
-
const jsonTitle = titleCell.jsonValue$.value;
|
|
211
|
-
const title = (typeof jsonTitle === 'string'
|
|
212
|
-
? jsonTitle
|
|
213
|
-
: titleCell.stringValue$.value) ?? '';
|
|
214
|
-
const docDisplayMeta = this.manager.dataSource.serviceGet(DocDisplayMetaProvider);
|
|
215
|
-
const resolveLinkedDocTitle = (pageId, title) => docDisplayMeta?.title(pageId, { title }).value;
|
|
216
|
-
const titleSegments = getTitleSegments(titleCell.value$.value, title, resolveLinkedDocTitle);
|
|
217
|
-
const cardProperties = this.visibleCardProperties$.value.flatMap(property => {
|
|
218
|
-
const cell = this.cellGetOrCreate(row.rowId, property.id);
|
|
219
|
-
const value = cell.stringValue$.value;
|
|
220
|
-
if (!value) {
|
|
221
|
-
return [];
|
|
222
|
-
}
|
|
223
|
-
return {
|
|
224
|
-
propertyId: property.id,
|
|
225
|
-
value,
|
|
226
|
-
};
|
|
227
|
-
});
|
|
228
|
-
return {
|
|
229
|
-
kind: 'row',
|
|
230
|
-
id: `database:${row.rowId}`,
|
|
231
|
-
sourceId: 'database',
|
|
232
|
-
rowId: row.rowId,
|
|
233
|
-
title,
|
|
234
|
-
startAt,
|
|
235
|
-
endAt: isValidTimestamp(endAt) && endAt >= startAt ? endAt : undefined,
|
|
236
|
-
titleSegments,
|
|
237
|
-
cardProperties,
|
|
238
|
-
canResizeRange: endMapping.status === 'ready' && !this.readonly$.value,
|
|
239
|
-
};
|
|
240
|
-
});
|
|
241
|
-
});
|
|
242
|
-
this.entries$ = computed(() => {
|
|
243
|
-
return [...this.rowEntries$.value, ...this.externalEntries$.value];
|
|
244
|
-
});
|
|
245
|
-
this.externalSources$ = computed(() => {
|
|
246
|
-
const viewData = this.data$.value;
|
|
247
|
-
if (!viewData) {
|
|
248
|
-
return [];
|
|
249
|
-
}
|
|
250
|
-
return getCalendarExternalSources(this.dataSource, viewData);
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
isShow(rowId) {
|
|
254
|
-
if (this.filter$.value.conditions.length) {
|
|
255
|
-
const rowMap = Object.fromEntries(this.propertiesRaw$.value.map(column => [
|
|
256
|
-
column.id,
|
|
257
|
-
column.cellGetOrCreate(rowId).jsonValue$.value,
|
|
258
|
-
]));
|
|
259
|
-
return evalFilter(this.filter$.value, rowMap);
|
|
260
|
-
}
|
|
261
|
-
return true;
|
|
262
|
-
}
|
|
263
|
-
rowsMapping(rows) {
|
|
264
|
-
return this.sortManager.sort(super.rowsMapping(rows));
|
|
265
|
-
}
|
|
266
|
-
propertyGetOrCreate(propertyId) {
|
|
267
|
-
return new CalendarProperty(this, propertyId);
|
|
268
|
-
}
|
|
269
|
-
rowGetOrCreate(rowId) {
|
|
270
|
-
return new CalendarRow(this, rowId);
|
|
271
|
-
}
|
|
272
|
-
setStartDateColumn(propertyId) {
|
|
273
|
-
this.dataUpdate(data => ({
|
|
274
|
-
date: {
|
|
275
|
-
...getDateData(data),
|
|
276
|
-
startColumnId: propertyId,
|
|
277
|
-
},
|
|
278
|
-
}));
|
|
279
|
-
}
|
|
280
|
-
setDateColumn(propertyId) {
|
|
281
|
-
this.setStartDateColumn(propertyId);
|
|
282
|
-
}
|
|
283
|
-
setEndDateColumn(propertyId) {
|
|
284
|
-
this.dataUpdate(data => ({
|
|
285
|
-
date: {
|
|
286
|
-
...getDateData(data),
|
|
287
|
-
endColumnId: propertyId,
|
|
288
|
-
},
|
|
289
|
-
}));
|
|
290
|
-
}
|
|
291
|
-
setWorkspaceCalendarEnabled(enabled) {
|
|
292
|
-
this.dataUpdate(data => ({
|
|
293
|
-
sources: {
|
|
294
|
-
...data.sources,
|
|
295
|
-
workspaceCalendar: {
|
|
296
|
-
...(data.sources?.workspaceCalendar ?? { enabled: true }),
|
|
297
|
-
enabled,
|
|
298
|
-
},
|
|
299
|
-
},
|
|
300
|
-
}));
|
|
301
|
-
}
|
|
302
|
-
setWorkspaceCalendarSubscriptionIds(subscriptionIds) {
|
|
303
|
-
this.dataUpdate(data => ({
|
|
304
|
-
sources: {
|
|
305
|
-
...data.sources,
|
|
306
|
-
workspaceCalendar: {
|
|
307
|
-
...(data.sources?.workspaceCalendar ?? { enabled: true }),
|
|
308
|
-
subscriptionIds,
|
|
309
|
-
},
|
|
310
|
-
},
|
|
311
|
-
}));
|
|
312
|
-
}
|
|
313
|
-
dismissEmptyMonthHint() {
|
|
314
|
-
this.dataUpdate(data => ({
|
|
315
|
-
ui: {
|
|
316
|
-
...data.ui,
|
|
317
|
-
emptyMonthHintDismissed: true,
|
|
318
|
-
},
|
|
319
|
-
}));
|
|
320
|
-
}
|
|
321
|
-
getDocDisplayTitle(docId) {
|
|
322
|
-
return (this.manager.dataSource.serviceGet(DocDisplayMetaProvider)?.title(docId)
|
|
323
|
-
.value ?? 'Untitled');
|
|
324
|
-
}
|
|
325
|
-
createStartDateColumn() {
|
|
326
|
-
const id = this.propertyAdd('end', {
|
|
327
|
-
type: 'date',
|
|
328
|
-
name: 'Date',
|
|
329
|
-
});
|
|
330
|
-
if (id) {
|
|
331
|
-
this.setStartDateColumn(id);
|
|
332
|
-
}
|
|
333
|
-
return id;
|
|
334
|
-
}
|
|
335
|
-
createDateColumn() {
|
|
336
|
-
return this.createStartDateColumn();
|
|
337
|
-
}
|
|
338
|
-
createEndDateColumn() {
|
|
339
|
-
const id = this.propertyAdd('end', {
|
|
340
|
-
type: 'date',
|
|
341
|
-
name: 'End Date',
|
|
342
|
-
});
|
|
343
|
-
if (id) {
|
|
344
|
-
this.setEndDateColumn(id);
|
|
345
|
-
}
|
|
346
|
-
return id;
|
|
347
|
-
}
|
|
348
|
-
createRowOnDate(date) {
|
|
349
|
-
const mapping = this.startDateMapping$.value;
|
|
350
|
-
if (mapping.status !== 'ready') {
|
|
351
|
-
return;
|
|
352
|
-
}
|
|
353
|
-
const rowId = this.rowAdd('end');
|
|
354
|
-
const filter = this.filter$.value;
|
|
355
|
-
if (filter.conditions.length > 0) {
|
|
356
|
-
const defaultValues = generateDefaultValues(filter, this.vars$.value);
|
|
357
|
-
Object.entries(defaultValues).forEach(([propertyId, jsonValue]) => {
|
|
358
|
-
const property = this.propertyGetOrCreate(propertyId);
|
|
359
|
-
const propertyMeta = property.meta$.value;
|
|
360
|
-
if (propertyMeta) {
|
|
361
|
-
const value = fromJson(propertyMeta.config, {
|
|
362
|
-
value: jsonValue,
|
|
363
|
-
data: property.data$.value,
|
|
364
|
-
dataSource: this.dataSource,
|
|
365
|
-
});
|
|
366
|
-
this.cellGetOrCreate(rowId, propertyId).valueSet(value);
|
|
367
|
-
}
|
|
368
|
-
});
|
|
369
|
-
}
|
|
370
|
-
this.cellGetOrCreate(rowId, mapping.propertyId).jsonValueSet(toTimestamp(date));
|
|
371
|
-
this.dismissEmptyMonthHint();
|
|
372
|
-
return rowId;
|
|
373
|
-
}
|
|
374
|
-
createLinkedDocRowOnDate(date, docId) {
|
|
375
|
-
const rowId = this.createRowOnDate(date);
|
|
376
|
-
if (!rowId)
|
|
377
|
-
return;
|
|
378
|
-
const titleColumn = this.mainProperties$.value.titleColumn ?? 'title';
|
|
379
|
-
this.cellGetOrCreate(rowId, titleColumn).valueSet(createLinkedDocTitle(docId));
|
|
380
|
-
return rowId;
|
|
381
|
-
}
|
|
382
|
-
moveRowToDate(rowId, date) {
|
|
383
|
-
const mapping = this.startDateMapping$.value;
|
|
384
|
-
if (mapping.status !== 'ready') {
|
|
385
|
-
return;
|
|
386
|
-
}
|
|
387
|
-
const value = toTimestamp(date);
|
|
388
|
-
const oldStartAt = this.cellGetOrCreate(rowId, mapping.propertyId)
|
|
389
|
-
.jsonValue$.value;
|
|
390
|
-
const endMapping = this.endDateMapping$.value;
|
|
391
|
-
if (endMapping.status === 'ready' && isValidTimestamp(oldStartAt)) {
|
|
392
|
-
const oldEndAt = this.cellGetOrCreate(rowId, endMapping.propertyId)
|
|
393
|
-
.jsonValue$.value;
|
|
394
|
-
if (isValidTimestamp(oldEndAt) && oldEndAt >= oldStartAt) {
|
|
395
|
-
this.cellGetOrCreate(rowId, endMapping.propertyId).jsonValueSet(value + (oldEndAt - oldStartAt));
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
this.cellGetOrCreate(rowId, mapping.propertyId).jsonValueSet(value);
|
|
399
|
-
}
|
|
400
|
-
resizeRowRange(rowId, edge, date) {
|
|
401
|
-
const startMapping = this.startDateMapping$.value;
|
|
402
|
-
const endMapping = this.endDateMapping$.value;
|
|
403
|
-
if (startMapping.status !== 'ready' || endMapping.status !== 'ready') {
|
|
404
|
-
return;
|
|
405
|
-
}
|
|
406
|
-
const startCell = this.cellGetOrCreate(rowId, startMapping.propertyId);
|
|
407
|
-
const endCell = this.cellGetOrCreate(rowId, endMapping.propertyId);
|
|
408
|
-
const startAt = startCell.jsonValue$.value;
|
|
409
|
-
const endAt = endCell.jsonValue$.value;
|
|
410
|
-
if (!isValidTimestamp(startAt) || !isValidTimestamp(endAt)) {
|
|
411
|
-
return;
|
|
412
|
-
}
|
|
413
|
-
const value = toTimestamp(date);
|
|
414
|
-
if (edge === 'start') {
|
|
415
|
-
startCell.jsonValueSet(Math.min(value, endAt));
|
|
416
|
-
}
|
|
417
|
-
else {
|
|
418
|
-
endCell.jsonValueSet(Math.max(value, startAt));
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
async loadExternalEntries(range) {
|
|
422
|
-
const requestId = ++this.externalEntriesRequestId;
|
|
423
|
-
const viewData = this.data$.value;
|
|
424
|
-
if (!viewData) {
|
|
425
|
-
this.externalEntries$.value = [];
|
|
426
|
-
return [];
|
|
427
|
-
}
|
|
428
|
-
const results = await Promise.allSettled(this.externalSources$.value.map(source => Promise.resolve(source.getEntries(range))));
|
|
429
|
-
const entries = results.flatMap(result => result.status === 'fulfilled' ? result.value : []);
|
|
430
|
-
if (requestId === this.externalEntriesRequestId) {
|
|
431
|
-
this.externalEntries$.value = entries;
|
|
432
|
-
}
|
|
433
|
-
return entries;
|
|
434
|
-
}
|
|
435
|
-
}
|
|
436
|
-
export class CalendarProperty extends PropertyBase {
|
|
437
|
-
constructor(view, propertyId) {
|
|
438
|
-
super(view, propertyId);
|
|
439
|
-
this.hide$ = computed(() => false);
|
|
440
|
-
}
|
|
441
|
-
hideSet(_hide) { }
|
|
442
|
-
move(_position) { }
|
|
443
|
-
}
|
|
444
|
-
export class CalendarRow extends RowBase {
|
|
445
|
-
constructor(calendarView, rowId) {
|
|
446
|
-
super(calendarView, rowId);
|
|
447
|
-
this.calendarView = calendarView;
|
|
448
|
-
}
|
|
449
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { CalendarViewData } from './types.js';
|
|
2
|
-
export declare const calendarViewType: {
|
|
3
|
-
type: "calendar";
|
|
4
|
-
createModel: <Data extends import("../../index.js").DataViewDataType>(model: import("../../index.js").DataViewModelConfig<Data>) => import("../../index.js").DataViewModel<"calendar", Data> & {
|
|
5
|
-
createMeta: (renderer: import("../../index.js").DataViewRendererConfig) => import("../../index.js").ViewMeta<"calendar", Data>;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
export declare const calendarViewModel: import("../../index.js").DataViewModel<"calendar", CalendarViewData> & {
|
|
9
|
-
createMeta: (renderer: import("../../index.js").DataViewRendererConfig) => import("../../index.js").ViewMeta<"calendar", CalendarViewData>;
|
|
10
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { viewType } from '../../core/view/data-view.js';
|
|
2
|
-
import { VIEW_NAME_CALENDAR } from '../../translations.js';
|
|
3
|
-
import { CalendarSingleView } from './calendar-view-manager.js';
|
|
4
|
-
export const calendarViewType = viewType('calendar');
|
|
5
|
-
export const calendarViewModel = calendarViewType.createModel({
|
|
6
|
-
defaultName: VIEW_NAME_CALENDAR[1],
|
|
7
|
-
defaultNameKey: VIEW_NAME_CALENDAR[0],
|
|
8
|
-
dataViewManager: CalendarSingleView,
|
|
9
|
-
defaultData: viewManager => {
|
|
10
|
-
return {
|
|
11
|
-
filter: {
|
|
12
|
-
type: 'group',
|
|
13
|
-
op: 'and',
|
|
14
|
-
conditions: [],
|
|
15
|
-
},
|
|
16
|
-
date: {},
|
|
17
|
-
card: {
|
|
18
|
-
titleColumnId: viewManager.dataSource.properties$.value.find(id => viewManager.dataSource.propertyTypeGet(id) === 'title'),
|
|
19
|
-
visiblePropertyIds: [],
|
|
20
|
-
},
|
|
21
|
-
sources: {
|
|
22
|
-
workspaceCalendar: {
|
|
23
|
-
enabled: true,
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
ui: {},
|
|
27
|
-
};
|
|
28
|
-
},
|
|
29
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function calendarEffects(): void;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { CalendarEntry } from './types.js';
|
|
2
|
-
export type CalendarDayLayout = {
|
|
3
|
-
date: number;
|
|
4
|
-
inMonth: boolean;
|
|
5
|
-
entries: CalendarEntry[];
|
|
6
|
-
segments: CalendarRangeSegment[];
|
|
7
|
-
};
|
|
8
|
-
export type CalendarRangeSegment = {
|
|
9
|
-
entry: CalendarEntry;
|
|
10
|
-
weekIndex: number;
|
|
11
|
-
startIndex: number;
|
|
12
|
-
span: number;
|
|
13
|
-
slot: number;
|
|
14
|
-
startsBeforeWeek: boolean;
|
|
15
|
-
endsAfterWeek: boolean;
|
|
16
|
-
};
|
|
17
|
-
export type CalendarMonthLayout = {
|
|
18
|
-
from: number;
|
|
19
|
-
to: number;
|
|
20
|
-
weeks: CalendarDayLayout[][];
|
|
21
|
-
days: CalendarDayLayout[];
|
|
22
|
-
segments: CalendarRangeSegment[];
|
|
23
|
-
};
|
|
24
|
-
export type CalendarMonthLayoutOptions = {
|
|
25
|
-
month: number | Date;
|
|
26
|
-
entries: CalendarEntry[];
|
|
27
|
-
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
28
|
-
};
|
|
29
|
-
export declare const getCalendarVisibleMonthRange: (month: number | Date, weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6) => {
|
|
30
|
-
from: number;
|
|
31
|
-
to: number;
|
|
32
|
-
monthStart: number;
|
|
33
|
-
monthEnd: number;
|
|
34
|
-
};
|
|
35
|
-
export declare const getCalendarDaySegmentSlots: (day: CalendarDayLayout, ignoredEntryId?: string) => number;
|
|
36
|
-
export declare const getCalendarDayContentSlots: (day: CalendarDayLayout, ignoredEntryId?: string) => number;
|
|
37
|
-
export declare const createCalendarMonthLayout: ({ month, entries, weekStartsOn, }: CalendarMonthLayoutOptions) => CalendarMonthLayout;
|