sf-crud 12.0.1-beta1 → 12.0.1-beta3
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/README.md +24 -24
- package/bundles/sf-crud.umd.js +75 -25
- package/bundles/sf-crud.umd.js.map +1 -1
- package/esm2015/lib/components/control/control.component.js +36 -9
- package/esm2015/lib/components/registro/registro.component.js +25 -3
- package/esm2015/lib/components/tablero/tablero.component.js +3 -3
- package/esm2015/lib/sf-crud.component.js +9 -9
- package/esm2015/lib/sf-crud.module.js +1 -1
- package/esm2015/lib/sf-crud.service.js +1 -1
- package/esm2015/lib/shared/services/models/shema.model.js +2 -1
- package/esm2015/public-api.js +1 -1
- package/fesm2015/sf-crud.js +68 -20
- package/fesm2015/sf-crud.js.map +1 -1
- package/lib/components/control/control.component.d.ts +9 -2
- package/lib/components/registro/registro.component.d.ts +1 -0
- package/lib/components/tablero/tablero.component.d.ts +1 -1
- package/lib/shared/services/models/shema.model.d.ts +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# SfCrud
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project sf-crud` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project sf-crud`.
|
|
8
|
-
> Note: Don't forget to add `--project sf-crud` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build sf-crud` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build sf-crud`, go to the dist folder `cd dist/sf-crud` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test sf-crud` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# SfCrud
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project sf-crud` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project sf-crud`.
|
|
8
|
+
> Note: Don't forget to add `--project sf-crud` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build sf-crud` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build sf-crud`, go to the dist folder `cd dist/sf-crud` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test sf-crud` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
package/bundles/sf-crud.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common/http'), require('@angular/router'), require('primeng/blockui'), require('primeng/toolbar'), require('primeng/table'), require('@angular/common'), require('primeng/api'), require('primeng/button'), require('primeng/ripple'), require('primeng/inputtext'), require('primeng/tooltip'), require('jsonpath'), require('primeng/toast'), require('primeng/dropdown'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('sf-crud', ['exports', '@angular/core', '@angular/common/http', '@angular/router', 'primeng/blockui', 'primeng/toolbar', 'primeng/table', '@angular/common', 'primeng/api', 'primeng/button', 'primeng/ripple', 'primeng/inputtext', 'primeng/tooltip', 'jsonpath', 'primeng/toast', 'primeng/dropdown', '@angular/forms', 'primeng/accordion', 'primeng/avatar', 'primeng/avatargroup', 'primeng/badge', 'primeng/breadcrumb', 'primeng/
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["sf-crud"] = {}, global.ng.core, global.ng.common.http, global.ng.router, global.i3, global.i4, global.i5, global.ng.common, global.i3$1, global.i8, global.i9, global.i10, global.i11, global.jsonpath, global.i5$1, global.
|
|
5
|
-
})(this, (function (exports, i0, i1, i2, i3, i4, i5, i7, i3$1, i8, i9, i10, i11, jsonpath, i5$1,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common/http'), require('@angular/router'), require('primeng/blockui'), require('primeng/toolbar'), require('primeng/table'), require('@angular/common'), require('primeng/api'), require('primeng/button'), require('primeng/ripple'), require('primeng/inputtext'), require('primeng/tooltip'), require('jsonpath'), require('primeng/toast'), require('primeng/dropdown'), require('primeng/calendar'), require('primeng/inputnumber'), require('@angular/forms'), require('primeng/accordion'), require('primeng/avatar'), require('primeng/avatargroup'), require('primeng/badge'), require('primeng/breadcrumb'), require('primeng/card'), require('primeng/carousel'), require('primeng/cascadeselect'), require('primeng/checkbox'), require('primeng/chip'), require('primeng/chips'), require('primeng/codehighlighter'), require('primeng/confirmdialog'), require('primeng/confirmpopup'), require('primeng/colorpicker'), require('primeng/contextmenu'), require('primeng/dialog'), require('primeng/divider'), require('primeng/fieldset'), require('primeng/fileupload'), require('primeng/galleria'), require('primeng/inplace'), require('primeng/inputmask'), require('primeng/inputswitch'), require('primeng/inputtextarea'), require('primeng/knob'), require('primeng/lightbox'), require('primeng/listbox'), require('primeng/megamenu'), require('primeng/menu'), require('primeng/menubar'), require('primeng/messages'), require('primeng/message'), require('primeng/multiselect'), require('primeng/organizationchart'), require('primeng/overlaypanel'), require('primeng/panel'), require('primeng/panelmenu'), require('primeng/password'), require('primeng/progressbar'), require('primeng/radiobutton'), require('primeng/rating'), require('primeng/scrollpanel'), require('primeng/scrolltop'), require('primeng/selectbutton'), require('primeng/sidebar'), require('primeng/skeleton'), require('primeng/slidemenu'), require('primeng/slider'), require('primeng/splitter'), require('primeng/steps'), require('primeng/tabmenu'), require('primeng/tabview'), require('primeng/tag'), require('primeng/terminal'), require('primeng/tieredmenu'), require('primeng/timeline'), require('primeng/togglebutton'), require('primeng/tree')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('sf-crud', ['exports', '@angular/core', '@angular/common/http', '@angular/router', 'primeng/blockui', 'primeng/toolbar', 'primeng/table', '@angular/common', 'primeng/api', 'primeng/button', 'primeng/ripple', 'primeng/inputtext', 'primeng/tooltip', 'jsonpath', 'primeng/toast', 'primeng/dropdown', 'primeng/calendar', 'primeng/inputnumber', '@angular/forms', 'primeng/accordion', 'primeng/avatar', 'primeng/avatargroup', 'primeng/badge', 'primeng/breadcrumb', 'primeng/card', 'primeng/carousel', 'primeng/cascadeselect', 'primeng/checkbox', 'primeng/chip', 'primeng/chips', 'primeng/codehighlighter', 'primeng/confirmdialog', 'primeng/confirmpopup', 'primeng/colorpicker', 'primeng/contextmenu', 'primeng/dialog', 'primeng/divider', 'primeng/fieldset', 'primeng/fileupload', 'primeng/galleria', 'primeng/inplace', 'primeng/inputmask', 'primeng/inputswitch', 'primeng/inputtextarea', 'primeng/knob', 'primeng/lightbox', 'primeng/listbox', 'primeng/megamenu', 'primeng/menu', 'primeng/menubar', 'primeng/messages', 'primeng/message', 'primeng/multiselect', 'primeng/organizationchart', 'primeng/overlaypanel', 'primeng/panel', 'primeng/panelmenu', 'primeng/password', 'primeng/progressbar', 'primeng/radiobutton', 'primeng/rating', 'primeng/scrollpanel', 'primeng/scrolltop', 'primeng/selectbutton', 'primeng/sidebar', 'primeng/skeleton', 'primeng/slidemenu', 'primeng/slider', 'primeng/splitter', 'primeng/steps', 'primeng/tabmenu', 'primeng/tabview', 'primeng/tag', 'primeng/terminal', 'primeng/tieredmenu', 'primeng/timeline', 'primeng/togglebutton', 'primeng/tree'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["sf-crud"] = {}, global.ng.core, global.ng.common.http, global.ng.router, global.i3, global.i4, global.i5, global.ng.common, global.i3$1, global.i8, global.i9, global.i10, global.i11, global.jsonpath, global.i5$1, global.i2$1, global.i3$2, global.i4$1, global.ng.forms, global.accordion, global.avatar, global.avatargroup, global.badge, global.breadcrumb, global.card, global.carousel, global.cascadeselect, global.checkbox, global.chip, global.chips, global.codehighlighter, global.confirmdialog, global.confirmpopup, global.colorpicker, global.contextmenu, global.dialog, global.divider, global.fieldset, global.fileupload, global.galleria, global.inplace, global.inputmask, global.inputswitch, global.inputtextarea, global.knob, global.lightbox, global.listbox, global.megamenu, global.menu, global.menubar, global.messages, global.message, global.multiselect, global.organizationchart, global.overlaypanel, global.panel, global.panelmenu, global.password, global.progressbar, global.radiobutton, global.rating, global.scrollpanel, global.scrolltop, global.selectbutton, global.sidebar, global.skeleton, global.slidemenu, global.slider, global.splitter, global.steps, global.tabmenu, global.tabview, global.tag, global.terminal, global.tieredmenu, global.timeline, global.togglebutton, global.tree));
|
|
5
|
+
})(this, (function (exports, i0, i1, i2, i3, i4, i5, i7, i3$1, i8, i9, i10, i11, jsonpath, i5$1, i2$1, i3$2, i4$1, i6, accordion, avatar, avatargroup, badge, breadcrumb, card, carousel, cascadeselect, checkbox, chip, chips, codehighlighter, confirmdialog, confirmpopup, colorpicker, contextmenu, dialog, divider, fieldset, fileupload, galleria, inplace, inputmask, inputswitch, inputtextarea, knob, lightbox, listbox, megamenu, menu, menubar, messages, message, multiselect, organizationchart, overlaypanel, panel, panelmenu, password, progressbar, radiobutton, rating, scrollpanel, scrolltop, selectbutton, sidebar, skeleton, slidemenu, slider, splitter, steps, tabmenu, tabview, tag, terminal, tieredmenu, timeline, togglebutton, tree) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -36,12 +36,15 @@
|
|
|
36
36
|
var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
|
|
37
37
|
var jsonpath__namespace = /*#__PURE__*/_interopNamespace(jsonpath);
|
|
38
38
|
var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
|
|
39
|
-
var
|
|
39
|
+
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
|
|
40
40
|
var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$2);
|
|
41
|
+
var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
|
|
42
|
+
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
|
41
43
|
|
|
42
44
|
var Shema = /** @class */ (function () {
|
|
43
45
|
function Shema() {
|
|
44
46
|
this.type = '';
|
|
47
|
+
this.subtype = '';
|
|
45
48
|
}
|
|
46
49
|
return Shema;
|
|
47
50
|
}());
|
|
@@ -519,7 +522,7 @@
|
|
|
519
522
|
this.btn.update = this.opciones.find(function (x) { return x.label == 'Editar'; });
|
|
520
523
|
this.btn.delete = this.opciones.find(function (x) { return x.label == 'Eliminar'; });
|
|
521
524
|
};
|
|
522
|
-
TableroComponent.prototype.redirect = function (
|
|
525
|
+
TableroComponent.prototype.redirect = function (accion, data) {
|
|
523
526
|
var _a, _b;
|
|
524
527
|
switch (accion) {
|
|
525
528
|
case 'create':
|
|
@@ -541,7 +544,7 @@
|
|
|
541
544
|
return TableroComponent;
|
|
542
545
|
}());
|
|
543
546
|
TableroComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TableroComponent, deps: [{ token: GeneralService }, { token: i2__namespace.Router }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
544
|
-
TableroComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableroComponent, selector: "sf-crudtablero", inputs: { opciones: "opciones", idEntidad: "idEntidad", idKatios: "idKatios" }, ngImport: i0__namespace, template: "<p-blockUI [blocked]=\"enProceso\">\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\n</p-blockUI>\n\n<div class=\"card\" *ngIf=\"!enProceso\">\n <p-toolbar styleClass=\"mb-4 gap-2\">\n <ng-template pTemplate=\"left\">\n <button *ngIf=\"btn.create\" pButton pRipple [label]=\"btn.create.label\" [icon]=\"btn.create.icon\"\n class=\"p-button-success mr-2\" (click)=\"redirect(
|
|
547
|
+
TableroComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TableroComponent, selector: "sf-crudtablero", inputs: { opciones: "opciones", idEntidad: "idEntidad", idKatios: "idKatios" }, ngImport: i0__namespace, template: "<p-blockUI [blocked]=\"enProceso\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI>\r\n\r\n<div class=\"card\" *ngIf=\"!enProceso\">\r\n <p-toolbar styleClass=\"mb-4 gap-2\">\r\n <ng-template pTemplate=\"left\">\r\n <button *ngIf=\"btn.create\" pButton pRipple [label]=\"btn.create.label\" [icon]=\"btn.create.icon\"\r\n class=\"p-button-success mr-2\" (click)=\"redirect('create')\"></button>\r\n </ng-template>\r\n </p-toolbar>\r\n <p-table #dt [columns]=\"crudConfig.tablero.columns\" [value]=\"data\" [rowHover]=\"true\" [rows]=\"10\" [paginator]=\"true\"\r\n [globalFilterFields]=\"crudConfig.tablero?.filters || []\" [tableStyle]=\"{'min-width': '75rem'}\"\r\n currentPageReportTemplate=\"Registro {first} al {last} de {totalRecords} {{idEntidad}}\"\r\n [showCurrentPageReport]=\"true\">\r\n <ng-template pTemplate=\"caption\">\r\n <div class=\"flex align-items-center justify-content-between\">\r\n <h5 class=\"m-0\">{{idEntidad}}</h5>\r\n <span class=\"p-input-icon-left\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" (input)=\"dt.filterGlobal($event.target.value, 'contains')\"\r\n placeholder=\"Buscar...\" />\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns\">\r\n {{col.label}}\r\n </th>\r\n <th>Acci\u00F3n</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\">\r\n <tr>\r\n <td *ngFor=\"let col of columns\">\r\n {{rowData[col.col]}}\r\n </td>\r\n <th>\r\n <button *ngIf=\"btn.read\" pButton pRipple [pTooltip]=\"btn.read.label\" [icon]=\"btn.read.icon\"\r\n class=\"p-button-rounded p-button-info mr-2\" (click)=\"redirect('read', rowData)\"></button>\r\n <button *ngIf=\"btn.update\" pButton pRipple [pTooltip]=\"btn.update.label\" [icon]=\"btn.update.icon\"\r\n class=\"p-button-rounded p-button-warning mr-2\" (click)=\"redirect('update', rowData)\"></button>\r\n <button *ngIf=\"btn.delete\" pButton pRipple [pTooltip]=\"btn.delete.label\" [icon]=\"btn.delete.icon\"\r\n class=\"p-button-rounded p-button-danger mr-2\" (click)=\"redirect('delete', rowData)\"></button>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>", components: [{ type: i3__namespace.BlockUI, selector: "p-blockUI", inputs: ["autoZIndex", "baseZIndex", "blocked", "target", "styleClass"] }, { type: i4__namespace.Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass"] }, { type: i5__namespace.Table, selector: "p-table", inputs: ["pageLinks", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "contextMenuSelectionMode", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "filterDelay", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "virtualScrollDelay", "virtualRowHeight", "columnResizeMode", "loadingIcon", "showLoader", "showInitialSortBadge", "stateStorage", "editMode", "totalRecords", "value", "columns", "first", "rows", "sortField", "sortOrder", "multiSortMeta", "selection", "contextMenuSelection", "frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "rowsPerPageOptions", "paginatorDropdownAppendTo", "showCurrentPageReport", "showJumpToPageDropdown", "selectionMode", "dataKey", "metaKeySelection", "globalFilterFields", "filterLocale", "scrollable", "scrollHeight", "virtualScroll", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "reorderableColumns", "loading", "rowHover", "customSort", "autoLayout", "exportFunction", "stateKey", "minBufferPx", "maxBufferPx"], outputs: ["selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }], directives: [{ type: i7__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i8__namespace.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9__namespace.Ripple, selector: "[pRipple]" }, { type: i10__namespace.InputText, selector: "[pInputText]" }, { type: i7__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11__namespace.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "tooltipZIndex", "escape", "tooltipDisabled", "pTooltip", "positionStyle", "tooltipStyleClass", "showDelay", "hideDelay", "life"] }] });
|
|
545
548
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TableroComponent, decorators: [{
|
|
546
549
|
type: i0.Component,
|
|
547
550
|
args: [{
|
|
@@ -557,26 +560,51 @@
|
|
|
557
560
|
}] } });
|
|
558
561
|
|
|
559
562
|
var ControlComponent = /** @class */ (function () {
|
|
560
|
-
function ControlComponent() {
|
|
563
|
+
function ControlComponent(generalService) {
|
|
564
|
+
this.generalService = generalService;
|
|
565
|
+
this.control = new Shema();
|
|
561
566
|
this.label = '';
|
|
562
567
|
this.setValue = new i0.EventEmitter();
|
|
568
|
+
this.isLoading = false;
|
|
569
|
+
this.dataFromService = [];
|
|
563
570
|
}
|
|
564
571
|
ControlComponent.prototype.ngOnInit = function () {
|
|
572
|
+
var _a;
|
|
573
|
+
if (((_a = this.control) === null || _a === void 0 ? void 0 : _a.config) && this.control.subtype == 'dropdown')
|
|
574
|
+
this.loadDataFromService();
|
|
565
575
|
};
|
|
566
576
|
ControlComponent.prototype.sendValue = function () {
|
|
567
577
|
this.setValue.emit(this.value);
|
|
568
578
|
};
|
|
579
|
+
ControlComponent.prototype.loadDataFromService = function () {
|
|
580
|
+
var _this = this;
|
|
581
|
+
this.isLoading = true;
|
|
582
|
+
this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint)
|
|
583
|
+
.then(function (res) {
|
|
584
|
+
_this.dataFromService = res.data;
|
|
585
|
+
_this.isLoading = false;
|
|
586
|
+
});
|
|
587
|
+
};
|
|
588
|
+
ControlComponent.prototype.loadDataFromControlBusquedaService = function (event) {
|
|
589
|
+
var _this = this;
|
|
590
|
+
this.isLoading = true;
|
|
591
|
+
this.generalService.genericRequest(this.control.config.method, this.control.config.server, this.control.config.endpoint.replace('@query', (event === null || event === void 0 ? void 0 : event.query) || ''))
|
|
592
|
+
.then(function (res) {
|
|
593
|
+
_this.dataFromService = res.data;
|
|
594
|
+
_this.isLoading = false;
|
|
595
|
+
});
|
|
596
|
+
};
|
|
569
597
|
return ControlComponent;
|
|
570
598
|
}());
|
|
571
|
-
ControlComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ControlComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
572
|
-
ControlComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ControlComponent, selector: "sf-control", inputs: { control: "control", label: "label", value: "value" }, outputs: { setValue: "setValue" }, ngImport: i0__namespace, template: "<ng-container [ngSwitch]=\"control.type\">\n <ng-container *ngSwitchCase=\"'string'\">\n <
|
|
599
|
+
ControlComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ControlComponent, deps: [{ token: GeneralService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
600
|
+
ControlComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ControlComponent, selector: "sf-control", inputs: { control: "control", label: "label", value: "value" }, outputs: { setValue: "setValue" }, ngImport: i0__namespace, template: "<ng-container [ngSwitch]=\"control.type\">\r\n <label>{{label}}</label>\r\n <ng-container *ngSwitchCase=\"'string'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'input'\">\r\n <input pInputText type=\"text\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'password'\">\r\n <input pInputText type=\"password\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'email'\">\r\n <input pInputText type=\"email\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'phone'\">\r\n <input pInputText type=\"tel\" [(ngModel)]=\"value\" (focusout)=\"sendValue()\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'enum'\">\r\n <p-dropdown [options]=\"control.enum\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\"\r\n placeholder=\"Seleccione una opci\u00F3n\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dropdown'\">\r\n <p-dropdown [lazy]=\"isLoading\" [options]=\"dataFromService\" [(ngModel)]=\"value\" (onChange)=\"sendValue()\"\r\n [optionLabel]=\"control.config.optionLabel\" [optionValue]=\"control.config.optionValue\"\r\n placeholder=\"Seleccione una opci\u00F3n\"></p-dropdown>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'autocomplete'\">\r\n <p-autoComplete [(ngModel)]=\"value\" [suggestions]=\"dataFromService\" [minlength]=\"3\"\r\n (completeMethod)=\"loadDataFromControlBusquedaService($event)\" [forceSelection]=\"true\" (onSelect)=\"sendValue()\"\r\n [field]=\"control.field\"></p-autoComplete>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'calendar'\">\r\n <p-calendar [(ngModel)]=\"value\" (onSelect)=\"sendValue()\" [format]=\"control?.format || 'yy-mm-dd'\"></p-calendar>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'numeric'\">\r\n <ng-container [ngSwitch]=\"control.subtype\">\r\n <ng-container *ngSwitchCase=\"'currency'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"currency\"\r\n [currency]=\"control?.currency || 'USD'\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'decimal'\">\r\n <p-inputNumber [(ngModel)]=\"value\" mode=\"decimal\"\r\n [minFractionDigits]=\"control?.minFractionDigits || 0\"></p-inputNumber>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'percentage'\">\r\n <p-inputNumber [(ngModel)]=\"value\" suffix=\" %\"\r\n [minFractionDigits]=\"control?.minFractionDigits || 2\"></p-inputNumber>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</ng-container>", components: [{ type: i2__namespace$1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "resetFilterOnHide", "dropdownIcon", "optionGroupChildren", "autoDisplayFirst", "emptyFilterMessage", "emptyMessage", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "autofocusFilter", "disabled", "options", "filterValue", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "group", "showClear", "virtualScroll", "itemSize", "ariaFilterLabel", "ariaLabelledBy", "maxlength", "tooltipStyleClass"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide"] }, { type: i3__namespace$2.Calendar, selector: "p-calendar", inputs: ["dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "icon", "shortYearCutoff", "hourFormat", "stepHour", "stepMinute", "stepSecond", "showSeconds", "showOnFocus", "showWeek", "dataType", "selectionMode", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "keepInvalid", "hideOnDateTimeSelect", "numberOfMonths", "view", "timeSeparator", "focusTrap", "firstDayOfWeek", "showTransitionOptions", "hideTransitionOptions", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "locale", "disabled", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "selectOtherMonths", "showIcon", "appendTo", "readonlyInput", "monthNavigator", "yearNavigator", "timeOnly", "required", "maxDateCount", "showButtonBar", "panelStyleClass", "panelStyle", "touchUI", "tabindex"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { type: i4__namespace$1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "incrementButtonIcon", "decrementButtonIcon", "step", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "disabled", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "inputStyle", "inputStyleClass"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i7__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10__namespace.InputText, selector: "[pInputText]" }, { type: i6__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6__namespace.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }] });
|
|
573
601
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ControlComponent, decorators: [{
|
|
574
602
|
type: i0.Component,
|
|
575
603
|
args: [{
|
|
576
604
|
selector: 'sf-control',
|
|
577
605
|
templateUrl: './control.component.html'
|
|
578
606
|
}]
|
|
579
|
-
}], ctorParameters: function () { return []; }, propDecorators: { control: [{
|
|
607
|
+
}], ctorParameters: function () { return [{ type: GeneralService }]; }, propDecorators: { control: [{
|
|
580
608
|
type: i0.Input
|
|
581
609
|
}], label: [{
|
|
582
610
|
type: i0.Input
|
|
@@ -665,9 +693,12 @@
|
|
|
665
693
|
switch (esquema.type) {
|
|
666
694
|
case 'string':
|
|
667
695
|
case 'number':
|
|
668
|
-
|
|
696
|
+
case 'date':
|
|
697
|
+
return (esquema === null || esquema === void 0 ? void 0 : esquema.default) ? this.setDefaultValue(esquema.default) : null;
|
|
669
698
|
case 'boolean':
|
|
670
699
|
return (esquema === null || esquema === void 0 ? void 0 : esquema.default) || false;
|
|
700
|
+
case 'array':
|
|
701
|
+
return [];
|
|
671
702
|
case 'object':
|
|
672
703
|
for (var key in esquema === null || esquema === void 0 ? void 0 : esquema.properties) {
|
|
673
704
|
Object.defineProperty(object, key, { value: this.createObject(esquema === null || esquema === void 0 ? void 0 : esquema.properties[key]), writable: true, enumerable: true, configurable: true });
|
|
@@ -716,10 +747,29 @@
|
|
|
716
747
|
this.messageSerice.add({ severity: 'warn', detail: err.join('. ') });
|
|
717
748
|
return err.length == 0;
|
|
718
749
|
};
|
|
750
|
+
RegistroComponent.prototype.setDefaultValue = function (value) {
|
|
751
|
+
var data = null;
|
|
752
|
+
switch (value) {
|
|
753
|
+
case '@uactivo':
|
|
754
|
+
var uactivo = JSON.parse(sessionStorage.getItem('oSessionTFM') || '{}');
|
|
755
|
+
if (!uactivo)
|
|
756
|
+
console.log('Validar configuracion de sesion');
|
|
757
|
+
else
|
|
758
|
+
data = uactivo.UsuarioSistema.TDOC + "-" + uactivo.UsuarioSistema.NDOC;
|
|
759
|
+
break;
|
|
760
|
+
case '@hoy':
|
|
761
|
+
data = new Date();
|
|
762
|
+
break;
|
|
763
|
+
default:
|
|
764
|
+
data = value;
|
|
765
|
+
break;
|
|
766
|
+
}
|
|
767
|
+
return data;
|
|
768
|
+
};
|
|
719
769
|
return RegistroComponent;
|
|
720
770
|
}());
|
|
721
771
|
RegistroComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RegistroComponent, deps: [{ token: GeneralService }, { token: i2__namespace.Router }, { token: i3__namespace$1.MessageService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
722
|
-
RegistroComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RegistroComponent, selector: "sf-registro", inputs: { idKatios: "idKatios", idEntidad: "idEntidad", trx: "trx", id: "id" }, providers: [i3$1.MessageService], ngImport: i0__namespace, template: "<p-blockUI [blocked]=\"enProceso\">\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\n</p-blockUI>\n\n<p-toast></p-toast>\n\n<div class=\"card\" *ngIf=\"!enProceso\">\n <h5 class=\"card-header mb-2\" style=\"display: flex; justify-content: space-between;align-items: center;\">\n <span>{{idEntidad}} {{id != '' ? '-' + id : ''}}</span>\n <button pButton pRipple type=\"button\" icon=\"pi pi-arrow-left\" (click)=\"back()\"></button>\n </h5>\n <div *ngFor=\"let element of crudConfig.uiEsquema.elements\" [class]=\"element?.class\">\n <ng-container [ngSwitch]=\"element.type\">\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\n {{element?.label}}\n </div>\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\n <div *ngFor=\"let el of element.elements\" [class]=\"el?.class\">\n <ng-container [ngSwitch]=\"el.type\" >\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(el.scope)\" [label]=\"el.label\" [value]=\"getValue(el.scope)\" (setValue)=\"setValue($event, el.scope)\"></sf-control>\n </ng-container>\n </div>\n </ng-container>\n <div *ngSwitchCase=\"'Control'\">\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\n </div>\n </ng-container>\n </div>\n <div class=\"card-footer\" *ngIf=\"btnSubmit\">\n <button pButton pRipple type=\"button\" [icon]=\"btnSubmit.icon\" [label]=\"btnSubmit.label\" (click)=\"submit()\"></button>\n </div>\n</div>", components: [{ type: i3__namespace.BlockUI, selector: "p-blockUI", inputs: ["autoZIndex", "baseZIndex", "blocked", "target", "styleClass"] }, { type: i5__namespace$1.Toast, selector: "p-toast", inputs: ["autoZIndex", "baseZIndex", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "key", "style", "styleClass", "breakpoints"], outputs: ["onClose"] }, { type: ControlComponent, selector: "sf-control", inputs: ["control", "label", "value"], outputs: ["setValue"] }], directives: [{ type: i7__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9__namespace.Ripple, selector: "[pRipple]" }, { type: i7__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
772
|
+
RegistroComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RegistroComponent, selector: "sf-registro", inputs: { idKatios: "idKatios", idEntidad: "idEntidad", trx: "trx", id: "id" }, providers: [i3$1.MessageService], ngImport: i0__namespace, template: "<p-blockUI [blocked]=\"enProceso\">\r\n <i class=\"pi pi-cog pi-spin\" style=\"font-size: 50px\"></i>\r\n</p-blockUI>\r\n\r\n<p-toast></p-toast>\r\n\r\n<div class=\"card\" *ngIf=\"!enProceso\">\r\n <h5 class=\"card-header mb-2\" style=\"display: flex; justify-content: space-between;align-items: center;\">\r\n <span>{{idEntidad}} {{id != '' ? '-' + id : ''}}</span>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-arrow-left\" (click)=\"back()\"></button>\r\n </h5>\r\n <div *ngFor=\"let element of crudConfig.uiEsquema.elements\" [class]=\"element?.class\">\r\n <ng-container [ngSwitch]=\"element.type\">\r\n <div *ngSwitchCase=\"'Label'\" [style]=\"element?.style\">\r\n {{element?.label}}\r\n </div>\r\n <ng-container *ngSwitchCase=\"'HorizontalLayout'\">\r\n <div *ngFor=\"let el of element.elements\" [class]=\"el?.class\">\r\n <ng-container [ngSwitch]=\"el.type\" >\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(el.scope)\" [label]=\"el.label\" [value]=\"getValue(el.scope)\" (setValue)=\"setValue($event, el.scope)\"></sf-control>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <div *ngSwitchCase=\"'Control'\">\r\n <sf-control *ngSwitchCase=\"'Control'\" [control]=\"getControl(element.scope)\" [label]=\"element.label\"></sf-control>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"card-footer\" *ngIf=\"btnSubmit\">\r\n <button pButton pRipple type=\"button\" [icon]=\"btnSubmit.icon\" [label]=\"btnSubmit.label\" (click)=\"submit()\"></button>\r\n </div>\r\n</div>", components: [{ type: i3__namespace.BlockUI, selector: "p-blockUI", inputs: ["autoZIndex", "baseZIndex", "blocked", "target", "styleClass"] }, { type: i5__namespace$1.Toast, selector: "p-toast", inputs: ["autoZIndex", "baseZIndex", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "key", "style", "styleClass", "breakpoints"], outputs: ["onClose"] }, { type: ControlComponent, selector: "sf-control", inputs: ["control", "label", "value"], outputs: ["setValue"] }], directives: [{ type: i7__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i9__namespace.Ripple, selector: "[pRipple]" }, { type: i7__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
723
773
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RegistroComponent, decorators: [{
|
|
724
774
|
type: i0.Component,
|
|
725
775
|
args: [{
|
|
@@ -771,7 +821,7 @@
|
|
|
771
821
|
i3.BlockUIModule,
|
|
772
822
|
breadcrumb.BreadcrumbModule,
|
|
773
823
|
i8.ButtonModule,
|
|
774
|
-
|
|
824
|
+
i3$2.CalendarModule,
|
|
775
825
|
card.CardModule,
|
|
776
826
|
carousel.CarouselModule,
|
|
777
827
|
cascadeselect.CascadeSelectModule,
|
|
@@ -785,15 +835,15 @@
|
|
|
785
835
|
contextmenu.ContextMenuModule,
|
|
786
836
|
dialog.DialogModule,
|
|
787
837
|
divider.DividerModule,
|
|
788
|
-
|
|
838
|
+
i2$1.DropdownModule,
|
|
789
839
|
fieldset.FieldsetModule,
|
|
790
840
|
fileupload.FileUploadModule,
|
|
791
|
-
|
|
841
|
+
i6.FormsModule,
|
|
792
842
|
galleria.GalleriaModule,
|
|
793
843
|
i1.HttpClientModule,
|
|
794
844
|
inplace.InplaceModule,
|
|
795
845
|
inputmask.InputMaskModule,
|
|
796
|
-
|
|
846
|
+
i4$1.InputNumberModule,
|
|
797
847
|
inputswitch.InputSwitchModule,
|
|
798
848
|
inputtextarea.InputTextareaModule,
|
|
799
849
|
i10.InputTextModule,
|
|
@@ -846,7 +896,7 @@
|
|
|
846
896
|
i3.BlockUIModule,
|
|
847
897
|
breadcrumb.BreadcrumbModule,
|
|
848
898
|
i8.ButtonModule,
|
|
849
|
-
|
|
899
|
+
i3$2.CalendarModule,
|
|
850
900
|
card.CardModule,
|
|
851
901
|
carousel.CarouselModule,
|
|
852
902
|
cascadeselect.CascadeSelectModule,
|
|
@@ -860,15 +910,15 @@
|
|
|
860
910
|
contextmenu.ContextMenuModule,
|
|
861
911
|
dialog.DialogModule,
|
|
862
912
|
divider.DividerModule,
|
|
863
|
-
|
|
913
|
+
i2$1.DropdownModule,
|
|
864
914
|
fieldset.FieldsetModule,
|
|
865
915
|
fileupload.FileUploadModule,
|
|
866
|
-
|
|
916
|
+
i6.FormsModule,
|
|
867
917
|
galleria.GalleriaModule,
|
|
868
918
|
i1.HttpClientModule,
|
|
869
919
|
inplace.InplaceModule,
|
|
870
920
|
inputmask.InputMaskModule,
|
|
871
|
-
|
|
921
|
+
i4$1.InputNumberModule,
|
|
872
922
|
inputswitch.InputSwitchModule,
|
|
873
923
|
inputtextarea.InputTextareaModule,
|
|
874
924
|
i10.InputTextModule,
|
|
@@ -929,7 +979,7 @@
|
|
|
929
979
|
i3.BlockUIModule,
|
|
930
980
|
breadcrumb.BreadcrumbModule,
|
|
931
981
|
i8.ButtonModule,
|
|
932
|
-
|
|
982
|
+
i3$2.CalendarModule,
|
|
933
983
|
card.CardModule,
|
|
934
984
|
carousel.CarouselModule,
|
|
935
985
|
cascadeselect.CascadeSelectModule,
|
|
@@ -943,15 +993,15 @@
|
|
|
943
993
|
contextmenu.ContextMenuModule,
|
|
944
994
|
dialog.DialogModule,
|
|
945
995
|
divider.DividerModule,
|
|
946
|
-
|
|
996
|
+
i2$1.DropdownModule,
|
|
947
997
|
fieldset.FieldsetModule,
|
|
948
998
|
fileupload.FileUploadModule,
|
|
949
|
-
|
|
999
|
+
i6.FormsModule,
|
|
950
1000
|
galleria.GalleriaModule,
|
|
951
1001
|
i1.HttpClientModule,
|
|
952
1002
|
inplace.InplaceModule,
|
|
953
1003
|
inputmask.InputMaskModule,
|
|
954
|
-
|
|
1004
|
+
i4$1.InputNumberModule,
|
|
955
1005
|
inputswitch.InputSwitchModule,
|
|
956
1006
|
inputtextarea.InputTextareaModule,
|
|
957
1007
|
i10.InputTextModule,
|