@memberjunction/ng-entity-viewer 5.22.0 → 5.24.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/dist/lib/aggregate-panel/aggregate-panel.component.d.ts +1 -1
- package/dist/lib/aggregate-panel/aggregate-panel.component.d.ts.map +1 -1
- package/dist/lib/aggregate-panel/aggregate-panel.component.js.map +1 -1
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.d.ts +3 -1
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.d.ts.map +1 -1
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.js +1 -1
- package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.js.map +1 -1
- package/dist/lib/entity-cards/entity-cards.component.d.ts +10 -1
- package/dist/lib/entity-cards/entity-cards.component.d.ts.map +1 -1
- package/dist/lib/entity-cards/entity-cards.component.js +43 -20
- package/dist/lib/entity-cards/entity-cards.component.js.map +1 -1
- package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts +1 -1
- package/dist/lib/entity-data-grid/entity-data-grid.component.d.ts.map +1 -1
- package/dist/lib/entity-data-grid/entity-data-grid.component.js +12 -17
- package/dist/lib/entity-data-grid/entity-data-grid.component.js.map +1 -1
- package/dist/lib/entity-data-grid/models/grid-types.js +3 -0
- package/dist/lib/entity-data-grid/models/grid-types.js.map +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.d.ts +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.d.ts.map +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.js +8 -13
- package/dist/lib/entity-viewer/entity-viewer.component.js.map +1 -1
- package/dist/lib/types.d.ts +20 -35
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +3 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/utils/record.util.d.ts +1 -1
- package/dist/lib/utils/record.util.d.ts.map +1 -1
- package/dist/lib/utils/record.util.js.map +1 -1
- package/dist/lib/view-config-panel/view-config-panel.component.d.ts +1 -1
- package/dist/lib/view-config-panel/view-config-panel.component.d.ts.map +1 -1
- package/dist/lib/view-config-panel/view-config-panel.component.js.map +1 -1
- package/package.json +10 -10
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ViewGridState, } from '@memberjunction/core-entities';
|
|
2
|
+
export { ViewGridState };
|
|
1
3
|
export const DEFAULT_VIEWER_CONFIG = {
|
|
2
4
|
showFilter: true,
|
|
3
5
|
showViewModeToggle: true,
|
|
@@ -10,7 +12,7 @@ export const DEFAULT_VIEWER_CONFIG = {
|
|
|
10
12
|
filterDebounceMs: 250,
|
|
11
13
|
gridColumns: [],
|
|
12
14
|
cardTemplate: {
|
|
13
|
-
|
|
15
|
+
titleFields: [],
|
|
14
16
|
subtitleField: null,
|
|
15
17
|
descriptionField: null,
|
|
16
18
|
displayFields: [],
|
package/dist/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAwcA,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IACjE,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,WAAW;IAC9B,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,KAAK;IACxB,QAAQ,EAAE,GAAG;IACb,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,GAAG;IACrB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,IAAI;KACjB;IACD,MAAM,EAAE,MAAM;IACd,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,KAAK;CAC5B,CAAC","sourcesContent":["import { EntityInfo, CompositeKey } from '@memberjunction/core';\nimport {\n ViewColumnPinned as CoreViewColumnPinned,\n ViewGridSortSetting as CoreViewGridSortSetting,\n ViewGridColumnSetting as CoreViewGridColumnSetting,\n ViewGridState as CoreViewGridState,\n} from '@memberjunction/core-entities';\n\n// Re-export core types for direct usage\nexport type ViewColumnPinned = CoreViewColumnPinned;\nexport type ViewGridSortSetting = CoreViewGridSortSetting;\nexport type ViewGridColumnSetting = CoreViewGridColumnSetting;\nexport type ViewGridState = CoreViewGridState;\n\n/**\n * View modes supported by the EntityViewer component\n */\nexport type EntityViewMode = 'grid' | 'cards' | 'timeline';\n\n/**\n * Behavior when a record is selected\n */\nexport type RecordSelectionBehavior =\n | 'emit-only' // Only emit the recordSelected event\n | 'show-detail' // Show the detail panel (if available)\n | 'emit-and-detail'; // Both emit event and show detail panel\n\n/**\n * Field display type for smart rendering in cards\n */\nexport type CardFieldType = 'number' | 'boolean' | 'text' | 'date';\n\n/**\n * Color categories for status pills based on semantic meaning\n */\nexport type PillColorType = 'success' | 'warning' | 'danger' | 'info' | 'neutral';\n\n/**\n * Metadata for a field to display in a card\n */\nexport interface CardDisplayField {\n /** Field name from the entity */\n name: string;\n /** Display type for rendering */\n type: CardFieldType;\n /** Human-readable label */\n label: string;\n}\n\n/**\n * Auto-generated card template based on entity metadata\n */\nexport interface CardTemplate {\n /** Primary title field name */\n titleField: string;\n /** Secondary subtitle field name */\n subtitleField: string | null;\n /** Description/notes field name */\n descriptionField: string | null;\n /** Display fields with type information for smart rendering */\n displayFields: CardDisplayField[];\n /**\n * Array of thumbnail field names in priority order\n * Per-record fallback: if the first field is empty, try the next, etc.\n */\n thumbnailFields: string[];\n /** Badge/priority field name */\n badgeField: string | null;\n}\n\n/**\n * Column definition for the grid view\n */\nexport interface GridColumnDef {\n /** Field name from the entity */\n field: string;\n /** Column header text */\n headerName: string;\n /** Column width in pixels */\n width?: number;\n /** Minimum column width */\n minWidth?: number;\n /** Maximum column width */\n maxWidth?: number;\n /** Whether column is sortable */\n sortable?: boolean;\n /** Whether column is filterable */\n filter?: boolean;\n /** Whether column is resizable */\n resizable?: boolean;\n /** Whether to hide this column */\n hide?: boolean;\n /** Custom cell renderer type */\n cellRenderer?: string;\n /** Value formatter function name */\n valueFormatter?: string;\n}\n\n/**\n * Event emitted when a record is selected (clicked)\n */\nexport interface RecordSelectedEvent {\n /** The selected record (plain object from ResultType: 'simple') */\n record: Record<string, unknown>;\n /** The entity metadata */\n entity: EntityInfo;\n /** The composite key of the record */\n compositeKey: CompositeKey;\n}\n\n/**\n * Event emitted when a record should be opened (double-click or open button)\n */\nexport interface RecordOpenedEvent {\n /** The record to open (may be undefined for FK navigation where record isn't loaded) */\n record?: Record<string, unknown>;\n /** The entity metadata */\n entity: EntityInfo;\n /** The composite key of the record */\n compositeKey: CompositeKey;\n}\n\n/**\n * Event emitted when data is loaded\n */\nexport interface DataLoadedEvent {\n /** Total number of records available */\n totalRowCount: number;\n /** Number of records currently loaded */\n loadedRowCount: number;\n /** Time taken to load in milliseconds */\n loadTime: number;\n /** The loaded records - allows parent to access records for state restoration */\n records: Record<string, unknown>[];\n}\n\n/**\n * Event emitted when filtered count changes\n */\nexport interface FilteredCountChangedEvent {\n /** Number of records after filtering */\n filteredCount: number;\n /** Total number of records before filtering */\n totalCount: number;\n}\n\n/**\n * Sort direction for server-side sorting\n */\nexport type SortDirection = 'asc' | 'desc' | null;\n\n/**\n * Sort state for a column\n */\nexport interface SortState {\n /** Field name to sort by */\n field: string;\n /** Sort direction */\n direction: SortDirection;\n}\n\n/**\n * Event emitted when sort changes in the grid\n */\nexport interface SortChangedEvent {\n /** The new sort state (null if no sorting) */\n sort: SortState | null;\n}\n\n/**\n * Pagination state for server-side paging\n */\nexport interface PaginationState {\n /** Current page number (0-based) */\n currentPage: number;\n /** Number of records per page */\n pageSize: number;\n /** Total number of records available (from server) */\n totalRecords: number;\n /** Whether there are more records to load */\n hasMore: boolean;\n /** Whether data is currently being loaded */\n isLoading: boolean;\n}\n\n/**\n * Event emitted when pagination changes\n */\nexport interface PaginationChangedEvent {\n /** The new pagination state */\n pagination: PaginationState;\n}\n\n/**\n * Event emitted when requesting to load more data\n */\nexport interface LoadMoreEvent {\n /** Current page being requested (0-based) */\n page: number;\n /** Page size */\n pageSize: number;\n}\n\n/**\n * Event emitted when grid state changes (column resize, reorder, etc.)\n */\nexport interface GridStateChangedEvent {\n /** The updated grid state */\n gridState: ViewGridState;\n /** What changed: 'columns', 'sort', 'filter' */\n changeType: 'columns' | 'sort' | 'filter';\n}\n\n/**\n * Configuration options for the EntityViewer component\n */\nexport interface EntityViewerConfig {\n /**\n * Whether to show the filter input box\n * @default true\n */\n showFilter?: boolean;\n\n /**\n * Whether to show the view mode toggle (grid/cards)\n * @default true\n */\n showViewModeToggle?: boolean;\n\n /**\n * Behavior when a record is selected\n * @default 'emit-only'\n */\n selectionBehavior?: RecordSelectionBehavior;\n\n /**\n * Initial view mode\n * @default 'grid'\n */\n defaultViewMode?: EntityViewMode;\n\n /**\n * Whether to enable multi-select\n * @default false\n */\n enableMultiSelect?: boolean;\n\n /**\n * Maximum number of records to load per page\n * @default 100\n */\n pageSize?: number;\n\n /**\n * Whether to show record count in header\n * @default true\n */\n showRecordCount?: boolean;\n\n /**\n * Placeholder text for the filter input\n * @default 'Filter records...'\n */\n filterPlaceholder?: string;\n\n /**\n * Debounce time for filter input in milliseconds\n * @default 250\n */\n filterDebounceMs?: number;\n\n /**\n * Custom grid column definitions (optional - auto-generated if not provided)\n */\n gridColumns?: GridColumnDef[];\n\n /**\n * Custom card template (optional - auto-generated if not provided)\n */\n cardTemplate?: CardTemplate;\n\n /**\n * Height of the component (CSS value)\n * @default '100%'\n */\n height?: string;\n\n /**\n * Whether to use server-side filtering via UserSearchString\n * When true, filter text is sent to the server for SQL-based filtering\n * When false, filtering is done client-side on loaded records\n * @default true\n */\n serverSideFiltering?: boolean;\n\n /**\n * Whether to use server-side sorting via OrderBy\n * When true, sort changes trigger a new server request\n * When false, sorting is done client-side by AG Grid\n * @default true\n */\n serverSideSorting?: boolean;\n\n /**\n * Whether to show pagination controls\n * @default true\n */\n showPagination?: boolean;\n\n /**\n * Default sort field when loading data\n */\n defaultSortField?: string;\n\n /**\n * Default sort direction when loading data\n * @default 'asc'\n */\n defaultSortDirection?: SortDirection;\n}\n\n/**\n * Timeline segment grouping options\n */\nexport type TimelineSegmentGrouping = 'none' | 'day' | 'week' | 'month' | 'quarter' | 'year';\n\n/**\n * Timeline orientation options\n */\nexport type TimelineOrientation = 'vertical' | 'horizontal';\n\n/**\n * Timeline-specific configuration state\n * Persisted in UserView.DisplayState JSON\n */\nexport interface TimelineState {\n /** The date field name to use for timeline ordering */\n dateFieldName: string;\n /** Time segment grouping */\n segmentGrouping?: TimelineSegmentGrouping;\n /** Sort order for timeline events */\n sortOrder?: 'asc' | 'desc';\n /** Whether segments are collapsible */\n segmentsCollapsible?: boolean;\n /** Whether segments start expanded */\n segmentsDefaultExpanded?: boolean;\n /** Timeline orientation (vertical or horizontal) */\n orientation?: TimelineOrientation;\n}\n\n/**\n * Card-specific configuration state\n * Persisted in UserView.DisplayState JSON\n */\nexport interface CardState {\n /** Custom card size (small, medium, large) */\n cardSize?: 'small' | 'medium' | 'large';\n}\n\n/**\n * Grid-specific configuration state\n * Persisted in UserView.DisplayState JSON\n * Note: Most grid state is already in GridState column, this is for additional settings\n */\nexport interface GridDisplayState {\n /** Row height preference */\n rowHeight?: 'compact' | 'normal' | 'comfortable';\n /**\n * Enable text wrapping in grid cells\n * When true, long text will wrap to multiple lines and rows will auto-size\n * @default false\n */\n wrapText?: boolean;\n}\n\n/**\n * View display state - persisted in UserView.DisplayState\n * Contains the default view mode and mode-specific configuration\n */\nexport interface ViewDisplayState {\n /** The default view mode to show when loading this view */\n defaultMode: EntityViewMode;\n /** Which view modes are enabled/visible for this view */\n enabledModes?: {\n grid?: boolean;\n cards?: boolean;\n timeline?: boolean;\n };\n /** Timeline-specific configuration */\n timeline?: TimelineState;\n /** Card-specific configuration */\n cards?: CardState;\n /** Grid-specific configuration */\n grid?: GridDisplayState;\n}\n\n/**\n * Default configuration values\n */\n/**\n * Summary of what a view configuration includes, for preview in Quick Save dialog\n */\nexport interface ViewConfigSummary {\n /** Number of visible columns */\n ColumnCount: number;\n /** Number of active filters */\n FilterCount: number;\n /** Number of sort levels */\n SortCount: number;\n /** Whether smart filter is active */\n SmartFilterActive: boolean;\n /** Smart filter prompt text (if active) */\n SmartFilterPrompt: string;\n /** Number of enabled aggregates */\n AggregateCount: number;\n}\n\n/**\n * Event emitted by QuickSaveDialog when user saves\n */\nexport interface QuickSaveEvent {\n /** View name */\n Name: string;\n /** View description (optional) */\n Description: string;\n /** Whether the view is shared */\n IsShared: boolean;\n /** Whether to save as new (true) or update existing (false) */\n SaveAsNew: boolean;\n}\n\n/**\n * Data emitted by QuickSaveDialog when user clicks \"Customize columns, filters & sorting...\"\n * Carries the partially-filled form data so the config panel can continue the new-view creation.\n */\nexport interface QuickSaveAdvancedEvent {\n /** View name entered so far */\n Name: string;\n /** View description entered so far */\n Description: string;\n /** Whether the view should be shared */\n IsShared: boolean;\n}\n\n/**\n * Result of a view save operation (for notification display)\n */\nexport interface ViewSaveResult {\n /** Whether the save succeeded */\n Success: boolean;\n /** Error message (on failure) */\n ErrorMessage?: string;\n /** Whether this was a new view or update */\n IsNew: boolean;\n}\n\nexport const DEFAULT_VIEWER_CONFIG: Required<EntityViewerConfig> = {\n showFilter: true,\n showViewModeToggle: true,\n selectionBehavior: 'emit-only',\n defaultViewMode: 'grid',\n enableMultiSelect: false,\n pageSize: 100,\n showRecordCount: true,\n filterPlaceholder: 'Filter records...',\n filterDebounceMs: 250,\n gridColumns: [],\n cardTemplate: {\n titleField: '',\n subtitleField: null,\n descriptionField: null,\n displayFields: [],\n thumbnailFields: [],\n badgeField: null\n },\n height: '100%',\n serverSideFiltering: true,\n serverSideSorting: true,\n showPagination: true,\n defaultSortField: '',\n defaultSortDirection: 'asc'\n};\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,GAMd,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,aAAa,EAAE,CAAC;AA6azB,MAAM,CAAC,MAAM,qBAAqB,GAAiC;IACjE,UAAU,EAAE,IAAI;IAChB,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,WAAW;IAC9B,eAAe,EAAE,MAAM;IACvB,iBAAiB,EAAE,KAAK;IACxB,QAAQ,EAAE,GAAG;IACb,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,GAAG;IACrB,WAAW,EAAE,EAAE;IACf,YAAY,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,EAAE;QACjB,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,IAAI;KACjB;IACD,MAAM,EAAE,MAAM;IACd,mBAAmB,EAAE,IAAI;IACzB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,EAAE;IACpB,oBAAoB,EAAE,KAAK;CAC5B,CAAC","sourcesContent":["import { EntityInfo, CompositeKey } from '@memberjunction/core';\nimport {\n ViewGridState,\n MJUserViewEntity_IGridSortSetting,\n MJUserViewEntity_IGridColumnSetting,\n MJUserViewEntity_ITimelineState,\n MJUserViewEntity_IDisplayCardState,\n MJUserViewEntity_IGridDisplayState,\n} from '@memberjunction/core-entities';\n\n// Re-export core types for backward compatibility\nexport type ViewColumnPinned = 'left' | 'right' | null;\nexport type ViewGridSortSetting = MJUserViewEntity_IGridSortSetting;\nexport type ViewGridColumnSetting = MJUserViewEntity_IGridColumnSetting;\nexport { ViewGridState };\n\n/**\n * View modes supported by the EntityViewer component\n */\nexport type EntityViewMode = 'grid' | 'cards' | 'timeline';\n\n/**\n * Behavior when a record is selected\n */\nexport type RecordSelectionBehavior =\n | 'emit-only' // Only emit the recordSelected event\n | 'show-detail' // Show the detail panel (if available)\n | 'emit-and-detail'; // Both emit event and show detail panel\n\n/**\n * Field display type for smart rendering in cards\n */\nexport type CardFieldType = 'number' | 'boolean' | 'text' | 'date';\n\n/**\n * Color categories for status pills based on semantic meaning\n */\nexport type PillColorType = 'success' | 'warning' | 'danger' | 'info' | 'neutral';\n\n/**\n * Metadata for a field to display in a card\n */\nexport interface CardDisplayField {\n /** Field name from the entity */\n name: string;\n /** Display type for rendering */\n type: CardFieldType;\n /** Human-readable label */\n label: string;\n}\n\n/**\n * Auto-generated card template based on entity metadata\n */\nexport interface CardTemplate {\n /**\n * One or more field names that together form the card title.\n * Multiple IsNameField fields are combined with spaces\n * (e.g., [\"FirstName\", \"LastName\"] → \"Elizabeth Rodriguez\").\n */\n titleFields: string[];\n /** Secondary subtitle field name */\n subtitleField: string | null;\n /** Description/notes field name */\n descriptionField: string | null;\n /** Display fields with type information for smart rendering */\n displayFields: CardDisplayField[];\n /**\n * Array of thumbnail field names in priority order\n * Per-record fallback: if the first field is empty, try the next, etc.\n */\n thumbnailFields: string[];\n /** Badge/priority field name */\n badgeField: string | null;\n}\n\n/**\n * Column definition for the grid view\n */\nexport interface GridColumnDef {\n /** Field name from the entity */\n field: string;\n /** Column header text */\n headerName: string;\n /** Column width in pixels */\n width?: number;\n /** Minimum column width */\n minWidth?: number;\n /** Maximum column width */\n maxWidth?: number;\n /** Whether column is sortable */\n sortable?: boolean;\n /** Whether column is filterable */\n filter?: boolean;\n /** Whether column is resizable */\n resizable?: boolean;\n /** Whether to hide this column */\n hide?: boolean;\n /** Custom cell renderer type */\n cellRenderer?: string;\n /** Value formatter function name */\n valueFormatter?: string;\n}\n\n/**\n * Event emitted when a record is selected (clicked)\n */\nexport interface RecordSelectedEvent {\n /** The selected record (plain object from ResultType: 'simple') */\n record: Record<string, unknown>;\n /** The entity metadata */\n entity: EntityInfo;\n /** The composite key of the record */\n compositeKey: CompositeKey;\n}\n\n/**\n * Event emitted when a record should be opened (double-click or open button)\n */\nexport interface RecordOpenedEvent {\n /** The record to open (may be undefined for FK navigation where record isn't loaded) */\n record?: Record<string, unknown>;\n /** The entity metadata */\n entity: EntityInfo;\n /** The composite key of the record */\n compositeKey: CompositeKey;\n}\n\n/**\n * Event emitted when data is loaded\n */\nexport interface DataLoadedEvent {\n /** Total number of records available */\n totalRowCount: number;\n /** Number of records currently loaded */\n loadedRowCount: number;\n /** Time taken to load in milliseconds */\n loadTime: number;\n /** The loaded records - allows parent to access records for state restoration */\n records: Record<string, unknown>[];\n}\n\n/**\n * Event emitted when filtered count changes\n */\nexport interface FilteredCountChangedEvent {\n /** Number of records after filtering */\n filteredCount: number;\n /** Total number of records before filtering */\n totalCount: number;\n}\n\n/**\n * Sort direction for server-side sorting\n */\nexport type SortDirection = 'asc' | 'desc' | null;\n\n/**\n * Sort state for a column\n */\nexport interface SortState {\n /** Field name to sort by */\n field: string;\n /** Sort direction */\n direction: SortDirection;\n}\n\n/**\n * Event emitted when sort changes in the grid\n */\nexport interface SortChangedEvent {\n /** The new sort state (null if no sorting) */\n sort: SortState | null;\n}\n\n/**\n * Pagination state for server-side paging\n */\nexport interface PaginationState {\n /** Current page number (0-based) */\n currentPage: number;\n /** Number of records per page */\n pageSize: number;\n /** Total number of records available (from server) */\n totalRecords: number;\n /** Whether there are more records to load */\n hasMore: boolean;\n /** Whether data is currently being loaded */\n isLoading: boolean;\n}\n\n/**\n * Event emitted when pagination changes\n */\nexport interface PaginationChangedEvent {\n /** The new pagination state */\n pagination: PaginationState;\n}\n\n/**\n * Event emitted when requesting to load more data\n */\nexport interface LoadMoreEvent {\n /** Current page being requested (0-based) */\n page: number;\n /** Page size */\n pageSize: number;\n}\n\n/**\n * Event emitted when grid state changes (column resize, reorder, etc.)\n */\nexport interface GridStateChangedEvent {\n /** The updated grid state */\n gridState: ViewGridState;\n /** What changed: 'columns', 'sort', 'filter' */\n changeType: 'columns' | 'sort' | 'filter';\n}\n\n/**\n * Configuration options for the EntityViewer component\n */\nexport interface EntityViewerConfig {\n /**\n * Whether to show the filter input box\n * @default true\n */\n showFilter?: boolean;\n\n /**\n * Whether to show the view mode toggle (grid/cards)\n * @default true\n */\n showViewModeToggle?: boolean;\n\n /**\n * Behavior when a record is selected\n * @default 'emit-only'\n */\n selectionBehavior?: RecordSelectionBehavior;\n\n /**\n * Initial view mode\n * @default 'grid'\n */\n defaultViewMode?: EntityViewMode;\n\n /**\n * Whether to enable multi-select\n * @default false\n */\n enableMultiSelect?: boolean;\n\n /**\n * Maximum number of records to load per page\n * @default 100\n */\n pageSize?: number;\n\n /**\n * Whether to show record count in header\n * @default true\n */\n showRecordCount?: boolean;\n\n /**\n * Placeholder text for the filter input\n * @default 'Filter records...'\n */\n filterPlaceholder?: string;\n\n /**\n * Debounce time for filter input in milliseconds\n * @default 250\n */\n filterDebounceMs?: number;\n\n /**\n * Custom grid column definitions (optional - auto-generated if not provided)\n */\n gridColumns?: GridColumnDef[];\n\n /**\n * Custom card template (optional - auto-generated if not provided)\n */\n cardTemplate?: CardTemplate;\n\n /**\n * Height of the component (CSS value)\n * @default '100%'\n */\n height?: string;\n\n /**\n * Whether to use server-side filtering via UserSearchString\n * When true, filter text is sent to the server for SQL-based filtering\n * When false, filtering is done client-side on loaded records\n * @default true\n */\n serverSideFiltering?: boolean;\n\n /**\n * Whether to use server-side sorting via OrderBy\n * When true, sort changes trigger a new server request\n * When false, sorting is done client-side by AG Grid\n * @default true\n */\n serverSideSorting?: boolean;\n\n /**\n * Whether to show pagination controls\n * @default true\n */\n showPagination?: boolean;\n\n /**\n * Default sort field when loading data\n */\n defaultSortField?: string;\n\n /**\n * Default sort direction when loading data\n * @default 'asc'\n */\n defaultSortDirection?: SortDirection;\n}\n\n/**\n * Timeline segment grouping options\n */\nexport type TimelineSegmentGrouping = 'none' | 'day' | 'week' | 'month' | 'quarter' | 'year';\n\n/**\n * Timeline orientation options\n */\nexport type TimelineOrientation = 'vertical' | 'horizontal';\n\n/**\n * Timeline-specific configuration state\n * Persisted in UserView.DisplayState JSON\n *\n * Extends the generated {@link MJUserViewEntity_ITimelineState} with Angular-specific fields.\n */\nexport type TimelineState = MJUserViewEntity_ITimelineState;\n\n/**\n * Card-specific configuration state\n * Persisted in UserView.DisplayState JSON\n *\n * Identical to the generated {@link MJUserViewEntity_IDisplayCardState}.\n */\nexport type CardState = MJUserViewEntity_IDisplayCardState;\n\n/**\n * Grid-specific configuration state\n * Persisted in UserView.DisplayState JSON\n * Note: Most grid state is already in GridState column, this is for additional settings\n *\n * Extends the generated {@link MJUserViewEntity_IGridDisplayState} with Angular-specific fields.\n */\nexport type GridDisplayState = MJUserViewEntity_IGridDisplayState;\n\n/**\n * View display state - persisted in UserView.DisplayState\n * Contains the default view mode and mode-specific configuration\n */\nexport interface ViewDisplayState {\n /** The default view mode to show when loading this view */\n defaultMode: EntityViewMode;\n /** Which view modes are enabled/visible for this view */\n enabledModes?: {\n grid?: boolean;\n cards?: boolean;\n timeline?: boolean;\n };\n /** Timeline-specific configuration */\n timeline?: TimelineState;\n /** Card-specific configuration */\n cards?: CardState;\n /** Grid-specific configuration */\n grid?: GridDisplayState;\n}\n\n/**\n * Default configuration values\n */\n/**\n * Summary of what a view configuration includes, for preview in Quick Save dialog\n */\nexport interface ViewConfigSummary {\n /** Number of visible columns */\n ColumnCount: number;\n /** Number of active filters */\n FilterCount: number;\n /** Number of sort levels */\n SortCount: number;\n /** Whether smart filter is active */\n SmartFilterActive: boolean;\n /** Smart filter prompt text (if active) */\n SmartFilterPrompt: string;\n /** Number of enabled aggregates */\n AggregateCount: number;\n}\n\n/**\n * Event emitted by QuickSaveDialog when user saves\n */\nexport interface QuickSaveEvent {\n /** View name */\n Name: string;\n /** View description (optional) */\n Description: string;\n /** Whether the view is shared */\n IsShared: boolean;\n /** Whether to save as new (true) or update existing (false) */\n SaveAsNew: boolean;\n}\n\n/**\n * Data emitted by QuickSaveDialog when user clicks \"Customize columns, filters & sorting...\"\n * Carries the partially-filled form data so the config panel can continue the new-view creation.\n */\nexport interface QuickSaveAdvancedEvent {\n /** View name entered so far */\n Name: string;\n /** View description entered so far */\n Description: string;\n /** Whether the view should be shared */\n IsShared: boolean;\n}\n\n/**\n * Result of a view save operation (for notification display)\n */\nexport interface ViewSaveResult {\n /** Whether the save succeeded */\n Success: boolean;\n /** Error message (on failure) */\n ErrorMessage?: string;\n /** Whether this was a new view or update */\n IsNew: boolean;\n}\n\nexport const DEFAULT_VIEWER_CONFIG: Required<EntityViewerConfig> = {\n showFilter: true,\n showViewModeToggle: true,\n selectionBehavior: 'emit-only',\n defaultViewMode: 'grid',\n enableMultiSelect: false,\n pageSize: 100,\n showRecordCount: true,\n filterPlaceholder: 'Filter records...',\n filterDebounceMs: 250,\n gridColumns: [],\n cardTemplate: {\n titleFields: [],\n subtitleField: null,\n descriptionField: null,\n displayFields: [],\n thumbnailFields: [],\n badgeField: null\n },\n height: '100%',\n serverSideFiltering: true,\n serverSideSorting: true,\n showPagination: true,\n defaultSortField: '',\n defaultSortDirection: 'asc'\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EntityInfo, CompositeKey } from '@memberjunction/core';
|
|
2
|
-
import { ViewGridState } from '
|
|
2
|
+
import { ViewGridState } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Build a CompositeKey from a plain record using EntityInfo PK fields.
|
|
5
5
|
* Works with both plain objects (from ResultType: 'simple') and BaseEntity instances.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.util.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/record.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"record.util.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/record.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY,CAMvG;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAE7F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,GAAG,MAAM,EAAE,CAoDpG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.util.js","sourceRoot":"","sources":["../../../src/lib/utils/record.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGhE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA+B,EAAE,UAAsB;IACrF,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,SAAS,EAAE,EAAE,CAAC,IAAI;QAClB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;KACzB,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAA+B,EAAE,UAAsB;IACjF,OAAO,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,oBAAoB,EAAE,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAsB,EAAE,SAAgC;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,2BAA2B;IAC3B,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,gDAAgD;IAChD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,yDAAyD;IACzD,IAAI,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,wCAAwC;QACxC,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAE3E,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,2EAA2E;YAC3E,yEAAyE;YACzE,kEAAkE;YAClE,kCAAkC;YAClC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CACR,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,kBAAkB,CAAC;gBACxE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAE,8CAA8C;aACpF;iBACA,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAElB,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC","sourcesContent":["import { EntityInfo, CompositeKey } from '@memberjunction/core';\nimport { ViewGridState } from '
|
|
1
|
+
{"version":3,"file":"record.util.js","sourceRoot":"","sources":["../../../src/lib/utils/record.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGhE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA+B,EAAE,UAAsB;IACrF,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,SAAS,EAAE,EAAE,CAAC,IAAI;QAClB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;KACzB,CAAC,CAAC,CAAC;IACJ,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAA+B,EAAE,UAAsB;IACjF,OAAO,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,oBAAoB,EAAE,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAsB,EAAE,SAAgC;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAEjC,2BAA2B;IAC3B,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,gDAAgD;IAChD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,yDAAyD;IACzD,IAAI,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,wCAAwC;QACxC,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAE3E,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,2EAA2E;YAC3E,yEAAyE;YACzE,kEAAkE;YAClE,kCAAkC;YAClC,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CACR,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,kBAAkB,CAAC;gBACxE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAE,8CAA8C;aACpF;iBACA,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAElB,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE7B,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC","sourcesContent":["import { EntityInfo, CompositeKey } from '@memberjunction/core';\nimport { ViewGridState } from '../types';\n\n/**\n * Build a CompositeKey from a plain record using EntityInfo PK fields.\n * Works with both plain objects (from ResultType: 'simple') and BaseEntity instances.\n */\nexport function buildCompositeKey(record: Record<string, unknown>, entityInfo: EntityInfo): CompositeKey {\n const kvps = entityInfo.PrimaryKeys.map(pk => ({\n FieldName: pk.Name,\n Value: record[pk.Name]\n }));\n return new CompositeKey(kvps);\n}\n\n/**\n * Build a PK concatenated string matching CompositeKey.ToConcatenatedString() format.\n * Used as a stable row identifier for selection, tracking, and map keys.\n */\nexport function buildPkString(record: Record<string, unknown>, entityInfo: EntityInfo): string {\n return buildCompositeKey(record, entityInfo).ToConcatenatedString();\n}\n\n/**\n * Compute the Fields array to request from RunView based on EntityInfo and optional grid state.\n * Includes: PK fields, NameField, visible display fields, and timestamp fields.\n */\nexport function computeFieldsList(entityInfo: EntityInfo, gridState?: ViewGridState | null): string[] {\n const fields = new Set<string>();\n\n // Always include PK fields\n for (const pk of entityInfo.PrimaryKeys) {\n fields.add(pk.Name);\n }\n\n // Include NameField for display name resolution\n if (entityInfo.NameField) {\n fields.add(entityInfo.NameField.Name);\n }\n\n // Include visible fields from gridState or DefaultInView\n if (gridState?.columnSettings?.length) {\n for (const col of gridState.columnSettings) {\n if (!col.hidden) {\n fields.add(col.Name);\n }\n }\n } else {\n // First try to use DefaultInView fields\n const defaultInViewFields = entityInfo.Fields.filter(f => f.DefaultInView);\n\n if (defaultInViewFields.length > 0) {\n for (const f of defaultInViewFields) {\n fields.add(f.Name);\n }\n } else {\n // Fallback: when no DefaultInView fields are defined, include the first 10\n // non-system fields. This matches the fallback in generateAgColumnDefs()\n // which uses getDefaultFieldsFallback() to show columns even when\n // DefaultInView isn't configured.\n const fallbackFields = entityInfo.Fields\n .filter(f =>\n !f.Name.startsWith('__mj_') &&\n !(f.IsPrimaryKey && f.SQLFullType?.toLowerCase() === 'uniqueidentifier') &&\n (f.Length <= 500 || f.Length < 0) // Exclude very long text unless nvarchar(max)\n )\n .slice(0, 10);\n\n for (const f of fallbackFields) {\n fields.add(f.Name);\n }\n }\n }\n\n // Include __mj timestamp fields (commonly used for sort and display)\n fields.add('__mj_CreatedAt');\n fields.add('__mj_UpdatedAt');\n\n return Array.from(fields);\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter, OnChanges, OnInit, SimpleChanges, ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { EntityInfo, EntityFieldInfo } from '@memberjunction/core';
|
|
3
|
-
import { MJUserViewEntityExtended, ViewGridState, ColumnFormat, ColumnTextStyle, ViewGridAggregatesConfig, ViewGridAggregate } from '@memberjunction/core-entities';
|
|
3
|
+
import { MJUserViewEntityExtended, ViewGridState, MJUserViewEntity_IColumnFormat as ColumnFormat, MJUserViewEntity_IColumnTextStyle as ColumnTextStyle, MJUserViewEntity_IGridAggregatesConfig as ViewGridAggregatesConfig, MJUserViewEntity_IGridAggregate as ViewGridAggregate } from '@memberjunction/core-entities';
|
|
4
4
|
import { CompositeFilterDescriptor, FilterFieldInfo } from '@memberjunction/ng-filter-builder';
|
|
5
5
|
import { ViewConfigSummary } from '../types';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-config-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/view-config-panel/view-config-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAgB,MAAM,eAAe,CAAC;AAC1I,OAAO,EAAE,UAAU,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,wBAAwB,EAExB,aAAa,EAEb,YAAY,
|
|
1
|
+
{"version":3,"file":"view-config-panel.component.d.ts","sourceRoot":"","sources":["../../../src/lib/view-config-panel/view-config-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAgB,MAAM,eAAe,CAAC;AAC1I,OAAO,EAAE,UAAU,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EACL,wBAAwB,EAExB,aAAa,EAEb,8BAA8B,IAAI,YAAY,EAC9C,iCAAiC,IAAI,eAAe,EAEpD,sCAAsC,IAAI,wBAAwB,EAClE,+BAA+B,IAAI,iBAAiB,EAGrD,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,yBAAyB,EACzB,eAAe,EAGhB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;;AAE7C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,CAAC;IACvB,sCAAsC;IACtC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,+DAA+D;IAC/D,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,4DAA4D;IAC5D,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+DAA+D;IAC/D,WAAW,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC9C,+BAA+B;IAC/B,gBAAgB,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACnD;AAED;;;;;;;;;;GAUG;AACH,qBAMa,wBAAyB,YAAW,MAAM,EAAE,SAAS;IA4KpD,OAAO,CAAC,GAAG;IA3KvB;;OAEG;IACM,MAAM,EAAE,UAAU,GAAG,IAAI,CAAQ;IAE1C;;OAEG;IACM,UAAU,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IAE5D;;OAEG;IACM,MAAM,EAAE,OAAO,CAAS;IAEjC;;;OAGG;IACM,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAQ;IAEvD;;OAEG;IACM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAM;IAEpD;;OAEG;IACO,KAAK,qBAA4B;IAE3C;;OAEG;IACO,IAAI,8BAAqC;IAEnD;;;OAGG;IACO,YAAY,8BAAqC;IAE3D;;OAEG;IACO,MAAM,qBAA4B;IAE5C;;OAEG;IACO,uBAAuB;qBAClB,yBAAyB;sBACxB,eAAe,EAAE;OAC5B;IAEL;;OAEG;IACM,mBAAmB,EAAE,yBAAyB,GAAG,IAAI,CAAQ;IAEtE;;;OAGG;IACM,gBAAgB,EAAE,OAAO,CAAS;IAE3C;;OAEG;IACM,kBAAkB,EAAE,MAAM,CAAM;IAEzC;;OAEG;IACM,yBAAyB,EAAE,MAAM,CAAM;IAEhD;;OAEG;IACM,sBAAsB,EAAE,OAAO,CAAS;IAEjD;;OAEG;IACO,SAAS,qBAA4B;IAGxC,QAAQ,EAAE,MAAM,CAAM;IACtB,eAAe,EAAE,MAAM,CAAM;IAC7B,QAAQ,EAAE,OAAO,CAAS;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAM;IACpC,wCAAwC;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IACvC,wCAAwC;IACjC,aAAa,EAAE,KAAK,GAAG,MAAM,CAAS;IAC7C,4DAA4D;IACrD,SAAS,EAAE,QAAQ,EAAE,CAAM;IAG3B,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACxC,kBAAkB,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC3C,gBAAgB,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAQ;IAGnD,cAAc;;;;;;SAGnB;IAGK,kBAAkB,EAAE,OAAO,CAAS;IACpC,iBAAiB,EAAE,MAAM,CAAM;IAC/B,sBAAsB,EAAE,MAAM,CAAM;IAGpC,WAAW,EAAE,yBAAyB,CAAuB;IAC7D,YAAY,EAAE,eAAe,EAAE,CAAM;IAGrC,UAAU,EAAE,OAAO,GAAG,aAAa,CAAW;IAG9C,UAAU,EAAE,iBAAiB,EAAE,CAAM;IACrC,mBAAmB,EAAE,OAAO,CAAS;IACrC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAGzD,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,sBAAsB,CAAkD;IAGzE,2BAA2B,EAAE,OAAO,CAAS;IAC7C,uBAAuB,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI,CAAQ;IAGtE,OAAO,CAAC,YAAY,CAAkB;IAG/B,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,CAAa;IACnF,QAAQ,EAAE,OAAO,CAAS;IAC5B,gBAAgB,EAAE,MAAM,CAAM;IAG9B,aAAa,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC1C,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAQ;IAC7C,YAAY,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAQ;IAG/C,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAQ;IAGhD,UAAU,EAAE,OAAO,CAAS;IAC5B,UAAU,EAAE,MAAM,CAAO;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAC3C,uDAAuD;IACvD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAC3C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA6B;IACrE,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IAErC;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,QAAQ,CAAkB;gBAEd,GAAG,EAAE,iBAAiB;IAE1C;;;OAGG;IAEH,YAAY,IAAI,IAAI;IAYpB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAatC;;OAEG;IACH,OAAO,CAAC,YAAY,CAYlB;IAEF;;OAEG;IACH,OAAO,CAAC,WAAW,CASjB;IAEF,QAAQ,IAAI,IAAI;IAKhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;YACW,cAAc;IAQ5B,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAkCzC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAyI5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAsBpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAKvD;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAOxB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAQ1B;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;OAEG;IACH,IAAI,cAAc,IAAI,YAAY,EAAE,CAEnC;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,YAAY,EAAE,CAElC;IAED;;OAEG;IACH,IAAI,qBAAqB,IAAI,YAAY,EAAE,CAS1C;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,eAAe,EAAE,CAKtC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAGrB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAGvB;IAED;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IASlD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAaxC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAiB1C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAUzD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAqBxD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAUnC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAyB1D;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAI3C;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAQ1C;;OAEG;IACH,YAAY,IAAI,IAAI;IAepB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IASzC;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAK9C;;OAEG;IACH,yBAAyB,CAAC,eAAe,EAAE,QAAQ,GAAG,eAAe,EAAE;IAOvE;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM9D;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAM1E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAS3D;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAoB1D;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IASvC;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,GAAG,IAAI;IA4B5D;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKrC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAI7C;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAQ5C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAS5C;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAKzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAI9C;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAK7C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,EAAE;IAUhD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM;IAqB5E,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAS/B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED;;OAEG;IACH,YAAY,IAAI,iBAAiB;IAWjC;;OAEG;IACH,MAAM,IAAI,IAAI;IAuBd;;OAEG;IACH,WAAW,IAAI,IAAI;IAuBnB;;;OAGG;IACH,cAAc,IAAI,IAAI;IAsBf,iBAAiB,EAAE,OAAO,CAAS;IAE1C;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAKzB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAKzB;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI;IAMtF;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,IAAI;IAiBlD;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAQnC;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAKnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyB7B;;OAEG;IACH,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS9C;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,IAAI;IAcpD;;OAEG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ1C;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWzE;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,eAAe,GAAG,IAAI;IAclD;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,iBAAiB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAevE;;OAEG;IACH,sBAAsB,IAAI,IAAI;IAM9B;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAMjD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAM5B;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAenD;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAUnD;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI;IAgC9E;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAWnD;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAWrD;;OAEG;IACH,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,iBAAiB,EAAE,CAExC;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAE1C;IAED;;OAEG;IACH,OAAO,CAAC,qBAAqB;yCAltDlB,wBAAwB;2CAAxB,wBAAwB;CA0tDpC"}
|