@memberjunction/ng-entity-viewer 5.23.0 → 5.25.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 +43 -2
- package/dist/lib/entity-viewer/entity-viewer.component.d.ts.map +1 -1
- package/dist/lib/entity-viewer/entity-viewer.component.js +161 -53
- package/dist/lib/entity-viewer/entity-viewer.component.js.map +1 -1
- package/dist/lib/types.d.ts +21 -36
- 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 +16 -0
- 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 +2 -2
- package/dist/lib/view-config-panel/view-config-panel.component.js.map +1 -1
- package/dist/module.d.ts +2 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -3
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +2 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +11 -10
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// Re-export shared types from the main types file to avoid duplication
|
|
2
|
+
// These are used by both EntityGridComponent and EntityDataGridComponent
|
|
3
|
+
export { ViewGridState } from '../../types';
|
|
1
4
|
/**
|
|
2
5
|
* Default visual configuration - provides attractive defaults out of the box
|
|
3
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-types.js","sourceRoot":"","sources":["../../../../src/lib/entity-data-grid/models/grid-types.ts"],"names":[],"mappings":"AAglBA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC/D,sCAAsC;IACtC,WAAW,EAAE,UAAU;IACvB,gBAAgB,EAAE,EAAE,EAAG,2BAA2B;IAClD,eAAe,EAAE,EAAE,EAAI,2BAA2B;IAClD,YAAY,EAAE,IAAI;IAElB,yDAAyD;IACzD,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,QAAQ;IAC9B,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,GAAG;IAE5B,mCAAmC;IACnC,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IAEnB,0EAA0E;IAC1E,uBAAuB,EAAE,EAAE,EAAG,+CAA+C;IAC7E,uBAAuB,EAAE,CAAC;IAC1B,mBAAmB,EAAE,EAAE,EAAG,kDAAkD;IAE5E,2BAA2B;IAC3B,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,EAAE,EAAG,8CAA8C;IAElE,qCAAqC;IACrC,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,CAAC;IAEnB,oBAAoB;IACpB,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,QAAQ;IAErB,eAAe;IACf,WAAW,EAAE,EAAE,CAAE,8CAA8C;CAChE,CAAC","sourcesContent":["import { TemplateRef } from '@angular/core';\n\n// Re-export shared types from the main types file to avoid duplication\n// These are used by both EntityGridComponent and EntityDataGridComponent\nexport {\n SortDirection,\n SortState,\n GridStateChangedEvent,\n // View grid types - re-exported from types.ts which gets them from core-entities\n ViewGridColumnSetting,\n ViewGridSortSetting,\n ViewGridState\n} from '../../types';\n\n// ========================================\n// Enums and Union Types\n// ========================================\n\n/**\n * Selection mode for the grid\n * - 'none': No selection allowed\n * - 'single': Only one row can be selected at a time\n * - 'multiple': Multiple rows can be selected (click to toggle)\n * - 'checkbox': Checkbox column for selection\n */\nexport type GridSelectionMode = 'none' | 'single' | 'multiple' | 'checkbox';\n\n/**\n * Edit mode for the grid\n * - 'none': No editing allowed\n * - 'cell': Individual cell editing\n * - 'row': Full row editing\n * - 'batch': Batch editing with explicit save\n */\nexport type GridEditMode = 'none' | 'cell' | 'row' | 'batch';\n\n/**\n * Grid lines display mode\n */\nexport type GridLinesMode = 'none' | 'horizontal' | 'vertical' | 'both';\n\n/**\n * Filter operators for column filtering\n */\nexport type FilterOperator =\n | 'eq' | 'neq'\n | 'gt' | 'gte' | 'lt' | 'lte'\n | 'contains' | 'startswith' | 'endswith'\n | 'isnull' | 'isnotnull'\n | 'in' | 'notin';\n\n/**\n * Column data type for formatting and editing\n */\nexport type GridColumnType =\n | 'string'\n | 'number'\n | 'boolean'\n | 'date'\n | 'datetime'\n | 'currency'\n | 'percent'\n | 'custom';\n\n// ========================================\n// Column Configuration\n// ========================================\n\n/**\n * Configuration for a single grid column\n */\nexport interface GridColumnConfig {\n /** Field name on the entity */\n field: string;\n\n /** Display title (defaults to field name) */\n title?: string;\n\n /** Column width in pixels (or 'auto') */\n width?: number | 'auto';\n\n /** Minimum width for resizing */\n minWidth?: number;\n\n /** Maximum width for resizing */\n maxWidth?: number;\n\n /** Column is visible */\n visible?: boolean;\n\n /** Column is sortable */\n sortable?: boolean;\n\n /** Column is filterable */\n filterable?: boolean;\n\n /** Column is editable */\n editable?: boolean;\n\n /** Column is resizable */\n resizable?: boolean;\n\n /** Column is reorderable */\n reorderable?: boolean;\n\n /** Data type for formatting and editing */\n type?: GridColumnType;\n\n /** Format string (e.g., 'yyyy-MM-dd' for dates, '#,##0.00' for numbers) */\n format?: string;\n\n /** Text alignment */\n align?: 'left' | 'center' | 'right';\n\n /** Header alignment (defaults to align) */\n headerAlign?: 'left' | 'center' | 'right';\n\n /** CSS class for cells - can be string or function */\n cellClass?: string | ((row: Record<string, unknown>, column: GridColumnConfig) => string);\n\n /** CSS class for header */\n headerClass?: string;\n\n /** Custom cell template reference */\n cellTemplate?: TemplateRef<GridCellTemplateContext>;\n\n /** Custom header template reference */\n headerTemplate?: TemplateRef<GridHeaderTemplateContext>;\n\n /** Custom editor template reference */\n editorTemplate?: TemplateRef<GridEditorTemplateContext>;\n\n /** Cell value formatter function */\n formatter?: (value: unknown, row: Record<string, unknown>, column: GridColumnConfig) => string;\n\n /** Cell style function */\n cellStyle?: (row: Record<string, unknown>, column: GridColumnConfig) => Record<string, string>;\n\n /** Whether to show tooltip on hover */\n showTooltip?: boolean;\n\n /** Custom tooltip content */\n tooltip?: string | ((row: Record<string, unknown>, column: GridColumnConfig) => string);\n\n /** Frozen column position (alias for pinned, for backward compatibility) */\n frozen?: 'left' | 'right' | false;\n\n /** Column pinning position (AG Grid terminology) */\n pinned?: 'left' | 'right' | null;\n\n /** Flex grow factor for auto-sizing columns */\n flex?: number;\n\n /** Column group (for grouped headers) */\n group?: string;\n\n /** Filter options for dropdown filters */\n filterOptions?: Array<{ value: unknown; label: string }>;\n\n /** Sort order index (for default multi-sort) */\n sortIndex?: number;\n\n /** Sort direction (for default sort) */\n sortDirection?: 'asc' | 'desc';\n}\n\n/**\n * Context provided to custom cell templates\n */\nexport interface GridCellTemplateContext {\n /** The row data (entity) */\n row: Record<string, unknown>;\n /** Column configuration */\n column: GridColumnConfig;\n /** The cell value */\n value: unknown;\n /** Row index in the current view */\n rowIndex: number;\n /** Whether the cell is currently being edited */\n isEditing: boolean;\n}\n\n/**\n * Context provided to custom header templates\n */\nexport interface GridHeaderTemplateContext {\n /** Column configuration */\n column: GridColumnConfig;\n /** Current sort direction for this column */\n sortDirection: 'asc' | 'desc' | 'none';\n /** Current filter value for this column */\n filterValue: unknown;\n}\n\n/**\n * Context provided to custom editor templates\n */\nexport interface GridEditorTemplateContext {\n /** The row data (entity) */\n row: Record<string, unknown>;\n /** Column configuration */\n column: GridColumnConfig;\n /** Current cell value */\n value: unknown;\n /** Row index in the current view */\n rowIndex: number;\n /** Function to commit the edit with a new value */\n commitEdit: (newValue: unknown) => void;\n /** Function to cancel the edit */\n cancelEdit: () => void;\n}\n\n// ========================================\n// Toolbar Configuration\n// ========================================\n\n/**\n * Configuration for the grid toolbar\n */\nexport interface GridToolbarConfig {\n /** Show search input */\n showSearch?: boolean;\n\n /** Search placeholder text */\n searchPlaceholder?: string;\n\n /** Search debounce time in ms */\n searchDebounce?: number;\n\n /** Show refresh button */\n showRefresh?: boolean;\n\n /** Show add button */\n showAdd?: boolean;\n\n /** Show delete button (for selected rows) */\n showDelete?: boolean;\n\n /** Show export button */\n showExport?: boolean;\n\n /** Export formats available */\n exportFormats?: Array<'excel' | 'csv' | 'json'>;\n\n /** Show column chooser button */\n showColumnChooser?: boolean;\n\n /** Show filter toggle button */\n showFilterToggle?: boolean;\n\n /** Custom toolbar buttons */\n customButtons?: GridToolbarButton[];\n\n /** Toolbar position */\n position?: 'top' | 'bottom' | 'both';\n\n /** Show row count */\n showRowCount?: boolean;\n\n /** Show selection count */\n showSelectionCount?: boolean;\n}\n\n/**\n * Custom toolbar button configuration\n */\nexport interface GridToolbarButton {\n /** Unique button ID */\n id: string;\n\n /** Button text */\n text?: string;\n\n /** Button icon (Font Awesome class) */\n icon?: string;\n\n /** Button tooltip */\n tooltip?: string;\n\n /** Button is disabled - can be boolean or function */\n disabled?: boolean | (() => boolean);\n\n /** Button is visible - can be boolean or function */\n visible?: boolean | (() => boolean);\n\n /** Button CSS class */\n cssClass?: string;\n\n /** Button position: 'left' | 'right' */\n position?: 'left' | 'right';\n\n /** Click handler (if not using event) */\n onClick?: () => void;\n}\n\n// ========================================\n// State Types (Extended for EntityDataGrid)\n// ========================================\n\n/**\n * Extended sort state with multi-sort index\n * Extends the base SortState from types.ts with an index for multi-sort ordering\n */\nexport interface DataGridSortState {\n /** Field name being sorted */\n field: string;\n /** Sort direction */\n direction: 'asc' | 'desc';\n /** Index for multi-sort ordering */\n index: number;\n}\n\n/**\n * Filter state for a column\n */\nexport interface FilterState {\n /** Field name being filtered */\n field: string;\n /** Filter operator */\n operator: FilterOperator;\n /** Filter value */\n value: unknown;\n}\n\n/**\n * Pending change for batch editing\n */\nexport interface PendingChange {\n /** Row key (usually ID) */\n rowKey: string;\n /** The row entity */\n row: Record<string, unknown>;\n /** Field that was changed */\n field: string;\n /** Original value */\n oldValue: unknown;\n /** New value */\n newValue: unknown;\n /** Type of change */\n changeType: 'update' | 'insert' | 'delete';\n}\n\n/**\n * Complete grid state for persistence (internal to EntityDataGrid)\n * Note: For UserView persistence, use ViewGridState from @memberjunction/core-entities\n */\nexport interface GridState {\n /** Column states */\n columns: Array<{\n field: string;\n width: number;\n visible: boolean;\n order: number;\n /** Column pinning position */\n pinned?: 'left' | 'right' | null;\n /** Flex grow factor for auto-sizing */\n flex?: number;\n /** Minimum column width */\n minWidth?: number;\n /** Maximum column width */\n maxWidth?: number;\n }>;\n /** Sort state */\n sort: DataGridSortState[];\n /** Filter state */\n filters: FilterState[];\n /** Selected row keys */\n selection: string[];\n}\n\n/**\n * Export options for grid data\n */\nexport interface ExportOptions {\n /** Export only visible columns */\n visibleColumnsOnly?: boolean;\n\n /** Export only selected rows */\n selectedRowsOnly?: boolean;\n\n /** Include headers */\n includeHeaders?: boolean;\n\n /** Custom column mapping */\n columnMapping?: Record<string, string>;\n}\n\n// ========================================\n// Event Types\n// ========================================\n\n/**\n * Event emitted when a foreign key link is clicked in the grid.\n * The parent component should handle navigation to the related record.\n */\nexport interface ForeignKeyClickEvent {\n /** The ID of the related entity (from EntityFieldInfo.RelatedEntityID) */\n relatedEntityId: string;\n /** The ID of the related record (the FK value) */\n recordId: string;\n /** The field name that was clicked */\n fieldName: string;\n /** The entity name of the related entity (if available) */\n relatedEntityName?: string;\n}\n\n// ========================================\n// Internal Types\n// ========================================\n\n/**\n * Internal representation of a rendered row\n */\nexport interface GridRowData {\n /** Row key (usually ID) */\n key: string;\n /** Row index in the data array */\n index: number;\n /** The entity object */\n entity: Record<string, unknown>;\n /** Whether the row is selected */\n selected: boolean;\n /** Whether the row is being edited */\n editing: boolean;\n /** Whether the row has unsaved changes */\n dirty: boolean;\n /** CSS classes for the row */\n cssClasses: string[];\n}\n\n/**\n * Virtual scroll viewport info\n */\nexport interface VirtualScrollState {\n /** First visible row index */\n startIndex: number;\n /** Last visible row index */\n endIndex: number;\n /** Scroll offset from top */\n scrollTop: number;\n /** Total scroll height */\n totalHeight: number;\n /** Viewport height */\n viewportHeight: number;\n /** Number of buffer rows above and below */\n bufferSize: number;\n}\n\n/**\n * Column runtime state (internal)\n */\nexport interface ColumnRuntimeState {\n /** Column configuration */\n config: GridColumnConfig;\n /** Computed width */\n computedWidth: number;\n /** Current sort direction */\n sortDirection: 'asc' | 'desc' | 'none';\n /** Sort index for multi-sort */\n sortIndex: number;\n /** Current filter value */\n filterValue: unknown;\n /** Current visibility */\n visible: boolean;\n /** Current order/position */\n order: number;\n}\n\n/**\n * RunView parameters subset for data loading\n */\nexport interface GridRunViewParams {\n /** Entity name */\n entityName: string;\n /** Extra filter clause */\n extraFilter?: string;\n /** Order by clause */\n orderBy?: string;\n /** Maximum rows to fetch */\n maxRows?: number;\n /** Fields to retrieve */\n fields?: string[];\n /** User search string */\n searchString?: string;\n}\n\n// ========================================\n// Entity Action Types\n// ========================================\n\n/**\n * Configuration for an entity action displayed in the grid toolbar.\n * This is a simplified representation of EntityAction for the UI layer.\n */\nexport interface EntityActionConfig {\n /** Unique action ID */\n id: string;\n /** Display name */\n name: string;\n /** Optional description */\n description?: string;\n /** Optional icon (Font Awesome class) */\n icon?: string;\n /** Whether the action requires selected records */\n requiresSelection?: boolean;\n /** Minimum number of selected records required */\n minSelectedRecords?: number;\n /** Maximum number of selected records allowed */\n maxSelectedRecords?: number;\n /** Invocation type (e.g., 'View', 'SingleRecord', 'MultiRecord') */\n invocationType?: string;\n /** Additional action metadata */\n metadata?: Record<string, unknown>;\n}\n\n// ========================================\n// Visual Customization Types\n// ========================================\n\n/**\n * Header style preset options\n */\nexport type GridHeaderStyle = 'flat' | 'elevated' | 'gradient' | 'bold';\n\n/**\n * Configuration for grid visual appearance\n * All properties are optional - defaults provide an attractive \"out of the box\" experience\n */\nexport interface GridVisualConfig {\n // Header Styling\n /** Header style preset: 'flat' | 'elevated' | 'gradient' | 'bold' */\n headerStyle?: GridHeaderStyle;\n /** Custom header background color (overrides preset) */\n headerBackground?: string;\n /** Custom header text color */\n headerTextColor?: string;\n /** Show bottom shadow/border on header */\n headerShadow?: boolean;\n\n // Row Styling\n /** Enable alternating row colors (zebra striping) */\n alternateRows?: boolean;\n /** Contrast level for alternating rows: 'subtle' | 'medium' | 'strong' */\n alternateRowContrast?: 'subtle' | 'medium' | 'strong';\n /** Enable smooth hover transitions */\n hoverTransitions?: boolean;\n /** Hover transition duration in ms */\n hoverTransitionDuration?: number;\n\n // Cell Formatting\n /** Right-align numeric columns automatically */\n rightAlignNumbers?: boolean;\n /** Format dates with a friendly format (e.g., \"Jan 15, 2024\" instead of \"2024-01-15\") */\n friendlyDates?: boolean;\n /** Render email cells as clickable mailto links */\n clickableEmails?: boolean;\n /** Render boolean cells as checkmark/x icons instead of text */\n booleanIcons?: boolean;\n /** Render URL cells as clickable links */\n clickableUrls?: boolean;\n\n // Selection Styling\n /** Color for selection indicator (left border on selected rows) */\n selectionIndicatorColor?: string;\n /** Width of selection indicator in pixels */\n selectionIndicatorWidth?: number;\n /** Selection background color */\n selectionBackground?: string;\n\n // Checkbox Column\n /** Style for checkbox column: 'default' | 'rounded' | 'filled' */\n checkboxStyle?: 'default' | 'rounded' | 'filled';\n /** Checkbox accent color */\n checkboxColor?: string;\n\n // Loading States\n /** Show skeleton loading rows instead of spinner */\n skeletonLoading?: boolean;\n /** Number of skeleton rows to show */\n skeletonRowCount?: number;\n\n // Borders & Spacing\n /** Border radius for the grid container */\n borderRadius?: number;\n /** Cell padding preset: 'compact' | 'normal' | 'comfortable' */\n cellPadding?: 'compact' | 'normal' | 'comfortable';\n\n // Accent Color (used for sort indicators, focus states, etc.)\n /** Primary accent color for interactive elements */\n accentColor?: string;\n}\n\n/**\n * Default visual configuration - provides attractive defaults out of the box\n */\nexport const DEFAULT_VISUAL_CONFIG: Required<GridVisualConfig> = {\n // Header - elevated style with shadow\n headerStyle: 'elevated',\n headerBackground: '', // Empty = use CSS variable\n headerTextColor: '', // Empty = use CSS variable\n headerShadow: true,\n\n // Rows - medium contrast zebra striping with transitions\n alternateRows: true,\n alternateRowContrast: 'medium',\n hoverTransitions: true,\n hoverTransitionDuration: 150,\n\n // Cell formatting - smart defaults\n rightAlignNumbers: true,\n friendlyDates: true,\n clickableEmails: true,\n booleanIcons: true,\n clickableUrls: true,\n\n // Selection - mellow yellow accent (avoids conflict with blue hyperlinks)\n selectionIndicatorColor: '', // Empty = use CSS variable --mj-status-warning\n selectionIndicatorWidth: 3,\n selectionBackground: '', // Empty = use CSS variable --mj-status-warning-bg\n\n // Checkbox - rounded style\n checkboxStyle: 'rounded',\n checkboxColor: '', // Empty = use CSS variable --mj-brand-primary\n\n // Loading - skeleton for modern feel\n skeletonLoading: true,\n skeletonRowCount: 8,\n\n // Borders & Spacing\n borderRadius: 0,\n cellPadding: 'normal',\n\n // Accent color\n accentColor: '' // Empty = use CSS variable --mj-brand-primary\n};\n"]}
|
|
1
|
+
{"version":3,"file":"grid-types.js","sourceRoot":"","sources":["../../../../src/lib/entity-data-grid/models/grid-types.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,yEAAyE;AACzE,OAAO,EAOL,aAAa,EACd,MAAM,aAAa,CAAC;AAokBrB;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA+B;IAC/D,sCAAsC;IACtC,WAAW,EAAE,UAAU;IACvB,gBAAgB,EAAE,EAAE,EAAG,2BAA2B;IAClD,eAAe,EAAE,EAAE,EAAI,2BAA2B;IAClD,YAAY,EAAE,IAAI;IAElB,yDAAyD;IACzD,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,QAAQ;IAC9B,gBAAgB,EAAE,IAAI;IACtB,uBAAuB,EAAE,GAAG;IAE5B,mCAAmC;IACnC,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,IAAI;IACnB,eAAe,EAAE,IAAI;IACrB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IAEnB,0EAA0E;IAC1E,uBAAuB,EAAE,EAAE,EAAG,+CAA+C;IAC7E,uBAAuB,EAAE,CAAC;IAC1B,mBAAmB,EAAE,EAAE,EAAG,kDAAkD;IAE5E,2BAA2B;IAC3B,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,EAAE,EAAG,8CAA8C;IAElE,qCAAqC;IACrC,eAAe,EAAE,IAAI;IACrB,gBAAgB,EAAE,CAAC;IAEnB,oBAAoB;IACpB,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,QAAQ;IAErB,eAAe;IACf,WAAW,EAAE,EAAE,CAAE,8CAA8C;CAChE,CAAC","sourcesContent":["import { TemplateRef } from '@angular/core';\n\n// Re-export shared types from the main types file to avoid duplication\n// These are used by both EntityGridComponent and EntityDataGridComponent\nexport {\n SortDirection,\n SortState,\n GridStateChangedEvent,\n // View grid types - re-exported from types.ts which gets them from core-entities\n ViewGridColumnSetting,\n ViewGridSortSetting,\n ViewGridState\n} from '../../types';\n\n// ========================================\n// Enums and Union Types\n// ========================================\n\n/**\n * Selection mode for the grid\n * - 'none': No selection allowed\n * - 'single': Only one row can be selected at a time\n * - 'multiple': Multiple rows can be selected (click to toggle)\n * - 'checkbox': Checkbox column for selection\n */\nexport type GridSelectionMode = 'none' | 'single' | 'multiple' | 'checkbox';\n\n/**\n * Edit mode for the grid\n * - 'none': No editing allowed\n * - 'cell': Individual cell editing\n * - 'row': Full row editing\n * - 'batch': Batch editing with explicit save\n */\nexport type GridEditMode = 'none' | 'cell' | 'row' | 'batch';\n\n/**\n * Grid lines display mode\n */\nexport type GridLinesMode = 'none' | 'horizontal' | 'vertical' | 'both';\n\n/**\n * Filter operators for column filtering\n */\nexport type FilterOperator =\n | 'eq' | 'neq'\n | 'gt' | 'gte' | 'lt' | 'lte'\n | 'contains' | 'startswith' | 'endswith'\n | 'isnull' | 'isnotnull'\n | 'in' | 'notin';\n\n/**\n * Column data type for formatting and editing\n */\nexport type GridColumnType =\n | 'string'\n | 'number'\n | 'boolean'\n | 'date'\n | 'datetime'\n | 'currency'\n | 'percent'\n | 'custom';\n\n// ========================================\n// Column Configuration\n// ========================================\n\n/**\n * Configuration for a single grid column\n */\nexport interface GridColumnConfig {\n /** Field name on the entity */\n field: string;\n\n /** Display title (defaults to field name) */\n title?: string;\n\n /** Column width in pixels (or 'auto') */\n width?: number | 'auto';\n\n /** Minimum width for resizing */\n minWidth?: number;\n\n /** Maximum width for resizing */\n maxWidth?: number;\n\n /** Column is visible */\n visible?: boolean;\n\n /** Column is sortable */\n sortable?: boolean;\n\n /** Column is filterable */\n filterable?: boolean;\n\n /** Column is editable */\n editable?: boolean;\n\n /** Column is resizable */\n resizable?: boolean;\n\n /** Column is reorderable */\n reorderable?: boolean;\n\n /** Data type for formatting and editing */\n type?: GridColumnType;\n\n /** Format string (e.g., 'yyyy-MM-dd' for dates, '#,##0.00' for numbers) */\n format?: string;\n\n /** Text alignment */\n align?: 'left' | 'center' | 'right';\n\n /** Header alignment (defaults to align) */\n headerAlign?: 'left' | 'center' | 'right';\n\n /** CSS class for cells - can be string or function */\n cellClass?: string | ((row: Record<string, unknown>, column: GridColumnConfig) => string);\n\n /** CSS class for header */\n headerClass?: string;\n\n /** Custom cell template reference */\n cellTemplate?: TemplateRef<GridCellTemplateContext>;\n\n /** Custom header template reference */\n headerTemplate?: TemplateRef<GridHeaderTemplateContext>;\n\n /** Custom editor template reference */\n editorTemplate?: TemplateRef<GridEditorTemplateContext>;\n\n /** Cell value formatter function */\n formatter?: (value: unknown, row: Record<string, unknown>, column: GridColumnConfig) => string;\n\n /** Cell style function */\n cellStyle?: (row: Record<string, unknown>, column: GridColumnConfig) => Record<string, string>;\n\n /** Whether to show tooltip on hover */\n showTooltip?: boolean;\n\n /** Custom tooltip content */\n tooltip?: string | ((row: Record<string, unknown>, column: GridColumnConfig) => string);\n\n /** Frozen column position (alias for pinned, for backward compatibility) */\n frozen?: 'left' | 'right' | false;\n\n /** Column pinning position (AG Grid terminology) */\n pinned?: 'left' | 'right' | null;\n\n /** Flex grow factor for auto-sizing columns */\n flex?: number;\n\n /** Column group (for grouped headers) */\n group?: string;\n\n /** Filter options for dropdown filters */\n filterOptions?: Array<{ value: unknown; label: string }>;\n\n /** Sort order index (for default multi-sort) */\n sortIndex?: number;\n\n /** Sort direction (for default sort) */\n sortDirection?: 'asc' | 'desc';\n}\n\n/**\n * Context provided to custom cell templates\n */\nexport interface GridCellTemplateContext {\n /** The row data (entity) */\n row: Record<string, unknown>;\n /** Column configuration */\n column: GridColumnConfig;\n /** The cell value */\n value: unknown;\n /** Row index in the current view */\n rowIndex: number;\n /** Whether the cell is currently being edited */\n isEditing: boolean;\n}\n\n/**\n * Context provided to custom header templates\n */\nexport interface GridHeaderTemplateContext {\n /** Column configuration */\n column: GridColumnConfig;\n /** Current sort direction for this column */\n sortDirection: 'asc' | 'desc' | 'none';\n /** Current filter value for this column */\n filterValue: unknown;\n}\n\n/**\n * Context provided to custom editor templates\n */\nexport interface GridEditorTemplateContext {\n /** The row data (entity) */\n row: Record<string, unknown>;\n /** Column configuration */\n column: GridColumnConfig;\n /** Current cell value */\n value: unknown;\n /** Row index in the current view */\n rowIndex: number;\n /** Function to commit the edit with a new value */\n commitEdit: (newValue: unknown) => void;\n /** Function to cancel the edit */\n cancelEdit: () => void;\n}\n\n// ========================================\n// Toolbar Configuration\n// ========================================\n\n/**\n * Configuration for the grid toolbar\n */\nexport interface GridToolbarConfig {\n /** Show search input */\n showSearch?: boolean;\n\n /** Search placeholder text */\n searchPlaceholder?: string;\n\n /** Search debounce time in ms */\n searchDebounce?: number;\n\n /** Show refresh button */\n showRefresh?: boolean;\n\n /** Show add button */\n showAdd?: boolean;\n\n /** Show delete button (for selected rows) */\n showDelete?: boolean;\n\n /** Show export button */\n showExport?: boolean;\n\n /** Export formats available */\n exportFormats?: Array<'excel' | 'csv' | 'json'>;\n\n /** Show column chooser button */\n showColumnChooser?: boolean;\n\n /** Show filter toggle button */\n showFilterToggle?: boolean;\n\n /** Custom toolbar buttons */\n customButtons?: GridToolbarButton[];\n\n /** Toolbar position */\n position?: 'top' | 'bottom' | 'both';\n\n /** Show row count */\n showRowCount?: boolean;\n\n /** Show selection count */\n showSelectionCount?: boolean;\n}\n\n/**\n * Custom toolbar button configuration\n */\nexport interface GridToolbarButton {\n /** Unique button ID */\n id: string;\n\n /** Button text */\n text?: string;\n\n /** Button icon (Font Awesome class) */\n icon?: string;\n\n /** Button tooltip */\n tooltip?: string;\n\n /** Button is disabled - can be boolean or function */\n disabled?: boolean | (() => boolean);\n\n /** Button is visible - can be boolean or function */\n visible?: boolean | (() => boolean);\n\n /** Button CSS class */\n cssClass?: string;\n\n /** Button position: 'left' | 'right' */\n position?: 'left' | 'right';\n\n /** Click handler (if not using event) */\n onClick?: () => void;\n}\n\n// ========================================\n// State Types (Extended for EntityDataGrid)\n// ========================================\n\n/**\n * Extended sort state with multi-sort index\n * Extends the base SortState from types.ts with an index for multi-sort ordering\n */\nexport interface DataGridSortState {\n /** Field name being sorted */\n field: string;\n /** Sort direction */\n direction: 'asc' | 'desc';\n /** Index for multi-sort ordering */\n index: number;\n}\n\n/**\n * Filter state for a column\n */\nexport interface FilterState {\n /** Field name being filtered */\n field: string;\n /** Filter operator */\n operator: FilterOperator;\n /** Filter value */\n value: unknown;\n}\n\n/**\n * Pending change for batch editing\n */\nexport interface PendingChange {\n /** Row key (usually ID) */\n rowKey: string;\n /** The row entity */\n row: Record<string, unknown>;\n /** Field that was changed */\n field: string;\n /** Original value */\n oldValue: unknown;\n /** New value */\n newValue: unknown;\n /** Type of change */\n changeType: 'update' | 'insert' | 'delete';\n}\n\n/**\n * Complete grid state for persistence (internal to EntityDataGrid)\n * Note: For UserView persistence, use ViewGridState from @memberjunction/core-entities\n */\nexport interface GridState {\n /** Column states */\n columns: Array<{\n field: string;\n width: number;\n visible: boolean;\n order: number;\n /** Column pinning position */\n pinned?: 'left' | 'right' | null;\n /** Flex grow factor for auto-sizing */\n flex?: number;\n /** Minimum column width */\n minWidth?: number;\n /** Maximum column width */\n maxWidth?: number;\n }>;\n /** Sort state */\n sort: DataGridSortState[];\n /** Filter state */\n filters: FilterState[];\n /** Selected row keys */\n selection: string[];\n}\n\n/**\n * Export options for grid data\n */\nexport interface ExportOptions {\n /** Export only visible columns */\n visibleColumnsOnly?: boolean;\n\n /** Export only selected rows */\n selectedRowsOnly?: boolean;\n\n /** Include headers */\n includeHeaders?: boolean;\n\n /** Custom column mapping */\n columnMapping?: Record<string, string>;\n}\n\n// ========================================\n// Event Types\n// ========================================\n\n/**\n * Event emitted when a foreign key link is clicked in the grid.\n * The parent component should handle navigation to the related record.\n */\nexport interface ForeignKeyClickEvent {\n /** The ID of the related entity (from EntityFieldInfo.RelatedEntityID) */\n relatedEntityId: string;\n /** The ID of the related record (the FK value) */\n recordId: string;\n /** The field name that was clicked */\n fieldName: string;\n /** The entity name of the related entity (if available) */\n relatedEntityName?: string;\n}\n\n// ========================================\n// Internal Types\n// ========================================\n\n/**\n * Internal representation of a rendered row\n */\nexport interface GridRowData {\n /** Row key (usually ID) */\n key: string;\n /** Row index in the data array */\n index: number;\n /** The entity object */\n entity: Record<string, unknown>;\n /** Whether the row is selected */\n selected: boolean;\n /** Whether the row is being edited */\n editing: boolean;\n /** Whether the row has unsaved changes */\n dirty: boolean;\n /** CSS classes for the row */\n cssClasses: string[];\n}\n\n/**\n * Virtual scroll viewport info\n */\nexport interface VirtualScrollState {\n /** First visible row index */\n startIndex: number;\n /** Last visible row index */\n endIndex: number;\n /** Scroll offset from top */\n scrollTop: number;\n /** Total scroll height */\n totalHeight: number;\n /** Viewport height */\n viewportHeight: number;\n /** Number of buffer rows above and below */\n bufferSize: number;\n}\n\n/**\n * Column runtime state (internal)\n */\nexport interface ColumnRuntimeState {\n /** Column configuration */\n config: GridColumnConfig;\n /** Computed width */\n computedWidth: number;\n /** Current sort direction */\n sortDirection: 'asc' | 'desc' | 'none';\n /** Sort index for multi-sort */\n sortIndex: number;\n /** Current filter value */\n filterValue: unknown;\n /** Current visibility */\n visible: boolean;\n /** Current order/position */\n order: number;\n}\n\n/**\n * RunView parameters subset for data loading\n */\nexport interface GridRunViewParams {\n /** Entity name */\n entityName: string;\n /** Extra filter clause */\n extraFilter?: string;\n /** Order by clause */\n orderBy?: string;\n /** Maximum rows to fetch */\n maxRows?: number;\n /** Fields to retrieve */\n fields?: string[];\n /** User search string */\n searchString?: string;\n}\n\n// ========================================\n// Entity Action Types\n// ========================================\n\n/**\n * Configuration for an entity action displayed in the grid toolbar.\n * This is a simplified representation of EntityAction for the UI layer.\n */\nexport interface EntityActionConfig {\n /** Unique action ID */\n id: string;\n /** Display name */\n name: string;\n /** Optional description */\n description?: string;\n /** Optional icon (Font Awesome class) */\n icon?: string;\n /** Whether the action requires selected records */\n requiresSelection?: boolean;\n /** Minimum number of selected records required */\n minSelectedRecords?: number;\n /** Maximum number of selected records allowed */\n maxSelectedRecords?: number;\n /** Invocation type (e.g., 'View', 'SingleRecord', 'MultiRecord') */\n invocationType?: string;\n /** Additional action metadata */\n metadata?: Record<string, unknown>;\n}\n\n// ========================================\n// Visual Customization Types\n// ========================================\n\n/**\n * Header style preset options\n */\nexport type GridHeaderStyle = 'flat' | 'elevated' | 'gradient' | 'bold';\n\n/**\n * Configuration for grid visual appearance\n * All properties are optional - defaults provide an attractive \"out of the box\" experience\n */\nexport interface GridVisualConfig {\n // Header Styling\n /** Header style preset: 'flat' | 'elevated' | 'gradient' | 'bold' */\n headerStyle?: GridHeaderStyle;\n /** Custom header background color (overrides preset) */\n headerBackground?: string;\n /** Custom header text color */\n headerTextColor?: string;\n /** Show bottom shadow/border on header */\n headerShadow?: boolean;\n\n // Row Styling\n /** Enable alternating row colors (zebra striping) */\n alternateRows?: boolean;\n /** Contrast level for alternating rows: 'subtle' | 'medium' | 'strong' */\n alternateRowContrast?: 'subtle' | 'medium' | 'strong';\n /** Enable smooth hover transitions */\n hoverTransitions?: boolean;\n /** Hover transition duration in ms */\n hoverTransitionDuration?: number;\n\n // Cell Formatting\n /** Right-align numeric columns automatically */\n rightAlignNumbers?: boolean;\n /** Format dates with a friendly format (e.g., \"Jan 15, 2024\" instead of \"2024-01-15\") */\n friendlyDates?: boolean;\n /** Render email cells as clickable mailto links */\n clickableEmails?: boolean;\n /** Render boolean cells as checkmark/x icons instead of text */\n booleanIcons?: boolean;\n /** Render URL cells as clickable links */\n clickableUrls?: boolean;\n\n // Selection Styling\n /** Color for selection indicator (left border on selected rows) */\n selectionIndicatorColor?: string;\n /** Width of selection indicator in pixels */\n selectionIndicatorWidth?: number;\n /** Selection background color */\n selectionBackground?: string;\n\n // Checkbox Column\n /** Style for checkbox column: 'default' | 'rounded' | 'filled' */\n checkboxStyle?: 'default' | 'rounded' | 'filled';\n /** Checkbox accent color */\n checkboxColor?: string;\n\n // Loading States\n /** Show skeleton loading rows instead of spinner */\n skeletonLoading?: boolean;\n /** Number of skeleton rows to show */\n skeletonRowCount?: number;\n\n // Borders & Spacing\n /** Border radius for the grid container */\n borderRadius?: number;\n /** Cell padding preset: 'compact' | 'normal' | 'comfortable' */\n cellPadding?: 'compact' | 'normal' | 'comfortable';\n\n // Accent Color (used for sort indicators, focus states, etc.)\n /** Primary accent color for interactive elements */\n accentColor?: string;\n}\n\n/**\n * Default visual configuration - provides attractive defaults out of the box\n */\nexport const DEFAULT_VISUAL_CONFIG: Required<GridVisualConfig> = {\n // Header - elevated style with shadow\n headerStyle: 'elevated',\n headerBackground: '', // Empty = use CSS variable\n headerTextColor: '', // Empty = use CSS variable\n headerShadow: true,\n\n // Rows - medium contrast zebra striping with transitions\n alternateRows: true,\n alternateRowContrast: 'medium',\n hoverTransitions: true,\n hoverTransitionDuration: 150,\n\n // Cell formatting - smart defaults\n rightAlignNumbers: true,\n friendlyDates: true,\n clickableEmails: true,\n booleanIcons: true,\n clickableUrls: true,\n\n // Selection - mellow yellow accent (avoids conflict with blue hyperlinks)\n selectionIndicatorColor: '', // Empty = use CSS variable --mj-status-warning\n selectionIndicatorWidth: 3,\n selectionBackground: '', // Empty = use CSS variable --mj-status-warning-bg\n\n // Checkbox - rounded style\n checkboxStyle: 'rounded',\n checkboxColor: '', // Empty = use CSS variable --mj-brand-primary\n\n // Loading - skeleton for modern feel\n skeletonLoading: true,\n skeletonRowCount: 8,\n\n // Borders & Spacing\n borderRadius: 0,\n cellPadding: 'normal',\n\n // Accent color\n accentColor: '' // Empty = use CSS variable --mj-brand-primary\n};\n"]}
|
|
@@ -3,6 +3,7 @@ import { EntityInfo, EntityFieldInfo, RunViewParams } from '@memberjunction/core
|
|
|
3
3
|
import { MJUserViewEntityExtended } from '@memberjunction/core-entities';
|
|
4
4
|
import { PageChangeEvent } from '@memberjunction/ng-pagination';
|
|
5
5
|
import { TimelineGroup, TimeSegmentGrouping, TimelineSortOrder, AfterEventClickArgs } from '@memberjunction/ng-timeline';
|
|
6
|
+
import { MapDisplayState, MapRenderMode } from '@memberjunction/ng-map-view';
|
|
6
7
|
import { EntityViewMode, EntityViewerConfig, RecordSelectedEvent, RecordOpenedEvent, DataLoadedEvent, FilteredCountChangedEvent, CardTemplate, GridColumnDef, SortState, SortChangedEvent, PaginationState, ViewGridState, GridStateChangedEvent, TimelineOrientation, TimelineState } from '../types';
|
|
7
8
|
import { AfterRowClickEventArgs, AfterRowDoubleClickEventArgs, AfterSortEventArgs } from '../entity-data-grid/events/grid-events';
|
|
8
9
|
import { GridToolbarConfig, GridSelectionMode, ForeignKeyClickEvent } from '../entity-data-grid/models/grid-types';
|
|
@@ -43,6 +44,12 @@ import * as i0 from "@angular/core";
|
|
|
43
44
|
export declare class EntityViewerComponent implements OnInit, OnDestroy {
|
|
44
45
|
private cdr;
|
|
45
46
|
private ngZone;
|
|
47
|
+
/**
|
|
48
|
+
* Maximum records to load in map mode. Map view needs all records for
|
|
49
|
+
* geographic visualization — paging doesn't make sense for maps. This cap
|
|
50
|
+
* prevents unbounded queries on very large entities.
|
|
51
|
+
*/
|
|
52
|
+
private static readonly MAP_MAX_RECORDS;
|
|
46
53
|
private _entity;
|
|
47
54
|
private _records;
|
|
48
55
|
private _config;
|
|
@@ -174,7 +181,7 @@ export declare class EntityViewerComponent implements OnInit, OnDestroy {
|
|
|
174
181
|
/**
|
|
175
182
|
* Emitted when timeline configuration changes (date field, grouping, etc.)
|
|
176
183
|
*/
|
|
177
|
-
timelineConfigChange: EventEmitter<
|
|
184
|
+
timelineConfigChange: EventEmitter<import("@memberjunction/core-entities").MJUserViewEntity_ITimelineState>;
|
|
178
185
|
/**
|
|
179
186
|
* Emitted when the Add/New button is clicked in the grid toolbar
|
|
180
187
|
*/
|
|
@@ -233,6 +240,8 @@ export declare class EntityViewerComponent implements OnInit, OnDestroy {
|
|
|
233
240
|
pagination: PaginationState;
|
|
234
241
|
/** Whether the current entity has date fields available for timeline view */
|
|
235
242
|
hasDateFields: boolean;
|
|
243
|
+
/** Whether the current entity supports geocoding (has SupportsGeoCoding = 1) */
|
|
244
|
+
HasGeoCoding: boolean;
|
|
236
245
|
/** Available date fields from the entity (sorted by priority) */
|
|
237
246
|
availableDateFields: EntityFieldInfo[];
|
|
238
247
|
/** Timeline groups configuration for the timeline component */
|
|
@@ -474,6 +483,33 @@ export declare class EntityViewerComponent implements OnInit, OnDestroy {
|
|
|
474
483
|
* Handle timeline event click - emit as record selection
|
|
475
484
|
*/
|
|
476
485
|
onTimelineEventClick(event: AfterEventClickArgs): void;
|
|
486
|
+
/**
|
|
487
|
+
* Update HasGeoCoding based on the current effectiveEntity.
|
|
488
|
+
* Called from entity setter and after data loads (when effectiveEntity may resolve via viewEntity).
|
|
489
|
+
*/
|
|
490
|
+
private updateGeoCodingSupport;
|
|
491
|
+
/**
|
|
492
|
+
* Handle map marker click — emit the record for the parent to handle (open record, etc.)
|
|
493
|
+
*/
|
|
494
|
+
onMapMarkerClick(event: {
|
|
495
|
+
RecordID: string;
|
|
496
|
+
Latitude: number;
|
|
497
|
+
Longitude: number;
|
|
498
|
+
Record: Record<string, unknown>;
|
|
499
|
+
}): void;
|
|
500
|
+
/** Map display state (zoom, center) — passed from parent for persistence across reloads. */
|
|
501
|
+
mapDisplayState: Partial<MapDisplayState> | null;
|
|
502
|
+
/** Map render mode — separate from DisplayState for clear single-source-of-truth. */
|
|
503
|
+
mapRenderMode: MapRenderMode;
|
|
504
|
+
/** Emitted when the map's display state changes (zoom, center). */
|
|
505
|
+
mapDisplayStateChange: EventEmitter<MapDisplayState>;
|
|
506
|
+
/** Emitted when the map's render mode changes (user clicks mode buttons). */
|
|
507
|
+
mapRenderModeChange: EventEmitter<MapRenderMode>;
|
|
508
|
+
/**
|
|
509
|
+
* Handle map display state changes — bubble up to parent for persistence.
|
|
510
|
+
*/
|
|
511
|
+
onMapDisplayStateChange(state: MapDisplayState): void;
|
|
512
|
+
onMapRenderModeChange(mode: MapRenderMode): void;
|
|
477
513
|
/**
|
|
478
514
|
* Toggle timeline orientation between vertical and horizontal
|
|
479
515
|
*/
|
|
@@ -504,6 +540,11 @@ export declare class EntityViewerComponent implements OnInit, OnDestroy {
|
|
|
504
540
|
* fall back to grid view
|
|
505
541
|
*/
|
|
506
542
|
private fallbackFromTimelineIfNeeded;
|
|
543
|
+
/**
|
|
544
|
+
* If currently on map view but geocoding is no longer available,
|
|
545
|
+
* fall back to grid view
|
|
546
|
+
*/
|
|
547
|
+
private fallbackFromMapIfNeeded;
|
|
507
548
|
/**
|
|
508
549
|
* Sort date fields by priority:
|
|
509
550
|
* 1. DefaultInView=true fields, sorted by Sequence (lowest first)
|
|
@@ -537,6 +578,6 @@ export declare class EntityViewerComponent implements OnInit, OnDestroy {
|
|
|
537
578
|
*/
|
|
538
579
|
private findSubtitleField;
|
|
539
580
|
static ɵfac: i0.ɵɵFactoryDeclaration<EntityViewerComponent, never>;
|
|
540
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EntityViewerComponent, "mj-entity-viewer", never, { "entity": { "alias": "entity"; "required": false; }; "records": { "alias": "records"; "required": false; }; "config": { "alias": "config"; "required": false; }; "selectedRecordId": { "alias": "selectedRecordId"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "filterText": { "alias": "filterText"; "required": false; }; "sortState": { "alias": "sortState"; "required": false; }; "gridColumns": { "alias": "gridColumns"; "required": false; }; "cardTemplate": { "alias": "cardTemplate"; "required": false; }; "viewEntity": { "alias": "viewEntity"; "required": false; }; "gridState": { "alias": "gridState"; "required": false; }; "timelineConfig": { "alias": "timelineConfig"; "required": false; }; "showGridToolbar": { "alias": "showGridToolbar"; "required": false; }; "gridToolbarConfig": { "alias": "gridToolbarConfig"; "required": false; }; "gridSelectionMode": { "alias": "gridSelectionMode"; "required": false; }; "showAddToListButton": { "alias": "showAddToListButton"; "required": false; }; }, { "recordSelected": "recordSelected"; "recordOpened": "recordOpened"; "dataLoaded": "dataLoaded"; "viewModeChange": "viewModeChange"; "filterTextChange": "filterTextChange"; "filteredCountChanged": "filteredCountChanged"; "sortChanged": "sortChanged"; "gridStateChanged": "gridStateChanged"; "timelineConfigChange": "timelineConfigChange"; "addRequested": "addRequested"; "deleteRequested": "deleteRequested"; "refreshRequested": "refreshRequested"; "exportRequested": "exportRequested"; "addToListRequested": "addToListRequested"; "selectionChanged": "selectionChanged"; }, never, never, false, never>;
|
|
581
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EntityViewerComponent, "mj-entity-viewer", never, { "entity": { "alias": "entity"; "required": false; }; "records": { "alias": "records"; "required": false; }; "config": { "alias": "config"; "required": false; }; "selectedRecordId": { "alias": "selectedRecordId"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "filterText": { "alias": "filterText"; "required": false; }; "sortState": { "alias": "sortState"; "required": false; }; "gridColumns": { "alias": "gridColumns"; "required": false; }; "cardTemplate": { "alias": "cardTemplate"; "required": false; }; "viewEntity": { "alias": "viewEntity"; "required": false; }; "gridState": { "alias": "gridState"; "required": false; }; "timelineConfig": { "alias": "timelineConfig"; "required": false; }; "showGridToolbar": { "alias": "showGridToolbar"; "required": false; }; "gridToolbarConfig": { "alias": "gridToolbarConfig"; "required": false; }; "gridSelectionMode": { "alias": "gridSelectionMode"; "required": false; }; "showAddToListButton": { "alias": "showAddToListButton"; "required": false; }; "mapDisplayState": { "alias": "mapDisplayState"; "required": false; }; "mapRenderMode": { "alias": "mapRenderMode"; "required": false; }; }, { "recordSelected": "recordSelected"; "recordOpened": "recordOpened"; "dataLoaded": "dataLoaded"; "viewModeChange": "viewModeChange"; "filterTextChange": "filterTextChange"; "filteredCountChanged": "filteredCountChanged"; "sortChanged": "sortChanged"; "gridStateChanged": "gridStateChanged"; "timelineConfigChange": "timelineConfigChange"; "addRequested": "addRequested"; "deleteRequested": "deleteRequested"; "refreshRequested": "refreshRequested"; "exportRequested": "exportRequested"; "addToListRequested": "addToListRequested"; "selectionChanged": "selectionChanged"; "mapDisplayStateChange": "mapDisplayStateChange"; "mapRenderModeChange": "mapRenderModeChange"; }, never, never, false, never>;
|
|
541
582
|
}
|
|
542
583
|
//# sourceMappingURL=entity-viewer.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-viewer.component.d.ts","sourceRoot":"","sources":["../../../src/lib/entity-viewer/entity-viewer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAGhI,OAAO,EAAE,UAAU,EAAE,eAAe,EAA8B,aAAa,EAA0B,MAAM,sBAAsB,CAAC;AAEtI,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACzH,OAAO,EACL,cAAc,EACd,kBAAkB,EAElB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,qBAAqB,EAErB,mBAAmB,EACnB,aAAa,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EACnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;;AAGnH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBASa,qBAAsB,YAAW,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"entity-viewer.component.d.ts","sourceRoot":"","sources":["../../../src/lib/entity-viewer/entity-viewer.component.ts"],"names":[],"mappings":"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"}
|