@wavemaker-ai/app-ng-runtime 1.0.0-rc.317 → 1.0.0-rc.322
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/build-task/bundles/index.umd.js +16 -7
- package/build-task/fesm2022/index.mjs +16 -7
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/base/bundles/index.umd.js +302 -4
- package/components/base/fesm2022/index.mjs +301 -4
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/index.d.ts +106 -2
- package/components/basic/anchor/bundles/index.umd.js +4 -5
- package/components/basic/anchor/fesm2022/index.mjs +4 -5
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
- package/components/basic/anchor/index.d.ts +1 -0
- package/components/basic/icon/bundles/index.umd.js +3 -3
- package/components/basic/icon/fesm2022/index.mjs +4 -4
- package/components/basic/icon/fesm2022/index.mjs.map +1 -1
- package/components/basic/icon/index.d.ts +1 -0
- package/components/basic/search/bundles/index.umd.js +6 -3
- package/components/basic/search/fesm2022/index.mjs +7 -4
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/index.d.ts +3 -0
- package/components/basic/spinner/bundles/index.umd.js +5 -3
- package/components/basic/spinner/fesm2022/index.mjs +6 -4
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
- package/components/basic/spinner/index.d.ts +1 -0
- package/components/chart/bundles/index.umd.js +4 -3
- package/components/chart/fesm2022/index.mjs +5 -4
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/chart/index.d.ts +1 -0
- package/components/containers/accordion/bundles/index.umd.js +4 -3
- package/components/containers/accordion/fesm2022/index.mjs +5 -4
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/index.d.ts +1 -0
- package/components/containers/panel/bundles/index.umd.js +3 -3
- package/components/containers/panel/fesm2022/index.mjs +4 -4
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/index.d.ts +3 -0
- package/components/containers/tabs/bundles/index.umd.js +5 -4
- package/components/containers/tabs/fesm2022/index.mjs +6 -5
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/bundles/index.umd.js +8 -6
- package/components/containers/wizard/fesm2022/index.mjs +9 -7
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/index.d.ts +2 -0
- package/components/data/card/bundles/index.umd.js +3 -3
- package/components/data/card/fesm2022/index.mjs +4 -4
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/form/bundles/index.umd.js +6 -3
- package/components/data/form/fesm2022/index.mjs +7 -4
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/index.d.ts +2 -0
- package/components/data/list/bundles/index.umd.js +5 -3
- package/components/data/list/fesm2022/index.mjs +6 -4
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/index.d.ts +2 -0
- package/components/data/table/bundles/index.umd.js +4 -3
- package/components/data/table/fesm2022/index.mjs +5 -4
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/index.d.ts +1 -0
- package/components/dialogs/default/bundles/index.umd.js +2 -2
- package/components/dialogs/default/fesm2022/index.mjs +3 -3
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/input/button/bundles/index.umd.js +4 -5
- package/components/input/button/fesm2022/index.mjs +4 -5
- package/components/input/button/fesm2022/index.mjs.map +1 -1
- package/components/input/button/index.d.ts +3 -0
- package/components/input/checkbox/bundles/index.umd.js +6 -4
- package/components/input/checkbox/fesm2022/index.mjs +7 -5
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/index.d.ts +2 -0
- package/components/input/file-upload/bundles/index.umd.js +5 -3
- package/components/input/file-upload/fesm2022/index.mjs +6 -4
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/index.d.ts +3 -0
- package/components/input/rating/bundles/index.umd.js +9 -3
- package/components/input/rating/fesm2022/index.mjs +10 -4
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/index.d.ts +6 -0
- package/components/input/slider/bundles/index.umd.js +5 -3
- package/components/input/slider/fesm2022/index.mjs +6 -4
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/index.d.ts +2 -0
- package/components/input/switch/bundles/index.umd.js +6 -3
- package/components/input/switch/fesm2022/index.mjs +7 -4
- package/components/input/switch/fesm2022/index.mjs.map +1 -1
- package/components/input/switch/index.d.ts +2 -0
- package/components/input/text/bundles/index.umd.js +7 -5
- package/components/input/text/fesm2022/index.mjs +8 -6
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/index.d.ts +2 -0
- package/components/navigation/menu/bundles/index.umd.js +4 -3
- package/components/navigation/menu/fesm2022/index.mjs +5 -4
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/index.d.ts +1 -0
- package/components/navigation/navbar/bundles/index.umd.js +5 -5
- package/components/navigation/navbar/fesm2022/index.mjs +5 -5
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/index.d.ts +1 -0
- package/npm-shrinkwrap.json +2 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +23 -1
- package/runtime/base/fesm2022/index.mjs +23 -1
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/index.d.ts +5 -0
- package/transpiler/bundles/index.umd.js +2 -0
- package/transpiler/fesm2022/index.mjs +2 -0
- package/transpiler/fesm2022/index.mjs.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { register, PROP_STRING, PROP_BOOLEAN, styler, APPLY_STYLES_TYPE, TextContentDirective, provideAsWidgetRef, StylableComponent } from '@wm/components/base';
|
|
3
|
+
import { register, PROP_STRING, PROP_BOOLEAN, styler, APPLY_STYLES_TYPE, TextContentDirective, WmAppIconComponent, provideAsWidgetRef, StylableComponent } from '@wm/components/base';
|
|
4
4
|
import { PictureDirective } from '@wm/components/basic/picture';
|
|
5
5
|
import { MenuAdapterComponent, MenuComponent } from '@wm/components/navigation/menu';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
@@ -77,13 +77,13 @@ class CardComponent extends MenuAdapterComponent {
|
|
|
77
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CardComponent, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
78
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: CardComponent, isStandalone: true, selector: "[wmCard]", providers: [
|
|
79
79
|
provideAsWidgetRef(CardComponent)
|
|
80
|
-
], viewQueries: [{ propertyName: "cardContainerElRef", first: true, predicate: ["cardContainerWrapper"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n
|
|
80
|
+
], viewQueries: [{ propertyName: "cardContainerElRef", first: true, predicate: ["cardContainerWrapper"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'img-circle' : ''\"></wm-app-icon>\n </div>\n }\n <div class=\"app-card-header-text\">\n <h4 class=\"card-heading\" [textContent]=\"title\"></h4>\n <h5 class=\"card-subheading text-muted\" [textContent]=\"subheading\"></h5>\n </div>\n @if (actions) {\n <div class=\"panel-actions\">\n <!-- TODO(punith) need to bind autoclose-->\n <div wmMenu dropdown\n [autoClose]=\"autoclose !== 'disabled'\"\n class=\"panel-action\"\n type=\"anchor\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n menuposition=\"down,left\"\n hint=\"Actions\"\n caption=\"\"\n dataset.bind=\"actions\">\n </div>\n </div>\n }\n </div>\n}\n@if (picturesource) {\n <div class=\"app-card-image\" [ngStyle]=\"{'max-height':imageheight}\">\n <img wmPicture class=\"card-image\" picturesource.bind=\"picturesource\" hint.bind=\"picturetitle\" />\n </div>\n}\n<div #cardContainerWrapper>\n <ng-content ngProjectAs=\"[wmCardContent]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardActions]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardFooter]\"></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TextContentDirective, selector: "[textContent]", inputs: ["textContent"] }, { kind: "directive", type: PictureDirective, selector: "img[wmPicture]", exportAs: ["wmPicture"] }, { kind: "component", type: MenuComponent, selector: "[wmMenu]" }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }] }); }
|
|
81
81
|
}
|
|
82
82
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: CardComponent, decorators: [{
|
|
83
83
|
type: Component,
|
|
84
|
-
args: [{ standalone: true, imports: [CommonModule, TextContentDirective, PictureDirective, MenuComponent], selector: '[wmCard]', providers: [
|
|
84
|
+
args: [{ standalone: true, imports: [CommonModule, TextContentDirective, PictureDirective, MenuComponent, WmAppIconComponent], selector: '[wmCard]', providers: [
|
|
85
85
|
provideAsWidgetRef(CardComponent)
|
|
86
|
-
], template: "@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n
|
|
86
|
+
], template: "@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'img-circle' : ''\"></wm-app-icon>\n </div>\n }\n <div class=\"app-card-header-text\">\n <h4 class=\"card-heading\" [textContent]=\"title\"></h4>\n <h5 class=\"card-subheading text-muted\" [textContent]=\"subheading\"></h5>\n </div>\n @if (actions) {\n <div class=\"panel-actions\">\n <!-- TODO(punith) need to bind autoclose-->\n <div wmMenu dropdown\n [autoClose]=\"autoclose !== 'disabled'\"\n class=\"panel-action\"\n type=\"anchor\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n menuposition=\"down,left\"\n hint=\"Actions\"\n caption=\"\"\n dataset.bind=\"actions\">\n </div>\n </div>\n }\n </div>\n}\n@if (picturesource) {\n <div class=\"app-card-image\" [ngStyle]=\"{'max-height':imageheight}\">\n <img wmPicture class=\"card-image\" picturesource.bind=\"picturesource\" hint.bind=\"picturetitle\" />\n </div>\n}\n<div #cardContainerWrapper>\n <ng-content ngProjectAs=\"[wmCardContent]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardActions]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardFooter]\"></ng-content>\n</div>\n" }]
|
|
87
87
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
88
88
|
type: Inject,
|
|
89
89
|
args: ['EXPLICIT_CONTEXT']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/data/card/src/card.props.ts","../../../../../projects/components/widgets/data/card/src/card.component.ts","../../../../../projects/components/widgets/data/card/src/card.component.html","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.props.ts","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.directive.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.props.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.html","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.props.ts","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.directive.ts","../../../../../projects/components/widgets/data/card/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card',\n new Map(\n [\n ['actions', PROP_STRING],\n ['animation', PROP_STRING],\n ['class', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['imageheight', {value: '200px', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['name', PROP_STRING],\n ['picturesource', PROP_STRING],\n ['picturetitle', {value: '', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['title', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { TextContentDirective } from \"@wm/components/base\";\nimport { PictureDirective } from '@wm/components/basic/picture';\nimport { MenuComponent } from '@wm/components/navigation/menu';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Injector,\n OnInit,\n OnDestroy,\n Renderer2,\n Optional,\n ViewChild,\n Inject\n} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { MenuAdapterComponent } from '@wm/components/navigation/menu';\n\nimport { registerProps } from './card.props';\nimport {removeAttr, setAttr} from '@wm/core';\n\nconst DEFAULT_CLS = 'app-card card app-panel';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, PictureDirective, MenuComponent],\n selector: '[wmCard]',\n templateUrl: './card.component.html',\n providers: [\n provideAsWidgetRef(CardComponent)\n ]\n})\nexport class CardComponent extends MenuAdapterComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public showHeader: boolean;\n public title: string;\n public subheading: string;\n public iconclass: string;\n public iconurl: string;\n public actions: string;\n public picturesource;\n\n @ViewChild('cardContainerWrapper', { static: true }) private cardContainerElRef: ElementRef;\n private keydownListener: () => void;\n\n constructor(inj: Injector, private render2: Renderer2, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.INNER_SHELL);\n }\n ngOnInit() {\n super.ngOnInit();\n removeAttr(this.nativeElement.parentElement, 'tabindex');\n setAttr(this.nativeElement, 'tabindex', 0);\n \n // MEMORY LEAK FIX: Store listener reference for cleanup\n this.keydownListener = this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {\n e.preventDefault();\n this.nativeElement.click();\n });\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'title' || key === 'subheading' || key === 'iconclass' || key === 'iconurl' || key === 'actions') {\n this.showHeader = !!(this.title || this.subheading || this.iconclass || this.iconurl || this.actions);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove event listener\n if (this.keydownListener) {\n this.keydownListener();\n this.keydownListener = null;\n }\n\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.cardContainerElRef = null;\n\n super.ngOnDestroy();\n }\n}\n\n// Todo(swathi) - menu\n","@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n @if (iconclass && !iconurl) {\n <i class=\"app-icon\" [ngClass]=\"iconclass\"></i>\n }\n @if (iconurl) {\n <img class=\"img-circle\" [src]=\"iconurl\" />\n }\n </div>\n }\n <div class=\"app-card-header-text\">\n <h4 class=\"card-heading\" [textContent]=\"title\"></h4>\n <h5 class=\"card-subheading text-muted\" [textContent]=\"subheading\"></h5>\n </div>\n @if (actions) {\n <div class=\"panel-actions\">\n <!-- TODO(punith) need to bind autoclose-->\n <div wmMenu dropdown\n [autoClose]=\"autoclose !== 'disabled'\"\n class=\"panel-action\"\n type=\"anchor\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n menuposition=\"down,left\"\n hint=\"Actions\"\n caption=\"\"\n dataset.bind=\"actions\">\n </div>\n </div>\n }\n </div>\n}\n@if (picturesource) {\n <div class=\"app-card-image\" [ngStyle]=\"{'max-height':imageheight}\">\n <img wmPicture class=\"card-image\" picturesource.bind=\"picturesource\" hint.bind=\"picturetitle\" />\n </div>\n}\n<div #cardContainerWrapper>\n <ng-content ngProjectAs=\"[wmCardContent]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardActions]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardFooter]\"></ng-content>\n</div>\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-actions',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-actions.props';\n\nconst DEFAULT_CLS = 'app-card-actions';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-actions',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardActions]'\n})\nexport class CardActionsDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-content',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {AfterViewInit, Component, ElementRef, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-content.props';\n\nconst DEFAULT_CLS = 'app-card-content card-body card-block';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-content',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n selector: 'div[wmCardContent]',\n templateUrl: './card-content.component.html',\n providers: [\n provideAsWidgetRef(CardContentComponent)\n ]\n})\nexport class CardContentComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n @ViewChild('cardContentContainer') private cardContentContainerElRef: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContentContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.cardContentContainerElRef = null;\n\n super.ngOnDestroy();\n }\n}\n","<div partial-container-target #cardContentContainer>\n <ng-content></ng-content>\n</div>","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-footer',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-footer.props';\n\nconst DEFAULT_CLS = 'app-card-footer text-muted card-footer';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-footer',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardFooter]'\n})\nexport class CardFooterDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":";;;;;;;;;AAEO,MAAMA,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,SAAS,EACT,IAAI,GAAG,CACH;QACI,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,EAAC,CAAC;QACjD,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,cAAc,EAAE,WAAW,CAAC;QAC7B,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,eAAe,EAAE,WAAW,CAAC;QAC9B,CAAC,cAAc,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAC,CAAC;QAC7C,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;QACxC,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,UAAU,EAAE,WAAW;AAC3B,KAAA,CACJ,CACJ;AACL,CAAC;;ACLD,MAAMC,aAAW,GAAG,yBAAyB;AAC7C,MAAMC,eAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAED;CACd;AAWK,MAAO,aAAc,SAAQ,oBAAoB,CAAA;AAC5C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAGD,eAAa,EAAhB,CAAmB;AAazC,IAAA,WAAA,CAAY,GAAa,EAAU,OAAkB,EAA0C,eAAoB,EAAA;AAC/G,QAAA,KAAK,CAAC,GAAG,EAAEE,eAAa,EAAE,eAAe,CAAC;QADX,IAAA,CAAA,OAAO,GAAP,OAAO;QAEtC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC7D;IAEA,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,WAAW,CAAC;IACtF;IACA,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE;QAChB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;;AAG1C,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,KAAI;YAClF,CAAC,CAAC,cAAc,EAAE;AAClB,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9B,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ,EAAA;QAC3C,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE;YAC1G,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QACzG;aAAO;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACvC;IACJ;IAEA,WAAW,GAAA;;AAEP,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI;QAC/B;;AAGA,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;QAE9B,KAAK,CAAC,WAAW,EAAE;IACvB;AAtDS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,mEAcyC,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAdxE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAJX;YACP,kBAAkB,CAAC,aAAa;SACnC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpCL,u/CA+CA,2CDhBc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,oFAAE,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAOpE,aAAa,EAAA,UAAA,EAAA,CAAA;kBATzB,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAA,QAAA,EACpE,UAAU,EAAA,SAAA,EAET;AACP,wBAAA,kBAAkB,CAAA,aAAA;AACrB,qBAAA,EAAA,QAAA,EAAA,u/CAAA,EAAA;;0BAgBuD,MAAM;2BAAC,kBAAkB;;0BAAG;;sBAHnF,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;AE/ChD,MAAMF,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,iBAAiB,EACjB,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;AAC3C,KAAA,CACJ,CACJ;AACL,CAAC;;ACRD,MAAMC,aAAW,GAAG,kBAAkB;AACtC,MAAMC,eAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,SAAS,EAAED;CACd;AAMK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAChD,IAAA,SAAA,IAAA,CAAA,eAAe,GAAGD,eAAa,EAAhB,CAAmB;IAEzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAEE,eAAa,EAAE,eAAe,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IACjE;AANS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,0CAGM,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAH5C,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE;AACb,iBAAA;;0BAI+B,MAAM;2BAAC,kBAAkB;;0BAAG;;;AChBrD,MAAMF,eAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,iBAAiB,EACjB,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC;AAC1C,KAAA,CACJ,CACJ;AACL,CAAC;;ACTD,MAAMC,aAAW,GAAG,uCAAuC;AAC3D,MAAMC,eAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,SAAS,EAAED;CACd;AAUK,MAAO,oBAAqB,SAAQ,iBAAiB,CAAA;AAChD,IAAA,SAAA,IAAA,CAAA,eAAe,GAAGD,eAAa,EAAhB,CAAmB;IAIzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAEE,eAAa,EAAE,eAAe,CAAC;IAC9C;IAEA,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IAC3F;IAEA,WAAW,GAAA;;AAEP,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI;QAErC,KAAK,CAAC,WAAW,EAAE;IACvB;AAnBS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,0CAKM,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAL5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,SAAA,EAJlB;YACP,kBAAkB,CAAC,oBAAoB;AAC1C,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBL,6FAEM,EAAA,CAAA,CAAA;;4FDiBO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,oBAAoB,EAAA,SAAA,EAEnB;AACP,wBAAA,kBAAkB,CAAA,oBAAA;AACrB,qBAAA,EAAA,QAAA,EAAA,6FAAA,EAAA;;0BAO2B,MAAM;2BAAC,kBAAkB;;0BAAG;;sBAFvD,SAAS;uBAAC,sBAAsB;;;AEpB9B,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,gBAAgB,EAChB,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;AAC3C,KAAA,CACJ,CACJ;AACL,CAAC;;ACRD,MAAM,WAAW,GAAG,wCAAwC;AAC5D,MAAM,aAAa,GAAkB;AACjC,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,SAAS,EAAE;CACd;AAMK,MAAO,mBAAoB,SAAQ,iBAAiB,CAAA;AAC/C,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;IAEzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC;IACjE;AANS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,0CAGO,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAH5C,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AACd,oBAAA,QAAQ,EAAE;AACb,iBAAA;;0BAI+B,MAAM;2BAAC,kBAAkB;;0BAAG;;;AClB5D;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/data/card/src/card.props.ts","../../../../../projects/components/widgets/data/card/src/card.component.ts","../../../../../projects/components/widgets/data/card/src/card.component.html","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.props.ts","../../../../../projects/components/widgets/data/card/src/card-actions/card-actions.directive.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.props.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.ts","../../../../../projects/components/widgets/data/card/src/card-content/card-content.component.html","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.props.ts","../../../../../projects/components/widgets/data/card/src/card-footer/card-footer.directive.ts","../../../../../projects/components/widgets/data/card/src/index.ts"],"sourcesContent":["import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card',\n new Map(\n [\n ['actions', PROP_STRING],\n ['animation', PROP_STRING],\n ['class', PROP_STRING],\n ['iconclass', PROP_STRING],\n ['iconurl', PROP_STRING],\n ['imageheight', {value: '200px', ...PROP_STRING}],\n ['itemaction', PROP_STRING],\n ['itemchildren', PROP_STRING],\n ['itemicon', PROP_STRING],\n ['itemlabel', PROP_STRING],\n ['itemlink', PROP_STRING],\n ['name', PROP_STRING],\n ['picturesource', PROP_STRING],\n ['picturetitle', {value: '', ...PROP_STRING}],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['subheading', PROP_STRING],\n ['title', PROP_STRING],\n ['userrole', PROP_STRING]\n ]\n )\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { TextContentDirective, WmAppIconComponent } from \"@wm/components/base\";\nimport { PictureDirective } from '@wm/components/basic/picture';\nimport { MenuComponent } from '@wm/components/navigation/menu';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Injector,\n OnInit,\n OnDestroy,\n Renderer2,\n Optional,\n ViewChild,\n Inject\n} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { MenuAdapterComponent } from '@wm/components/navigation/menu';\n\nimport { registerProps } from './card.props';\nimport {removeAttr, setAttr} from '@wm/core';\n\nconst DEFAULT_CLS = 'app-card card app-panel';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, PictureDirective, MenuComponent, WmAppIconComponent],\n selector: '[wmCard]',\n templateUrl: './card.component.html',\n providers: [\n provideAsWidgetRef(CardComponent)\n ]\n})\nexport class CardComponent extends MenuAdapterComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public showHeader: boolean;\n public title: string;\n public subheading: string;\n public iconclass: string;\n public iconurl: string;\n public actions: string;\n public picturesource;\n\n @ViewChild('cardContainerWrapper', { static: true }) private cardContainerElRef: ElementRef;\n private keydownListener: () => void;\n\n constructor(inj: Injector, private render2: Renderer2, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.SHELL);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.INNER_SHELL);\n }\n ngOnInit() {\n super.ngOnInit();\n removeAttr(this.nativeElement.parentElement, 'tabindex');\n setAttr(this.nativeElement, 'tabindex', 0);\n \n // MEMORY LEAK FIX: Store listener reference for cleanup\n this.keydownListener = this.render2.listen(this.nativeElement, 'keydown.Enter', (e) => {\n e.preventDefault();\n this.nativeElement.click();\n });\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'title' || key === 'subheading' || key === 'iconclass' || key === 'iconurl' || key === 'actions') {\n this.showHeader = !!(this.title || this.subheading || this.iconclass || this.iconurl || this.actions);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove event listener\n if (this.keydownListener) {\n this.keydownListener();\n this.keydownListener = null;\n }\n\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.cardContainerElRef = null;\n\n super.ngOnDestroy();\n }\n}\n\n// Todo(swathi) - menu\n","@if (showHeader) {\n <div class=\"app-card-header panel-heading\">\n @if (iconclass || iconurl) {\n <div class=\"app-card-avatar\">\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'img-circle' : ''\"></wm-app-icon>\n </div>\n }\n <div class=\"app-card-header-text\">\n <h4 class=\"card-heading\" [textContent]=\"title\"></h4>\n <h5 class=\"card-subheading text-muted\" [textContent]=\"subheading\"></h5>\n </div>\n @if (actions) {\n <div class=\"panel-actions\">\n <!-- TODO(punith) need to bind autoclose-->\n <div wmMenu dropdown\n [autoClose]=\"autoclose !== 'disabled'\"\n class=\"panel-action\"\n type=\"anchor\"\n iconclass=\"wm-sl-l sl-more-menu-vertical\"\n menuposition=\"down,left\"\n hint=\"Actions\"\n caption=\"\"\n dataset.bind=\"actions\">\n </div>\n </div>\n }\n </div>\n}\n@if (picturesource) {\n <div class=\"app-card-image\" [ngStyle]=\"{'max-height':imageheight}\">\n <img wmPicture class=\"card-image\" picturesource.bind=\"picturesource\" hint.bind=\"picturetitle\" />\n </div>\n}\n<div #cardContainerWrapper>\n <ng-content ngProjectAs=\"[wmCardContent]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardActions]\"></ng-content>\n</div>\n<div>\n <ng-content ngProjectAs=\"[wmCardFooter]\"></ng-content>\n</div>\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-actions',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-actions.props';\n\nconst DEFAULT_CLS = 'app-card-actions';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-actions',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardActions]'\n})\nexport class CardActionsDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-content',\n new Map(\n [\n ['class', PROP_STRING],\n ['content', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {AfterViewInit, Component, ElementRef, Inject, Injector, OnDestroy, Optional, ViewChild} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-content.props';\n\nconst DEFAULT_CLS = 'app-card-content card-body card-block';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-content',\n hostClass: DEFAULT_CLS\n};\n\n@Component({\n standalone: true,\n selector: 'div[wmCardContent]',\n templateUrl: './card-content.component.html',\n providers: [\n provideAsWidgetRef(CardContentComponent)\n ]\n})\nexport class CardContentComponent extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n @ViewChild('cardContentContainer') private cardContentContainerElRef: ElementRef;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.cardContentContainerElRef.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild reference\n this.cardContentContainerElRef = null;\n\n super.ngOnDestroy();\n }\n}\n","<div partial-container-target #cardContentContainer>\n <ng-content></ng-content>\n</div>","import { PROP_BOOLEAN, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-card-footer',\n new Map(\n [\n ['class', PROP_STRING],\n ['name', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport { APPLY_STYLES_TYPE, IWidgetConfig, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './card-footer.props';\n\nconst DEFAULT_CLS = 'app-card-footer text-muted card-footer';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-card-footer',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmCardFooter]'\n})\nexport class CardFooterDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
formMap.set('novalidate', i5.PROP_BOOLEAN);
|
|
67
67
|
formMap.set('validationtype', { value: 'default', ...i5.PROP_STRING });
|
|
68
68
|
formMap.set('iconclass', i5.PROP_STRING);
|
|
69
|
+
formMap.set('iconurl', i5.PROP_STRING);
|
|
69
70
|
formMap.set('readonly', { value: false, ...i5.PROP_BOOLEAN });
|
|
70
71
|
i5.register('wm-form', formMap);
|
|
71
72
|
};
|
|
@@ -82,6 +83,7 @@
|
|
|
82
83
|
liveFormMap.set('novalidate', i5.PROP_BOOLEAN);
|
|
83
84
|
liveFormMap.set('validationtype', { value: 'default', ...i5.PROP_STRING });
|
|
84
85
|
liveFormMap.set('iconclass', i5.PROP_STRING);
|
|
86
|
+
liveFormMap.set('iconurl', i5.PROP_STRING);
|
|
85
87
|
i5.register('wm-liveform', liveFormMap);
|
|
86
88
|
};
|
|
87
89
|
const registerLiveFilterProps = () => {
|
|
@@ -90,6 +92,7 @@
|
|
|
90
92
|
liveFilterMap.set('enableemptyfilter', { value: ' ', ...i5.PROP_STRING });
|
|
91
93
|
liveFilterMap.set('pagesize', { value: 20, ...i5.PROP_NUMBER });
|
|
92
94
|
liveFilterMap.set('iconclass', { value: 'wi wi-filter-list', ...i5.PROP_STRING });
|
|
95
|
+
liveFilterMap.set('iconurl', i5.PROP_STRING);
|
|
93
96
|
i5.register('wm-livefilter', liveFilterMap);
|
|
94
97
|
};
|
|
95
98
|
|
|
@@ -1274,13 +1277,13 @@
|
|
|
1274
1277
|
static { this.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0__namespace, type: FormComponent, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.EnvironmentInjector }, { token: i1__namespace.FormBuilder }, { token: i1$1__namespace.App }, { token: i1$1__namespace.AbstractDialogService }, { token: i1$1__namespace.DynamicComponentRefProvider }, { token: i0__namespace.NgZone }, { token: i3__namespace.ListComponent, optional: true }, { token: FormComponent, optional: true, skipSelf: true }, { token: i4__namespace.PrefabDirective, optional: true, skipSelf: true }, { token: i5__namespace.PartialDirective, optional: true, skipSelf: true }, { token: 'beforesubmit.event', attribute: true }, { token: 'submit.event', attribute: true }, { token: 'beforerender.event', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'formdata.bind', attribute: true }, { token: 'wmLiveForm', attribute: true }, { token: 'wmLiveFilter', attribute: true }, { token: 'data-role', attribute: true }, { token: 'key', attribute: true }, { token: 'name', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component }); }
|
|
1275
1278
|
static { this.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: FormComponent, isStandalone: true, selector: "form[wmForm]", host: { listeners: { "submit": "submit($event)", "reset": "onReset()", "keydown": "onKeydownHandler($event)" }, properties: { "action": "this.action" } }, providers: [
|
|
1276
1279
|
i5.provideAsWidgetRef(FormComponent)
|
|
1277
|
-
], queries: [{ propertyName: "componentRefs", predicate: i5.WidgetRef, descendants: true }], viewQueries: [{ propertyName: "dynamicFormRef", first: true, predicate: ["dynamicForm"], descendants: true, read: i0.ViewContainerRef, static: true }, { propertyName: "messageRef", first: true, predicate: i5.MessageComponent, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass) {\n <
|
|
1280
|
+
], queries: [{ propertyName: "componentRefs", predicate: i5.WidgetRef, descendants: true }], viewQueries: [{ propertyName: "dynamicFormRef", first: true, predicate: ["dynamicForm"], descendants: true, read: i0.ViewContainerRef, static: true }, { propertyName: "messageRef", first: true, predicate: i5.MessageComponent, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || iconurl || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass || iconurl) {\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\" alt=\"Form icon\"></wm-app-icon>\n }\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"form-action panel-actions basic-btn-grp\">\n @for (btn of buttonArray | filter : 'position' : 'header'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_header_' + index, {btn:btn})\">\n </ng-container>\n }\n @if (collapsible) {\n <button type=\"button\" class=\"app-icon wi panel-action\" [title]=\"expanded? (appLocale?.LABEL_COLLAPSE||'Collapse'):(appLocale?.LABEL_EXPAND||'Expand')\"\n [ngClass]=\"expanded ? 'wi-minus': 'wi-plus'\" (click)=\"expandCollapsePanel();\"></button>\n }\n </div>\n </h3>\n </div>\n }\n <div class=\"panel-body\" [ngClass]=\"{'form-elements': isLayoutDialog, 'form-body': !isLayoutDialog}\" [class.hidden]=\"!expanded\">\n @if (!!statusMessage.caption) {\n <p wmMessage [attr.aria-hidden]=\"!statusMessage.caption\" [attr.aria-label]=\"statusMessage.caption\" caption.bind=\"statusMessage.caption\" type.bind=\"statusMessage.type\"></p>\n }\n <div [ngClass]=\"{'form-elements': !isLayoutDialog, 'form-content': isLayoutDialog}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"basic-btn-grp form-action panel-footer clearfix\" [ngClass]=\"{'modal-footer': isLayoutDialog}\" [class.hidden]=\"!expanded || !showButtons('footer')\">\n @for (btn of buttonArray | filter : 'position' : 'footer'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_footer_' + index, {btn:btn})\">\n </ng-container>\n }\n </div>\n </div>\n}\n\n\n\n<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" type.bind=\"btn.type\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\" disabled.bind=\"ngform.status === 'PENDING' || btn.disabled\"\n tabindex.bind=\"btn.tabindex\" [attr.aria-label]=\"btn.displayName\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></button>\n</ng-template>\n\n<ng-template #anchorRef let-btn=\"btn\">\n <a wmAnchor name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\"\n hyperlink.bind=\"btn.hyperlink\" target.bind=\"btn.target\"\n tabindex.bind=\"btn.tabindex\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></a>\n</ng-template>\n\n<ng-container #dynamicForm></ng-container>\n", dependencies: [{ kind: "ngmodule", type: i6.CommonModule }, { kind: "directive", type: i6__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: anchor.AnchorComponent, selector: "a[wmAnchor]", exportAs: ["wmAnchor"] }, { kind: "component", type: button.ButtonComponent, selector: "button[wmButton]", exportAs: ["wmButton"] }, { kind: "component", type: i5.MessageComponent, selector: "[wmMessage]", exportAs: ["wmMessage"] }, { kind: "component", type: i5.WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: i5.FilterPipe, name: "filter" }] }); }
|
|
1278
1281
|
}
|
|
1279
1282
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0__namespace, type: FormComponent, decorators: [{
|
|
1280
1283
|
type: i0.Component,
|
|
1281
|
-
args: [{ standalone: true, imports: [i6.CommonModule, i5.FilterPipe, anchor.AnchorComponent, button.ButtonComponent, i5.MessageComponent], selector: 'form[wmForm]', providers: [
|
|
1284
|
+
args: [{ standalone: true, imports: [i6.CommonModule, i5.FilterPipe, anchor.AnchorComponent, button.ButtonComponent, i5.MessageComponent, i5.WmAppIconComponent], selector: 'form[wmForm]', providers: [
|
|
1282
1285
|
i5.provideAsWidgetRef(FormComponent)
|
|
1283
|
-
], template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass) {\n <
|
|
1286
|
+
], template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || iconurl || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass || iconurl) {\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\" alt=\"Form icon\"></wm-app-icon>\n }\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"form-action panel-actions basic-btn-grp\">\n @for (btn of buttonArray | filter : 'position' : 'header'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_header_' + index, {btn:btn})\">\n </ng-container>\n }\n @if (collapsible) {\n <button type=\"button\" class=\"app-icon wi panel-action\" [title]=\"expanded? (appLocale?.LABEL_COLLAPSE||'Collapse'):(appLocale?.LABEL_EXPAND||'Expand')\"\n [ngClass]=\"expanded ? 'wi-minus': 'wi-plus'\" (click)=\"expandCollapsePanel();\"></button>\n }\n </div>\n </h3>\n </div>\n }\n <div class=\"panel-body\" [ngClass]=\"{'form-elements': isLayoutDialog, 'form-body': !isLayoutDialog}\" [class.hidden]=\"!expanded\">\n @if (!!statusMessage.caption) {\n <p wmMessage [attr.aria-hidden]=\"!statusMessage.caption\" [attr.aria-label]=\"statusMessage.caption\" caption.bind=\"statusMessage.caption\" type.bind=\"statusMessage.type\"></p>\n }\n <div [ngClass]=\"{'form-elements': !isLayoutDialog, 'form-content': isLayoutDialog}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"basic-btn-grp form-action panel-footer clearfix\" [ngClass]=\"{'modal-footer': isLayoutDialog}\" [class.hidden]=\"!expanded || !showButtons('footer')\">\n @for (btn of buttonArray | filter : 'position' : 'footer'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_footer_' + index, {btn:btn})\">\n </ng-container>\n }\n </div>\n </div>\n}\n\n\n\n<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" type.bind=\"btn.type\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\" disabled.bind=\"ngform.status === 'PENDING' || btn.disabled\"\n tabindex.bind=\"btn.tabindex\" [attr.aria-label]=\"btn.displayName\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></button>\n</ng-template>\n\n<ng-template #anchorRef let-btn=\"btn\">\n <a wmAnchor name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\"\n hyperlink.bind=\"btn.hyperlink\" target.bind=\"btn.target\"\n tabindex.bind=\"btn.tabindex\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></a>\n</ng-template>\n\n<ng-container #dynamicForm></ng-container>\n" }]
|
|
1284
1287
|
}], ctorParameters: () => [{ type: i0__namespace.Injector }, { type: i0__namespace.EnvironmentInjector }, { type: i1__namespace.FormBuilder }, { type: i1$1__namespace.App }, { type: i1$1__namespace.AbstractDialogService }, { type: i1$1__namespace.DynamicComponentRefProvider }, { type: i0__namespace.NgZone }, { type: i3__namespace.ListComponent, decorators: [{
|
|
1285
1288
|
type: i0.Optional
|
|
1286
1289
|
}] }, { type: FormComponent, decorators: [{
|
|
@@ -9,7 +9,7 @@ import { FormArray, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
|
9
9
|
import * as i1$1 from '@wm/core';
|
|
10
10
|
import { removeClass, isDefined, debounce as debounce$1, removeAttr, DataSource, $appDigest, setListClass, isElementInViewport, scrollToElement, getFiles, DataType, getClonedObject, $invokeWatchers, getValidJSON, extendProto, $parseEvent, FormWidgetType, noop as noop$1, isMobile, isDateTimeType, addForIdAttributes, triggerFn, isEmptyObject, getValidDateObject } from '@wm/core';
|
|
11
11
|
import * as i5 from '@wm/components/base';
|
|
12
|
-
import { PROP_BOOLEAN, PROP_STRING, PROP_ANY, PROP_NUMBER, register, StylableComponent, styler, getFieldLayoutConfig, Live_Operations, performDataOperation, parseValueByType, MessageComponent, FilterPipe, WidgetRef, provideAsWidgetRef, BaseComponent, getWidgetPropsByType, getEvaluatedData, BaseFieldValidations, getDefaultViewModeWidget, Context, provideAs, fetchDistinctValues, applyFilterOnField, isDataSetWidget, getDistinctValuesForField, getRangeFieldValue, getRangeMatchMode, getEnableEmptyFilter, getEmptyMatchMode, fetchRelatedFieldData, ALLFIELDS } from '@wm/components/base';
|
|
12
|
+
import { PROP_BOOLEAN, PROP_STRING, PROP_ANY, PROP_NUMBER, register, StylableComponent, styler, getFieldLayoutConfig, Live_Operations, performDataOperation, parseValueByType, MessageComponent, WmAppIconComponent, FilterPipe, WidgetRef, provideAsWidgetRef, BaseComponent, getWidgetPropsByType, getEvaluatedData, BaseFieldValidations, getDefaultViewModeWidget, Context, provideAs, fetchDistinctValues, applyFilterOnField, isDataSetWidget, getDistinctValuesForField, getRangeFieldValue, getRangeMatchMode, getEnableEmptyFilter, getEmptyMatchMode, fetchRelatedFieldData, ALLFIELDS } from '@wm/components/base';
|
|
13
13
|
import * as i4 from '@wm/components/prefab';
|
|
14
14
|
import * as i3 from '@wm/components/data/list';
|
|
15
15
|
import { ListComponent } from '@wm/components/data/list';
|
|
@@ -54,6 +54,7 @@ const registerFormProps = () => {
|
|
|
54
54
|
formMap.set('novalidate', PROP_BOOLEAN);
|
|
55
55
|
formMap.set('validationtype', { value: 'default', ...PROP_STRING });
|
|
56
56
|
formMap.set('iconclass', PROP_STRING);
|
|
57
|
+
formMap.set('iconurl', PROP_STRING);
|
|
57
58
|
formMap.set('readonly', { value: false, ...PROP_BOOLEAN });
|
|
58
59
|
register('wm-form', formMap);
|
|
59
60
|
};
|
|
@@ -70,6 +71,7 @@ const registerLiveFormProps = () => {
|
|
|
70
71
|
liveFormMap.set('novalidate', PROP_BOOLEAN);
|
|
71
72
|
liveFormMap.set('validationtype', { value: 'default', ...PROP_STRING });
|
|
72
73
|
liveFormMap.set('iconclass', PROP_STRING);
|
|
74
|
+
liveFormMap.set('iconurl', PROP_STRING);
|
|
73
75
|
register('wm-liveform', liveFormMap);
|
|
74
76
|
};
|
|
75
77
|
const registerLiveFilterProps = () => {
|
|
@@ -78,6 +80,7 @@ const registerLiveFilterProps = () => {
|
|
|
78
80
|
liveFilterMap.set('enableemptyfilter', { value: ' ', ...PROP_STRING });
|
|
79
81
|
liveFilterMap.set('pagesize', { value: 20, ...PROP_NUMBER });
|
|
80
82
|
liveFilterMap.set('iconclass', { value: 'wi wi-filter-list', ...PROP_STRING });
|
|
83
|
+
liveFilterMap.set('iconurl', PROP_STRING);
|
|
81
84
|
register('wm-livefilter', liveFilterMap);
|
|
82
85
|
};
|
|
83
86
|
|
|
@@ -1265,13 +1268,13 @@ class FormComponent extends StylableComponent {
|
|
|
1265
1268
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FormComponent, deps: [{ token: i0.Injector }, { token: i0.EnvironmentInjector }, { token: i1.FormBuilder }, { token: i1$1.App }, { token: i1$1.AbstractDialogService }, { token: i1$1.DynamicComponentRefProvider }, { token: i0.NgZone }, { token: i3.ListComponent, optional: true }, { token: FormComponent, optional: true, skipSelf: true }, { token: i4.PrefabDirective, optional: true, skipSelf: true }, { token: i5.PartialDirective, optional: true, skipSelf: true }, { token: 'beforesubmit.event', attribute: true }, { token: 'submit.event', attribute: true }, { token: 'beforerender.event', attribute: true }, { token: 'dataset.bind', attribute: true }, { token: 'formdata.bind', attribute: true }, { token: 'wmLiveForm', attribute: true }, { token: 'wmLiveFilter', attribute: true }, { token: 'data-role', attribute: true }, { token: 'key', attribute: true }, { token: 'name', attribute: true }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1266
1269
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.19", type: FormComponent, isStandalone: true, selector: "form[wmForm]", host: { listeners: { "submit": "submit($event)", "reset": "onReset()", "keydown": "onKeydownHandler($event)" }, properties: { "action": "this.action" } }, providers: [
|
|
1267
1270
|
provideAsWidgetRef(FormComponent)
|
|
1268
|
-
], queries: [{ propertyName: "componentRefs", predicate: WidgetRef, descendants: true }], viewQueries: [{ propertyName: "dynamicFormRef", first: true, predicate: ["dynamicForm"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "messageRef", first: true, predicate: MessageComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass) {\n <
|
|
1271
|
+
], queries: [{ propertyName: "componentRefs", predicate: WidgetRef, descendants: true }], viewQueries: [{ propertyName: "dynamicFormRef", first: true, predicate: ["dynamicForm"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "messageRef", first: true, predicate: MessageComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || iconurl || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass || iconurl) {\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\" alt=\"Form icon\"></wm-app-icon>\n }\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"form-action panel-actions basic-btn-grp\">\n @for (btn of buttonArray | filter : 'position' : 'header'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_header_' + index, {btn:btn})\">\n </ng-container>\n }\n @if (collapsible) {\n <button type=\"button\" class=\"app-icon wi panel-action\" [title]=\"expanded? (appLocale?.LABEL_COLLAPSE||'Collapse'):(appLocale?.LABEL_EXPAND||'Expand')\"\n [ngClass]=\"expanded ? 'wi-minus': 'wi-plus'\" (click)=\"expandCollapsePanel();\"></button>\n }\n </div>\n </h3>\n </div>\n }\n <div class=\"panel-body\" [ngClass]=\"{'form-elements': isLayoutDialog, 'form-body': !isLayoutDialog}\" [class.hidden]=\"!expanded\">\n @if (!!statusMessage.caption) {\n <p wmMessage [attr.aria-hidden]=\"!statusMessage.caption\" [attr.aria-label]=\"statusMessage.caption\" caption.bind=\"statusMessage.caption\" type.bind=\"statusMessage.type\"></p>\n }\n <div [ngClass]=\"{'form-elements': !isLayoutDialog, 'form-content': isLayoutDialog}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"basic-btn-grp form-action panel-footer clearfix\" [ngClass]=\"{'modal-footer': isLayoutDialog}\" [class.hidden]=\"!expanded || !showButtons('footer')\">\n @for (btn of buttonArray | filter : 'position' : 'footer'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_footer_' + index, {btn:btn})\">\n </ng-container>\n }\n </div>\n </div>\n}\n\n\n\n<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" type.bind=\"btn.type\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\" disabled.bind=\"ngform.status === 'PENDING' || btn.disabled\"\n tabindex.bind=\"btn.tabindex\" [attr.aria-label]=\"btn.displayName\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></button>\n</ng-template>\n\n<ng-template #anchorRef let-btn=\"btn\">\n <a wmAnchor name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\"\n hyperlink.bind=\"btn.hyperlink\" target.bind=\"btn.target\"\n tabindex.bind=\"btn.tabindex\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></a>\n</ng-template>\n\n<ng-container #dynamicForm></ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AnchorComponent, selector: "a[wmAnchor]", exportAs: ["wmAnchor"] }, { kind: "component", type: ButtonComponent, selector: "button[wmButton]", exportAs: ["wmButton"] }, { kind: "component", type: MessageComponent, selector: "[wmMessage]", exportAs: ["wmMessage"] }, { kind: "component", type: WmAppIconComponent, selector: "wm-app-icon", inputs: ["iconclass", "iconurl", "defaultIconClass", "defaultClasses", "iconStyle", "alt"] }, { kind: "pipe", type: FilterPipe, name: "filter" }] }); }
|
|
1269
1272
|
}
|
|
1270
1273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: FormComponent, decorators: [{
|
|
1271
1274
|
type: Component,
|
|
1272
|
-
args: [{ standalone: true, imports: [CommonModule, FilterPipe, AnchorComponent, ButtonComponent, MessageComponent], selector: 'form[wmForm]', providers: [
|
|
1275
|
+
args: [{ standalone: true, imports: [CommonModule, FilterPipe, AnchorComponent, ButtonComponent, MessageComponent, WmAppIconComponent], selector: 'form[wmForm]', providers: [
|
|
1273
1276
|
provideAsWidgetRef(FormComponent)
|
|
1274
|
-
], template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass) {\n <
|
|
1277
|
+
], template: "<ng-template #content><ng-content></ng-content></ng-template>\n\n@if (formlayout === 'page') {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n @if (!isLayoutDialog && (title || subheading || iconclass || iconurl || showButtons('header'))) {\n <div class=\"panel-heading\">\n <h3 class=\"panel-title\">\n <div class=\"pull-left\">\n @if (iconclass || iconurl) {\n <wm-app-icon [iconclass]=\"iconclass\" [iconurl]=\"iconurl\" [iconClasses]=\"iconurl ? 'panel-image-icon' : 'panel-icon'\" alt=\"Form icon\"></wm-app-icon>\n }\n </div>\n <div class=\"pull-left\">\n <div class=\"heading\" [innerHTML]=\"title\"></div>\n <div class=\"description\" [innerHTML]=\"subheading\"></div>\n </div>\n <div class=\"form-action panel-actions basic-btn-grp\">\n @for (btn of buttonArray | filter : 'position' : 'header'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_header_' + index, {btn:btn})\">\n </ng-container>\n }\n @if (collapsible) {\n <button type=\"button\" class=\"app-icon wi panel-action\" [title]=\"expanded? (appLocale?.LABEL_COLLAPSE||'Collapse'):(appLocale?.LABEL_EXPAND||'Expand')\"\n [ngClass]=\"expanded ? 'wi-minus': 'wi-plus'\" (click)=\"expandCollapsePanel();\"></button>\n }\n </div>\n </h3>\n </div>\n }\n <div class=\"panel-body\" [ngClass]=\"{'form-elements': isLayoutDialog, 'form-body': !isLayoutDialog}\" [class.hidden]=\"!expanded\">\n @if (!!statusMessage.caption) {\n <p wmMessage [attr.aria-hidden]=\"!statusMessage.caption\" [attr.aria-label]=\"statusMessage.caption\" caption.bind=\"statusMessage.caption\" type.bind=\"statusMessage.type\"></p>\n }\n <div [ngClass]=\"{'form-elements': !isLayoutDialog, 'form-content': isLayoutDialog}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n <div class=\"basic-btn-grp form-action panel-footer clearfix\" [ngClass]=\"{'modal-footer': isLayoutDialog}\" [class.hidden]=\"!expanded || !showButtons('footer')\">\n @for (btn of buttonArray | filter : 'position' : 'footer'; track btn; let index = $index) {\n <ng-container\n [ngTemplateOutlet]=\"btn.widgetType === 'button' ? buttonRef : anchorRef\"\n [ngTemplateOutletContext]=\"{btn:btn}\"\n [ngTemplateOutletInjector]=\"createCustomInjector('action_footer_' + index, {btn:btn})\">\n </ng-container>\n }\n </div>\n </div>\n}\n\n\n\n<ng-template #buttonRef let-btn=\"btn\">\n <button wmButton name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" type.bind=\"btn.type\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\" disabled.bind=\"ngform.status === 'PENDING' || btn.disabled\"\n tabindex.bind=\"btn.tabindex\" [attr.aria-label]=\"btn.displayName\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></button>\n</ng-template>\n\n<ng-template #anchorRef let-btn=\"btn\">\n <a wmAnchor name=\"{{btn.key}}\" caption.bind=\"btn.displayName\" class.bind=\"btn.class\" iconclass.bind=\"btn.iconclass\" show.bind=\"btn.show\"\n (click)=\"invokeActionEvent($event, btn.action)\" hint.bind=\"btn.title\" shortcutkey.bind=\"btn.shortcutkey\"\n hyperlink.bind=\"btn.hyperlink\" target.bind=\"btn.target\"\n tabindex.bind=\"btn.tabindex\" [class.hidden]=\"btn.updateMode ? !isUpdateMode : isUpdateMode\"></a>\n</ng-template>\n\n<ng-container #dynamicForm></ng-container>\n" }]
|
|
1275
1278
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i0.EnvironmentInjector }, { type: i1.FormBuilder }, { type: i1$1.App }, { type: i1$1.AbstractDialogService }, { type: i1$1.DynamicComponentRefProvider }, { type: i0.NgZone }, { type: i3.ListComponent, decorators: [{
|
|
1276
1279
|
type: Optional
|
|
1277
1280
|
}] }, { type: FormComponent, decorators: [{
|