@magic-xpa/angular-material-core 4.1300.0-dev4130.6 → 4.1300.0-dev4130.60
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/fesm2022/magic-xpa-angular-material-core.mjs +19 -22
- package/fesm2022/magic-xpa-angular-material-core.mjs.map +1 -1
- package/package.json +9 -9
- package/types/magic-xpa-angular-material-core.d.ts +365 -0
- package/index.d.ts +0 -12
- package/src/angular-material.module.d.ts +0 -35
- package/src/components/base-mat-table-magic.component.d.ts +0 -46
- package/src/components/editable-combo-component.d.ts +0 -48
- package/src/directives/magic/form-controls/mat-magic-autocomplete.directive.d.ts +0 -10
- package/src/directives/magic/form-controls/mat-magic-checkbox.directive.d.ts +0 -35
- package/src/directives/magic/form-controls/mat-magic-combobox.directive.d.ts +0 -19
- package/src/directives/magic/form-controls/mat-magic-listbox.directive.d.ts +0 -16
- package/src/services/mat.magic.providers.d.ts +0 -41
- package/src/services/mattable.magic.service.d.ts +0 -129
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, HostListener, Input, Injectable, Component, ViewChild, forwardRef, NgModule } from '@angular/core';
|
|
3
|
-
import * as i2$1 from '@angular/common';
|
|
4
3
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as
|
|
4
|
+
import * as i2$1 from '@angular/forms';
|
|
6
5
|
import { FormGroup, FormControl, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
6
|
import * as i1 from '@magic-xpa/angular';
|
|
8
7
|
import { ComboboxMagicDirective, MagicDirective, TableMagicService, basicMagicProviders, TaskBaseMagicComponent, MagicModule } from '@magic-xpa/angular';
|
|
@@ -16,11 +15,11 @@ import { MatTableDataSource, MatTableModule } from '@angular/material/table';
|
|
|
16
15
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
17
16
|
import { isNullOrUndefined } from '@magic-xpa/mscorelib';
|
|
18
17
|
import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
|
|
19
|
-
import * as
|
|
18
|
+
import * as i3 from '@angular/material/input';
|
|
20
19
|
import { MatInputModule } from '@angular/material/input';
|
|
21
|
-
import * as
|
|
20
|
+
import * as i4 from '@angular/material/select';
|
|
22
21
|
import { MatSelectModule } from '@angular/material/select';
|
|
23
|
-
import * as
|
|
22
|
+
import * as i5 from '@angular/material/autocomplete';
|
|
24
23
|
import { MatAutocompleteTrigger, MatAutocomplete } from '@angular/material/autocomplete';
|
|
25
24
|
import { MatButtonModule } from '@angular/material/button';
|
|
26
25
|
import { MatListModule } from '@angular/material/list';
|
|
@@ -462,8 +461,7 @@ class BaseMatTableMagicComponent extends TaskBaseMagicComponent {
|
|
|
462
461
|
}
|
|
463
462
|
/** @nocollapse */ static ɵfac = function BaseMatTableMagicComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BaseMatTableMagicComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.MagicServices)); };
|
|
464
463
|
/** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: BaseMatTableMagicComponent, selectors: [["ng-component"]], viewQuery: function BaseMatTableMagicComponent_Query(rf, ctx) { if (rf & 1) {
|
|
465
|
-
i0.ɵɵviewQuery(MatPaginator, 7);
|
|
466
|
-
i0.ɵɵviewQuery(MatSort, 7);
|
|
464
|
+
i0.ɵɵviewQuery(MatPaginator, 7)(MatSort, 7);
|
|
467
465
|
} if (rf & 2) {
|
|
468
466
|
let _t;
|
|
469
467
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginator = _t.first);
|
|
@@ -487,15 +485,15 @@ class BaseMatTableMagicComponent extends TaskBaseMagicComponent {
|
|
|
487
485
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BaseMatTableMagicComponent, { className: "BaseMatTableMagicComponent", filePath: "src/components/base-mat-table-magic.component.ts", lineNumber: 19 }); })();
|
|
488
486
|
|
|
489
487
|
const _c0 = ["comboinput"];
|
|
490
|
-
function
|
|
491
|
-
i0.ɵɵelementStart(0, "mat-option",
|
|
488
|
+
function EditableComboComponent_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
489
|
+
i0.ɵɵelementStart(0, "mat-option", 5);
|
|
492
490
|
i0.ɵɵtext(1);
|
|
493
491
|
i0.ɵɵelementEnd();
|
|
494
492
|
} if (rf & 2) {
|
|
495
|
-
const
|
|
496
|
-
i0.ɵɵproperty("value",
|
|
493
|
+
const o_r1 = ctx.$implicit;
|
|
494
|
+
i0.ɵɵproperty("value", o_r1.displayValue);
|
|
497
495
|
i0.ɵɵadvance();
|
|
498
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
496
|
+
i0.ɵɵtextInterpolate1(" ", o_r1.displayValue, " ");
|
|
499
497
|
} }
|
|
500
498
|
class EditableComboComponent {
|
|
501
499
|
magicServices;
|
|
@@ -608,23 +606,22 @@ class EditableComboComponent {
|
|
|
608
606
|
useExisting: forwardRef((() => EditableComboComponent)),
|
|
609
607
|
multi: true
|
|
610
608
|
}
|
|
611
|
-
])], decls:
|
|
612
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
609
|
+
])], decls: 8, vars: 3, consts: [["comboinput", ""], ["Editable_Combo", "matAutocomplete"], ["novalidate", "", 3, "formGroup"], ["matInput", "", "formControlName", "combo_fc", 3, "blur", "matAutocomplete", "placeholder"], ["requireSelection", "true", "autoActiveFirstOption", "true", 3, "optionSelected", "closed", "opened"], [3, "value"]], template: function EditableComboComponent_Template(rf, ctx) { if (rf & 1) {
|
|
613
610
|
i0.ɵɵelementStart(0, "div", 2)(1, "mat-form-field")(2, "input", 3, 0);
|
|
614
|
-
i0.ɵɵlistener("blur", function EditableComboComponent_Template_input_blur_2_listener() {
|
|
611
|
+
i0.ɵɵlistener("blur", function EditableComboComponent_Template_input_blur_2_listener() { return ctx.onBlur(); });
|
|
615
612
|
i0.ɵɵelementEnd();
|
|
616
613
|
i0.ɵɵelementStart(4, "mat-autocomplete", 4, 1);
|
|
617
|
-
i0.ɵɵlistener("optionSelected", function EditableComboComponent_Template_mat_autocomplete_optionSelected_4_listener($event) {
|
|
618
|
-
i0.ɵɵ
|
|
614
|
+
i0.ɵɵlistener("optionSelected", function EditableComboComponent_Template_mat_autocomplete_optionSelected_4_listener($event) { return ctx.onOptionSelected($event); })("closed", function EditableComboComponent_Template_mat_autocomplete_closed_4_listener() { return ctx.onClosed(); })("opened", function EditableComboComponent_Template_mat_autocomplete_opened_4_listener() { return ctx.onOpened(); });
|
|
615
|
+
i0.ɵɵrepeaterCreate(6, EditableComboComponent_For_7_Template, 2, 2, "mat-option", 5, i0.ɵɵrepeaterTrackByIdentity);
|
|
619
616
|
i0.ɵɵelementEnd()()();
|
|
620
617
|
} if (rf & 2) {
|
|
621
|
-
const
|
|
618
|
+
const Editable_Combo_r2 = i0.ɵɵreference(5);
|
|
622
619
|
i0.ɵɵproperty("formGroup", ctx.formGroup);
|
|
623
620
|
i0.ɵɵadvance(2);
|
|
624
|
-
i0.ɵɵproperty("matAutocomplete",
|
|
621
|
+
i0.ɵɵproperty("matAutocomplete", Editable_Combo_r2)("placeholder", ctx.placeholder);
|
|
625
622
|
i0.ɵɵadvance(4);
|
|
626
|
-
i0.ɵɵ
|
|
627
|
-
} }, dependencies: [i2$1.
|
|
623
|
+
i0.ɵɵrepeater(ctx.getFilteredListForChoiceControl());
|
|
624
|
+
} }, dependencies: [i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i3.MatInput, i3.MatFormField, i4.MatOption, i5.MatAutocompleteTrigger, i5.MatAutocomplete, i2$1.FormGroupDirective, i2$1.FormControlName], encapsulation: 2 });
|
|
628
625
|
}
|
|
629
626
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EditableComboComponent, [{
|
|
630
627
|
type: Component,
|
|
@@ -634,7 +631,7 @@ class EditableComboComponent {
|
|
|
634
631
|
useExisting: forwardRef((() => EditableComboComponent)),
|
|
635
632
|
multi: true
|
|
636
633
|
}
|
|
637
|
-
], template: "<div\n novalidate\n [formGroup]=\"formGroup\"\n>\n <mat-form-field>\n
|
|
634
|
+
], template: "<div\n novalidate\n [formGroup]=\"formGroup\"\n >\n <mat-form-field>\n <input\n #comboinput\n matInput\n formControlName=\"combo_fc\"\n [matAutocomplete]=\"Editable_Combo\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n >\n <!-- <mat-icon matSuffix>arrow_drop_down</mat-icon>-->\n <mat-autocomplete\n #Editable_Combo=\"matAutocomplete\"\n requireSelection=\"true\"\n autoActiveFirstOption=\"true\"\n (optionSelected)=\"onOptionSelected($event)\"\n (closed)=\"onClosed()\"\n (opened)=\"onOpened()\"\n >\n @for (o of getFilteredListForChoiceControl(); track o) {\n <mat-option\n [value]=\"o.displayValue\"\n >\n {{o.displayValue}}\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n </div>\n" }]
|
|
638
635
|
}], () => [{ type: i1.MagicServices }], { combo_input: [{
|
|
639
636
|
type: ViewChild,
|
|
640
637
|
args: ['comboinput']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magic-xpa-angular-material-core.mjs","sources":["../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-checkbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-combobox.directive.ts","../../../../projects/angular-material-core/src/services/mattable.magic.service.ts","../../../../projects/angular-material-core/src/services/mat.magic.providers.ts","../../../../projects/angular-material-core/src/components/base-mat-table-magic.component.ts","../../../../projects/angular-material-core/src/components/editable-combo.component.html","../../../../projects/angular-material-core/src/components/editable-combo-component.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-listbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-autocomplete.directive.ts","../../../../projects/angular-material-core/src/angular-material.module.ts","../../../../projects/angular-material-core/index.ts","../../../../projects/angular-material-core/magic-xpa-angular-material-core.ts"],"sourcesContent":["import {Directive, ElementRef, HostListener, Input} from \"@angular/core\";\r\nimport {MagicDirective, TaskMagicService} from \"@magic-xpa/angular\";\r\nimport {filter} from \"rxjs/operators\";\r\nimport {CommandType, GuiCommand, HtmlProperties} from \"@magic-xpa/gui\";\r\nimport {MatCheckbox} from \"@angular/material/checkbox\";\r\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\r\n\r\n\r\n/**\r\n * Directive for material-design checkboxes not on material-design table\r\n */\r\n@Directive({\n selector: `\r\n mat-checkbox[magic]:not([noFormControl])\r\n `,\n standalone: false\n})\r\nexport class MatCheckboxDirective {\r\n @Input() threeState: boolean = false;\r\n private subscribeRefreshDom: any = null;\r\n private indeterminate : boolean = false;\r\n /**\r\n * @ignore\r\n */\r\n constructor( protected magicDirective: MagicDirective,\r\n private matCheckbox: MatCheckbox,\r\n protected task: TaskMagicService,\r\n protected element: ElementRef) {\r\n }\r\n /**\r\n * Handles the Checkbox 'change' event - pass it to the Magic engine\r\n */\r\n @HostListener('change', ['$event'])\r\n onChange($event: Event) {\r\n if(this.threeState) {\r\n this.handleThreeState();\r\n }\r\n else {\r\n this.magicDirective.task.onCheckChanged($event, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n }\r\n ngOnInit() {\r\n if(this.threeState){\r\n let guiEvent: IGuiEvent = getGuiEventObj(\"setAsThreeState\",this.magicDirective.id, +this.magicDirective.rowId);\r\n this.task.insertEvent(guiEvent);\r\n this.matCheckbox.indeterminate = this.indeterminate = this.task.getProperty(this.magicDirective.id, HtmlProperties.CheckBoxIndeterminate, this.magicDirective.rowId);\r\n this.regUpdatesUI();\r\n }\r\n }\r\n private regUpdatesUI() {\r\n this.subscribeRefreshDom = this.task\r\n .refreshDom.pipe(filter(c => this.magicDirective.IsSameElement(c)))\r\n .subscribe(a => {\r\n let command: GuiCommand = a;\r\n try {\r\n this.handleCommand(command);\r\n } catch (ex) {\r\n console.dir(ex);\r\n }\r\n }\r\n );\r\n }\r\n handleCommand(command: GuiCommand){\r\n if (command.CommandType == CommandType.SET_PROPERTY &&\r\n command.Operation == HtmlProperties.CheckBoxIndeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = command.obj1;\r\n }\r\n }\r\n private handleThreeState() {\r\n let value : string = '';\r\n let prevCheckedValue = this.task.getValue(this.magicDirective.id, this.magicDirective.rowId);\r\n if(this.indeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = false;\r\n value = 'unchecked';\r\n }\r\n else if(prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = true;\r\n this.matCheckbox.checked = false;\r\n value = 'indeterminate';\r\n }\r\n else if(!prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = true;\r\n value = 'checked';\r\n }\r\n // @ts-ignore\r\n this.magicDirective.task.onCheckChanged(value, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n /**\r\n * Cleanup\r\n */\r\n ngOnDestroy(): void {\r\n if(this.subscribeRefreshDom !== null)\r\n this.subscribeRefreshDom.unsubscribe();\r\n }\r\n}\r\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport {ComboboxMagicDirective, MagicDirective} from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design comboboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-select[magic]`,\n standalone: false\n})\r\nexport class MatComboboxDirective extends ComboboxMagicDirective {\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n super.onChange($event);\r\n }\r\n\r\n @HostListener('openedChange', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.opened = $event;\r\n }\r\n\r\n /**\r\n * For mat-select do nothing\r\n */\r\n onComboboxItemsListChanged(): void {\r\n }\r\n}\r\n","\nimport { Injectable } from '@angular/core';\nimport { SelectionModel } from \"@angular/cdk/collections\";\n\nimport { TaskMagicService, ComponentListMagicService, ControlsMetadata } from \"@magic-xpa/angular\";\nimport {IGuiEvent, getGuiEventObj} from \"@magic-xpa/engine\";\nimport { TableMagicService } from \"@magic-xpa/angular\";\nimport {isNullOrUndefined} from \"@magic-xpa/mscorelib\";\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\n\n\n/**\n * Extends the Magic table service to supply functionality for Material Design tables\n */\n@Injectable()\nexport class MgMatTableService extends TableMagicService {\n /**\n * Table data source\n */\n dataSource: MatTableDataSource<Element>;\n\n /**\n * @ignore\n */\n get DataSource(): MatTableDataSource<Element> {\n return this.dataSource;\n }\n\n /**\n * @ignore\n */\n set DataSource(dataSource: MatTableDataSource<Element>) {\n this.dataSource = dataSource;\n }\n\n /**\n * Provides selection options for the table\n */\n selection: SelectionModel<Element>;\n\n /**\n * @ignore\n */\n get Selection(): SelectionModel<Element> {\n return this.selection;\n }\n\n /**\n * @ignore\n */\n set Selection(selection: SelectionModel<Element>) {\n this.selection = selection;\n }\n\n /**\n * Paginator to enable changing pages in the table\n */\n paginator: MatPaginator;\n\n /**\n * @ignore\n */\n get Paginator(): MatPaginator {\n return this.paginator;\n }\n\n /**\n * @ignore\n */\n set Paginator(paginator: MatPaginator) {\n this.paginator = paginator;\n }\n\n /**\n * @ignore\n */\n constructor(protected componentList: ComponentListMagicService, protected task: TaskMagicService ) {\n super(componentList, task);\n }\n\n /**\n * Connects the service to the elements of the table component\n * @param dataSource Table data source\n * @param paginator Table paginator\n * @param selection table SelectionModel\n */\n connect(dataSource: MatTableDataSource<Element> , paginator: MatPaginator, selection: SelectionModel<Element>) {\n this.dataSource = dataSource;\n this.paginator = paginator;\n this.selection = selection;\n }\n\n /**\n * @ignore\n */\n refreshDataSource() {\n if (!isNullOrUndefined(this.paginator))\n this.dataSource.paginator = this.paginator;\n\n this.dataSource.data = (this.task.mgAccessorService.isDataviewEmpty() ? [] : this.task.Records.list);\n }\n\n /**\n * returns the page size of the table\n * @returns\n */\n getPageSize(): number {\n if (isNullOrUndefined(this.paginator))\n return 10;\n return this.paginator.pageSize;\n }\n\n /**\n * Selects a table row\n * @param guiRowid Id of row to be selected\n */\n selectRow(guiRowid: string): void {\n super.selectRow(guiRowid);\n this.selection.select(this.task.Records.list[guiRowid]);\n this.refreshDataSource();\n }\n\n /**\n * Displays the requested table page\n * @param pageId Id of page to be selected\n */\n selectPage(pageId: number): void {\n if (!isNullOrUndefined(this.paginator))\n this.paginator.pageIndex = pageId;\n\n this.refreshDataSource();\n }\n\n /**\n * Returns the currently seleted row\n * @returns\n */\n selectedRow(): any {\n return this.selection.selected[0];\n }\n\n /**\n * Handle the paginator's \"page\" event\n * @param e The event received from the UI\n * @param changeSelectedRow The flag true or false to indicate change the row\n */\n mgOnPaginateChange(e, changeSelectedRow?: boolean)\n {\n if (this.task.oldPageSize != e.pageSize) {\n this.handleResize(e.pageIndex, e.previousPageIndex, e.pageSize);\n this.task.oldPageSize = e.pageSize;\n }\n else {\n if (changeSelectedRow)\n {\n let evt: string;\n if (e.pageIndex > e.previousPageIndex) {\n evt = (e.pageIndex - e.previousPageIndex === 1) ? \"next-page\" : \"end-table\";\n } else {\n evt = (e.previousPageIndex - e.pageIndex === 1) ? \"previous-page\" : \"begin-table\";\n }\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"navigateInTable\", \"magicRow\",0);\n guiEvent.Value = evt;\n this.task.insertEvent(guiEvent);\n }\n else\n this.getRowsIfNeeded(e.pageIndex, e.previousPageIndex, e.pageSize);\n }\n }\n\n /**\n * Handle resize and set table top index.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n handleResize(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let requiredGuiRowId = pageIndex * pageSize;\n this.task.resize(pageSize, requiredGuiRowId);\n }\n\n /**\n * Execute getRows to fetch required chunk of records.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n getRowsIfNeeded(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let guiEvent: IGuiEvent = getGuiEventObj(\"getRows\", \"\",0);\n guiEvent.Line = pageIndex * pageSize;\n this.task.insertEvent(guiEvent);\n this.setTableTopIndex(this.task.getDvRowId(pageSize * pageIndex));\n }\n\n /**\n * Handles the \"matSortChange\" event\n * @param e The event received from the UI\n */\n sortData(e) {\n let direction: number = 0;\n if (e.direction === 'asc')\n direction = 0;\n else if (e.direction === 'desc')\n direction = 1;\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"columnSort\", e.active, direction);\n this.task.insertEvent(guiEvent);\n }\n\n /**\n * Change the number of lines in a table\n * @param size New number of lines in table\n */\n updateTableSize(size: number) {\n if (size === 0) // never remove row 0 for now\n {\n size = 1;\n this.task.Records.clearFirstTableRecord(this.task.template);\n }\n\n else if (isNullOrUndefined(this.paginator))\n size = this.getPageSize();\n\n this.task.formGroups.length = size;\n this.task.Records.updateSize(size);\n this.task.setIncludesFirst(false);\n }\n\n /**\n * Handle the selection of row and if needed move to respective page.\n * @param guiRowId New number of lines in table\n */\n protected selectPageForGuiRowId(guiRowId: number): void {\n let pageToBeSelected: number = 0;\n let prevSelectedRow: ControlsMetadata = <ControlsMetadata>this.selectedRow();\n\n pageToBeSelected = Math.floor(guiRowId / this.getPageSize());\n\n // Explicitly handle selection of page when it's not raised by using pagination\n if ((isNullOrUndefined(prevSelectedRow) || (!isNullOrUndefined(this.paginator) && pageToBeSelected != this.paginator.pageIndex)))\n this.selectPage(pageToBeSelected);\n }\n\n /**\n * @ignore\n */\n setTableTopIndex(value: number) {\n this.task.Records.setGuiTopIndex(value);\n\n if (value >= 0)\n this.selectPageForGuiRowId(this.task.getGuiRowId(value, true));\n }\n\n /**\n * @ignore\n */\n getTableTopIndex():number\n {\n return this.task.Records.getGuiTopIndex();\n }\n}\n\n","\r\nimport { basicMagicProviders, TableMagicService} from \"@magic-xpa/angular\";\r\n\r\nimport { MgMatTableService } from \"./mattable.magic.service\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const matMagicProviders = [\r\n ...basicMagicProviders, // - created error Exported variable 'matMagicProviders' has or is using name 'MagicServices' from external module \"D:/magicxpaproject/_Trunk/Sources/Webclient/dist/angular/src/services/magic.services\" but cannot be named.\r\n { provide: TableMagicService, useClass: MgMatTableService }\r\n];\r\n\r\n","import { MagicServices, TaskBaseMagicComponent } from '@magic-xpa/angular';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { ChangeDetectorRef, Component, ViewChild } from '@angular/core';\r\nimport { MgMatTableService } from '../services/mattable.magic.service';\r\nimport { matMagicProviders } from '../services/mat.magic.providers';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { isNullOrUndefined } from '@magic-xpa/mscorelib';\r\n\r\n/**\r\n * This component is the base component for forms which has a material-design table (grid)\r\n */\r\n@Component({\n providers: matMagicProviders,\n template: '',\n standalone: false\n})\r\n export class BaseMatTableMagicComponent extends TaskBaseMagicComponent {\r\n\r\n /**\r\n * Paginator to enable changing pages in the table\r\n */\r\n @ViewChild(MatPaginator, {static:true}) paginator: MatPaginator;\r\n\r\n /**\r\n * Provides the table sort capabilities\r\n */\r\n @ViewChild(MatSort, {static:true}) sort: MatSort;\r\n\r\n /**\r\n * List of table columns to be displayed\r\n */\r\n displayedColumns;\r\n\r\n /**\r\n * Table data source\r\n */\r\n dataSource;\r\n\r\n /**\r\n * Provides selection options for the table\r\n */\r\n selection;\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n protected ref: ChangeDetectorRef,\r\n public magicService: MagicServices,\r\n ) {\r\n\r\n super(ref, magicService);\r\n\r\n this.displayedColumns = [];\r\n this.dataSource = new MatTableDataSource < Element > (this.task.Records.list);\r\n this.selection = new SelectionModel < Element > (false, []);\r\n }\r\n\r\n /**\r\n * Initializer\r\n */\r\n ngOnInit() {\r\n super.ngOnInit();\r\n (this.magicService.tableService as MgMatTableService).connect(this.dataSource, this.paginator, this.selection);\r\n }\r\n\r\n /**\r\n * AfterContentChecked implementation\r\n */\r\n ngAfterContentChecked() {\r\n if (!isNullOrUndefined(this.paginator) && !isNullOrUndefined(this.paginator.pageSize) &&\r\n this.paginator.pageSize != this.task.oldPageSize) {\r\n (this.magicService.tableService as MgMatTableService).handleResize(this.paginator.pageIndex, 0, this.paginator.pageSize);\r\n this.task.oldPageSize = this.paginator.pageSize;\r\n }\r\n }\r\n}\r\n","<div\n novalidate\n [formGroup]=\"formGroup\"\n>\n <mat-form-field>\n <input\n #comboinput\n matInput\n formControlName=\"combo_fc\"\n [matAutocomplete]=\"Editable_Combo\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n >\n<!-- <mat-icon matSuffix>arrow_drop_down</mat-icon>-->\n <mat-autocomplete\n #Editable_Combo=\"matAutocomplete\"\n requireSelection=\"true\"\n autoActiveFirstOption=\"true\"\n (optionSelected)=\"onOptionSelected($event)\"\n (closed)=\"onClosed()\"\n (opened)=\"onOpened()\"\n >\n <mat-option\n *ngFor=\"let o of getFilteredListForChoiceControl();\"\n [value]=\"o.displayValue\"\n >\n {{o.displayValue}}\n </mat-option>\n </mat-autocomplete>\n</mat-form-field>\n</div>\n","import {Component, ElementRef, forwardRef, Input, OnInit, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n AccessorMagicService,\n MagicDirective,\n MagicServices,\n TaskMagicService\n} from \"@magic-xpa/angular\";\n\nimport {MatAutocompleteSelectedEvent} from \"@angular/material/autocomplete\";\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\n\n@Component({\n selector: 'editable-combo',\n standalone: false,\n templateUrl: './editable-combo.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EditableComboComponent),\n multi: true\n }\n ]\n})\nexport class EditableComboComponent implements ControlValueAccessor, OnInit {\n /**\n * @ignore\n */\n controlId: string = \"\";\n rowId: string = \"0\";\n @ViewChild('comboinput') combo_input!: ElementRef;\n\n /**\n * @ignore\n */\n @Input('magic') set magic(val: string) {\n this.controlId = val;\n };\n\n @Input('rowId') set rowId1(val: string) {\n this.rowId = val;\n };\n\n @Input() placeholder: string = '';\n\n formGroup: FormGroup = new FormGroup({});\n\n // These are the functions required by ControlValueAccessor\n private onChange: (value: number) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(public magicServices: MagicServices) {\n }\n\n /**\n * Returns the Magic accessor service\n * @returns\n */\n get mg(): AccessorMagicService {\n return this.magicServices.mgAccessorService;\n }\n\n /**\n * Returns the Magic task service\n * @returns\n */\n get task(): TaskMagicService {\n return this.magicServices.task;\n }\n\n ngOnInit(): void {\n this.formGroup.addControl(\"combo_fc\", new FormControl());\n }\n\n // Write value method will be called when FormControl value is updated\n writeValue(value: number): void {\n if (typeof value == 'number' && value >= 0) {\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.index === value);\n\n if (matchingOption != undefined)\n this.formGroup.get(\"combo_fc\")?.setValue(matchingOption.displayValue);\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n }\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n }\n\n // Register onChange function to be triggered when the input value changes\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n // Register onTouched function to be triggered when the input is touched\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Optional: Handle the touch event when the input is blurred\n onBlur(): void {\n this.onTouched();\n }\n\n onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const selectedVal = event.option.value;\n\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.displayValue === selectedVal);\n let selectedIndex = -1;\n\n if (matchingOption != undefined)\n selectedIndex = matchingOption.index;\n\n this.onChange(selectedIndex);\n\n let guiEvent: IGuiEvent = getGuiEventObj('selectionchanged', this.controlId, +this.rowId);\n guiEvent.Value = selectedIndex.toString();\n this.task.insertEvent(guiEvent);\n }\n\n onOpened() {\n MagicDirective.noOfAutoCompleteBoxesOpened++;\n }\n\n onClosed() {\n this.writeValue(this.mg.getValue(this.controlId, this.rowId));\n MagicDirective.noOfAutoCompleteBoxesOpened--;\n }\n\n getFilteredListForChoiceControl(): Array<{index: number, displayValue: string}> {\n const elem = this.combo_input;\n let value = elem ? elem.nativeElement.value : \"\";\n\n let items = this.mg.getItemListValues(this.controlId, this.rowId);\n if (value !== null && value !== \"\" && items instanceof Array) {\n value = value.toLowerCase();\n return items.filter(option => option.displayValue.toLowerCase().includes(value));\n }\n else\n return items;\n }\n}\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport { MagicDirective } from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design listboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-selection-list[magic]`,\n standalone: false\n})\r\nexport class MatListboxDirective{\r\n\r\n constructor(protected magicDirective: MagicDirective) {\r\n }\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n this.magicDirective.task.onListBoxSelectionChanged($event, this.magicDirective.id);\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { MagicDirective } from '@magic-xpa/angular';\r\n\r\n/**\r\n * Directive for material-design autocomplete not on material-design table\r\n */\r\n@Directive({\n selector: 'mat-autocomplete[magic]',\n standalone: false\n})\r\nexport class MatMagicAutocompleteDirective {\r\n\r\n @HostListener('opened', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened++;\r\n }\r\n\r\n @HostListener('closed', ['$event'])\r\n onClosedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened--;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxDirective } from './directives/magic/form-controls/mat-magic-checkbox.directive';\r\nimport { MatComboboxDirective } from './directives/magic/form-controls/mat-magic-combobox.directive';\r\nimport { BaseMatTableMagicComponent } from './components/base-mat-table-magic.component';\r\nimport { EditableComboComponent } from './components/editable-combo-component';\r\nimport { MatListboxDirective } from './directives/magic/form-controls/mat-magic-listbox.directive';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MagicModule } from '@magic-xpa/angular';\r\nimport { MatMagicAutocompleteDirective } from './directives/magic/form-controls/mat-magic-autocomplete.directive';\r\nimport { MatAutocomplete, MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const materialModules = [\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatCheckboxModule,\r\n MatTabsModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatAutocompleteTrigger,\r\n MatAutocomplete\r\n];\r\n\r\n/**\r\n * @ignore\r\n */\r\n@NgModule({\r\n declarations: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n exports: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ...materialModules,\r\n MagicModule,\r\n ReactiveFormsModule,\r\n ]\r\n})\r\nexport class MagicAngularMaterialModule {\r\n\r\n}\r\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./src/angular-material.module\";\nexport * from \"./src/components/base-mat-table-magic.component\";\nexport * from \"./src/components/editable-combo-component\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-autocomplete.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-checkbox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-combobox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-listbox.directive\";\nexport * from \"./src/services/mat.magic.providers\";\nexport * from \"./src/services/mattable.magic.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"magic-xpa-angular-material-core.mjs","sources":["../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-checkbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-combobox.directive.ts","../../../../projects/angular-material-core/src/services/mattable.magic.service.ts","../../../../projects/angular-material-core/src/services/mat.magic.providers.ts","../../../../projects/angular-material-core/src/components/base-mat-table-magic.component.ts","../../../../projects/angular-material-core/src/components/editable-combo.component.html","../../../../projects/angular-material-core/src/components/editable-combo-component.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-listbox.directive.ts","../../../../projects/angular-material-core/src/directives/magic/form-controls/mat-magic-autocomplete.directive.ts","../../../../projects/angular-material-core/src/angular-material.module.ts","../../../../projects/angular-material-core/index.ts","../../../../projects/angular-material-core/magic-xpa-angular-material-core.ts"],"sourcesContent":["import {Directive, ElementRef, HostListener, Input} from \"@angular/core\";\r\nimport {MagicDirective, TaskMagicService} from \"@magic-xpa/angular\";\r\nimport {filter} from \"rxjs/operators\";\r\nimport {CommandType, GuiCommand, HtmlProperties} from \"@magic-xpa/gui\";\r\nimport {MatCheckbox} from \"@angular/material/checkbox\";\r\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\r\n\r\n\r\n/**\r\n * Directive for material-design checkboxes not on material-design table\r\n */\r\n@Directive({\n selector: `\r\n mat-checkbox[magic]:not([noFormControl])\r\n `,\n standalone: false\n})\r\nexport class MatCheckboxDirective {\r\n @Input() threeState: boolean = false;\r\n private subscribeRefreshDom: any = null;\r\n private indeterminate : boolean = false;\r\n /**\r\n * @ignore\r\n */\r\n constructor( protected magicDirective: MagicDirective,\r\n private matCheckbox: MatCheckbox,\r\n protected task: TaskMagicService,\r\n protected element: ElementRef) {\r\n }\r\n /**\r\n * Handles the Checkbox 'change' event - pass it to the Magic engine\r\n */\r\n @HostListener('change', ['$event'])\r\n onChange($event: Event) {\r\n if(this.threeState) {\r\n this.handleThreeState();\r\n }\r\n else {\r\n this.magicDirective.task.onCheckChanged($event, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n }\r\n ngOnInit() {\r\n if(this.threeState){\r\n let guiEvent: IGuiEvent = getGuiEventObj(\"setAsThreeState\",this.magicDirective.id, +this.magicDirective.rowId);\r\n this.task.insertEvent(guiEvent);\r\n this.matCheckbox.indeterminate = this.indeterminate = this.task.getProperty(this.magicDirective.id, HtmlProperties.CheckBoxIndeterminate, this.magicDirective.rowId);\r\n this.regUpdatesUI();\r\n }\r\n }\r\n private regUpdatesUI() {\r\n this.subscribeRefreshDom = this.task\r\n .refreshDom.pipe(filter(c => this.magicDirective.IsSameElement(c)))\r\n .subscribe(a => {\r\n let command: GuiCommand = a;\r\n try {\r\n this.handleCommand(command);\r\n } catch (ex) {\r\n console.dir(ex);\r\n }\r\n }\r\n );\r\n }\r\n handleCommand(command: GuiCommand){\r\n if (command.CommandType == CommandType.SET_PROPERTY &&\r\n command.Operation == HtmlProperties.CheckBoxIndeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = command.obj1;\r\n }\r\n }\r\n private handleThreeState() {\r\n let value : string = '';\r\n let prevCheckedValue = this.task.getValue(this.magicDirective.id, this.magicDirective.rowId);\r\n if(this.indeterminate) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = false;\r\n value = 'unchecked';\r\n }\r\n else if(prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = true;\r\n this.matCheckbox.checked = false;\r\n value = 'indeterminate';\r\n }\r\n else if(!prevCheckedValue) {\r\n this.indeterminate = this.matCheckbox.indeterminate = false;\r\n this.matCheckbox.checked = true;\r\n value = 'checked';\r\n }\r\n // @ts-ignore\r\n this.magicDirective.task.onCheckChanged(value, this.magicDirective.id, +this.magicDirective.rowId);\r\n }\r\n /**\r\n * Cleanup\r\n */\r\n ngOnDestroy(): void {\r\n if(this.subscribeRefreshDom !== null)\r\n this.subscribeRefreshDom.unsubscribe();\r\n }\r\n}\r\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport {ComboboxMagicDirective, MagicDirective} from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design comboboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-select[magic]`,\n standalone: false\n})\r\nexport class MatComboboxDirective extends ComboboxMagicDirective {\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n super.onChange($event);\r\n }\r\n\r\n @HostListener('openedChange', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.opened = $event;\r\n }\r\n\r\n /**\r\n * For mat-select do nothing\r\n */\r\n onComboboxItemsListChanged(): void {\r\n }\r\n}\r\n","\nimport { Injectable } from '@angular/core';\nimport { SelectionModel } from \"@angular/cdk/collections\";\n\nimport { TaskMagicService, ComponentListMagicService, ControlsMetadata } from \"@magic-xpa/angular\";\nimport {IGuiEvent, getGuiEventObj} from \"@magic-xpa/engine\";\nimport { TableMagicService } from \"@magic-xpa/angular\";\nimport {isNullOrUndefined} from \"@magic-xpa/mscorelib\";\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\n\n\n/**\n * Extends the Magic table service to supply functionality for Material Design tables\n */\n@Injectable()\nexport class MgMatTableService extends TableMagicService {\n /**\n * Table data source\n */\n dataSource: MatTableDataSource<Element>;\n\n /**\n * @ignore\n */\n get DataSource(): MatTableDataSource<Element> {\n return this.dataSource;\n }\n\n /**\n * @ignore\n */\n set DataSource(dataSource: MatTableDataSource<Element>) {\n this.dataSource = dataSource;\n }\n\n /**\n * Provides selection options for the table\n */\n selection: SelectionModel<Element>;\n\n /**\n * @ignore\n */\n get Selection(): SelectionModel<Element> {\n return this.selection;\n }\n\n /**\n * @ignore\n */\n set Selection(selection: SelectionModel<Element>) {\n this.selection = selection;\n }\n\n /**\n * Paginator to enable changing pages in the table\n */\n paginator: MatPaginator;\n\n /**\n * @ignore\n */\n get Paginator(): MatPaginator {\n return this.paginator;\n }\n\n /**\n * @ignore\n */\n set Paginator(paginator: MatPaginator) {\n this.paginator = paginator;\n }\n\n /**\n * @ignore\n */\n constructor(protected componentList: ComponentListMagicService, protected task: TaskMagicService ) {\n super(componentList, task);\n }\n\n /**\n * Connects the service to the elements of the table component\n * @param dataSource Table data source\n * @param paginator Table paginator\n * @param selection table SelectionModel\n */\n connect(dataSource: MatTableDataSource<Element> , paginator: MatPaginator, selection: SelectionModel<Element>) {\n this.dataSource = dataSource;\n this.paginator = paginator;\n this.selection = selection;\n }\n\n /**\n * @ignore\n */\n refreshDataSource() {\n if (!isNullOrUndefined(this.paginator))\n this.dataSource.paginator = this.paginator;\n\n this.dataSource.data = (this.task.mgAccessorService.isDataviewEmpty() ? [] : this.task.Records.list);\n }\n\n /**\n * returns the page size of the table\n * @returns\n */\n getPageSize(): number {\n if (isNullOrUndefined(this.paginator))\n return 10;\n return this.paginator.pageSize;\n }\n\n /**\n * Selects a table row\n * @param guiRowid Id of row to be selected\n */\n selectRow(guiRowid: string): void {\n super.selectRow(guiRowid);\n this.selection.select(this.task.Records.list[guiRowid]);\n this.refreshDataSource();\n }\n\n /**\n * Displays the requested table page\n * @param pageId Id of page to be selected\n */\n selectPage(pageId: number): void {\n if (!isNullOrUndefined(this.paginator))\n this.paginator.pageIndex = pageId;\n\n this.refreshDataSource();\n }\n\n /**\n * Returns the currently seleted row\n * @returns\n */\n selectedRow(): any {\n return this.selection.selected[0];\n }\n\n /**\n * Handle the paginator's \"page\" event\n * @param e The event received from the UI\n * @param changeSelectedRow The flag true or false to indicate change the row\n */\n mgOnPaginateChange(e, changeSelectedRow?: boolean)\n {\n if (this.task.oldPageSize != e.pageSize) {\n this.handleResize(e.pageIndex, e.previousPageIndex, e.pageSize);\n this.task.oldPageSize = e.pageSize;\n }\n else {\n if (changeSelectedRow)\n {\n let evt: string;\n if (e.pageIndex > e.previousPageIndex) {\n evt = (e.pageIndex - e.previousPageIndex === 1) ? \"next-page\" : \"end-table\";\n } else {\n evt = (e.previousPageIndex - e.pageIndex === 1) ? \"previous-page\" : \"begin-table\";\n }\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"navigateInTable\", \"magicRow\",0);\n guiEvent.Value = evt;\n this.task.insertEvent(guiEvent);\n }\n else\n this.getRowsIfNeeded(e.pageIndex, e.previousPageIndex, e.pageSize);\n }\n }\n\n /**\n * Handle resize and set table top index.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n handleResize(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let requiredGuiRowId = pageIndex * pageSize;\n this.task.resize(pageSize, requiredGuiRowId);\n }\n\n /**\n * Execute getRows to fetch required chunk of records.\n * @param pageIndex : New page index.\n * @param prevPageIndex : Prev page index\n * @param pageSize : PageSize\n */\n getRowsIfNeeded(pageIndex: number, prevPageIndex: number, pageSize: number): void {\n let guiEvent: IGuiEvent = getGuiEventObj(\"getRows\", \"\",0);\n guiEvent.Line = pageIndex * pageSize;\n this.task.insertEvent(guiEvent);\n this.setTableTopIndex(this.task.getDvRowId(pageSize * pageIndex));\n }\n\n /**\n * Handles the \"matSortChange\" event\n * @param e The event received from the UI\n */\n sortData(e) {\n let direction: number = 0;\n if (e.direction === 'asc')\n direction = 0;\n else if (e.direction === 'desc')\n direction = 1;\n\n let guiEvent: IGuiEvent = getGuiEventObj(\"columnSort\", e.active, direction);\n this.task.insertEvent(guiEvent);\n }\n\n /**\n * Change the number of lines in a table\n * @param size New number of lines in table\n */\n updateTableSize(size: number) {\n if (size === 0) // never remove row 0 for now\n {\n size = 1;\n this.task.Records.clearFirstTableRecord(this.task.template);\n }\n\n else if (isNullOrUndefined(this.paginator))\n size = this.getPageSize();\n\n this.task.formGroups.length = size;\n this.task.Records.updateSize(size);\n this.task.setIncludesFirst(false);\n }\n\n /**\n * Handle the selection of row and if needed move to respective page.\n * @param guiRowId New number of lines in table\n */\n protected selectPageForGuiRowId(guiRowId: number): void {\n let pageToBeSelected: number = 0;\n let prevSelectedRow: ControlsMetadata = <ControlsMetadata>this.selectedRow();\n\n pageToBeSelected = Math.floor(guiRowId / this.getPageSize());\n\n // Explicitly handle selection of page when it's not raised by using pagination\n if ((isNullOrUndefined(prevSelectedRow) || (!isNullOrUndefined(this.paginator) && pageToBeSelected != this.paginator.pageIndex)))\n this.selectPage(pageToBeSelected);\n }\n\n /**\n * @ignore\n */\n setTableTopIndex(value: number) {\n this.task.Records.setGuiTopIndex(value);\n\n if (value >= 0)\n this.selectPageForGuiRowId(this.task.getGuiRowId(value, true));\n }\n\n /**\n * @ignore\n */\n getTableTopIndex():number\n {\n return this.task.Records.getGuiTopIndex();\n }\n}\n\n","\r\nimport { basicMagicProviders, TableMagicService} from \"@magic-xpa/angular\";\r\n\r\nimport { MgMatTableService } from \"./mattable.magic.service\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const matMagicProviders = [\r\n ...basicMagicProviders, // - created error Exported variable 'matMagicProviders' has or is using name 'MagicServices' from external module \"D:/magicxpaproject/_Trunk/Sources/Webclient/dist/angular/src/services/magic.services\" but cannot be named.\r\n { provide: TableMagicService, useClass: MgMatTableService }\r\n];\r\n\r\n","import { MagicServices, TaskBaseMagicComponent } from '@magic-xpa/angular';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { ChangeDetectorRef, Component, ViewChild } from '@angular/core';\r\nimport { MgMatTableService } from '../services/mattable.magic.service';\r\nimport { matMagicProviders } from '../services/mat.magic.providers';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { isNullOrUndefined } from '@magic-xpa/mscorelib';\r\n\r\n/**\r\n * This component is the base component for forms which has a material-design table (grid)\r\n */\r\n@Component({\n providers: matMagicProviders,\n template: '',\n standalone: false\n})\r\n export class BaseMatTableMagicComponent extends TaskBaseMagicComponent {\r\n\r\n /**\r\n * Paginator to enable changing pages in the table\r\n */\r\n @ViewChild(MatPaginator, {static:true}) paginator: MatPaginator;\r\n\r\n /**\r\n * Provides the table sort capabilities\r\n */\r\n @ViewChild(MatSort, {static:true}) sort: MatSort;\r\n\r\n /**\r\n * List of table columns to be displayed\r\n */\r\n displayedColumns;\r\n\r\n /**\r\n * Table data source\r\n */\r\n dataSource;\r\n\r\n /**\r\n * Provides selection options for the table\r\n */\r\n selection;\r\n\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(\r\n protected ref: ChangeDetectorRef,\r\n public magicService: MagicServices,\r\n ) {\r\n\r\n super(ref, magicService);\r\n\r\n this.displayedColumns = [];\r\n this.dataSource = new MatTableDataSource < Element > (this.task.Records.list);\r\n this.selection = new SelectionModel < Element > (false, []);\r\n }\r\n\r\n /**\r\n * Initializer\r\n */\r\n ngOnInit() {\r\n super.ngOnInit();\r\n (this.magicService.tableService as MgMatTableService).connect(this.dataSource, this.paginator, this.selection);\r\n }\r\n\r\n /**\r\n * AfterContentChecked implementation\r\n */\r\n ngAfterContentChecked() {\r\n if (!isNullOrUndefined(this.paginator) && !isNullOrUndefined(this.paginator.pageSize) &&\r\n this.paginator.pageSize != this.task.oldPageSize) {\r\n (this.magicService.tableService as MgMatTableService).handleResize(this.paginator.pageIndex, 0, this.paginator.pageSize);\r\n this.task.oldPageSize = this.paginator.pageSize;\r\n }\r\n }\r\n}\r\n","<div\n novalidate\n [formGroup]=\"formGroup\"\n >\n <mat-form-field>\n <input\n #comboinput\n matInput\n formControlName=\"combo_fc\"\n [matAutocomplete]=\"Editable_Combo\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholder\"\n >\n <!-- <mat-icon matSuffix>arrow_drop_down</mat-icon>-->\n <mat-autocomplete\n #Editable_Combo=\"matAutocomplete\"\n requireSelection=\"true\"\n autoActiveFirstOption=\"true\"\n (optionSelected)=\"onOptionSelected($event)\"\n (closed)=\"onClosed()\"\n (opened)=\"onOpened()\"\n >\n @for (o of getFilteredListForChoiceControl(); track o) {\n <mat-option\n [value]=\"o.displayValue\"\n >\n {{o.displayValue}}\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n </div>\n","import {Component, ElementRef, forwardRef, Input, OnInit, ViewChild} from '@angular/core';\nimport {ControlValueAccessor, FormControl, FormGroup, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n AccessorMagicService,\n MagicDirective,\n MagicServices,\n TaskMagicService\n} from \"@magic-xpa/angular\";\n\nimport {MatAutocompleteSelectedEvent} from \"@angular/material/autocomplete\";\nimport {getGuiEventObj, IGuiEvent} from \"@magic-xpa/engine\";\n\n@Component({\n selector: 'editable-combo',\n standalone: false,\n templateUrl: './editable-combo.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EditableComboComponent),\n multi: true\n }\n ]\n})\nexport class EditableComboComponent implements ControlValueAccessor, OnInit {\n /**\n * @ignore\n */\n controlId: string = \"\";\n rowId: string = \"0\";\n @ViewChild('comboinput') combo_input!: ElementRef;\n\n /**\n * @ignore\n */\n @Input('magic') set magic(val: string) {\n this.controlId = val;\n };\n\n @Input('rowId') set rowId1(val: string) {\n this.rowId = val;\n };\n\n @Input() placeholder: string = '';\n\n formGroup: FormGroup = new FormGroup({});\n\n // These are the functions required by ControlValueAccessor\n private onChange: (value: number) => void = () => {};\n private onTouched: () => void = () => {};\n\n constructor(public magicServices: MagicServices) {\n }\n\n /**\n * Returns the Magic accessor service\n * @returns\n */\n get mg(): AccessorMagicService {\n return this.magicServices.mgAccessorService;\n }\n\n /**\n * Returns the Magic task service\n * @returns\n */\n get task(): TaskMagicService {\n return this.magicServices.task;\n }\n\n ngOnInit(): void {\n this.formGroup.addControl(\"combo_fc\", new FormControl());\n }\n\n // Write value method will be called when FormControl value is updated\n writeValue(value: number): void {\n if (typeof value == 'number' && value >= 0) {\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.index === value);\n\n if (matchingOption != undefined)\n this.formGroup.get(\"combo_fc\")?.setValue(matchingOption.displayValue);\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n }\n else\n this.formGroup.get(\"combo_fc\")?.setValue(\"\");\n }\n\n // Register onChange function to be triggered when the input value changes\n registerOnChange(fn: (value: number) => void): void {\n this.onChange = fn;\n }\n\n // Register onTouched function to be triggered when the input is touched\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Optional: Handle the touch event when the input is blurred\n onBlur(): void {\n this.onTouched();\n }\n\n onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const selectedVal = event.option.value;\n\n const options = this.mg.getItemListValues(this.controlId, this.rowId);\n const matchingOption = options.find(option => option.displayValue === selectedVal);\n let selectedIndex = -1;\n\n if (matchingOption != undefined)\n selectedIndex = matchingOption.index;\n\n this.onChange(selectedIndex);\n\n let guiEvent: IGuiEvent = getGuiEventObj('selectionchanged', this.controlId, +this.rowId);\n guiEvent.Value = selectedIndex.toString();\n this.task.insertEvent(guiEvent);\n }\n\n onOpened() {\n MagicDirective.noOfAutoCompleteBoxesOpened++;\n }\n\n onClosed() {\n this.writeValue(this.mg.getValue(this.controlId, this.rowId));\n MagicDirective.noOfAutoCompleteBoxesOpened--;\n }\n\n getFilteredListForChoiceControl(): Array<{index: number, displayValue: string}> {\n const elem = this.combo_input;\n let value = elem ? elem.nativeElement.value : \"\";\n\n let items = this.mg.getItemListValues(this.controlId, this.rowId);\n if (value !== null && value !== \"\" && items instanceof Array) {\n value = value.toLowerCase();\n return items.filter(option => option.displayValue.toLowerCase().includes(value));\n }\n else\n return items;\n }\n}\n","import { Directive, HostListener } from \"@angular/core\";\r\nimport { MagicDirective } from \"@magic-xpa/angular\";\r\n\r\n\r\n/**\r\n * Directive for material-design listboxes not on material-design table\r\n */\r\n@Directive({\n selector: `mat-selection-list[magic]`,\n standalone: false\n})\r\nexport class MatListboxDirective{\r\n\r\n constructor(protected magicDirective: MagicDirective) {\r\n }\r\n\r\n /**\r\n * Handles the \"selectionChange\" event - pass it to the \"change\" event handler\r\n * @param $event\r\n */\r\n @HostListener('selectionChange', ['$event'])\r\n onChange($event) {\r\n this.magicDirective.task.onListBoxSelectionChanged($event, this.magicDirective.id);\r\n }\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\nimport { MagicDirective } from '@magic-xpa/angular';\r\n\r\n/**\r\n * Directive for material-design autocomplete not on material-design table\r\n */\r\n@Directive({\n selector: 'mat-autocomplete[magic]',\n standalone: false\n})\r\nexport class MatMagicAutocompleteDirective {\r\n\r\n @HostListener('opened', ['$event'])\r\n onOpenedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened++;\r\n }\r\n\r\n @HostListener('closed', ['$event'])\r\n onClosedChanged($event) {\r\n MagicDirective.noOfAutoCompleteBoxesOpened--;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatCheckboxDirective } from './directives/magic/form-controls/mat-magic-checkbox.directive';\r\nimport { MatComboboxDirective } from './directives/magic/form-controls/mat-magic-combobox.directive';\r\nimport { BaseMatTableMagicComponent } from './components/base-mat-table-magic.component';\r\nimport { EditableComboComponent } from './components/editable-combo-component';\r\nimport { MatListboxDirective } from './directives/magic/form-controls/mat-magic-listbox.directive';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MagicModule } from '@magic-xpa/angular';\r\nimport { MatMagicAutocompleteDirective } from './directives/magic/form-controls/mat-magic-autocomplete.directive';\r\nimport { MatAutocomplete, MatAutocompleteTrigger } from \"@angular/material/autocomplete\";\r\n\r\n\r\n/**\r\n * @ignore\r\n */\r\nexport const materialModules = [\r\n MatTableModule,\r\n MatPaginatorModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n MatListModule,\r\n MatCheckboxModule,\r\n MatTabsModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatAutocompleteTrigger,\r\n MatAutocomplete\r\n];\r\n\r\n/**\r\n * @ignore\r\n */\r\n@NgModule({\r\n declarations: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n exports: [\r\n MatCheckboxDirective,\r\n MatComboboxDirective,\r\n MatListboxDirective,\r\n MatMagicAutocompleteDirective,\r\n BaseMatTableMagicComponent,\r\n EditableComboComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ...materialModules,\r\n MagicModule,\r\n ReactiveFormsModule,\r\n ]\r\n})\r\nexport class MagicAngularMaterialModule {\r\n\r\n}\r\n","/**\n * @file Automatically generated by barrelsby.\n */\n\nexport * from \"./src/angular-material.module\";\nexport * from \"./src/components/base-mat-table-magic.component\";\nexport * from \"./src/components/editable-combo-component\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-autocomplete.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-checkbox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-combobox.directive\";\nexport * from \"./src/directives/magic/form-controls/mat-magic-listbox.directive\";\nexport * from \"./src/services/mat.magic.providers\";\nexport * from \"./src/services/mattable.magic.service\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magic-xpa/angular-material-core",
|
|
3
|
-
"version": "4.1300.0-dev4130.
|
|
3
|
+
"version": "4.1300.0-dev4130.60",
|
|
4
4
|
"license": "SEE LICENSE IN EULA.pdf",
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@angular/core": "^
|
|
7
|
-
"@angular/common": "^
|
|
8
|
-
"@angular/forms": "^
|
|
9
|
-
"@angular/material": "^
|
|
10
|
-
"@magic-xpa/angular": "4.1300.0-dev4130.
|
|
6
|
+
"@angular/core": "^21.1.4",
|
|
7
|
+
"@angular/common": "^21.1.4",
|
|
8
|
+
"@angular/forms": "^21.1.4",
|
|
9
|
+
"@angular/material": "^21.1.4",
|
|
10
|
+
"@magic-xpa/angular": "4.1300.0-dev4130.60"
|
|
11
11
|
},
|
|
12
12
|
"module": "fesm2022/magic-xpa-angular-material-core.mjs",
|
|
13
|
-
"typings": "
|
|
13
|
+
"typings": "types/magic-xpa-angular-material-core.d.ts",
|
|
14
14
|
"exports": {
|
|
15
15
|
"./package.json": {
|
|
16
16
|
"default": "./package.json"
|
|
17
17
|
},
|
|
18
18
|
".": {
|
|
19
|
-
"types": "./
|
|
19
|
+
"types": "./types/magic-xpa-angular-material-core.d.ts",
|
|
20
20
|
"default": "./fesm2022/magic-xpa-angular-material-core.mjs"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
@@ -25,6 +25,6 @@
|
|
|
25
25
|
"tslib": "^2.3.0"
|
|
26
26
|
},
|
|
27
27
|
"scripts": {
|
|
28
|
-
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled
|
|
28
|
+
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with partial compilation mode, before attempting to publish.\\n')\" && exit 1"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import * as _angular_material_core from '@angular/material/core';
|
|
2
|
+
import { MatNativeDateModule } from '@angular/material/core';
|
|
3
|
+
import * as i19 from '@angular/material/autocomplete';
|
|
4
|
+
import { MatAutocompleteSelectedEvent, MatAutocomplete, MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
5
|
+
import * as i0 from '@angular/core';
|
|
6
|
+
import { ElementRef, ChangeDetectorRef, OnInit } from '@angular/core';
|
|
7
|
+
import * as _magic_xpa_angular from '@magic-xpa/angular';
|
|
8
|
+
import { MagicDirective, TaskMagicService, ComboboxMagicDirective, TaskBaseMagicComponent, MagicServices, AccessorMagicService, TableMagicService, ComponentListMagicService } from '@magic-xpa/angular';
|
|
9
|
+
import { GuiCommand } from '@magic-xpa/gui';
|
|
10
|
+
import * as i14 from '@angular/material/checkbox';
|
|
11
|
+
import { MatCheckbox } from '@angular/material/checkbox';
|
|
12
|
+
import { MatSort } from '@angular/material/sort';
|
|
13
|
+
import * as i10 from '@angular/material/paginator';
|
|
14
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
15
|
+
import * as i8 from '@angular/forms';
|
|
16
|
+
import { ControlValueAccessor, FormGroup } from '@angular/forms';
|
|
17
|
+
import * as i7 from '@angular/common';
|
|
18
|
+
import * as i9 from '@angular/material/table';
|
|
19
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
20
|
+
import * as i11 from '@angular/material/input';
|
|
21
|
+
import * as i12 from '@angular/material/button';
|
|
22
|
+
import * as i13 from '@angular/material/list';
|
|
23
|
+
import * as i15 from '@angular/material/tabs';
|
|
24
|
+
import * as i16 from '@angular/material/select';
|
|
25
|
+
import * as i17 from '@angular/material/datepicker';
|
|
26
|
+
import { SelectionModel } from '@angular/cdk/collections';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Directive for material-design checkboxes not on material-design table
|
|
30
|
+
*/
|
|
31
|
+
declare class MatCheckboxDirective {
|
|
32
|
+
protected magicDirective: MagicDirective;
|
|
33
|
+
private matCheckbox;
|
|
34
|
+
protected task: TaskMagicService;
|
|
35
|
+
protected element: ElementRef;
|
|
36
|
+
threeState: boolean;
|
|
37
|
+
private subscribeRefreshDom;
|
|
38
|
+
private indeterminate;
|
|
39
|
+
/**
|
|
40
|
+
* @ignore
|
|
41
|
+
*/
|
|
42
|
+
constructor(magicDirective: MagicDirective, matCheckbox: MatCheckbox, task: TaskMagicService, element: ElementRef);
|
|
43
|
+
/**
|
|
44
|
+
* Handles the Checkbox 'change' event - pass it to the Magic engine
|
|
45
|
+
*/
|
|
46
|
+
onChange($event: Event): void;
|
|
47
|
+
ngOnInit(): void;
|
|
48
|
+
private regUpdatesUI;
|
|
49
|
+
handleCommand(command: GuiCommand): void;
|
|
50
|
+
private handleThreeState;
|
|
51
|
+
/**
|
|
52
|
+
* Cleanup
|
|
53
|
+
*/
|
|
54
|
+
ngOnDestroy(): void;
|
|
55
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatCheckboxDirective, never>;
|
|
56
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatCheckboxDirective, " mat-checkbox[magic]:not([noFormControl]) ", never, { "threeState": { "alias": "threeState"; "required": false; }; }, {}, never, never, false, never>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Directive for material-design comboboxes not on material-design table
|
|
61
|
+
*/
|
|
62
|
+
declare class MatComboboxDirective extends ComboboxMagicDirective {
|
|
63
|
+
/**
|
|
64
|
+
* Handles the "selectionChange" event - pass it to the "change" event handler
|
|
65
|
+
* @param $event
|
|
66
|
+
*/
|
|
67
|
+
onChange($event: any): void;
|
|
68
|
+
onOpenedChanged($event: any): void;
|
|
69
|
+
/**
|
|
70
|
+
* For mat-select do nothing
|
|
71
|
+
*/
|
|
72
|
+
onComboboxItemsListChanged(): void;
|
|
73
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatComboboxDirective, never>;
|
|
74
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatComboboxDirective, "mat-select[magic]", never, {}, {}, never, never, false, never>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Directive for material-design listboxes not on material-design table
|
|
79
|
+
*/
|
|
80
|
+
declare class MatListboxDirective {
|
|
81
|
+
protected magicDirective: MagicDirective;
|
|
82
|
+
constructor(magicDirective: MagicDirective);
|
|
83
|
+
/**
|
|
84
|
+
* Handles the "selectionChange" event - pass it to the "change" event handler
|
|
85
|
+
* @param $event
|
|
86
|
+
*/
|
|
87
|
+
onChange($event: any): void;
|
|
88
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatListboxDirective, never>;
|
|
89
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatListboxDirective, "mat-selection-list[magic]", never, {}, {}, never, never, false, never>;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Directive for material-design autocomplete not on material-design table
|
|
94
|
+
*/
|
|
95
|
+
declare class MatMagicAutocompleteDirective {
|
|
96
|
+
onOpenedChanged($event: any): void;
|
|
97
|
+
onClosedChanged($event: any): void;
|
|
98
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatMagicAutocompleteDirective, never>;
|
|
99
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatMagicAutocompleteDirective, "mat-autocomplete[magic]", never, {}, {}, never, never, false, never>;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* This component is the base component for forms which has a material-design table (grid)
|
|
104
|
+
*/
|
|
105
|
+
declare class BaseMatTableMagicComponent extends TaskBaseMagicComponent {
|
|
106
|
+
protected ref: ChangeDetectorRef;
|
|
107
|
+
magicService: MagicServices;
|
|
108
|
+
/**
|
|
109
|
+
* Paginator to enable changing pages in the table
|
|
110
|
+
*/
|
|
111
|
+
paginator: MatPaginator;
|
|
112
|
+
/**
|
|
113
|
+
* Provides the table sort capabilities
|
|
114
|
+
*/
|
|
115
|
+
sort: MatSort;
|
|
116
|
+
/**
|
|
117
|
+
* List of table columns to be displayed
|
|
118
|
+
*/
|
|
119
|
+
displayedColumns: any;
|
|
120
|
+
/**
|
|
121
|
+
* Table data source
|
|
122
|
+
*/
|
|
123
|
+
dataSource: any;
|
|
124
|
+
/**
|
|
125
|
+
* Provides selection options for the table
|
|
126
|
+
*/
|
|
127
|
+
selection: any;
|
|
128
|
+
/**
|
|
129
|
+
* @ignore
|
|
130
|
+
*/
|
|
131
|
+
constructor(ref: ChangeDetectorRef, magicService: MagicServices);
|
|
132
|
+
/**
|
|
133
|
+
* Initializer
|
|
134
|
+
*/
|
|
135
|
+
ngOnInit(): void;
|
|
136
|
+
/**
|
|
137
|
+
* AfterContentChecked implementation
|
|
138
|
+
*/
|
|
139
|
+
ngAfterContentChecked(): void;
|
|
140
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseMatTableMagicComponent, never>;
|
|
141
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BaseMatTableMagicComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
declare class EditableComboComponent implements ControlValueAccessor, OnInit {
|
|
145
|
+
magicServices: MagicServices;
|
|
146
|
+
/**
|
|
147
|
+
* @ignore
|
|
148
|
+
*/
|
|
149
|
+
controlId: string;
|
|
150
|
+
rowId: string;
|
|
151
|
+
combo_input: ElementRef;
|
|
152
|
+
/**
|
|
153
|
+
* @ignore
|
|
154
|
+
*/
|
|
155
|
+
set magic(val: string);
|
|
156
|
+
set rowId1(val: string);
|
|
157
|
+
placeholder: string;
|
|
158
|
+
formGroup: FormGroup;
|
|
159
|
+
private onChange;
|
|
160
|
+
private onTouched;
|
|
161
|
+
constructor(magicServices: MagicServices);
|
|
162
|
+
/**
|
|
163
|
+
* Returns the Magic accessor service
|
|
164
|
+
* @returns
|
|
165
|
+
*/
|
|
166
|
+
get mg(): AccessorMagicService;
|
|
167
|
+
/**
|
|
168
|
+
* Returns the Magic task service
|
|
169
|
+
* @returns
|
|
170
|
+
*/
|
|
171
|
+
get task(): TaskMagicService;
|
|
172
|
+
ngOnInit(): void;
|
|
173
|
+
writeValue(value: number): void;
|
|
174
|
+
registerOnChange(fn: (value: number) => void): void;
|
|
175
|
+
registerOnTouched(fn: () => void): void;
|
|
176
|
+
onBlur(): void;
|
|
177
|
+
onOptionSelected(event: MatAutocompleteSelectedEvent): void;
|
|
178
|
+
onOpened(): void;
|
|
179
|
+
onClosed(): void;
|
|
180
|
+
getFilteredListForChoiceControl(): Array<{
|
|
181
|
+
index: number;
|
|
182
|
+
displayValue: string;
|
|
183
|
+
}>;
|
|
184
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EditableComboComponent, never>;
|
|
185
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EditableComboComponent, "editable-combo", never, { "magic": { "alias": "magic"; "required": false; }; "rowId1": { "alias": "rowId"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, false, never>;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* @ignore
|
|
190
|
+
*/
|
|
191
|
+
declare const materialModules: (typeof MatNativeDateModule | typeof MatAutocomplete | typeof MatAutocompleteTrigger)[];
|
|
192
|
+
/**
|
|
193
|
+
* @ignore
|
|
194
|
+
*/
|
|
195
|
+
declare class MagicAngularMaterialModule {
|
|
196
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MagicAngularMaterialModule, never>;
|
|
197
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MagicAngularMaterialModule, [typeof MatCheckboxDirective, typeof MatComboboxDirective, typeof MatListboxDirective, typeof MatMagicAutocompleteDirective, typeof BaseMatTableMagicComponent, typeof EditableComboComponent], [typeof i7.CommonModule, typeof i8.FormsModule, typeof i9.MatTableModule, typeof i10.MatPaginatorModule, typeof i11.MatInputModule, typeof i12.MatButtonModule, typeof i13.MatListModule, typeof i14.MatCheckboxModule, typeof i15.MatTabsModule, typeof i16.MatSelectModule, typeof i17.MatDatepickerModule, typeof _angular_material_core.MatNativeDateModule, typeof i19.MatAutocompleteTrigger, typeof i19.MatAutocomplete, typeof _magic_xpa_angular.MagicModule, typeof i8.ReactiveFormsModule], [typeof MatCheckboxDirective, typeof MatComboboxDirective, typeof MatListboxDirective, typeof MatMagicAutocompleteDirective, typeof BaseMatTableMagicComponent, typeof EditableComboComponent]>;
|
|
198
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<MagicAngularMaterialModule>;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Extends the Magic table service to supply functionality for Material Design tables
|
|
203
|
+
*/
|
|
204
|
+
declare class MgMatTableService extends TableMagicService {
|
|
205
|
+
protected componentList: ComponentListMagicService;
|
|
206
|
+
protected task: TaskMagicService;
|
|
207
|
+
/**
|
|
208
|
+
* Table data source
|
|
209
|
+
*/
|
|
210
|
+
dataSource: MatTableDataSource<Element>;
|
|
211
|
+
/**
|
|
212
|
+
* @ignore
|
|
213
|
+
*/
|
|
214
|
+
get DataSource(): MatTableDataSource<Element>;
|
|
215
|
+
/**
|
|
216
|
+
* @ignore
|
|
217
|
+
*/
|
|
218
|
+
set DataSource(dataSource: MatTableDataSource<Element>);
|
|
219
|
+
/**
|
|
220
|
+
* Provides selection options for the table
|
|
221
|
+
*/
|
|
222
|
+
selection: SelectionModel<Element>;
|
|
223
|
+
/**
|
|
224
|
+
* @ignore
|
|
225
|
+
*/
|
|
226
|
+
get Selection(): SelectionModel<Element>;
|
|
227
|
+
/**
|
|
228
|
+
* @ignore
|
|
229
|
+
*/
|
|
230
|
+
set Selection(selection: SelectionModel<Element>);
|
|
231
|
+
/**
|
|
232
|
+
* Paginator to enable changing pages in the table
|
|
233
|
+
*/
|
|
234
|
+
paginator: MatPaginator;
|
|
235
|
+
/**
|
|
236
|
+
* @ignore
|
|
237
|
+
*/
|
|
238
|
+
get Paginator(): MatPaginator;
|
|
239
|
+
/**
|
|
240
|
+
* @ignore
|
|
241
|
+
*/
|
|
242
|
+
set Paginator(paginator: MatPaginator);
|
|
243
|
+
/**
|
|
244
|
+
* @ignore
|
|
245
|
+
*/
|
|
246
|
+
constructor(componentList: ComponentListMagicService, task: TaskMagicService);
|
|
247
|
+
/**
|
|
248
|
+
* Connects the service to the elements of the table component
|
|
249
|
+
* @param dataSource Table data source
|
|
250
|
+
* @param paginator Table paginator
|
|
251
|
+
* @param selection table SelectionModel
|
|
252
|
+
*/
|
|
253
|
+
connect(dataSource: MatTableDataSource<Element>, paginator: MatPaginator, selection: SelectionModel<Element>): void;
|
|
254
|
+
/**
|
|
255
|
+
* @ignore
|
|
256
|
+
*/
|
|
257
|
+
refreshDataSource(): void;
|
|
258
|
+
/**
|
|
259
|
+
* returns the page size of the table
|
|
260
|
+
* @returns
|
|
261
|
+
*/
|
|
262
|
+
getPageSize(): number;
|
|
263
|
+
/**
|
|
264
|
+
* Selects a table row
|
|
265
|
+
* @param guiRowid Id of row to be selected
|
|
266
|
+
*/
|
|
267
|
+
selectRow(guiRowid: string): void;
|
|
268
|
+
/**
|
|
269
|
+
* Displays the requested table page
|
|
270
|
+
* @param pageId Id of page to be selected
|
|
271
|
+
*/
|
|
272
|
+
selectPage(pageId: number): void;
|
|
273
|
+
/**
|
|
274
|
+
* Returns the currently seleted row
|
|
275
|
+
* @returns
|
|
276
|
+
*/
|
|
277
|
+
selectedRow(): any;
|
|
278
|
+
/**
|
|
279
|
+
* Handle the paginator's "page" event
|
|
280
|
+
* @param e The event received from the UI
|
|
281
|
+
* @param changeSelectedRow The flag true or false to indicate change the row
|
|
282
|
+
*/
|
|
283
|
+
mgOnPaginateChange(e: any, changeSelectedRow?: boolean): void;
|
|
284
|
+
/**
|
|
285
|
+
* Handle resize and set table top index.
|
|
286
|
+
* @param pageIndex : New page index.
|
|
287
|
+
* @param prevPageIndex : Prev page index
|
|
288
|
+
* @param pageSize : PageSize
|
|
289
|
+
*/
|
|
290
|
+
handleResize(pageIndex: number, prevPageIndex: number, pageSize: number): void;
|
|
291
|
+
/**
|
|
292
|
+
* Execute getRows to fetch required chunk of records.
|
|
293
|
+
* @param pageIndex : New page index.
|
|
294
|
+
* @param prevPageIndex : Prev page index
|
|
295
|
+
* @param pageSize : PageSize
|
|
296
|
+
*/
|
|
297
|
+
getRowsIfNeeded(pageIndex: number, prevPageIndex: number, pageSize: number): void;
|
|
298
|
+
/**
|
|
299
|
+
* Handles the "matSortChange" event
|
|
300
|
+
* @param e The event received from the UI
|
|
301
|
+
*/
|
|
302
|
+
sortData(e: any): void;
|
|
303
|
+
/**
|
|
304
|
+
* Change the number of lines in a table
|
|
305
|
+
* @param size New number of lines in table
|
|
306
|
+
*/
|
|
307
|
+
updateTableSize(size: number): void;
|
|
308
|
+
/**
|
|
309
|
+
* Handle the selection of row and if needed move to respective page.
|
|
310
|
+
* @param guiRowId New number of lines in table
|
|
311
|
+
*/
|
|
312
|
+
protected selectPageForGuiRowId(guiRowId: number): void;
|
|
313
|
+
/**
|
|
314
|
+
* @ignore
|
|
315
|
+
*/
|
|
316
|
+
setTableTopIndex(value: number): void;
|
|
317
|
+
/**
|
|
318
|
+
* @ignore
|
|
319
|
+
*/
|
|
320
|
+
getTableTopIndex(): number;
|
|
321
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MgMatTableService, never>;
|
|
322
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MgMatTableService>;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* @ignore
|
|
327
|
+
*/
|
|
328
|
+
declare const matMagicProviders: (typeof _magic_xpa_angular.SubformMagicService | typeof _magic_xpa_angular.TitleMagicService | typeof _magic_xpa_angular.AccessorMagicService | typeof _magic_xpa_angular.TaskMagicService | typeof _magic_xpa_angular.MagicServices | ({
|
|
329
|
+
provide: typeof _angular_material_core.DateAdapter;
|
|
330
|
+
useClass: typeof _magic_xpa_angular.MgDateAdapter;
|
|
331
|
+
useValue?: undefined;
|
|
332
|
+
} | {
|
|
333
|
+
provide: i0.InjectionToken<_angular_material_core.MatDateFormats>;
|
|
334
|
+
useValue: {
|
|
335
|
+
parse: {
|
|
336
|
+
dateInput: {
|
|
337
|
+
month: string;
|
|
338
|
+
year: string;
|
|
339
|
+
day: string;
|
|
340
|
+
};
|
|
341
|
+
};
|
|
342
|
+
display: {
|
|
343
|
+
dateInput: string;
|
|
344
|
+
monthYearLabel: {
|
|
345
|
+
year: string;
|
|
346
|
+
month: string;
|
|
347
|
+
};
|
|
348
|
+
dateA11yLabel: {
|
|
349
|
+
year: string;
|
|
350
|
+
month: string;
|
|
351
|
+
day: string;
|
|
352
|
+
};
|
|
353
|
+
monthYearA11yLabel: {
|
|
354
|
+
year: string;
|
|
355
|
+
month: string;
|
|
356
|
+
};
|
|
357
|
+
};
|
|
358
|
+
};
|
|
359
|
+
useClass?: undefined;
|
|
360
|
+
})[] | {
|
|
361
|
+
provide: typeof TableMagicService;
|
|
362
|
+
useClass: typeof MgMatTableService;
|
|
363
|
+
})[];
|
|
364
|
+
|
|
365
|
+
export { BaseMatTableMagicComponent, EditableComboComponent, MagicAngularMaterialModule, MatCheckboxDirective, MatComboboxDirective, MatListboxDirective, MatMagicAutocompleteDirective, MgMatTableService, matMagicProviders, materialModules };
|
package/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Automatically generated by barrelsby.
|
|
3
|
-
*/
|
|
4
|
-
export * from "./src/angular-material.module";
|
|
5
|
-
export * from "./src/components/base-mat-table-magic.component";
|
|
6
|
-
export * from "./src/components/editable-combo-component";
|
|
7
|
-
export * from "./src/directives/magic/form-controls/mat-magic-autocomplete.directive";
|
|
8
|
-
export * from "./src/directives/magic/form-controls/mat-magic-checkbox.directive";
|
|
9
|
-
export * from "./src/directives/magic/form-controls/mat-magic-combobox.directive";
|
|
10
|
-
export * from "./src/directives/magic/form-controls/mat-magic-listbox.directive";
|
|
11
|
-
export * from "./src/services/mat.magic.providers";
|
|
12
|
-
export * from "./src/services/mattable.magic.service";
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { MatNativeDateModule } from '@angular/material/core';
|
|
2
|
-
import { MatAutocomplete, MatAutocompleteTrigger } from "@angular/material/autocomplete";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./directives/magic/form-controls/mat-magic-checkbox.directive";
|
|
5
|
-
import * as i2 from "./directives/magic/form-controls/mat-magic-combobox.directive";
|
|
6
|
-
import * as i3 from "./directives/magic/form-controls/mat-magic-listbox.directive";
|
|
7
|
-
import * as i4 from "./directives/magic/form-controls/mat-magic-autocomplete.directive";
|
|
8
|
-
import * as i5 from "./components/base-mat-table-magic.component";
|
|
9
|
-
import * as i6 from "./components/editable-combo-component";
|
|
10
|
-
import * as i7 from "@angular/common";
|
|
11
|
-
import * as i8 from "@angular/forms";
|
|
12
|
-
import * as i9 from "@angular/material/table";
|
|
13
|
-
import * as i10 from "@angular/material/paginator";
|
|
14
|
-
import * as i11 from "@angular/material/input";
|
|
15
|
-
import * as i12 from "@angular/material/button";
|
|
16
|
-
import * as i13 from "@angular/material/list";
|
|
17
|
-
import * as i14 from "@angular/material/checkbox";
|
|
18
|
-
import * as i15 from "@angular/material/tabs";
|
|
19
|
-
import * as i16 from "@angular/material/select";
|
|
20
|
-
import * as i17 from "@angular/material/datepicker";
|
|
21
|
-
import * as i18 from "@angular/material/core";
|
|
22
|
-
import * as i19 from "@angular/material/autocomplete";
|
|
23
|
-
import * as i20 from "@magic-xpa/angular";
|
|
24
|
-
/**
|
|
25
|
-
* @ignore
|
|
26
|
-
*/
|
|
27
|
-
export declare const materialModules: (typeof MatNativeDateModule | typeof MatAutocomplete | typeof MatAutocompleteTrigger)[];
|
|
28
|
-
/**
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
export declare class MagicAngularMaterialModule {
|
|
32
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MagicAngularMaterialModule, never>;
|
|
33
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<MagicAngularMaterialModule, [typeof i1.MatCheckboxDirective, typeof i2.MatComboboxDirective, typeof i3.MatListboxDirective, typeof i4.MatMagicAutocompleteDirective, typeof i5.BaseMatTableMagicComponent, typeof i6.EditableComboComponent], [typeof i7.CommonModule, typeof i8.FormsModule, typeof i9.MatTableModule, typeof i10.MatPaginatorModule, typeof i11.MatInputModule, typeof i12.MatButtonModule, typeof i13.MatListModule, typeof i14.MatCheckboxModule, typeof i15.MatTabsModule, typeof i16.MatSelectModule, typeof i17.MatDatepickerModule, typeof i18.MatNativeDateModule, typeof i19.MatAutocompleteTrigger, typeof i19.MatAutocomplete, typeof i20.MagicModule, typeof i8.ReactiveFormsModule], [typeof i1.MatCheckboxDirective, typeof i2.MatComboboxDirective, typeof i3.MatListboxDirective, typeof i4.MatMagicAutocompleteDirective, typeof i5.BaseMatTableMagicComponent, typeof i6.EditableComboComponent]>;
|
|
34
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<MagicAngularMaterialModule>;
|
|
35
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { MagicServices, TaskBaseMagicComponent } from '@magic-xpa/angular';
|
|
2
|
-
import { MatSort } from '@angular/material/sort';
|
|
3
|
-
import { ChangeDetectorRef } from '@angular/core';
|
|
4
|
-
import { MatPaginator } from '@angular/material/paginator';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* This component is the base component for forms which has a material-design table (grid)
|
|
8
|
-
*/
|
|
9
|
-
export declare class BaseMatTableMagicComponent extends TaskBaseMagicComponent {
|
|
10
|
-
protected ref: ChangeDetectorRef;
|
|
11
|
-
magicService: MagicServices;
|
|
12
|
-
/**
|
|
13
|
-
* Paginator to enable changing pages in the table
|
|
14
|
-
*/
|
|
15
|
-
paginator: MatPaginator;
|
|
16
|
-
/**
|
|
17
|
-
* Provides the table sort capabilities
|
|
18
|
-
*/
|
|
19
|
-
sort: MatSort;
|
|
20
|
-
/**
|
|
21
|
-
* List of table columns to be displayed
|
|
22
|
-
*/
|
|
23
|
-
displayedColumns: any;
|
|
24
|
-
/**
|
|
25
|
-
* Table data source
|
|
26
|
-
*/
|
|
27
|
-
dataSource: any;
|
|
28
|
-
/**
|
|
29
|
-
* Provides selection options for the table
|
|
30
|
-
*/
|
|
31
|
-
selection: any;
|
|
32
|
-
/**
|
|
33
|
-
* @ignore
|
|
34
|
-
*/
|
|
35
|
-
constructor(ref: ChangeDetectorRef, magicService: MagicServices);
|
|
36
|
-
/**
|
|
37
|
-
* Initializer
|
|
38
|
-
*/
|
|
39
|
-
ngOnInit(): void;
|
|
40
|
-
/**
|
|
41
|
-
* AfterContentChecked implementation
|
|
42
|
-
*/
|
|
43
|
-
ngAfterContentChecked(): void;
|
|
44
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BaseMatTableMagicComponent, never>;
|
|
45
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BaseMatTableMagicComponent, "ng-component", never, {}, {}, never, never, false, never>;
|
|
46
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { ElementRef, OnInit } from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor, FormGroup } from '@angular/forms';
|
|
3
|
-
import { AccessorMagicService, MagicServices, TaskMagicService } from "@magic-xpa/angular";
|
|
4
|
-
import { MatAutocompleteSelectedEvent } from "@angular/material/autocomplete";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class EditableComboComponent implements ControlValueAccessor, OnInit {
|
|
7
|
-
magicServices: MagicServices;
|
|
8
|
-
/**
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
controlId: string;
|
|
12
|
-
rowId: string;
|
|
13
|
-
combo_input: ElementRef;
|
|
14
|
-
/**
|
|
15
|
-
* @ignore
|
|
16
|
-
*/
|
|
17
|
-
set magic(val: string);
|
|
18
|
-
set rowId1(val: string);
|
|
19
|
-
placeholder: string;
|
|
20
|
-
formGroup: FormGroup;
|
|
21
|
-
private onChange;
|
|
22
|
-
private onTouched;
|
|
23
|
-
constructor(magicServices: MagicServices);
|
|
24
|
-
/**
|
|
25
|
-
* Returns the Magic accessor service
|
|
26
|
-
* @returns
|
|
27
|
-
*/
|
|
28
|
-
get mg(): AccessorMagicService;
|
|
29
|
-
/**
|
|
30
|
-
* Returns the Magic task service
|
|
31
|
-
* @returns
|
|
32
|
-
*/
|
|
33
|
-
get task(): TaskMagicService;
|
|
34
|
-
ngOnInit(): void;
|
|
35
|
-
writeValue(value: number): void;
|
|
36
|
-
registerOnChange(fn: (value: number) => void): void;
|
|
37
|
-
registerOnTouched(fn: () => void): void;
|
|
38
|
-
onBlur(): void;
|
|
39
|
-
onOptionSelected(event: MatAutocompleteSelectedEvent): void;
|
|
40
|
-
onOpened(): void;
|
|
41
|
-
onClosed(): void;
|
|
42
|
-
getFilteredListForChoiceControl(): Array<{
|
|
43
|
-
index: number;
|
|
44
|
-
displayValue: string;
|
|
45
|
-
}>;
|
|
46
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EditableComboComponent, never>;
|
|
47
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EditableComboComponent, "editable-combo", never, { "magic": { "alias": "magic"; "required": false; }; "rowId1": { "alias": "rowId"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, false, never>;
|
|
48
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* Directive for material-design autocomplete not on material-design table
|
|
4
|
-
*/
|
|
5
|
-
export declare class MatMagicAutocompleteDirective {
|
|
6
|
-
onOpenedChanged($event: any): void;
|
|
7
|
-
onClosedChanged($event: any): void;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MatMagicAutocompleteDirective, never>;
|
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatMagicAutocompleteDirective, "mat-autocomplete[magic]", never, {}, {}, never, never, false, never>;
|
|
10
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ElementRef } from "@angular/core";
|
|
2
|
-
import { MagicDirective, TaskMagicService } from "@magic-xpa/angular";
|
|
3
|
-
import { GuiCommand } from "@magic-xpa/gui";
|
|
4
|
-
import { MatCheckbox } from "@angular/material/checkbox";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Directive for material-design checkboxes not on material-design table
|
|
8
|
-
*/
|
|
9
|
-
export declare class MatCheckboxDirective {
|
|
10
|
-
protected magicDirective: MagicDirective;
|
|
11
|
-
private matCheckbox;
|
|
12
|
-
protected task: TaskMagicService;
|
|
13
|
-
protected element: ElementRef;
|
|
14
|
-
threeState: boolean;
|
|
15
|
-
private subscribeRefreshDom;
|
|
16
|
-
private indeterminate;
|
|
17
|
-
/**
|
|
18
|
-
* @ignore
|
|
19
|
-
*/
|
|
20
|
-
constructor(magicDirective: MagicDirective, matCheckbox: MatCheckbox, task: TaskMagicService, element: ElementRef);
|
|
21
|
-
/**
|
|
22
|
-
* Handles the Checkbox 'change' event - pass it to the Magic engine
|
|
23
|
-
*/
|
|
24
|
-
onChange($event: Event): void;
|
|
25
|
-
ngOnInit(): void;
|
|
26
|
-
private regUpdatesUI;
|
|
27
|
-
handleCommand(command: GuiCommand): void;
|
|
28
|
-
private handleThreeState;
|
|
29
|
-
/**
|
|
30
|
-
* Cleanup
|
|
31
|
-
*/
|
|
32
|
-
ngOnDestroy(): void;
|
|
33
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MatCheckboxDirective, never>;
|
|
34
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatCheckboxDirective, " mat-checkbox[magic]:not([noFormControl]) ", never, { "threeState": { "alias": "threeState"; "required": false; }; }, {}, never, never, false, never>;
|
|
35
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ComboboxMagicDirective } from "@magic-xpa/angular";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive for material-design comboboxes not on material-design table
|
|
5
|
-
*/
|
|
6
|
-
export declare class MatComboboxDirective extends ComboboxMagicDirective {
|
|
7
|
-
/**
|
|
8
|
-
* Handles the "selectionChange" event - pass it to the "change" event handler
|
|
9
|
-
* @param $event
|
|
10
|
-
*/
|
|
11
|
-
onChange($event: any): void;
|
|
12
|
-
onOpenedChanged($event: any): void;
|
|
13
|
-
/**
|
|
14
|
-
* For mat-select do nothing
|
|
15
|
-
*/
|
|
16
|
-
onComboboxItemsListChanged(): void;
|
|
17
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MatComboboxDirective, never>;
|
|
18
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatComboboxDirective, "mat-select[magic]", never, {}, {}, never, never, false, never>;
|
|
19
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { MagicDirective } from "@magic-xpa/angular";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Directive for material-design listboxes not on material-design table
|
|
5
|
-
*/
|
|
6
|
-
export declare class MatListboxDirective {
|
|
7
|
-
protected magicDirective: MagicDirective;
|
|
8
|
-
constructor(magicDirective: MagicDirective);
|
|
9
|
-
/**
|
|
10
|
-
* Handles the "selectionChange" event - pass it to the "change" event handler
|
|
11
|
-
* @param $event
|
|
12
|
-
*/
|
|
13
|
-
onChange($event: any): void;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MatListboxDirective, never>;
|
|
15
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatListboxDirective, "mat-selection-list[magic]", never, {}, {}, never, never, false, never>;
|
|
16
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { TableMagicService } from "@magic-xpa/angular";
|
|
2
|
-
import { MgMatTableService } from "./mattable.magic.service";
|
|
3
|
-
/**
|
|
4
|
-
* @ignore
|
|
5
|
-
*/
|
|
6
|
-
export declare const matMagicProviders: (typeof import("@magic-xpa/angular").SubformMagicService | typeof import("@magic-xpa/angular").TitleMagicService | typeof import("@magic-xpa/angular").AccessorMagicService | typeof import("@magic-xpa/angular").TaskMagicService | typeof import("@magic-xpa/angular").MagicServices | ({
|
|
7
|
-
provide: typeof import("@angular/material/date-adapter.d-CtKXIxk0").D;
|
|
8
|
-
useClass: typeof import("@magic-xpa/angular").MgDateAdapter;
|
|
9
|
-
useValue?: undefined;
|
|
10
|
-
} | {
|
|
11
|
-
provide: import("@angular/core").InjectionToken<import("@angular/material/core").MatDateFormats>;
|
|
12
|
-
useValue: {
|
|
13
|
-
parse: {
|
|
14
|
-
dateInput: {
|
|
15
|
-
month: string;
|
|
16
|
-
year: string;
|
|
17
|
-
day: string;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
display: {
|
|
21
|
-
dateInput: string;
|
|
22
|
-
monthYearLabel: {
|
|
23
|
-
year: string;
|
|
24
|
-
month: string;
|
|
25
|
-
};
|
|
26
|
-
dateA11yLabel: {
|
|
27
|
-
year: string;
|
|
28
|
-
month: string;
|
|
29
|
-
day: string;
|
|
30
|
-
};
|
|
31
|
-
monthYearA11yLabel: {
|
|
32
|
-
year: string;
|
|
33
|
-
month: string;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
useClass?: undefined;
|
|
38
|
-
})[] | {
|
|
39
|
-
provide: typeof TableMagicService;
|
|
40
|
-
useClass: typeof MgMatTableService;
|
|
41
|
-
})[];
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { SelectionModel } from "@angular/cdk/collections";
|
|
2
|
-
import { TaskMagicService, ComponentListMagicService } from "@magic-xpa/angular";
|
|
3
|
-
import { TableMagicService } from "@magic-xpa/angular";
|
|
4
|
-
import { MatTableDataSource } from '@angular/material/table';
|
|
5
|
-
import { MatPaginator } from '@angular/material/paginator';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
/**
|
|
8
|
-
* Extends the Magic table service to supply functionality for Material Design tables
|
|
9
|
-
*/
|
|
10
|
-
export declare class MgMatTableService extends TableMagicService {
|
|
11
|
-
protected componentList: ComponentListMagicService;
|
|
12
|
-
protected task: TaskMagicService;
|
|
13
|
-
/**
|
|
14
|
-
* Table data source
|
|
15
|
-
*/
|
|
16
|
-
dataSource: MatTableDataSource<Element>;
|
|
17
|
-
/**
|
|
18
|
-
* @ignore
|
|
19
|
-
*/
|
|
20
|
-
get DataSource(): MatTableDataSource<Element>;
|
|
21
|
-
/**
|
|
22
|
-
* @ignore
|
|
23
|
-
*/
|
|
24
|
-
set DataSource(dataSource: MatTableDataSource<Element>);
|
|
25
|
-
/**
|
|
26
|
-
* Provides selection options for the table
|
|
27
|
-
*/
|
|
28
|
-
selection: SelectionModel<Element>;
|
|
29
|
-
/**
|
|
30
|
-
* @ignore
|
|
31
|
-
*/
|
|
32
|
-
get Selection(): SelectionModel<Element>;
|
|
33
|
-
/**
|
|
34
|
-
* @ignore
|
|
35
|
-
*/
|
|
36
|
-
set Selection(selection: SelectionModel<Element>);
|
|
37
|
-
/**
|
|
38
|
-
* Paginator to enable changing pages in the table
|
|
39
|
-
*/
|
|
40
|
-
paginator: MatPaginator;
|
|
41
|
-
/**
|
|
42
|
-
* @ignore
|
|
43
|
-
*/
|
|
44
|
-
get Paginator(): MatPaginator;
|
|
45
|
-
/**
|
|
46
|
-
* @ignore
|
|
47
|
-
*/
|
|
48
|
-
set Paginator(paginator: MatPaginator);
|
|
49
|
-
/**
|
|
50
|
-
* @ignore
|
|
51
|
-
*/
|
|
52
|
-
constructor(componentList: ComponentListMagicService, task: TaskMagicService);
|
|
53
|
-
/**
|
|
54
|
-
* Connects the service to the elements of the table component
|
|
55
|
-
* @param dataSource Table data source
|
|
56
|
-
* @param paginator Table paginator
|
|
57
|
-
* @param selection table SelectionModel
|
|
58
|
-
*/
|
|
59
|
-
connect(dataSource: MatTableDataSource<Element>, paginator: MatPaginator, selection: SelectionModel<Element>): void;
|
|
60
|
-
/**
|
|
61
|
-
* @ignore
|
|
62
|
-
*/
|
|
63
|
-
refreshDataSource(): void;
|
|
64
|
-
/**
|
|
65
|
-
* returns the page size of the table
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
getPageSize(): number;
|
|
69
|
-
/**
|
|
70
|
-
* Selects a table row
|
|
71
|
-
* @param guiRowid Id of row to be selected
|
|
72
|
-
*/
|
|
73
|
-
selectRow(guiRowid: string): void;
|
|
74
|
-
/**
|
|
75
|
-
* Displays the requested table page
|
|
76
|
-
* @param pageId Id of page to be selected
|
|
77
|
-
*/
|
|
78
|
-
selectPage(pageId: number): void;
|
|
79
|
-
/**
|
|
80
|
-
* Returns the currently seleted row
|
|
81
|
-
* @returns
|
|
82
|
-
*/
|
|
83
|
-
selectedRow(): any;
|
|
84
|
-
/**
|
|
85
|
-
* Handle the paginator's "page" event
|
|
86
|
-
* @param e The event received from the UI
|
|
87
|
-
* @param changeSelectedRow The flag true or false to indicate change the row
|
|
88
|
-
*/
|
|
89
|
-
mgOnPaginateChange(e: any, changeSelectedRow?: boolean): void;
|
|
90
|
-
/**
|
|
91
|
-
* Handle resize and set table top index.
|
|
92
|
-
* @param pageIndex : New page index.
|
|
93
|
-
* @param prevPageIndex : Prev page index
|
|
94
|
-
* @param pageSize : PageSize
|
|
95
|
-
*/
|
|
96
|
-
handleResize(pageIndex: number, prevPageIndex: number, pageSize: number): void;
|
|
97
|
-
/**
|
|
98
|
-
* Execute getRows to fetch required chunk of records.
|
|
99
|
-
* @param pageIndex : New page index.
|
|
100
|
-
* @param prevPageIndex : Prev page index
|
|
101
|
-
* @param pageSize : PageSize
|
|
102
|
-
*/
|
|
103
|
-
getRowsIfNeeded(pageIndex: number, prevPageIndex: number, pageSize: number): void;
|
|
104
|
-
/**
|
|
105
|
-
* Handles the "matSortChange" event
|
|
106
|
-
* @param e The event received from the UI
|
|
107
|
-
*/
|
|
108
|
-
sortData(e: any): void;
|
|
109
|
-
/**
|
|
110
|
-
* Change the number of lines in a table
|
|
111
|
-
* @param size New number of lines in table
|
|
112
|
-
*/
|
|
113
|
-
updateTableSize(size: number): void;
|
|
114
|
-
/**
|
|
115
|
-
* Handle the selection of row and if needed move to respective page.
|
|
116
|
-
* @param guiRowId New number of lines in table
|
|
117
|
-
*/
|
|
118
|
-
protected selectPageForGuiRowId(guiRowId: number): void;
|
|
119
|
-
/**
|
|
120
|
-
* @ignore
|
|
121
|
-
*/
|
|
122
|
-
setTableTopIndex(value: number): void;
|
|
123
|
-
/**
|
|
124
|
-
* @ignore
|
|
125
|
-
*/
|
|
126
|
-
getTableTopIndex(): number;
|
|
127
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MgMatTableService, never>;
|
|
128
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<MgMatTableService>;
|
|
129
|
-
}
|