@memberjunction/ng-entity-viewer 5.3.1 → 5.4.1

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.
Files changed (24) hide show
  1. package/dist/__tests__/highlight.test.js.map +1 -1
  2. package/dist/__tests__/index.test.js.map +1 -1
  3. package/dist/lib/aggregate-panel/aggregate-panel.component.js.map +1 -1
  4. package/dist/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.js.map +1 -1
  5. package/dist/lib/confirm-dialog/confirm-dialog.component.js.map +1 -1
  6. package/dist/lib/duplicate-view-dialog/duplicate-view-dialog.component.js.map +1 -1
  7. package/dist/lib/entity-cards/entity-cards.component.js.map +1 -1
  8. package/dist/lib/entity-data-grid/entity-data-grid.component.js.map +1 -1
  9. package/dist/lib/entity-data-grid/events/grid-events.js.map +1 -1
  10. package/dist/lib/entity-data-grid/models/grid-types.js.map +1 -1
  11. package/dist/lib/entity-record-detail-panel/entity-record-detail-panel.component.js.map +1 -1
  12. package/dist/lib/entity-viewer/entity-viewer.component.js.map +1 -1
  13. package/dist/lib/pagination/pagination.component.js.map +1 -1
  14. package/dist/lib/pill/pill.component.js.map +1 -1
  15. package/dist/lib/quick-save-dialog/quick-save-dialog.component.js.map +1 -1
  16. package/dist/lib/shared-view-warning-dialog/shared-view-warning-dialog.component.js.map +1 -1
  17. package/dist/lib/types.js.map +1 -1
  18. package/dist/lib/utils/highlight.util.js.map +1 -1
  19. package/dist/lib/utils/record.util.js.map +1 -1
  20. package/dist/lib/view-config-panel/view-config-panel.component.js.map +1 -1
  21. package/dist/lib/view-header/view-header.component.js.map +1 -1
  22. package/dist/module.js.map +1 -1
  23. package/dist/public-api.js.map +1 -1
  24. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.test.js","sourceRoot":"","sources":["../../src/__tests__/highlight.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"highlight.test.js","sourceRoot":"","sources":["../../src/__tests__/highlight.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport { HighlightUtil } from '../lib/utils/highlight.util';\n\ndescribe('HighlightUtil.matches', () => {\n it('should return false for empty value or search term', () => {\n expect(HighlightUtil.matches('', 'test')).toBe(false);\n expect(HighlightUtil.matches('test', '')).toBe(false);\n expect(HighlightUtil.matches('', '')).toBe(false);\n });\n\n it('should perform case-insensitive substring match', () => {\n expect(HighlightUtil.matches('Hello World', 'hello')).toBe(true);\n expect(HighlightUtil.matches('Hello World', 'WORLD')).toBe(true);\n expect(HighlightUtil.matches('Hello World', 'xyz')).toBe(false);\n });\n\n it('should handle SQL-style % wildcards', () => {\n expect(HighlightUtil.matches('food assessment', 'food%ass')).toBe(true);\n expect(HighlightUtil.matches('food bar assessment', 'food%ass')).toBe(true);\n expect(HighlightUtil.matches('assessment food', 'food%ass')).toBe(false);\n });\n\n it('should match everything for wildcard-only patterns', () => {\n expect(HighlightUtil.matches('anything', '%')).toBe(true);\n expect(HighlightUtil.matches('anything', '%%')).toBe(true);\n });\n\n it('should require ordered fragments', () => {\n expect(HighlightUtil.matches('abc def ghi', 'abc%ghi')).toBe(true);\n expect(HighlightUtil.matches('ghi def abc', 'abc%ghi')).toBe(false);\n });\n\n it('should handle multiple wildcard segments', () => {\n expect(HighlightUtil.matches('alpha beta gamma delta', 'alpha%gamma%delta')).toBe(true);\n expect(HighlightUtil.matches('alpha beta gamma', 'alpha%gamma%delta')).toBe(false);\n });\n});\n\ndescribe('HighlightUtil.highlight', () => {\n it('should return empty string for empty text', () => {\n expect(HighlightUtil.highlight('', 'test')).toBe('');\n });\n\n it('should return escaped text when no search term', () => {\n expect(HighlightUtil.highlight('hello', '')).toBe('hello');\n expect(HighlightUtil.highlight('hello', ' ')).toBe('hello');\n });\n\n it('should return text without highlighting when no match', () => {\n const result = HighlightUtil.highlight('hello world', 'xyz');\n expect(result).not.toContain('highlight-match');\n expect(result).toContain('hello world');\n });\n\n it('should highlight simple matches', () => {\n const result = HighlightUtil.highlight('Hello World', 'World', false);\n expect(result).toContain('<span class=\"highlight-match\">World</span>');\n });\n\n it('should highlight wildcard matches', () => {\n const result = HighlightUtil.highlight('food assessment', 'food%ass', false);\n expect(result).toContain('<span class=\"highlight-match\">food</span>');\n expect(result).toContain('<span class=\"highlight-match\">ass</span>');\n });\n});\n\ndescribe('HighlightUtil.escapeHtml', () => {\n it('should escape HTML special characters (SSR fallback)', () => {\n // In node environment without proper document, should use SSR fallback\n const result = HighlightUtil.escapeHtml('<script>alert(\"xss\")</script>');\n expect(result).not.toContain('<script>');\n expect(result).toContain('&lt;');\n });\n\n it('should handle ampersands', () => {\n const result = HighlightUtil.escapeHtml('A & B');\n expect(result).toContain('&amp;');\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/__tests__/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, it, expect } from 'vitest';\n\ndescribe('@memberjunction/ng-entity-viewer', () => {\n it('should have a passing test', () => {\n expect(true).toBe(true);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-panel.component.js","sourceRoot":"","sources":["../../../src/lib/aggregate-panel/aggregate-panel.component.ts","../../../src/lib/aggregate-panel/aggregate-panel.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate-panel.component.js","sourceRoot":"","sources":["../../../src/lib/aggregate-panel/aggregate-panel.component.ts","../../../src/lib/aggregate-panel/aggregate-panel.component.html"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,MAAM,EACN,YAAY,EAEb,MAAM,eAAe,CAAC;;;;;;ICOf,+BAAgC;IAC9B,uBAA2C;IAC7C,iBAAO;;;IAKP,iCAA8C;IAC5C,uBAAmG;IACrG,iBAAS;;;IADa,cAAoC;IAAC,AAArC,oDAAoC,uCAAsC;;;IAWhG,8BAAyB;IACvB,wBAAwC;IACxC,yBAAG;IAAA,uCAAuB;IAC5B,AAD4B,iBAAI,EAC1B;;;IAgBA,+BAAuB;IACrB,oBAA0B;IAC5B,iBAAM;;;IADD,cAAkB;IAAlB,0BAAkB;;;;IAP3B,+BAGyC;IADvC,wNAAS,+BAAqB,KAAC;IAG/B,8GAAgB;IAOd,AADF,+BAA0B,cAC0B;IAChD,YACF;IAAA,iBAAM;IACN,+BAAwB;IAAA,YAAe;IAE3C,AADE,AADyC,iBAAM,EACzC,EACF;;;;IAhBJ,2CAA4B;IAE5B,0DAAsC;IAEtC,cAIC;IAJD,sCAIC;IAGyB,eAAyB;IAAzB,yCAAyB;IAC/C,cACF;IADE,oFACF;IACwB,eAAe;IAAf,kCAAe;;;IA/BjD,8BAA2B;IAEzB,uGAAmC;IAOnC,+BAIsF;IAEpF,2HAmBC;IAEL,AADE,iBAAM,EACF;;;IAlCJ,cAKC;IALD,6DAKC;IAGC,cAAmD;IAEnD,AADA,AADA,mEAAmD,iDACJ,yCACR;IACvC,yIAAmF;IAEnF,cAmBC;IAnBD,oCAmBC;;ADjDT;;;;;;;;;;GAUG;AAOH,MAAM,OAAO,uBAAuB;IAClC;;OAEG;IACM,UAAU,GAAwB,EAAE,CAAC;IAE9C;;OAEG;IACM,MAAM,GAAgC,IAAI,GAAG,EAAE,CAAC;IAEzD;;OAEG;IACM,QAAQ,GAAuB,OAAO,CAAC;IAEhD;;OAEG;IACM,KAAK,GAAW,GAAG,CAAC;IAE7B;;OAEG;IACM,MAAM,GAAuC,UAAU,CAAC;IAEjE;;OAEG;IACM,WAAW,GAAW,CAAC,CAAC;IAEjC;;OAEG;IACM,KAAK,GAAW,SAAS,CAAC;IAEnC;;OAEG;IACM,WAAW,GAAY,IAAI,CAAC;IAErC;;OAEG;IACM,cAAc,GAAY,KAAK,CAAC;IAEzC;;OAEG;IACM,OAAO,GAAY,KAAK,CAAC;IAElC;;OAEG;IACO,eAAe,GAAG,IAAI,YAAY,EAAW,CAAC;IAExD;;OAEG;IACO,cAAc,GAAG,IAAI,YAAY,EAAqB,CAAC;IAEjE,WAAW,GAAG,KAAK,CAAC;IAEpB,QAAQ;QACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAsB;QACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAsB;QAChC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,GAAG,CAAC;QAE9B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,GAAsB;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QAE/D,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACxC,OAAO,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,iBAAiB;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,CAAC;aACrC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO;gBACL,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI;gBACxB,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI;aAC5B,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,UAAU,IAAI,CAAC,WAAW,QAAQ,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAqB,EAAE,MAA4B;QACtE,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,GAAG,CAAC;QAE9B,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAEnC,+BAA+B;QAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC;QAED,yBAAyB;QACzB,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAa,EAAE,MAA4B;QAC9D,MAAM,OAAO,GAA6B;YACxC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;YAC3C,qBAAqB,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;YAC3C,WAAW,EAAE,MAAM,CAAC,kBAAkB,KAAK,KAAK;SACjD,CAAC;QAEF,kBAAkB;QAClB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC;YAC3B,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,KAAW,EAAE,UAAmB;QACjD,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,OAAO,GAA+B,EAAE,CAAC;YAE/C,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,OAAO;oBACV,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;oBAC5B,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC;oBAC7B,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;oBAC3B,MAAM;gBACR;oBACE,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC;YACjC,CAAC;YAED,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,KAAqB,EAAE,IAA+B;QAC9E,uDAAuD;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;YACxD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;gBAAE,OAAO,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEvE,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,QAAQ,CAAC;YACnC,KAAK,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,QAAQ,CAAC;YACnC,KAAK,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC;YACrC,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACrC,KAAK,KAAK,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACtC,KAAK,SAAS,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,SAAS,CAAC;YAC/D,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;iHAhQU,uBAAuB;6DAAvB,uBAAuB;YCxBlC,AAPF,8BAIyB,aAG8B;YAA3B,iGAAS,oBAAgB,IAAC;YAClD,+BAA0B;YAAA,YAAW;YAAA,iBAAO;YAE5C,8BAAgC;YAE9B,0FAAe;YAOf,4FAAmB;YAMvB,AADE,iBAAM,EACF;YAGN,0FAAoB;YAuCtB,iBAAM;;YAhEJ,AADA,AADA,0DAA6C,8CACE,8BAChB;YAC/B,wCAAsB;YAIM,eAAW;YAAX,+BAAW;YAInC,eAIC;YAJD,sCAIC;YAGD,cAIC;YAJD,0CAIC;YAKL,cAsCC;YAtCD,2CAsCC;;;iFDnCU,uBAAuB;cANnC,SAAS;6BACI,KAAK,YACP,oBAAoB;;kBAQ7B,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,MAAM;;kBAKN,MAAM;;kFA3DI,uBAAuB","sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit\n} from '@angular/core';\nimport {\n ViewGridAggregate,\n AggregateValueFormat,\n AggregateConditionalStyle\n} from '@memberjunction/core-entities';\nimport { AggregateValue } from '@memberjunction/core';\n\n/**\n * AggregatePanelComponent displays aggregate values in a card-based panel.\n * Can be positioned to the right or bottom of the grid, with various layout options.\n *\n * Features:\n * - Collapsible panel with customizable title\n * - Multiple layout options (horizontal, vertical, grid)\n * - Value formatting (number, currency, percent, date)\n * - Conditional styling (green/yellow/red based on value thresholds)\n * - Icon support for visual indicators\n */\n@Component({\n standalone: false,\n selector: 'mj-aggregate-panel',\n templateUrl: './aggregate-panel.component.html',\n styleUrls: ['./aggregate-panel.component.css']\n})\nexport class AggregatePanelComponent implements OnInit {\n /**\n * Array of aggregate configurations to display\n */\n @Input() Aggregates: ViewGridAggregate[] = [];\n\n /**\n * Map of aggregate values, keyed by expression or id\n */\n @Input() Values: Map<string, AggregateValue> = new Map();\n\n /**\n * Panel position relative to the grid\n */\n @Input() Position: 'right' | 'bottom' = 'right';\n\n /**\n * Panel width in pixels (only applies when Position is 'right')\n */\n @Input() Width: number = 280;\n\n /**\n * Layout style for aggregate cards\n */\n @Input() Layout: 'horizontal' | 'vertical' | 'grid' = 'vertical';\n\n /**\n * Number of columns when Layout is 'grid'\n */\n @Input() GridColumns: number = 2;\n\n /**\n * Panel title\n */\n @Input() Title: string = 'Summary';\n\n /**\n * Whether the panel can be collapsed\n */\n @Input() Collapsible: boolean = true;\n\n /**\n * Whether the panel starts in collapsed state\n */\n @Input() StartCollapsed: boolean = false;\n\n /**\n * Whether aggregates are currently loading\n */\n @Input() Loading: boolean = false;\n\n /**\n * Emitted when panel collapsed state changes\n */\n @Output() CollapsedChange = new EventEmitter<boolean>();\n\n /**\n * Emitted when user clicks an aggregate card (for editing/details)\n */\n @Output() AggregateClick = new EventEmitter<ViewGridAggregate>();\n\n IsCollapsed = false;\n\n ngOnInit(): void {\n this.IsCollapsed = this.StartCollapsed;\n }\n\n /**\n * Toggle panel collapsed state\n */\n ToggleCollapse(): void {\n if (this.Collapsible) {\n this.IsCollapsed = !this.IsCollapsed;\n this.CollapsedChange.emit(this.IsCollapsed);\n }\n }\n\n /**\n * Handle click on an aggregate card\n */\n OnAggregateClick(agg: ViewGridAggregate): void {\n this.AggregateClick.emit(agg);\n }\n\n /**\n * Get the formatted value for an aggregate\n */\n FormatValue(agg: ViewGridAggregate): string {\n const key = agg.id || agg.expression;\n const value = this.Values.get(key);\n\n if (value == null) return '—';\n\n const format = agg.format || {};\n return this.formatByType(value, format);\n }\n\n /**\n * Get the CSS class for conditional styling\n */\n GetStyleClass(agg: ViewGridAggregate): string {\n const key = agg.id || agg.expression;\n const value = this.Values.get(key);\n\n if (value == null || !agg.conditionalStyles?.length) return '';\n\n for (const rule of agg.conditionalStyles) {\n if (this.evaluateCondition(value, rule)) {\n return `style-${rule.style}`;\n }\n }\n return '';\n }\n\n /**\n * Get enabled aggregates (filter out disabled ones)\n */\n get EnabledAggregates(): ViewGridAggregate[] {\n return this.Aggregates.filter(a => a.enabled !== false);\n }\n\n /**\n * Get card aggregates sorted by order\n */\n get CardAggregates(): ViewGridAggregate[] {\n return this.EnabledAggregates\n .filter(a => a.displayType === 'card')\n .sort((a, b) => (a.order || 0) - (b.order || 0));\n }\n\n /**\n * Get panel style for right position\n */\n get PanelStyle(): Record<string, string> {\n if (this.Position === 'right') {\n return {\n width: `${this.Width}px`,\n minWidth: `${this.Width}px`\n };\n }\n return {};\n }\n\n /**\n * Get grid template columns for grid layout\n */\n get GridTemplateColumns(): string {\n if (this.Layout === 'grid') {\n return `repeat(${this.GridColumns}, 1fr)`;\n }\n return '';\n }\n\n /**\n * Format value based on type configuration\n */\n private formatByType(value: AggregateValue, format: AggregateValueFormat): string {\n if (value == null) return '—';\n\n // Handle prefix/suffix\n const prefix = format.prefix || '';\n const suffix = format.suffix || '';\n\n // Handle different value types\n if (typeof value === 'number') {\n const formatted = this.formatNumber(value, format);\n return `${prefix}${formatted}${suffix}`;\n }\n\n if (value instanceof Date) {\n return this.formatDate(value, format.dateFormat);\n }\n\n if (typeof value === 'boolean') {\n return value ? 'Yes' : 'No';\n }\n\n // String or unknown type\n return `${prefix}${String(value)}${suffix}`;\n }\n\n /**\n * Format a number value\n */\n private formatNumber(value: number, format: AggregateValueFormat): string {\n const options: Intl.NumberFormatOptions = {\n minimumFractionDigits: format.decimals ?? 0,\n maximumFractionDigits: format.decimals ?? 2,\n useGrouping: format.thousandsSeparator !== false\n };\n\n // Handle currency\n if (format.currencyCode) {\n options.style = 'currency';\n options.currency = format.currencyCode;\n }\n\n try {\n return new Intl.NumberFormat('en-US', options).format(value);\n } catch {\n return String(value);\n }\n }\n\n /**\n * Format a date value\n */\n private formatDate(value: Date, dateFormat?: string): string {\n try {\n // Simple format presets\n const options: Intl.DateTimeFormatOptions = {};\n\n switch (dateFormat) {\n case 'short':\n options.dateStyle = 'short';\n break;\n case 'medium':\n options.dateStyle = 'medium';\n break;\n case 'long':\n options.dateStyle = 'long';\n break;\n default:\n options.dateStyle = 'medium';\n }\n\n return new Intl.DateTimeFormat('en-US', options).format(value);\n } catch {\n return String(value);\n }\n }\n\n /**\n * Evaluate a conditional styling rule\n */\n private evaluateCondition(value: AggregateValue, rule: AggregateConditionalStyle): boolean {\n // For non-numeric values, only support equality checks\n if (typeof value !== 'number') {\n if (rule.operator === 'eq') return value === rule.value;\n if (rule.operator === 'neq') return value !== rule.value;\n return false;\n }\n\n const numValue = Number(rule.value);\n const numValue2 = rule.value2 != null ? Number(rule.value2) : numValue;\n\n switch (rule.operator) {\n case 'gt': return value > numValue;\n case 'gte': return value >= numValue;\n case 'lt': return value < numValue;\n case 'lte': return value <= numValue;\n case 'eq': return value === numValue;\n case 'neq': return value !== numValue;\n case 'between': return value >= numValue && value <= numValue2;\n default: return false;\n }\n }\n}\n","<div class=\"aggregate-panel\"\n [class.position-right]=\"Position === 'right'\"\n [class.position-bottom]=\"Position === 'bottom'\"\n [class.collapsed]=\"IsCollapsed\"\n [ngStyle]=\"PanelStyle\">\n\n <!-- Panel Header -->\n <div class=\"panel-header\" (click)=\"ToggleCollapse()\">\n <span class=\"panel-title\">{{ Title }}</span>\n\n <div class=\"panel-header-right\">\n <!-- Loading indicator -->\n @if (Loading) {\n <span class=\"loading-indicator\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n </span>\n }\n\n <!-- Collapse toggle -->\n @if (Collapsible) {\n <button class=\"collapse-toggle\" type=\"button\">\n <i class=\"fa-solid\" [class.fa-chevron-up]=\"!IsCollapsed\" [class.fa-chevron-down]=\"IsCollapsed\"></i>\n </button>\n }\n </div>\n </div>\n\n <!-- Panel Content -->\n @if (!IsCollapsed) {\n <div class=\"panel-content\">\n <!-- Empty state -->\n @if (CardAggregates.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-chart-simple\"></i>\n <p>No summaries configured</p>\n </div>\n }\n <!-- Cards Container -->\n <div class=\"cards-container\"\n [class.layout-horizontal]=\"Layout === 'horizontal'\"\n [class.layout-vertical]=\"Layout === 'vertical'\"\n [class.layout-grid]=\"Layout === 'grid'\"\n [ngStyle]=\"Layout === 'grid' ? {'grid-template-columns': GridTemplateColumns} : {}\">\n <!-- Individual Aggregate Cards -->\n @for (agg of CardAggregates; track agg) {\n <div class=\"aggregate-card\"\n [class]=\"GetStyleClass(agg)\"\n (click)=\"OnAggregateClick(agg)\"\n [title]=\"agg.description || agg.label\">\n <!-- Icon -->\n @if (agg.icon) {\n <div class=\"card-icon\">\n <i [class]=\"agg.icon\"></i>\n </div>\n }\n <!-- Content -->\n <div class=\"card-content\">\n <div class=\"card-value\" [class.loading]=\"Loading\">\n {{ Loading ? '...' : FormatValue(agg) }}\n </div>\n <div class=\"card-label\">{{ agg.label }}</div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate-setup-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.ts","../../../src/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregate-setup-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.ts","../../../src/lib/aggregate-setup-dialog/aggregate-setup-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';\nimport { EntityInfo, EntityFieldInfo } from '@memberjunction/core';\nimport { ViewGridAggregate, AggregateDisplayType } from '@memberjunction/core-entities';\n\n/**\n * Aggregate function types for simple mode\n */\nexport type AggregateFunctionType = 'SUM' | 'AVG' | 'COUNT' | 'MIN' | 'MAX' | 'COUNT_DISTINCT';\n\n/**\n * Aggregate setup mode\n */\nexport type AggregateSetupMode = 'simple' | 'advanced' | 'smart';\n\n/**\n * Default icons for aggregate functions\n */\nconst FUNCTION_ICONS: Record<AggregateFunctionType, string> = {\n 'SUM': 'fa-solid fa-plus',\n 'AVG': 'fa-solid fa-divide',\n 'COUNT': 'fa-solid fa-hashtag',\n 'MIN': 'fa-solid fa-arrow-down',\n 'MAX': 'fa-solid fa-arrow-up',\n 'COUNT_DISTINCT': 'fa-solid fa-fingerprint'\n};\n\n/**\n * Friendly labels for aggregate functions\n */\nconst FUNCTION_LABELS: Record<AggregateFunctionType, string> = {\n 'SUM': 'Sum',\n 'AVG': 'Average',\n 'COUNT': 'Count',\n 'MIN': 'Minimum',\n 'MAX': 'Maximum',\n 'COUNT_DISTINCT': 'Count Distinct'\n};\n\n/**\n * AggregateSetupDialogComponent - Dialog for creating/editing aggregate configurations\n *\n * Features:\n * - Simple mode: Pick column + aggregate function (SUM, AVG, COUNT, etc.)\n * - Advanced mode: Write custom SQL expression\n * - Smart mode: Describe in natural language (AI generates expression)\n * - Progressive disclosure - simple mode covers 80% of use cases\n * - Display type selection (card or column)\n * - Optional label and icon customization\n */\n@Component({\n standalone: false,\n selector: 'mj-aggregate-setup-dialog',\n templateUrl: './aggregate-setup-dialog.component.html',\n styleUrls: ['./aggregate-setup-dialog.component.css']\n})\nexport class AggregateSetupDialogComponent implements OnInit, OnChanges {\n /**\n * The entity being viewed - provides field information\n */\n @Input() Entity: EntityInfo | null = null;\n\n /**\n * Existing aggregate to edit (null for new)\n */\n @Input() Aggregate: ViewGridAggregate | null = null;\n\n /**\n * Whether the dialog is open\n */\n @Input() IsOpen: boolean = false;\n\n /**\n * Emitted when the dialog is closed\n */\n @Output() Close = new EventEmitter<void>();\n\n /**\n * Emitted when an aggregate is saved\n */\n @Output() Save = new EventEmitter<ViewGridAggregate>();\n\n // Setup mode\n Mode: AggregateSetupMode = 'simple';\n\n // Simple mode state\n SelectedColumn: string = '';\n SelectedFunction: AggregateFunctionType = 'SUM';\n\n // Advanced mode state\n Expression: string = '';\n\n // Smart mode state\n SmartPrompt: string = '';\n GeneratedExpression: string = '';\n IsGenerating: boolean = false;\n\n // Common configuration\n Label: string = '';\n DisplayType: AggregateDisplayType = 'card';\n Icon: string = '';\n Description: string = '';\n\n // Available functions\n AggregateFunctions: { value: AggregateFunctionType; label: string; icon: string }[] = [\n { value: 'SUM', label: 'Sum', icon: 'fa-solid fa-plus' },\n { value: 'AVG', label: 'Average', icon: 'fa-solid fa-divide' },\n { value: 'COUNT', label: 'Count', icon: 'fa-solid fa-hashtag' },\n { value: 'MIN', label: 'Minimum', icon: 'fa-solid fa-arrow-down' },\n { value: 'MAX', label: 'Maximum', icon: 'fa-solid fa-arrow-up' },\n { value: 'COUNT_DISTINCT', label: 'Count Distinct', icon: 'fa-solid fa-fingerprint' }\n ];\n\n // Common icons for selection\n CommonIcons: string[] = [\n 'fa-solid fa-chart-line',\n 'fa-solid fa-chart-bar',\n 'fa-solid fa-dollar-sign',\n 'fa-solid fa-users',\n 'fa-solid fa-shopping-cart',\n 'fa-solid fa-box',\n 'fa-solid fa-clock',\n 'fa-solid fa-calendar',\n 'fa-solid fa-percent',\n 'fa-solid fa-star',\n 'fa-solid fa-check-circle',\n 'fa-solid fa-exclamation-triangle'\n ];\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this.initializeFromAggregate();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n // Re-initialize when dialog opens or aggregate changes\n if (changes['IsOpen'] && this.IsOpen) {\n this.initializeFromAggregate();\n }\n if (changes['Aggregate'] && !changes['Aggregate'].firstChange) {\n this.initializeFromAggregate();\n }\n }\n\n /**\n * Initialize form state from existing aggregate (if editing)\n */\n private initializeFromAggregate(): void {\n if (!this.Aggregate) {\n this.resetForm();\n return;\n }\n\n const agg = this.Aggregate;\n\n // Set common fields\n this.Label = agg.label || '';\n this.DisplayType = agg.displayType || 'card';\n this.Icon = agg.icon || '';\n this.Description = agg.description || '';\n\n // Determine mode and populate fields\n if (agg.smartPrompt) {\n // Smart mode - has AI prompt\n this.Mode = 'smart';\n this.SmartPrompt = agg.smartPrompt;\n this.GeneratedExpression = agg.expression;\n this.Expression = agg.expression;\n } else if (this.isSimpleExpression(agg.expression)) {\n // Simple mode - can be represented as function(column)\n this.Mode = 'simple';\n const parsed = this.parseSimpleExpression(agg.expression);\n if (parsed) {\n this.SelectedFunction = parsed.func;\n this.SelectedColumn = parsed.column;\n this._previousColumn = parsed.column; // Track for auto-label updates\n }\n } else {\n // Advanced mode - custom expression\n this.Mode = 'advanced';\n this.Expression = agg.expression;\n }\n\n this.cdr.detectChanges();\n }\n\n /**\n * Reset form to default state\n */\n private resetForm(): void {\n this.Mode = 'simple';\n this.SelectedColumn = '';\n this._previousColumn = ''; // Reset previous column tracking\n this.SelectedFunction = 'SUM';\n this.Expression = '';\n this.SmartPrompt = '';\n this.GeneratedExpression = '';\n this.Label = '';\n this.DisplayType = 'card';\n this.Icon = '';\n this.Description = '';\n }\n\n /**\n * Check if an expression matches simple function(column) pattern\n * Also matches COUNT(*) for row counting\n */\n private isSimpleExpression(expression: string): boolean {\n const pattern = /^(SUM|AVG|COUNT|MIN|MAX|COUNT_DISTINCT)\\s*\\(\\s*(\\*|\\[?[\\w\\s]+\\]?)\\s*\\)$/i;\n return pattern.test(expression.trim());\n }\n\n /**\n * Parse a simple expression into function and column\n * Returns empty string for column if COUNT(*)\n */\n private parseSimpleExpression(expression: string): { func: AggregateFunctionType; column: string } | null {\n const match = expression.trim().match(/^(SUM|AVG|COUNT|MIN|MAX|COUNT_DISTINCT)\\s*\\(\\s*(\\*|\\[?([\\w\\s]+)\\]?)\\s*\\)$/i);\n if (!match) return null;\n\n const funcName = match[1].toUpperCase().replace(' ', '_') as AggregateFunctionType;\n // If it's COUNT(*), column will be empty string\n const column = match[2] === '*' ? '' : (match[3] || match[2]).trim();\n\n return { func: funcName, column };\n }\n\n /**\n * Get numeric fields for SUM/AVG operations\n */\n get NumericFields(): EntityFieldInfo[] {\n if (!this.Entity) return [];\n return this.Entity.Fields.filter(f => {\n const sqlType = f.Type.toLowerCase();\n return sqlType.includes('int') ||\n sqlType.includes('decimal') ||\n sqlType.includes('numeric') ||\n sqlType.includes('float') ||\n sqlType.includes('real') ||\n sqlType.includes('money');\n });\n }\n\n /**\n * Get date/datetime fields for MIN/MAX operations\n */\n get DateFields(): EntityFieldInfo[] {\n if (!this.Entity) return [];\n return this.Entity.Fields.filter(f => {\n const sqlType = f.Type.toLowerCase();\n return sqlType.includes('date') || sqlType.includes('time');\n });\n }\n\n /**\n * Get string fields for MIN/MAX operations\n */\n get StringFields(): EntityFieldInfo[] {\n if (!this.Entity) return [];\n return this.Entity.Fields.filter(f => {\n const sqlType = f.Type.toLowerCase();\n return (sqlType.includes('char') || sqlType.includes('text')) && !f.IsBinaryFieldType;\n });\n }\n\n /**\n * Get all fields for COUNT operations\n */\n get AllFields(): EntityFieldInfo[] {\n if (!this.Entity) return [];\n return this.Entity.Fields.filter(f => !f.IsBinaryFieldType);\n }\n\n /**\n * Get fields available for current function\n */\n get AvailableFields(): EntityFieldInfo[] {\n // COUNT and COUNT_DISTINCT can use any field\n if (this.SelectedFunction === 'COUNT' || this.SelectedFunction === 'COUNT_DISTINCT') {\n return this.AllFields;\n }\n // SUM and AVG only work with numeric fields\n if (this.SelectedFunction === 'SUM' || this.SelectedFunction === 'AVG') {\n return this.NumericFields;\n }\n // MIN and MAX work with numeric and date fields only (not text/varchar)\n if (this.SelectedFunction === 'MIN' || this.SelectedFunction === 'MAX') {\n // Combine numeric and date fields (avoiding duplicates)\n const combined = [...this.NumericFields, ...this.DateFields];\n // Remove duplicates by field ID\n const seen = new Set<string>();\n return combined.filter(f => {\n if (seen.has(f.ID)) return false;\n seen.add(f.ID);\n return true;\n });\n }\n // Default to all fields\n return this.AllFields;\n }\n\n /**\n * Set the setup mode\n */\n setMode(mode: AggregateSetupMode): void {\n this.Mode = mode;\n\n // If switching from smart mode with generated expression, populate advanced mode\n if (mode === 'advanced' && this.GeneratedExpression) {\n this.Expression = this.GeneratedExpression;\n }\n\n this.cdr.detectChanges();\n }\n\n /**\n * Handle function button click - captures old value before changing\n * Called from template when user clicks a function button\n */\n selectFunction(newFunction: AggregateFunctionType): void {\n if (newFunction === this.SelectedFunction) return;\n\n const previousFunction = this.SelectedFunction;\n this.SelectedFunction = newFunction;\n this.onFunctionChange(previousFunction);\n }\n\n /**\n * Handle column selection from dropdown\n * Called from template with the NEW value from ngModelChange\n * We track the previous value internally\n */\n private _previousColumn: string = '';\n\n onColumnSelected(newColumn: string): void {\n const previousColumn = this._previousColumn;\n this._previousColumn = newColumn;\n this.onColumnChange(previousColumn);\n }\n\n /**\n * Handle function selection change (internal)\n */\n private onFunctionChange(previousFunction: AggregateFunctionType): void {\n // Check if label matches what we would have auto-generated for the OLD function\n const shouldUpdateLabel = this.shouldAutoUpdateLabel(previousFunction, this.SelectedColumn);\n\n // If current column is not valid for new function, clear it\n const validFields = this.AvailableFields;\n if (this.SelectedColumn && !validFields.find(f => f.Name === this.SelectedColumn)) {\n this.SelectedColumn = '';\n }\n\n // Update label if it was auto-generated (matches old pattern) or is empty\n // For COUNT, we can set auto-label even without a column (COUNT(*))\n if (shouldUpdateLabel && (this.SelectedColumn || this.SelectedFunction === 'COUNT')) {\n this.setAutoLabel();\n }\n\n this.cdr.detectChanges();\n }\n\n /**\n * Handle column selection change\n */\n onColumnChange(previousColumn: string): void {\n // Check if label matches what we would have auto-generated for the OLD column\n const shouldUpdateLabel = this.shouldAutoUpdateLabel(this.SelectedFunction, previousColumn);\n\n // Update label if it was auto-generated (matches old pattern) or is empty\n if (shouldUpdateLabel) {\n this.setAutoLabel();\n }\n\n this.cdr.detectChanges();\n }\n\n /**\n * Check if the current label matches what we would have auto-generated\n * for the given function and column. If so, we should update the label\n * when either changes. This allows auto-updating while preserving manual edits.\n */\n private shouldAutoUpdateLabel(func: AggregateFunctionType, column: string): boolean {\n // Always update if label is empty\n if (!this.Label) return true;\n\n // Check if current label matches the auto-generated pattern for the old values\n const expectedOldLabel = this.generateAutoLabel(func, column);\n return expectedOldLabel !== null && this.Label === expectedOldLabel;\n }\n\n /**\n * Generate what the auto-label would be for a given function and column\n * Returns null if we can't generate a label (missing data)\n * Handles COUNT(*) case with \"Record Count\" label\n */\n private generateAutoLabel(func: AggregateFunctionType, column: string): string | null {\n if (!func) return null;\n\n // Handle COUNT(*) case - no column needed\n if (!column) {\n if (func === 'COUNT') {\n return 'Record Count';\n }\n return null; // Other functions require a column\n }\n\n const field = this.Entity?.Fields.find(f => f.Name === column);\n if (!field) return null;\n\n const funcLabel = FUNCTION_LABELS[func] || func;\n return `${funcLabel} of ${field.DisplayNameOrName}`;\n }\n\n /**\n * Set the auto-generated label based on current function and column\n */\n private setAutoLabel(): void {\n const label = this.generateAutoLabel(this.SelectedFunction, this.SelectedColumn);\n if (label) {\n this.Label = label;\n }\n }\n\n /**\n * Select an icon\n */\n selectIcon(icon: string): void {\n this.Icon = icon;\n this.cdr.detectChanges();\n }\n\n /**\n * Clear the icon\n */\n clearIcon(): void {\n this.Icon = '';\n this.cdr.detectChanges();\n }\n\n /**\n * Build the expression based on current mode\n */\n private buildExpression(): string {\n switch (this.Mode) {\n case 'simple':\n if (!this.SelectedFunction) return '';\n // COUNT can work without a column (uses COUNT(*))\n // COUNT_DISTINCT requires a column\n if (!this.SelectedColumn) {\n if (this.SelectedFunction === 'COUNT') {\n return 'COUNT(*)';\n }\n return ''; // Other functions require a column\n }\n // Use brackets for column names with spaces\n const columnRef = this.SelectedColumn.includes(' ')\n ? `[${this.SelectedColumn}]`\n : this.SelectedColumn;\n if (this.SelectedFunction === 'COUNT_DISTINCT') {\n return `COUNT(DISTINCT ${columnRef})`;\n }\n return `${this.SelectedFunction}(${columnRef})`;\n\n case 'advanced':\n return this.Expression;\n\n case 'smart':\n return this.GeneratedExpression || '';\n\n default:\n return '';\n }\n }\n\n /**\n * Check if the form is valid\n */\n get IsValid(): boolean {\n const hasExpression = !!this.buildExpression();\n const hasLabel = !!this.Label.trim();\n return hasExpression && hasLabel;\n }\n\n /**\n * Get validation message\n */\n get ValidationMessage(): string {\n if (!this.Label.trim()) {\n return 'Please enter a label for this aggregate';\n }\n\n switch (this.Mode) {\n case 'simple':\n // COUNT can work without a column (uses COUNT(*))\n // All other functions require a column\n if (!this.SelectedColumn && this.SelectedFunction !== 'COUNT') {\n return 'Please select a column';\n }\n break;\n case 'advanced':\n if (!this.Expression.trim()) return 'Please enter an expression';\n break;\n case 'smart':\n if (!this.GeneratedExpression) return 'Please generate an expression from your prompt';\n break;\n }\n\n return '';\n }\n\n /**\n * Save the aggregate\n */\n onSave(): void {\n if (!this.IsValid) return;\n\n const aggregate: ViewGridAggregate = {\n id: this.Aggregate?.id || this.generateId(),\n expression: this.buildExpression(),\n displayType: this.DisplayType,\n label: this.Label.trim(),\n description: this.Description.trim() || undefined,\n icon: this.Icon || this.getDefaultIcon(),\n enabled: this.Aggregate?.enabled ?? true, // Preserve enabled state when editing, default to true for new\n order: this.Aggregate?.order || 0\n };\n\n // Only include smartPrompt if in smart mode\n if (this.Mode === 'smart' && this.SmartPrompt) {\n aggregate.smartPrompt = this.SmartPrompt;\n }\n\n this.Save.emit(aggregate);\n this.onClose();\n }\n\n /**\n * Get default icon based on function\n */\n private getDefaultIcon(): string {\n if (this.Mode === 'simple' && this.SelectedFunction) {\n return FUNCTION_ICONS[this.SelectedFunction] || 'fa-solid fa-chart-simple';\n }\n return 'fa-solid fa-chart-simple';\n }\n\n /**\n * Generate a unique ID for new aggregates\n */\n private generateId(): string {\n return `agg_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;\n }\n\n /**\n * Close the dialog\n */\n onClose(): void {\n this.Close.emit();\n }\n\n /**\n * Handle smart prompt generation (placeholder - actual AI call would be made by parent)\n */\n onGenerateFromPrompt(): void {\n if (!this.SmartPrompt.trim()) return;\n\n this.IsGenerating = true;\n this.cdr.detectChanges();\n\n // This would typically call an AI service\n // For now, we'll show a placeholder message\n // The actual implementation would be handled by the parent component or a service\n setTimeout(() => {\n this.IsGenerating = false;\n // Placeholder: In real implementation, this would be replaced with AI-generated expression\n this.GeneratedExpression = '/* AI-generated expression will appear here */';\n this.cdr.detectChanges();\n }, 500);\n }\n\n /**\n * Clear the generated expression and allow editing prompt\n */\n clearGeneratedExpression(): void {\n this.GeneratedExpression = '';\n this.cdr.detectChanges();\n }\n\n /**\n * Get display label for field dropdown showing \"Name (DisplayName)\" format\n * If DisplayName equals Name or is not set, just show Name\n */\n getFieldDisplayLabel(field: EntityFieldInfo): string {\n if (field.DisplayName && field.DisplayName !== field.Name) {\n return `${field.Name} (${field.DisplayName})`;\n }\n return field.Name;\n }\n}\n","<!-- Dialog Backdrop -->\n@if (IsOpen) {\n <div class=\"dialog-backdrop\" (click)=\"onClose()\"></div>\n}\n\n<!-- Dialog Panel -->\n<div class=\"dialog-panel\" [class.open]=\"IsOpen\">\n <!-- Header -->\n <div class=\"dialog-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-chart-simple\"></i>\n <span>{{ Aggregate ? 'Edit Aggregate' : 'Add Aggregate' }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"onClose()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Mode Selector -->\n <div class=\"mode-selector\">\n <button\n class=\"mode-btn\"\n [class.active]=\"Mode === 'simple'\"\n (click)=\"setMode('simple')\"\n title=\"Pick a column and function\">\n <i class=\"fa-solid fa-wand-sparkles\"></i>\n <span>Simple</span>\n </button>\n <button\n class=\"mode-btn\"\n [class.active]=\"Mode === 'advanced'\"\n (click)=\"setMode('advanced')\"\n title=\"Write custom SQL expression\">\n <i class=\"fa-solid fa-code\"></i>\n <span>Advanced</span>\n </button>\n <button\n class=\"mode-btn\"\n [class.active]=\"Mode === 'smart'\"\n (click)=\"setMode('smart')\"\n title=\"Describe in natural language\">\n <i class=\"fa-solid fa-wand-magic-sparkles\"></i>\n <span>Smart</span>\n </button>\n </div>\n\n <!-- Content -->\n <div class=\"dialog-content\">\n <!-- Simple Mode -->\n @if (Mode === 'simple') {\n <div class=\"mode-content simple-mode\">\n <div class=\"mode-description\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <span>Select a column and an aggregate function to calculate</span>\n </div>\n\n <!-- Function Selection -->\n <div class=\"form-section\">\n <label class=\"form-label\">Function</label>\n <div class=\"function-grid\">\n @for (func of AggregateFunctions; track func.value) {\n <button\n class=\"function-btn\"\n [class.active]=\"SelectedFunction === func.value\"\n (click)=\"selectFunction(func.value)\"\n [title]=\"func.label\">\n <i [class]=\"func.icon\"></i>\n <span>{{ func.label }}</span>\n </button>\n }\n </div>\n </div>\n\n <!-- Column Selection -->\n <div class=\"form-section\">\n <label class=\"form-label\">Column</label>\n <select\n class=\"form-select\"\n [(ngModel)]=\"SelectedColumn\"\n (ngModelChange)=\"onColumnSelected($event)\">\n <option value=\"\">Select a column...</option>\n @for (field of AvailableFields; track field.ID) {\n <option [value]=\"field.Name\">{{ getFieldDisplayLabel(field) }}</option>\n }\n </select>\n @if (SelectedFunction !== 'COUNT' && SelectedFunction !== 'COUNT_DISTINCT' && NumericFields.length === 0) {\n <div class=\"field-hint warning\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <span>No numeric fields available. Use COUNT or switch to Advanced mode.</span>\n </div>\n }\n @if (SelectedFunction === 'COUNT' && !SelectedColumn) {\n <div class=\"field-hint info\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <span>No column selected - will count all records (COUNT(*))</span>\n </div>\n }\n </div>\n\n <!-- Preview -->\n @if (SelectedFunction && (SelectedColumn || SelectedFunction === 'COUNT')) {\n <div class=\"expression-preview\">\n <label class=\"preview-label\">Expression Preview</label>\n <code class=\"preview-code\">{{\n !SelectedColumn && SelectedFunction === 'COUNT' ? 'COUNT(*)' :\n SelectedFunction === 'COUNT_DISTINCT' ? 'COUNT(DISTINCT ' + SelectedColumn + ')' :\n SelectedFunction + '(' + SelectedColumn + ')'\n }}</code>\n </div>\n }\n </div>\n }\n\n <!-- Advanced Mode -->\n @if (Mode === 'advanced') {\n <div class=\"mode-content advanced-mode\">\n <div class=\"mode-description\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <span>Write a custom SQL aggregate expression. Use field names as they appear in the database.</span>\n </div>\n\n <div class=\"form-section\">\n <label class=\"form-label\">SQL Expression</label>\n <textarea\n class=\"form-textarea code-input\"\n [(ngModel)]=\"Expression\"\n placeholder=\"e.g., SUM(Amount * Quantity) or COUNT(CASE WHEN Status = 'Active' THEN 1 END)\"\n rows=\"3\"\n ></textarea>\n <div class=\"field-hint\">\n <i class=\"fa-solid fa-lightbulb\"></i>\n <span>Tip: Use brackets for column names with spaces, e.g., [Total Amount]</span>\n </div>\n </div>\n\n <!-- Quick Examples -->\n <div class=\"form-section\">\n <label class=\"form-label examples-label\">Quick Examples</label>\n <div class=\"example-chips\">\n <button class=\"example-chip\" (click)=\"Expression = 'SUM(Amount)'\">\n SUM(Amount)\n </button>\n <button class=\"example-chip\" (click)=\"Expression = 'AVG(Price * Quantity)'\">\n AVG(Price * Quantity)\n </button>\n <button class=\"example-chip\" (click)=\"Expression = 'COUNT(CASE WHEN Status = \\'Active\\' THEN 1 END)'\">\n COUNT with condition\n </button>\n <button class=\"example-chip\" (click)=\"Expression = 'SUM(CASE WHEN Type = \\'Credit\\' THEN Amount ELSE -Amount END)'\">\n Conditional SUM\n </button>\n </div>\n </div>\n </div>\n }\n\n <!-- Smart Mode -->\n @if (Mode === 'smart') {\n <div class=\"mode-content smart-mode\">\n <div class=\"mode-description\">\n <i class=\"fa-solid fa-wand-magic-sparkles\"></i>\n <span>Describe what you want to calculate in plain English. AI will generate the expression.</span>\n </div>\n\n <div class=\"form-section\">\n <label class=\"form-label\">What would you like to calculate?</label>\n <div class=\"smart-input-container\">\n <textarea\n class=\"form-textarea smart-input\"\n [(ngModel)]=\"SmartPrompt\"\n [disabled]=\"!!GeneratedExpression\"\n placeholder=\"e.g., 'Total revenue from completed orders' or 'Average order value for premium customers'\"\n rows=\"3\"\n ></textarea>\n @if (!GeneratedExpression) {\n <button\n class=\"generate-btn\"\n [disabled]=\"!SmartPrompt.trim() || IsGenerating\"\n (click)=\"onGenerateFromPrompt()\">\n @if (IsGenerating) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Generating...</span>\n } @else {\n <i class=\"fa-solid fa-wand-magic-sparkles\"></i>\n <span>Generate</span>\n }\n </button>\n }\n </div>\n </div>\n\n <!-- Generated Expression -->\n @if (GeneratedExpression) {\n <div class=\"generated-section\">\n <div class=\"generated-header\">\n <label class=\"form-label\">Generated Expression</label>\n <button class=\"clear-generated-btn\" (click)=\"clearGeneratedExpression()\" title=\"Edit prompt\">\n <i class=\"fa-solid fa-pen\"></i>\n <span>Edit Prompt</span>\n </button>\n </div>\n <code class=\"generated-code\">{{ GeneratedExpression }}</code>\n <div class=\"generated-info\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <span>This expression was generated from your description. Clear it to edit the prompt.</span>\n </div>\n </div>\n }\n\n <!-- Smart Mode Tips -->\n <div class=\"smart-tips\">\n <div class=\"tips-header\">\n <i class=\"fa-solid fa-lightbulb\"></i>\n <span>Tips for better results:</span>\n </div>\n <ul class=\"tips-list\">\n <li>Be specific about which fields to use</li>\n <li>Mention any conditions or filters</li>\n <li>Specify the type of calculation (sum, average, count, etc.)</li>\n </ul>\n </div>\n </div>\n }\n\n <!-- Common Configuration -->\n <div class=\"config-section\">\n <div class=\"section-divider\">\n <span>Display Options</span>\n </div>\n\n <!-- Label -->\n <div class=\"form-section\">\n <label class=\"form-label required\">Label</label>\n <input\n type=\"text\"\n class=\"form-input\"\n [(ngModel)]=\"Label\"\n placeholder=\"e.g., Total Revenue, Average Order Value\"\n />\n </div>\n\n <!-- Description (optional) -->\n <div class=\"form-section\">\n <label class=\"form-label\">Description <span class=\"optional\">(optional)</span></label>\n <input\n type=\"text\"\n class=\"form-input\"\n [(ngModel)]=\"Description\"\n placeholder=\"Brief explanation of what this shows\"\n />\n </div>\n\n <!-- Display Type -->\n <div class=\"form-section\">\n <label class=\"form-label\">Display As</label>\n <div class=\"display-type-toggle\">\n <button\n class=\"display-type-btn\"\n [class.active]=\"DisplayType === 'card'\"\n (click)=\"DisplayType = 'card'\">\n <i class=\"fa-solid fa-id-card\"></i>\n <span>Card</span>\n <small>Shows in summary panel</small>\n </button>\n <button\n class=\"display-type-btn\"\n [class.active]=\"DisplayType === 'column'\"\n (click)=\"DisplayType = 'column'\">\n <i class=\"fa-solid fa-table-columns\"></i>\n <span>Column Footer</span>\n <small>Shows at bottom of grid</small>\n </button>\n </div>\n </div>\n\n <!-- Icon Selection -->\n <div class=\"form-section\">\n <label class=\"form-label\">Icon <span class=\"optional\">(optional)</span></label>\n <div class=\"icon-selector\">\n @if (Icon) {\n <div class=\"selected-icon\">\n <i [class]=\"Icon\"></i>\n <button class=\"clear-icon-btn\" (click)=\"clearIcon()\" title=\"Remove icon\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n <div class=\"icon-grid\">\n @for (icon of CommonIcons; track icon) {\n <button\n class=\"icon-btn\"\n [class.active]=\"Icon === icon\"\n (click)=\"selectIcon(icon)\"\n [title]=\"icon\">\n <i [class]=\"icon\"></i>\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Footer -->\n <div class=\"dialog-footer\">\n <div class=\"footer-left\">\n <button\n class=\"footer-btn save-btn primary\"\n [disabled]=\"!IsValid\"\n (click)=\"onSave()\">\n <i class=\"fa-solid fa-check\"></i>\n <span>{{ Aggregate ? 'Update' : 'Add' }} Aggregate</span>\n </button>\n </div>\n <button class=\"footer-btn cancel-btn\" (click)=\"onClose()\">\n Cancel\n </button>\n </div>\n\n <!-- Validation Message -->\n @if (ValidationMessage) {\n <div class=\"validation-message\">\n <i class=\"fa-solid fa-exclamation-circle\"></i>\n <span>{{ ValidationMessage }}</span>\n </div>\n }\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/confirm-dialog/confirm-dialog.component.ts","../../../src/lib/confirm-dialog/confirm-dialog.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;;ICErE,+BAAkD;IAArB,uLAAS,iBAAU,KAAC;IAAC,iBAAM;;;IAoBpD,4BAA0B;IAAA,YAAmB;IAAA,iBAAI;;;IAAvB,cAAmB;IAAnB,0CAAmB;;ADfnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,MAAM,OAAO,sBAAsB;IACjC;;OAEG;IACM,MAAM,GAAY,KAAK,CAAC;IAEjC;;OAEG;IACM,KAAK,GAAW,SAAS,CAAC;IAEnC;;OAEG;IACM,OAAO,GAAW,eAAe,CAAC;IAE3C;;OAEG;IACM,aAAa,GAAW,EAAE,CAAC;IAEpC;;;OAGG;IACM,WAAW,GAAW,SAAS,CAAC;IAEzC;;;OAGG;IACM,UAAU,GAAW,QAAQ,CAAC;IAEvC;;;;OAIG;IACM,YAAY,GAAuB,SAAS,CAAC;IAEtD;;;OAGG;IACM,IAAI,GAAW,6BAA6B,CAAC;IAEtD;;OAEG;IACO,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C;;OAEG;IACO,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;gHA9DU,sBAAsB;6DAAtB,sBAAsB;YCtCnC,wFAAc;YAQV,AADF,AAFF,8BAAgD,aAEnB,aACC;YACxB,oBAAsB;YACtB,4BAAM;YAAA,YAAW;YACnB,AADmB,iBAAO,EACpB;YACN,iCAA6D;YAAnC,mGAAS,cAAU,IAAC;YAC5C,uBAAiC;YAErC,AADE,iBAAS,EACL;YAIJ,AADF,8BAA4B,YACP;YAAA,aAAa;YAAA,iBAAI;YACpC,wFAAqB;YAGvB,iBAAM;YAIJ,AADF,+BAA2B,kBAKD;YAAtB,oGAAS,eAAW,IAAC;YACrB,aACF;YAAA,iBAAS;YACT,mCAAoD;YAArB,oGAAS,cAAU,IAAC;YACjD,aACF;YAEJ,AADE,AADE,iBAAS,EACL,EACF;;YAtCN,qCAEC;YAGyB,cAAqB;YAArB,kCAAqB;YAItC,eAAc;YAAd,uBAAc;YACX,eAAW;YAAX,+BAAW;YASA,eAAa;YAAb,iCAAa;YAChC,cAEC;YAFD,6CAEC;YAOC,eAAgD;YAChD,AADA,6DAAgD,6CACF;YAE9C,cACF;YADE,gDACF;YAEE,eACF;YADE,+CACF;;;iFDES,sBAAsB;cANlC,SAAS;6BACI,KAAK,YACP,sBAAsB;;kBAQ/B,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAML,KAAK;;kBAML,KAAK;;kBAOL,KAAK;;kBAML,KAAK;;kBAKL,MAAM;;kBAKN,MAAM;;kFAtDI,sBAAsB"}
1
+ {"version":3,"file":"confirm-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/confirm-dialog/confirm-dialog.component.ts","../../../src/lib/confirm-dialog/confirm-dialog.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;;;;ICErE,+BAAkD;IAArB,uLAAS,iBAAU,KAAC;IAAC,iBAAM;;;IAoBpD,4BAA0B;IAAA,YAAmB;IAAA,iBAAI;;;IAAvB,cAAmB;IAAnB,0CAAmB;;ADfnD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,MAAM,OAAO,sBAAsB;IACjC;;OAEG;IACM,MAAM,GAAY,KAAK,CAAC;IAEjC;;OAEG;IACM,KAAK,GAAW,SAAS,CAAC;IAEnC;;OAEG;IACM,OAAO,GAAW,eAAe,CAAC;IAE3C;;OAEG;IACM,aAAa,GAAW,EAAE,CAAC;IAEpC;;;OAGG;IACM,WAAW,GAAW,SAAS,CAAC;IAEzC;;;OAGG;IACM,UAAU,GAAW,QAAQ,CAAC;IAEvC;;;;OAIG;IACM,YAAY,GAAuB,SAAS,CAAC;IAEtD;;;OAGG;IACM,IAAI,GAAW,6BAA6B,CAAC;IAEtD;;OAEG;IACO,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C;;OAEG;IACO,SAAS,GAAG,IAAI,YAAY,EAAQ,CAAC;IAE/C,SAAS;QACP,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;gHA9DU,sBAAsB;6DAAtB,sBAAsB;YCtCnC,wFAAc;YAQV,AADF,AAFF,8BAAgD,aAEnB,aACC;YACxB,oBAAsB;YACtB,4BAAM;YAAA,YAAW;YACnB,AADmB,iBAAO,EACpB;YACN,iCAA6D;YAAnC,mGAAS,cAAU,IAAC;YAC5C,uBAAiC;YAErC,AADE,iBAAS,EACL;YAIJ,AADF,8BAA4B,YACP;YAAA,aAAa;YAAA,iBAAI;YACpC,wFAAqB;YAGvB,iBAAM;YAIJ,AADF,+BAA2B,kBAKD;YAAtB,oGAAS,eAAW,IAAC;YACrB,aACF;YAAA,iBAAS;YACT,mCAAoD;YAArB,oGAAS,cAAU,IAAC;YACjD,aACF;YAEJ,AADE,AADE,iBAAS,EACL,EACF;;YAtCN,qCAEC;YAGyB,cAAqB;YAArB,kCAAqB;YAItC,eAAc;YAAd,uBAAc;YACX,eAAW;YAAX,+BAAW;YASA,eAAa;YAAb,iCAAa;YAChC,cAEC;YAFD,6CAEC;YAOC,eAAgD;YAChD,AADA,6DAAgD,6CACF;YAE9C,cACF;YADE,gDACF;YAEE,eACF;YADE,+CACF;;;iFDES,sBAAsB;cANlC,SAAS;6BACI,KAAK,YACP,sBAAsB;;kBAQ/B,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAKL,KAAK;;kBAML,KAAK;;kBAML,KAAK;;kBAOL,KAAK;;kBAML,KAAK;;kBAKL,MAAM;;kBAKN,MAAM;;kFAtDI,sBAAsB","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n/**\n * Style variants for the confirm button\n */\nexport type ConfirmButtonStyle = 'primary' | 'danger';\n\n/**\n * ConfirmDialogComponent - Generic reusable confirmation dialog\n *\n * Used for:\n * - Delete view confirmation\n * - Filter mode switch warning (data loss)\n * - Revert unsaved changes\n * - Any action requiring user confirmation\n *\n * Follows the same @if backdrop + .dialog-panel.open pattern as AggregateSetupDialogComponent.\n *\n * @example\n * ```html\n * <mj-ev-confirm-dialog\n * [IsOpen]=\"showDeleteConfirm\"\n * Title=\"Delete View\"\n * Message=\"Are you sure you want to delete this view?\"\n * DetailMessage=\"This action cannot be undone.\"\n * ConfirmText=\"Delete\"\n * ConfirmStyle=\"danger\"\n * Icon=\"fa-solid fa-trash\"\n * (Confirmed)=\"onDeleteConfirmed()\"\n * (Cancelled)=\"showDeleteConfirm = false\">\n * </mj-ev-confirm-dialog>\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-ev-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.css']\n})\nexport class ConfirmDialogComponent {\n /**\n * Whether the dialog is open\n */\n @Input() IsOpen: boolean = false;\n\n /**\n * Dialog title\n */\n @Input() Title: string = 'Confirm';\n\n /**\n * Primary message to display\n */\n @Input() Message: string = 'Are you sure?';\n\n /**\n * Optional secondary detail message (shown smaller, below primary)\n */\n @Input() DetailMessage: string = '';\n\n /**\n * Text for the confirm button\n * @default 'Confirm'\n */\n @Input() ConfirmText: string = 'Confirm';\n\n /**\n * Text for the cancel button\n * @default 'Cancel'\n */\n @Input() CancelText: string = 'Cancel';\n\n /**\n * Style variant for the confirm button\n * 'primary' = blue, 'danger' = red\n * @default 'primary'\n */\n @Input() ConfirmStyle: ConfirmButtonStyle = 'primary';\n\n /**\n * Font Awesome icon class for the dialog header\n * @default 'fa-solid fa-circle-question'\n */\n @Input() Icon: string = 'fa-solid fa-circle-question';\n\n /**\n * Emitted when user clicks the confirm button\n */\n @Output() Confirmed = new EventEmitter<void>();\n\n /**\n * Emitted when user clicks cancel or backdrop\n */\n @Output() Cancelled = new EventEmitter<void>();\n\n OnConfirm(): void {\n this.Confirmed.emit();\n }\n\n OnCancel(): void {\n this.Cancelled.emit();\n }\n}\n","<!-- Dialog Backdrop -->\n@if (IsOpen) {\n <div class=\"dialog-backdrop\" (click)=\"OnCancel()\"></div>\n}\n\n<!-- Dialog Panel -->\n<div class=\"dialog-panel\" [class.open]=\"IsOpen\">\n <!-- Header -->\n <div class=\"dialog-header\">\n <div class=\"header-title\">\n <i [class]=\"Icon\"></i>\n <span>{{ Title }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"OnCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Content -->\n <div class=\"dialog-content\">\n <p class=\"message\">{{ Message }}</p>\n @if (DetailMessage) {\n <p class=\"detail-message\">{{ DetailMessage }}</p>\n }\n </div>\n\n <!-- Footer -->\n <div class=\"dialog-footer\">\n <button\n class=\"btn btn-confirm\"\n [class.btn-primary]=\"ConfirmStyle === 'primary'\"\n [class.btn-danger]=\"ConfirmStyle === 'danger'\"\n (click)=\"OnConfirm()\">\n {{ ConfirmText }}\n </button>\n <button class=\"btn btn-cancel\" (click)=\"OnCancel()\">\n {{ CancelText }}\n </button>\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-view-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/duplicate-view-dialog/duplicate-view-dialog.component.ts","../../../src/lib/duplicate-view-dialog/duplicate-view-dialog.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicate-view-dialog.component.js","sourceRoot":"","sources":["../../../src/lib/duplicate-view-dialog/duplicate-view-dialog.component.ts","../../../src/lib/duplicate-view-dialog/duplicate-view-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core';\nimport { ViewConfigSummary } from '../types';\n\n/**\n * Event emitted when user confirms the duplicate action\n */\nexport interface DuplicateViewEvent {\n /** The user-chosen name for the copy */\n Name: string;\n}\n\n/**\n * DuplicateViewDialogComponent - Modal for duplicating a view with a custom name\n *\n * Shows the source view name, allows renaming the copy, and displays\n * a metadata summary (filters, columns, sorts) of what will be duplicated.\n *\n * @example\n * ```html\n * <mj-duplicate-view-dialog\n * [IsOpen]=\"showDuplicateDialog\"\n * [SourceViewName]=\"viewToDuplicate?.Name\"\n * [Summary]=\"duplicateSummary\"\n * (Duplicate)=\"onDuplicateConfirmed($event)\"\n * (Cancel)=\"showDuplicateDialog = false\">\n * </mj-duplicate-view-dialog>\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-duplicate-view-dialog',\n templateUrl: './duplicate-view-dialog.component.html',\n styleUrls: ['./duplicate-view-dialog.component.css']\n})\nexport class DuplicateViewDialogComponent implements OnChanges {\n @Input() IsOpen: boolean = false;\n @Input() SourceViewName: string = '';\n @Input() Summary: ViewConfigSummary | null = null;\n\n @Output() Duplicate = new EventEmitter<DuplicateViewEvent>();\n @Output() Cancel = new EventEmitter<void>();\n\n public NewName: string = '';\n public NameTouched: boolean = false;\n\n constructor(private cdr: ChangeDetectorRef) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['IsOpen'] && this.IsOpen) {\n this.NewName = this.SourceViewName ? `${this.SourceViewName} (Copy)` : '';\n this.NameTouched = false;\n this.cdr.detectChanges();\n }\n }\n\n OnDuplicate(): void {\n if (!this.NewName.trim()) return;\n this.Duplicate.emit({ Name: this.NewName.trim() });\n }\n\n OnCancel(): void {\n this.Cancel.emit();\n }\n}\n","<!-- Dialog Backdrop -->\n@if (IsOpen) {\n <div class=\"dialog-backdrop\" (click)=\"OnCancel()\"></div>\n}\n\n<!-- Dialog Panel -->\n<div class=\"dialog-panel\" [class.open]=\"IsOpen\">\n <!-- Header -->\n <div class=\"dialog-header\">\n <div class=\"icon-circle\">\n <i class=\"fa-regular fa-copy\"></i>\n </div>\n <span class=\"header-title\">Duplicate View</span>\n <button class=\"close-btn\" (click)=\"OnCancel()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Body -->\n <div class=\"dialog-body\">\n <p class=\"intro-text\">\n Creating a copy of <strong>\"{{ SourceViewName }}\"</strong> with all its columns, filters, and sorting.\n </p>\n\n <!-- New Name Input -->\n <div class=\"form-group\">\n <label for=\"duplicateName\">New View Name</label>\n <input\n id=\"duplicateName\"\n type=\"text\"\n class=\"form-input\"\n [class.invalid]=\"NameTouched && !NewName.trim()\"\n [(ngModel)]=\"NewName\"\n (blur)=\"NameTouched = true\"\n (keydown.enter)=\"OnDuplicate()\"\n />\n @if (NameTouched && !NewName.trim()) {\n <span class=\"validation-error\">Name is required</span>\n }\n </div>\n\n <!-- Metadata Summary -->\n @if (Summary) {\n <div class=\"meta-summary\">\n @if (Summary.FilterCount > 0) {\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-filter\"></i>\n {{ Summary.FilterCount }} filter{{ Summary.FilterCount !== 1 ? 's' : '' }}\n </span>\n }\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-table-columns\"></i>\n {{ Summary.ColumnCount }} column{{ Summary.ColumnCount !== 1 ? 's' : '' }}\n </span>\n @if (Summary.SortCount > 0) {\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-arrow-down-short-wide\"></i>\n {{ Summary.SortCount }} sort{{ Summary.SortCount !== 1 ? 's' : '' }}\n </span>\n }\n @if (Summary.AggregateCount > 0) {\n <span class=\"meta-item\">\n <i class=\"fa-solid fa-chart-simple\"></i>\n {{ Summary.AggregateCount }} aggregate{{ Summary.AggregateCount !== 1 ? 's' : '' }}\n </span>\n }\n </div>\n }\n </div>\n\n <!-- Footer -->\n <div class=\"dialog-footer\">\n <button\n class=\"btn btn-primary\"\n (click)=\"OnDuplicate()\"\n [disabled]=\"!NewName.trim()\">\n <i class=\"fa-regular fa-copy\"></i>\n Duplicate\n </button>\n <button class=\"btn btn-cancel\" (click)=\"OnCancel()\">\n Cancel\n </button>\n </div>\n</div>\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-cards.component.js","sourceRoot":"","sources":["../../../src/lib/entity-cards/entity-cards.component.ts","../../../src/lib/entity-cards/entity-cards.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-cards.component.js","sourceRoot":"","sources":["../../../src/lib/entity-cards/entity-cards.component.ts","../../../src/lib/entity-cards/entity-cards.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnChanges, OnInit, SimpleChanges, ElementRef, AfterViewChecked, ChangeDetectorRef, ViewEncapsulation } from '@angular/core';\nimport { EntityInfo, EntityFieldInfo, EntityFieldValueListType, RunView } from '@memberjunction/core';\nimport { CardTemplate, CardDisplayField, CardFieldType, RecordSelectedEvent, RecordOpenedEvent } from '../types';\nimport { buildCompositeKey, buildPkString, computeFieldsList } from '../utils/record.util';\nimport { PillColorUtil } from '../pill/pill.component';\nimport { HighlightUtil } from '../utils/highlight.util';\n\n/**\n * EntityCardsComponent - Card-based view for entity records\n *\n * This component provides an auto-generated card layout for displaying\n * entity records. Cards are automatically structured based on entity metadata.\n *\n * Supports two modes:\n * 1. Parent-managed data: Records are passed in via [records] input\n * 2. Standalone: Component loads its own data with pagination\n *\n * @example\n * ```html\n * <mj-entity-cards\n * [entity]=\"selectedEntity\"\n * [records]=\"filteredRecords\"\n * [selectedRecordId]=\"selectedId\"\n * (recordSelected)=\"onRecordSelected($event)\"\n * (recordOpened)=\"onRecordOpened($event)\">\n * </mj-entity-cards>\n * ```\n */\n@Component({\n standalone: false,\n selector: 'mj-entity-cards',\n templateUrl: './entity-cards.component.html',\n styleUrls: ['./entity-cards.component.css'],\n encapsulation: ViewEncapsulation.None\n})\nexport class EntityCardsComponent implements OnChanges, OnInit, AfterViewChecked {\n constructor(\n private elementRef: ElementRef,\n private cdr: ChangeDetectorRef\n ) {}\n /**\n * The entity metadata for the records being displayed\n */\n @Input() entity: EntityInfo | null = null;\n\n /**\n * The records to display as cards (optional - component can load its own)\n */\n @Input() records: Record<string, unknown>[] | null = null;\n\n /**\n * The currently selected record's primary key string\n */\n @Input() selectedRecordId: string | null = null;\n\n /**\n * Custom card template (optional - auto-generated if not provided)\n */\n @Input() cardTemplate: CardTemplate | null = null;\n\n /**\n * Map of record IDs to hidden field names that matched the filter\n * Used to display an indicator when a match occurred in a non-visible field\n */\n @Input() hiddenFieldMatches: Map<string, string> = new Map();\n\n /**\n * Current filter text for highlighting matches\n * Supports SQL-style % wildcards\n */\n @Input() filterText: string = '';\n\n /**\n * Page size for standalone data loading\n * @default 100\n */\n @Input() pageSize: number = 100;\n\n /**\n * Emitted when a record is selected (single click)\n */\n @Output() recordSelected = new EventEmitter<RecordSelectedEvent>();\n\n /**\n * Emitted when a record should be opened (double click or open button)\n */\n @Output() recordOpened = new EventEmitter<RecordOpenedEvent>();\n\n /** Auto-generated card template */\n public autoCardTemplate: CardTemplate | null = null;\n\n /** Internal records when loading standalone */\n private internalRecords: Record<string, unknown>[] = [];\n\n /** Track if we're in standalone mode */\n private standaloneMode: boolean = false;\n\n /** Loading state for standalone mode */\n public isLoading: boolean = false;\n\n /** Flag to trigger scroll to selected card after view renders */\n private pendingScrollToSelected: boolean = false;\n\n ngOnInit(): void {\n this.standaloneMode = this.records === null;\n\n if (this.entity?.Fields && !this.effectiveTemplate) {\n this.autoCardTemplate = this.generateCardTemplate(this.entity);\n }\n\n if (this.standaloneMode && this.entity) {\n this.loadData();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['entity'] && this.entity?.Fields) {\n this.autoCardTemplate = this.generateCardTemplate(this.entity);\n } else if (changes['entity'] && !this.entity) {\n this.autoCardTemplate = null;\n }\n\n if (changes['entity'] && this.standaloneMode && this.entity) {\n this.loadData();\n }\n\n if (changes['records']) {\n this.standaloneMode = this.records === null;\n // When records change and we have a selection, scroll to it\n if (this.selectedRecordId) {\n this.pendingScrollToSelected = true;\n }\n }\n\n // When selectedRecordId changes programmatically, scroll to the selected card\n if (changes['selectedRecordId'] && this.selectedRecordId) {\n this.pendingScrollToSelected = true;\n }\n }\n\n ngAfterViewChecked(): void {\n if (this.pendingScrollToSelected && this.selectedRecordId) {\n this.pendingScrollToSelected = false;\n // Delay scroll to allow detail panel animation to complete and layout to stabilize\n // This ensures the scroll happens after the viewport width has adjusted\n setTimeout(() => this.scrollToSelectedCard(), 350);\n }\n }\n\n /**\n * Scroll the selected card into view\n */\n private scrollToSelectedCard(): void {\n if (!this.selectedRecordId) return;\n\n // Find the selected card element using the CSS class\n const selectedCard = this.elementRef.nativeElement.querySelector('.data-card.selected') as HTMLElement;\n if (selectedCard) {\n selectedCard.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'nearest' });\n }\n }\n\n /**\n * Get effective records (external or internal)\n */\n get effectiveRecords(): Record<string, unknown>[] {\n return this.records ?? this.internalRecords;\n }\n\n /**\n * Load data in standalone mode\n */\n private async loadData(): Promise<void> {\n if (!this.entity) return;\n\n this.isLoading = true;\n\n try {\n const rv = new RunView();\n const result = await rv.RunView<Record<string, unknown>>({\n EntityName: this.entity.Name,\n ResultType: 'simple',\n Fields: computeFieldsList(this.entity),\n MaxRows: this.pageSize\n });\n\n if (result.Success) {\n this.internalRecords = result.Results;\n }\n } catch (error) {\n console.error('Error loading cards data:', error);\n } finally {\n this.isLoading = false;\n }\n }\n\n /**\n * Get the effective card template (custom or auto-generated)\n */\n get effectiveTemplate(): CardTemplate | null {\n return this.cardTemplate || this.autoCardTemplate;\n }\n\n // ========================================\n // TEMPLATE GENERATION\n // ========================================\n\n /**\n * Generate card template from entity metadata\n */\n private generateCardTemplate(entity: EntityInfo): CardTemplate | null {\n const fields = entity.Fields;\n if (!fields || fields.length === 0) return null;\n\n return {\n titleField: this.findTitleField(entity, fields),\n subtitleField: this.findSubtitleField(fields),\n descriptionField: this.findDescriptionField(fields),\n displayFields: this.findDisplayFields(fields),\n thumbnailFields: this.findThumbnailFields(fields),\n badgeField: this.findBadgeField(fields)\n };\n }\n\n private findTitleField(entity: EntityInfo, fields: EntityFieldInfo[]): string {\n if (entity.NameField) return entity.NameField.Name;\n\n const nameField = fields.find(f =>\n f.Name.toLowerCase() === 'name' || f.Name.toLowerCase() === 'title'\n );\n if (nameField) return nameField.Name;\n\n const endsWithName = fields.find(f =>\n f.Name.toLowerCase().endsWith('name') &&\n f.TSType === 'string' &&\n !f.Name.toLowerCase().includes('file') &&\n !f.IsPrimaryKey\n );\n if (endsWithName) return endsWithName.Name;\n\n const firstString = fields.find(f =>\n f.TSType === 'string' && !f.IsPrimaryKey && !f.Name.toLowerCase().includes('id')\n );\n if (firstString) return firstString.Name;\n\n const pk = fields.find(f => f.IsPrimaryKey);\n return pk?.Name || 'ID';\n }\n\n private findSubtitleField(fields: EntityFieldInfo[]): string | null {\n const keywords = ['status', 'type', 'category', 'state', 'stage'];\n for (const keyword of keywords) {\n const field = fields.find(f =>\n f.Name.toLowerCase().includes(keyword) && f.TSType === 'string' && !f.IsPrimaryKey\n );\n if (field) return field.Name;\n }\n return null;\n }\n\n private findDescriptionField(fields: EntityFieldInfo[]): string | null {\n const keywords = ['description', 'desc', 'summary', 'notes', 'comments'];\n for (const keyword of keywords) {\n const field = fields.find(f => f.Name.toLowerCase().includes(keyword) && f.TSType === 'string');\n if (field) return field.Name;\n }\n return null;\n }\n\n private findDisplayFields(fields: EntityFieldInfo[]): CardDisplayField[] {\n const displayFields: CardDisplayField[] = [];\n const excludePatterns = ['id', 'name', 'title', 'description', 'desc', 'summary', 'notes',\n 'status', 'type', 'category', 'state', 'stage', 'password', 'secret',\n '__mj_', 'createdat', 'updatedat', 'createdby', 'updatedby'];\n\n const defaultInViewFields = fields.filter(f =>\n f.DefaultInView === true && !f.IsPrimaryKey &&\n !excludePatterns.some(p => f.Name.toLowerCase().includes(p))\n );\n\n for (const field of defaultInViewFields) {\n if (displayFields.length >= 4) break;\n displayFields.push({\n name: field.Name,\n type: this.getFieldType(field),\n label: this.getFieldLabel(field)\n });\n }\n\n if (displayFields.length >= 2) return displayFields;\n\n const metricKeywords = ['amount', 'total', 'count', 'value', 'price', 'cost', 'quantity', 'qty', 'balance', 'revenue', 'score'];\n for (const field of fields) {\n if (displayFields.length >= 4) break;\n if (displayFields.some(df => df.name === field.Name)) continue;\n\n if (metricKeywords.some(kw => field.Name.toLowerCase().includes(kw))) {\n displayFields.push({\n name: field.Name,\n type: this.getFieldType(field),\n label: this.getFieldLabel(field)\n });\n }\n }\n\n return displayFields;\n }\n\n /**\n * Find all potential thumbnail fields in priority order\n * Returns an array so we can fall back per-record if one is empty\n */\n private findThumbnailFields(fields: EntityFieldInfo[]): string[] {\n const imageKeywords = ['image', 'photo', 'picture', 'thumbnail', 'avatar', 'logo', 'icon'];\n const foundFields: string[] = [];\n const foundFieldNames = new Set<string>();\n\n for (const keyword of imageKeywords) {\n const matchingFields = fields.filter(f =>\n f.Name.toLowerCase().includes(keyword) &&\n f.TSType === 'string' &&\n !foundFieldNames.has(f.Name)\n );\n for (const field of matchingFields) {\n foundFields.push(field.Name);\n foundFieldNames.add(field.Name);\n }\n }\n return foundFields;\n }\n\n private findBadgeField(fields: EntityFieldInfo[]): string | null {\n const keywords = ['priority', 'severity', 'importance', 'rating', 'rank', 'level'];\n for (const keyword of keywords) {\n const field = fields.find(f => f.Name.toLowerCase().includes(keyword));\n if (field) return field.Name;\n }\n return null;\n }\n\n private getFieldType(field: EntityFieldInfo): CardFieldType {\n if (field.TSType === 'boolean' || field.Type?.toLowerCase() === 'bit') return 'boolean';\n if (field.TSType === 'number') return 'number';\n if (field.TSType === 'Date' || field.Type?.toLowerCase().includes('date')) return 'date';\n return 'text';\n }\n\n // ========================================\n // VALUE FORMATTING\n // ========================================\n\n getFieldValue(record: Record<string, unknown>, fieldName: string | null): string {\n if (!fieldName) return '';\n const value = record[fieldName];\n if (value === null || value === undefined) return '';\n return String(value);\n }\n\n getNumericValue(record: Record<string, unknown>, fieldName: string): string {\n const value = record[fieldName];\n if (value === null || value === undefined) return '-';\n\n const num = Number(value);\n if (isNaN(num)) return String(value);\n\n if (num >= 1000000) return `${(num / 1000000).toFixed(1)}M`;\n if (num >= 1000) return `${(num / 1000).toFixed(1)}K`;\n\n const fieldNameLower = fieldName.toLowerCase();\n if (['amount', 'price', 'cost', 'value', 'revenue', 'total'].some(k => fieldNameLower.includes(k))) {\n return `$${num.toLocaleString()}`;\n }\n\n return num.toLocaleString();\n }\n\n getBooleanValue(record: Record<string, unknown>, fieldName: string): boolean {\n const value = record[fieldName];\n if (value === null || value === undefined) return false;\n if (typeof value === 'boolean') return value;\n if (typeof value === 'number') return value !== 0;\n if (typeof value === 'string') return value.toLowerCase() === 'true' || value === '1';\n return Boolean(value);\n }\n\n getTextValue(record: Record<string, unknown>, fieldName: string, maxLength: number = 50): string {\n const value = this.getFieldValue(record, fieldName);\n if (!value) return '-';\n if (value.length <= maxLength) return value;\n return value.substring(0, maxLength) + '...';\n }\n\n getDateValue(record: Record<string, unknown>, fieldName: string): string {\n const value = record[fieldName];\n if (value === null || value === undefined) return '-';\n\n try {\n const date = value instanceof Date ? value : new Date(value as string | number);\n if (isNaN(date.getTime())) return String(value);\n return date.toLocaleDateString(undefined, { month: 'short', day: 'numeric', year: 'numeric' });\n } catch {\n return String(value);\n }\n }\n\n /**\n * Get display label for a field using EntityFieldInfo's built-in DisplayNameOrName property\n */\n getFieldLabel(field: EntityFieldInfo): string {\n return field.DisplayNameOrName;\n }\n\n // ========================================\n // CARD DISPLAY HELPERS\n // ========================================\n\n getRecordTrackId(record: Record<string, unknown>, index: number): string {\n if (!this.entity) return `record_${index}`;\n try {\n const pk = buildPkString(record, this.entity);\n if (pk && pk.trim().length > 0) return pk;\n } catch { /* ignore */ }\n return `record_${index}`;\n }\n\n isSelected(record: Record<string, unknown>): boolean {\n if (!this.entity) return false;\n return buildPkString(record, this.entity) === this.selectedRecordId;\n }\n\n onCardClick(record: Record<string, unknown>): void {\n if (!this.entity) return;\n this.recordSelected.emit({\n record,\n entity: this.entity,\n compositeKey: buildCompositeKey(record, this.entity)\n });\n }\n\n onOpenClick(event: Event, record: Record<string, unknown>): void {\n event.stopPropagation();\n if (!this.entity) return;\n this.recordOpened.emit({\n record,\n entity: this.entity,\n compositeKey: buildCompositeKey(record, this.entity)\n });\n }\n\n getInitials(record: Record<string, unknown>): string {\n const template = this.effectiveTemplate;\n if (!template?.titleField) return '?';\n const title = this.getFieldValue(record, template.titleField);\n if (!title) return '?';\n\n const words = title.split(/\\s+/).filter(w => w.length > 0);\n if (words.length === 1) return words[0].substring(0, 2).toUpperCase();\n return (words[0][0] + words[1][0]).toUpperCase();\n }\n\n /**\n * Get the thumbnail type for a record, with per-record fallback through thumbnailFields\n */\n getThumbnailType(record: Record<string, unknown>): 'image' | 'icon' | 'none' {\n const fieldInfo = this.getEffectiveThumbnailField(record);\n if (!fieldInfo) return 'none';\n\n const { fieldName, value } = fieldInfo;\n\n // Check if value is an image URL\n if (this.isImageValue(value)) return 'image';\n\n // Check if value looks like an icon class\n if (this.isIconClass(value)) return 'icon';\n\n // If field name suggests it's an icon field, treat non-URL values as icon classes\n const fieldNameLower = fieldName.toLowerCase();\n if (fieldNameLower.includes('icon') || fieldNameLower.includes('class')) {\n return 'icon';\n }\n\n return 'none';\n }\n\n /**\n * Get the thumbnail URL/value for a record, with per-record fallback\n */\n getThumbnailUrl(record: Record<string, unknown>): string {\n const fieldInfo = this.getEffectiveThumbnailField(record);\n return fieldInfo?.value || '';\n }\n\n /**\n * Find the first thumbnail field that has a value for this record\n * Returns both the field name and value for type determination\n */\n private getEffectiveThumbnailField(record: Record<string, unknown>): { fieldName: string; value: string } | null {\n const template = this.effectiveTemplate;\n if (!template?.thumbnailFields || template.thumbnailFields.length === 0) return null;\n\n // Try each field in priority order until we find one with a value\n for (const fieldName of template.thumbnailFields) {\n const value = this.getFieldValue(record, fieldName);\n if (value && value.trim() !== '') {\n return { fieldName, value };\n }\n }\n\n return null;\n }\n\n private isImageValue(value: string): boolean {\n if (!value) return false;\n const trimmed = value.trim();\n if (trimmed.startsWith('data:image/')) return true;\n if (trimmed.startsWith('http://') || trimmed.startsWith('https://')) return true;\n return false;\n }\n\n private isIconClass(value: string): boolean {\n if (!value) return false;\n const trimmed = value.trim().toLowerCase();\n if (trimmed.startsWith('fa-') || trimmed.startsWith('fa ') ||\n trimmed.startsWith('fas ') || trimmed.startsWith('far ') ||\n trimmed.startsWith('fal ') || trimmed.startsWith('fab ')) return true;\n if (trimmed.includes('material-icons') || trimmed.startsWith('mat-icon')) return true;\n if (trimmed.startsWith('bi-') || trimmed.startsWith('bi ')) return true;\n return false;\n }\n\n getRecordColor(record: Record<string, unknown>): string {\n if (!this.entity) return '#1976d2';\n const colors = ['#1976d2', '#388e3c', '#f57c00', '#7b1fa2', '#c2185b', '#0097a7', '#5d4037', '#455a64'];\n const pk = buildPkString(record, this.entity);\n let hash = 0;\n for (let i = 0; i < pk.length; i++) {\n hash = pk.charCodeAt(i) + ((hash << 5) - hash);\n }\n return colors[Math.abs(hash) % colors.length];\n }\n\n isEnumField(fieldName: string): boolean {\n if (!this.entity) return false;\n const field = this.entity.Fields.find(f => f.Name === fieldName);\n if (!field) return false;\n return field.ValueListTypeEnum !== EntityFieldValueListType.None && field.EntityFieldValues.length > 0;\n }\n\n get subtitleIsPill(): boolean {\n const template = this.effectiveTemplate;\n if (!template?.subtitleField || !this.entity) return false;\n return this.isEnumField(template.subtitleField);\n }\n\n getPillColorType(value: string): string {\n return PillColorUtil.getColorType(value);\n }\n\n /**\n * Check if a record matched on a hidden field\n */\n hasHiddenFieldMatch(record: Record<string, unknown>): boolean {\n if (!this.entity) return false;\n return this.hiddenFieldMatches.has(buildPkString(record, this.entity));\n }\n\n /**\n * Get the display name of the hidden field that matched\n */\n getHiddenMatchFieldName(record: Record<string, unknown>): string {\n if (!this.entity) return '';\n const fieldName = this.hiddenFieldMatches.get(buildPkString(record, this.entity));\n if (!fieldName || !this.entity) return '';\n // Look up the field in entity metadata and use DisplayNameOrName\n const field = this.entity.Fields.find(f => f.Name === fieldName);\n return field ? field.DisplayNameOrName : fieldName;\n }\n\n /**\n * Highlight matching text in a string based on the filter text\n * Uses HighlightUtil which only highlights if the text actually matches the pattern\n */\n highlightMatch(text: string): string {\n return HighlightUtil.highlight(text, this.filterText, false);\n }\n}\n","<div class=\"cards-view-wrapper\">\n @if (isLoading && effectiveRecords.length === 0) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading records...\"></mj-loading>\n </div>\n } @else {\n <div class=\"cards-container\">\n @for (record of effectiveRecords; track getRecordTrackId(record, $index)) {\n <div\n class=\"data-card\"\n [class.selected]=\"isSelected(record)\"\n (click)=\"onCardClick(record)\">\n\n <!-- Card Header with Avatar/Icon -->\n <div class=\"card-header\">\n @switch (getThumbnailType(record)) {\n @case ('image') {\n <div class=\"card-thumbnail\">\n <img [src]=\"getThumbnailUrl(record)\" alt=\"\" />\n </div>\n }\n @case ('icon') {\n <div class=\"card-avatar\" [style.background-color]=\"getRecordColor(record)\">\n <i [class]=\"getThumbnailUrl(record)\"></i>\n </div>\n }\n @default {\n <div class=\"card-avatar\" [style.background-color]=\"getRecordColor(record)\">\n {{ getInitials(record) }}\n </div>\n }\n }\n\n <div class=\"card-header-content\">\n <h3 class=\"card-title\" [innerHTML]=\"highlightMatch(getFieldValue(record, effectiveTemplate?.titleField ?? null))\"></h3>\n @if (effectiveTemplate?.subtitleField; as subField) {\n @if (subtitleIsPill) {\n <mj-pill [value]=\"getFieldValue(record, subField)\"></mj-pill>\n } @else {\n <span class=\"card-subtitle\" [innerHTML]=\"highlightMatch(getFieldValue(record, subField))\"></span>\n }\n }\n </div>\n\n <button class=\"card-open-btn\" (click)=\"onOpenClick($event, record)\" title=\"Open Record\">\n <i class=\"fa-solid fa-external-link-alt\"></i>\n </button>\n </div>\n\n <!-- Card Body -->\n <div class=\"card-body\">\n @if (effectiveTemplate?.descriptionField; as descField) {\n <p class=\"card-description\" [innerHTML]=\"highlightMatch(getTextValue(record, descField, 100))\"></p>\n }\n\n <!-- Display Fields -->\n @if (effectiveTemplate && effectiveTemplate.displayFields.length > 0) {\n <div class=\"card-fields\">\n @for (field of effectiveTemplate.displayFields; track field.name) {\n <div class=\"field-item\" [class.field-boolean]=\"field.type === 'boolean'\" [class.field-text]=\"field.type === 'text'\">\n @switch (field.type) {\n @case ('boolean') {\n <i class=\"field-icon\" [class.fa-solid]=\"true\"\n [class.fa-check]=\"getBooleanValue(record, field.name)\"\n [class.fa-minus]=\"!getBooleanValue(record, field.name)\"\n [class.bool-true]=\"getBooleanValue(record, field.name)\"\n [class.bool-false]=\"!getBooleanValue(record, field.name)\"></i>\n <span class=\"field-label\">{{ field.label }}</span>\n }\n @case ('number') {\n <span class=\"field-value\">{{ getNumericValue(record, field.name) }}</span>\n <span class=\"field-label\">{{ field.label }}</span>\n }\n @case ('date') {\n <span class=\"field-value field-date\">{{ getDateValue(record, field.name) }}</span>\n <span class=\"field-label\">{{ field.label }}</span>\n }\n @default {\n <span class=\"field-label\">{{ field.label }}</span>\n <span class=\"field-text-value\" [innerHTML]=\"highlightMatch(getTextValue(record, field.name, 40))\"></span>\n }\n }\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Card Footer with Badge -->\n @if (effectiveTemplate?.badgeField; as badgeField) {\n <div class=\"card-footer\">\n <mj-pill [value]=\"getFieldValue(record, badgeField)\"></mj-pill>\n </div>\n }\n\n <!-- Hidden field match indicator -->\n @if (hasHiddenFieldMatch(record)) {\n <div class=\"hidden-match-indicator\" [title]=\"'Matched in: ' + getHiddenMatchFieldName(record)\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n <span>{{ getHiddenMatchFieldName(record) }}</span>\n </div>\n }\n </div>\n }\n\n @if (effectiveRecords.length === 0) {\n <div class=\"no-results\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No records to display</p>\n </div>\n }\n </div>\n }\n</div>\n"]}