@rosoftlab/ionic 1.0.0-alpha-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -0
- package/esm2022/lib/components/index.mjs +4 -0
- package/esm2022/lib/components/rsl-ionic-crud.component/rsl-ionic-crud.component.mjs +266 -0
- package/esm2022/lib/components/rsl-ionic-data-table/rsl-ionic-data-table.component.mjs +292 -0
- package/esm2022/lib/components/rsl-ionic-grid/rsl-ionic-grid.component.mjs +269 -0
- package/esm2022/lib/decorators/index.mjs +3 -0
- package/esm2022/lib/decorators/ionic-datatable-layout.mjs +10 -0
- package/esm2022/lib/decorators/ionic-list.decorator.mjs +9 -0
- package/esm2022/lib/interfaces/index.mjs +2 -0
- package/esm2022/lib/interfaces/ionic-list-layout-config.mjs +2 -0
- package/esm2022/lib/ionic-dialog.service.mjs +51 -0
- package/esm2022/lib/rsl-ionic-module.module.mjs +86 -0
- package/esm2022/lib/translate.extension.mjs +48 -0
- package/esm2022/lib/types/index.mjs +2 -0
- package/esm2022/lib/types/repeat/repeat-section.type.mjs +135 -0
- package/esm2022/lib/validators/index.mjs +2 -0
- package/esm2022/lib/validators/must-match.mjs +12 -0
- package/esm2022/lib/wrappers/accordion-wrapper.component.mjs +50 -0
- package/esm2022/lib/wrappers/index.mjs +3 -0
- package/esm2022/lib/wrappers/panel-wrapper.component.mjs +37 -0
- package/esm2022/lib/wrappers/wrappers.module.mjs +56 -0
- package/esm2022/public-api.mjs +12 -0
- package/esm2022/rosoftlab-ionic.mjs +5 -0
- package/fesm2022/rosoftlab-ionic.mjs +1251 -0
- package/fesm2022/rosoftlab-ionic.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/index.d.ts +3 -0
- package/lib/components/rsl-ionic-crud.component/rsl-ionic-crud.component.d.ts +69 -0
- package/lib/components/rsl-ionic-data-table/rsl-ionic-data-table.component.d.ts +66 -0
- package/lib/components/rsl-ionic-grid/rsl-ionic-grid.component.d.ts +58 -0
- package/lib/decorators/index.d.ts +2 -0
- package/lib/decorators/ionic-datatable-layout.d.ts +7 -0
- package/lib/decorators/ionic-list.decorator.d.ts +2 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/ionic-list-layout-config.d.ts +8 -0
- package/lib/ionic-dialog.service.d.ts +10 -0
- package/lib/rsl-ionic-module.module.d.ts +13 -0
- package/lib/translate.extension.d.ts +17 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/repeat/repeat-section.type.d.ts +51 -0
- package/lib/validators/index.d.ts +1 -0
- package/lib/validators/must-match.d.ts +6 -0
- package/lib/wrappers/accordion-wrapper.component.d.ts +6 -0
- package/lib/wrappers/index.d.ts +2 -0
- package/lib/wrappers/panel-wrapper.component.d.ts +6 -0
- package/lib/wrappers/wrappers.module.d.ts +13 -0
- package/package.json +31 -0
- package/public-api.d.ts +8 -0
@@ -0,0 +1,269 @@
|
|
1
|
+
import { DatePipe, DecimalPipe, Location, PercentPipe } from '@angular/common';
|
2
|
+
import { Component, Injector, Input } from '@angular/core';
|
3
|
+
import { ActivatedRoute, NavigationStart, Router, UrlSegment } from '@angular/router';
|
4
|
+
import { LoadingController, NavController } from '@ionic/angular';
|
5
|
+
import { TranslateService } from '@ngx-translate/core';
|
6
|
+
import { GridLayoutFormat } from '@rosoftlab/core';
|
7
|
+
import * as jsonLogic from 'json-logic-js/logic.js';
|
8
|
+
import { IonicDialogService } from '../../ionic-dialog.service';
|
9
|
+
import { RslIonicModuleModule } from '../../rsl-ionic-module.module';
|
10
|
+
import * as i0 from "@angular/core";
|
11
|
+
import * as i1 from "@angular/router";
|
12
|
+
import * as i2 from "@ngx-translate/core";
|
13
|
+
import * as i3 from "@angular/common";
|
14
|
+
import * as i4 from "@ionic/angular";
|
15
|
+
import * as i5 from "../../ionic-dialog.service";
|
16
|
+
export class RslIonicGridComponent {
|
17
|
+
constructor(router, route, translate, location, injector, loadingCtrl, navCtrl, dialogService, datePipe, numberPipe, percentPipe) {
|
18
|
+
this.router = router;
|
19
|
+
this.route = route;
|
20
|
+
this.translate = translate;
|
21
|
+
this.location = location;
|
22
|
+
this.injector = injector;
|
23
|
+
this.loadingCtrl = loadingCtrl;
|
24
|
+
this.navCtrl = navCtrl;
|
25
|
+
this.dialogService = dialogService;
|
26
|
+
this.datePipe = datePipe;
|
27
|
+
this.numberPipe = numberPipe;
|
28
|
+
this.percentPipe = percentPipe;
|
29
|
+
this.data = [];
|
30
|
+
this.pageIndex = 1;
|
31
|
+
this.pageSize = 30;
|
32
|
+
}
|
33
|
+
ngOnInit() {
|
34
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'showSerach', false);
|
35
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'searchFields', null);
|
36
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'customInclude', null);
|
37
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSort', null);
|
38
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSortDirection', '');
|
39
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'deletePropertyName', 'name');
|
40
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'defaultFilter', null);
|
41
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'showHeader', true);
|
42
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'deleteDisableRule', null);
|
43
|
+
// this.showSerach = route.snapshot.data['showSerach'] || false;
|
44
|
+
// this.searchFields = this.route.snapshot.data['searchFields'] || null;
|
45
|
+
// this.customInclude = this.route.snapshot.data['customInclude'] || null;
|
46
|
+
// this.defaultSort = this.route.snapshot.data['defaultSort'] || null;
|
47
|
+
// this.defaultSortDirection = this.route.snapshot.data['defaultSortDirection'] || '';
|
48
|
+
// this.deletePropertyName = this.route.snapshot.data['deletePropertyName'] || 'name';
|
49
|
+
// this.defaultFilter = this.route.snapshot.data['defaultFilter'] || null;
|
50
|
+
if (!this.modelService) {
|
51
|
+
const SERVICE_TOKEN = this.route.snapshot.data['requiredService'];
|
52
|
+
this.modelService = this.injector.get(SERVICE_TOKEN);
|
53
|
+
}
|
54
|
+
this.model = this.modelService.newModel();
|
55
|
+
this.title = this.model.modelConfig.formTitle;
|
56
|
+
this.getListLayout();
|
57
|
+
const currentUrlSegments = this.router.url.split('/').map(segment => new UrlSegment(segment, {}));
|
58
|
+
this.basePath = currentUrlSegments.map(segment => segment.path).join('/');
|
59
|
+
this.router.events.subscribe(event => {
|
60
|
+
if (event instanceof NavigationStart) {
|
61
|
+
// Navigation to another page is about to occur
|
62
|
+
this.data = [];
|
63
|
+
this.pageIndex = 1;
|
64
|
+
// Perform actions or update component as needed
|
65
|
+
}
|
66
|
+
});
|
67
|
+
}
|
68
|
+
setValueFromSnapshot(component, snapshot, key, defaultValue) {
|
69
|
+
if (component[key] === undefined) {
|
70
|
+
let dataFromSnapshot = snapshot.data[key];
|
71
|
+
if (!dataFromSnapshot)
|
72
|
+
dataFromSnapshot = snapshot.params[key];
|
73
|
+
component[key] = dataFromSnapshot !== undefined ? dataFromSnapshot : defaultValue;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
async ionViewWillEnter() {
|
77
|
+
this.data = [];
|
78
|
+
const loading = await this.loadingCtrl.create({
|
79
|
+
message: this.translate.instant('General.Loading'),
|
80
|
+
spinner: 'circles',
|
81
|
+
});
|
82
|
+
loading.present();
|
83
|
+
this.loadData(null, null, loading);
|
84
|
+
}
|
85
|
+
async handleChange(event) {
|
86
|
+
const loading = await this.loadingCtrl.create({
|
87
|
+
message: this.translate.instant('General.Loading'),
|
88
|
+
spinner: 'circles',
|
89
|
+
});
|
90
|
+
loading.present();
|
91
|
+
const query = event.target.value.toLowerCase();
|
92
|
+
this.pageIndex = 1;
|
93
|
+
this.loadData(null, query, loading);
|
94
|
+
// this.results = this.data.filter((d) => d.toLowerCase().indexOf(query) > -1);
|
95
|
+
}
|
96
|
+
loadData(event = null, filterValue = undefined, loading = null) {
|
97
|
+
const filters = [];
|
98
|
+
let sorts = '';
|
99
|
+
if (this.defaultSort) {
|
100
|
+
if (this.defaultSortDirection === 'desc') {
|
101
|
+
sorts = '-' + this.defaultSort;
|
102
|
+
}
|
103
|
+
else {
|
104
|
+
sorts = this.defaultSort;
|
105
|
+
}
|
106
|
+
}
|
107
|
+
if (this.showSerach) {
|
108
|
+
if (filterValue) {
|
109
|
+
const y = '(' + this.searchFields.replace(',', '|') + ')';
|
110
|
+
filters.push(y + '@=*' + filterValue);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
if (this.defaultFilter) {
|
114
|
+
filters.push(this.defaultFilter);
|
115
|
+
}
|
116
|
+
setTimeout(() => {
|
117
|
+
const filtersValue = filters.join(', ');
|
118
|
+
this.modelService.getAll(this.pageIndex, this.pageSize, sorts, filtersValue, this.customInclude).subscribe((response) => {
|
119
|
+
if (this.pageIndex !== response.getMeta().meta.count) {
|
120
|
+
this.pageIndex++;
|
121
|
+
}
|
122
|
+
else {
|
123
|
+
if (event)
|
124
|
+
event.target.disabled = true;
|
125
|
+
}
|
126
|
+
if (filterValue || loading)
|
127
|
+
this.data = response.getModels();
|
128
|
+
else
|
129
|
+
this.data = this.data.concat(response.getModels());
|
130
|
+
if (event)
|
131
|
+
event.target.complete();
|
132
|
+
if (loading)
|
133
|
+
loading.dismiss();
|
134
|
+
});
|
135
|
+
}, 700);
|
136
|
+
}
|
137
|
+
async handleRefresh(event) {
|
138
|
+
const loading = await this.loadingCtrl.create({
|
139
|
+
message: this.translate.instant('General.Loading'),
|
140
|
+
spinner: 'circles',
|
141
|
+
});
|
142
|
+
loading.present();
|
143
|
+
this.pageIndex = 1;
|
144
|
+
this.loadData(null, null, loading);
|
145
|
+
event.target.complete();
|
146
|
+
}
|
147
|
+
onAdd() {
|
148
|
+
console.log(this.basePath);
|
149
|
+
this.navCtrl.navigateForward(this.basePath + '/add');
|
150
|
+
}
|
151
|
+
editModel(model) {
|
152
|
+
this.navCtrl.navigateForward(this.basePath + '/edit/' + model.id);
|
153
|
+
}
|
154
|
+
getListLayout() {
|
155
|
+
if (!this.model) {
|
156
|
+
this.model = this.modelService.newModel();
|
157
|
+
}
|
158
|
+
this.gridLayout = Reflect.getMetadata('IonicListLayout', this.model);
|
159
|
+
}
|
160
|
+
deleteModel(model) {
|
161
|
+
const msg = 'Do you want to delete ' + model[this.deletePropertyName] + '?';
|
162
|
+
this.dialogService.confirm(msg).then((value) => {
|
163
|
+
if (value.data) {
|
164
|
+
this.modelService.delete(model.id).subscribe(() => {
|
165
|
+
const tempData = [];
|
166
|
+
// this.selectedObject.emit(null);
|
167
|
+
this.data.map((item) => {
|
168
|
+
if (item.id !== model.id) {
|
169
|
+
tempData.push(item);
|
170
|
+
}
|
171
|
+
});
|
172
|
+
this.data = tempData;
|
173
|
+
});
|
174
|
+
}
|
175
|
+
});
|
176
|
+
}
|
177
|
+
getCelValue(row, propertyName) {
|
178
|
+
if (!row)
|
179
|
+
return "";
|
180
|
+
// if (propertyName == 'kompetenzenStdev')
|
181
|
+
// console.log(propertyName);
|
182
|
+
if (propertyName.indexOf('.') === -1) {
|
183
|
+
var gridLayout = this.gridLayout.find(f => f.key.indexOf(propertyName) > -1);
|
184
|
+
return this.getFormatedValue(gridLayout, row[propertyName]);
|
185
|
+
}
|
186
|
+
else {
|
187
|
+
const prop = propertyName.split('.')[0];
|
188
|
+
const subProp = propertyName.replace(prop + '.', '');
|
189
|
+
return this.getCelValue(row[prop], subProp);
|
190
|
+
}
|
191
|
+
}
|
192
|
+
getFormatedValue(gridLayout, value) {
|
193
|
+
if (gridLayout) {
|
194
|
+
switch (gridLayout.formating) {
|
195
|
+
case GridLayoutFormat.date:
|
196
|
+
return this.datePipe.transform(value, gridLayout.customFormat);
|
197
|
+
break;
|
198
|
+
case GridLayoutFormat.number:
|
199
|
+
return this.numberPipe.transform(value, gridLayout.customFormat);
|
200
|
+
case GridLayoutFormat.percent:
|
201
|
+
const valuePrc = value / 100;
|
202
|
+
return this.percentPipe.transform(valuePrc, gridLayout.customFormat);
|
203
|
+
default:
|
204
|
+
return value;
|
205
|
+
break;
|
206
|
+
}
|
207
|
+
}
|
208
|
+
return value;
|
209
|
+
}
|
210
|
+
deleteEnabled(model) {
|
211
|
+
if (this.deleteDisableRule) {
|
212
|
+
return this.evaluateRule(this.deleteDisableRule, model);
|
213
|
+
}
|
214
|
+
else {
|
215
|
+
return true;
|
216
|
+
}
|
217
|
+
}
|
218
|
+
evaluateRule(rules, model) {
|
219
|
+
let result = true;
|
220
|
+
rules.forEach(rule => {
|
221
|
+
let jsonRule;
|
222
|
+
if (typeof rule.rule === 'string') {
|
223
|
+
jsonRule = JSON.parse(rule.rule);
|
224
|
+
}
|
225
|
+
else {
|
226
|
+
jsonRule = rule.rule;
|
227
|
+
}
|
228
|
+
if (rule.parameters) {
|
229
|
+
const data = '{' + rule.parameters.map((item) => {
|
230
|
+
return '"' + item + '":"' + model[item] + '"';
|
231
|
+
}).join(',') + '}';
|
232
|
+
result = jsonLogic.apply(jsonRule, JSON.parse(data));
|
233
|
+
}
|
234
|
+
else {
|
235
|
+
result = jsonLogic.apply(jsonRule);
|
236
|
+
}
|
237
|
+
});
|
238
|
+
return result;
|
239
|
+
}
|
240
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicGridComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i3.Location }, { token: i0.Injector }, { token: i4.LoadingController }, { token: i4.NavController }, { token: i5.IonicDialogService }, { token: i3.DatePipe }, { token: i3.DecimalPipe }, { token: i3.PercentPipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
241
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: RslIonicGridComponent, isStandalone: true, selector: "rsl-ionic-grid", inputs: { showSerach: "showSerach", searchFields: "searchFields", customInclude: "customInclude", defaultSort: "defaultSort", defaultSortDirection: "defaultSortDirection", deletePropertyName: "deletePropertyName", defaultFilter: "defaultFilter", showHeader: "showHeader", deleteDisableRule: "deleteDisableRule", model: "model", modelService: "modelService" }, ngImport: i0, template: "<ion-header *ngIf=\"showHeader\">\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n <ion-menu-button></ion-menu-button>\n <ion-back-button></ion-back-button>\n </ion-buttons>\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\n </ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\n</ion-header>\n\n<ion-content [fullscreen]=\"true\">\n\n <ion-refresher slot=\"fixed\" (ionRefresh)=\"handleRefresh($event)\">\n <ion-refresher-content></ion-refresher-content>\n </ion-refresher>\n\n <ion-list>\n <ng-container *ngFor=\"let item of data\">\n <ion-item-sliding>\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n <ion-item-options *ngIf=\"deleteEnabled(item)\" side=\"end\">\n <ion-item-option color=\"danger\">\n <ion-icon slot=\"icon-only\" name=\"trash\" (click)='deleteModel(item)'></ion-icon>\n </ion-item-option>\n </ion-item-options>\n </ion-item-sliding>\n </ng-container>\n </ion-list>\n <ion-infinite-scroll threshold=\"100px\" (ionInfinite)=\"loadData($event)\">\n <ion-infinite-scroll-content loadingSpinner=\"bubbles\" loadingText=\"Loading more data...\">\n </ion-infinite-scroll-content>\n </ion-infinite-scroll>\n\n</ion-content>\n\n<ng-template #header>\n <ion-title class=\"ion-text-center\">{{title |translate}}</ion-title>\n <ion-button slot=\"end\" (click)=\"onAdd()\" fill=\"clear\">\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\n </ion-button>\n</ng-template>\n\n<ng-template #search>\n <ion-toolbar *ngIf=\"showSerach\">\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ng-template>\n\n<ng-template #listItem let-item='item'>\n <ion-item button (click)='editModel(item)'>\n <ion-label>\n <ng-container *ngFor=\"let row of gridLayout\">\n <h2 *ngIf=\"row.primary\"> {{getCelValue(item,row.key)}} </h2>\n <h3 *ngIf=\"!row.primary\">{{getCelValue(item,row.key)}} </h3>\n </ng-container>\n </ion-label>\n </ion-item>\n</ng-template>", dependencies: [{ kind: "ngmodule", type: RslIonicModuleModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.IonBackButton, selector: "ion-back-button", inputs: ["color", "defaultHref", "disabled", "icon", "mode", "routerAnimation", "text", "type"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonInfiniteScroll, selector: "ion-infinite-scroll", inputs: ["disabled", "position", "threshold"] }, { kind: "component", type: i4.IonInfiniteScrollContent, selector: "ion-infinite-scroll-content", inputs: ["loadingSpinner", "loadingText"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonItemOption, selector: "ion-item-option", inputs: ["color", "disabled", "download", "expandable", "href", "mode", "rel", "target", "type"] }, { kind: "component", type: i4.IonItemOptions, selector: "ion-item-options", inputs: ["side"] }, { kind: "component", type: i4.IonItemSliding, selector: "ion-item-sliding", inputs: ["disabled"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i4.IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: i4.IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: i4.IonRefresherContent, selector: "ion-refresher-content", inputs: ["pullingIcon", "pullingText", "refreshingSpinner", "refreshingText"] }, { kind: "component", type: i4.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i4.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i4.IonBackButtonDelegate, selector: "ion-back-button", inputs: ["defaultHref", "routerAnimation"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
242
|
+
}
|
243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicGridComponent, decorators: [{
|
244
|
+
type: Component,
|
245
|
+
args: [{ standalone: true, selector: 'rsl-ionic-grid', imports: [RslIonicModuleModule], template: "<ion-header *ngIf=\"showHeader\">\n <ion-toolbar>\n <ion-buttons slot=\"start\">\n <ion-menu-button></ion-menu-button>\n <ion-back-button></ion-back-button>\n </ion-buttons>\n <ng-container [ngTemplateOutlet]=\"header\"></ng-container>\n </ion-toolbar>\n <ng-container [ngTemplateOutlet]=\"search\"></ng-container>\n</ion-header>\n\n<ion-content [fullscreen]=\"true\">\n\n <ion-refresher slot=\"fixed\" (ionRefresh)=\"handleRefresh($event)\">\n <ion-refresher-content></ion-refresher-content>\n </ion-refresher>\n\n <ion-list>\n <ng-container *ngFor=\"let item of data\">\n <ion-item-sliding>\n <ng-container [ngTemplateOutlet]=\"listItem\" [ngTemplateOutletContext]=\"{item}\"></ng-container>\n <ion-item-options *ngIf=\"deleteEnabled(item)\" side=\"end\">\n <ion-item-option color=\"danger\">\n <ion-icon slot=\"icon-only\" name=\"trash\" (click)='deleteModel(item)'></ion-icon>\n </ion-item-option>\n </ion-item-options>\n </ion-item-sliding>\n </ng-container>\n </ion-list>\n <ion-infinite-scroll threshold=\"100px\" (ionInfinite)=\"loadData($event)\">\n <ion-infinite-scroll-content loadingSpinner=\"bubbles\" loadingText=\"Loading more data...\">\n </ion-infinite-scroll-content>\n </ion-infinite-scroll>\n\n</ion-content>\n\n<ng-template #header>\n <ion-title class=\"ion-text-center\">{{title |translate}}</ion-title>\n <ion-button slot=\"end\" (click)=\"onAdd()\" fill=\"clear\">\n <ion-icon size=\"large\" name=\"add\"></ion-icon>\n </ion-button>\n</ng-template>\n\n<ng-template #search>\n <ion-toolbar *ngIf=\"showSerach\">\n <ion-searchbar [debounce]=\"1000\" (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ng-template>\n\n<ng-template #listItem let-item='item'>\n <ion-item button (click)='editModel(item)'>\n <ion-label>\n <ng-container *ngFor=\"let row of gridLayout\">\n <h2 *ngIf=\"row.primary\"> {{getCelValue(item,row.key)}} </h2>\n <h3 *ngIf=\"!row.primary\">{{getCelValue(item,row.key)}} </h3>\n </ng-container>\n </ion-label>\n </ion-item>\n</ng-template>" }]
|
246
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i3.Location }, { type: i0.Injector }, { type: i4.LoadingController }, { type: i4.NavController }, { type: i5.IonicDialogService }, { type: i3.DatePipe }, { type: i3.DecimalPipe }, { type: i3.PercentPipe }]; }, propDecorators: { showSerach: [{
|
247
|
+
type: Input
|
248
|
+
}], searchFields: [{
|
249
|
+
type: Input
|
250
|
+
}], customInclude: [{
|
251
|
+
type: Input
|
252
|
+
}], defaultSort: [{
|
253
|
+
type: Input
|
254
|
+
}], defaultSortDirection: [{
|
255
|
+
type: Input
|
256
|
+
}], deletePropertyName: [{
|
257
|
+
type: Input
|
258
|
+
}], defaultFilter: [{
|
259
|
+
type: Input
|
260
|
+
}], showHeader: [{
|
261
|
+
type: Input
|
262
|
+
}], deleteDisableRule: [{
|
263
|
+
type: Input
|
264
|
+
}], model: [{
|
265
|
+
type: Input
|
266
|
+
}], modelService: [{
|
267
|
+
type: Input
|
268
|
+
}] } });
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNsLWlvbmljLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvY29tcG9uZW50cy9yc2wtaW9uaWMtZ3JpZC9yc2wtaW9uaWMtZ3JpZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9jb21wb25lbnRzL3JzbC1pb25pYy1ncmlkL3JzbC1pb25pYy1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBMEIsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUE4QixnQkFBZ0IsRUFBUSxNQUFNLGlCQUFpQixDQUFDO0FBRXJGLE9BQU8sS0FBSyxTQUFTLE1BQU0sd0JBQXdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7Ozs7QUFRckUsTUFBTSxPQUFPLHFCQUFxQjtJQW9CaEMsWUFDUyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsU0FBMkIsRUFDM0IsUUFBa0IsRUFDakIsUUFBa0IsRUFD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QUFDO2FBQ3BDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQXBQVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixrYkNsQmxDLHltRUEwRGMsMkNEMUNGLG9CQUFvQjs7MkZBRW5CLHFCQUFxQjtrQkFOakMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sZ0JBQWdCLFdBRWpCLENBQUMsb0JBQW9CLENBQUM7K1dBSXRCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIERlY2ltYWxQaXBlLCBMb2NhdGlvbiwgUGVyY2VudFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvYWRpbmdDb250cm9sbGVyLCBOYXZDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSwgQmFzZVNlcnZpY2UsIEdyaWRMYXlvdXRGb3JtYXQsIFJ1bGUgfSBmcm9tICdAcm9zb2Z0bGFiL2NvcmUnO1xuaW1wb3J0IHsgQmFzZU1vZGVsRm9ybWx5IH0gZnJvbSAnQHJvc29mdGxhYi9mb3JtbHknO1xuaW1wb3J0ICogYXMganNvbkxvZ2ljIGZyb20gJ2pzb24tbG9naWMtanMvbG9naWMuanMnO1xuaW1wb3J0IHsgSW9uaWNMaXN0TGF5b3V0Q29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJb25pY0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9pb25pYy1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBSc2xJb25pY01vZHVsZU1vZHVsZSB9IGZyb20gJy4uLy4uL3JzbC1pb25pYy1tb2R1bGUubW9kdWxlJztcbmV4cG9ydCBkZWNsYXJlIHR5cGUgU29ydERpcmVjdGlvbiA9ICdhc2MnIHwgJ2Rlc2MnIHwgJyc7XG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdyc2wtaW9uaWMtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yc2wtaW9uaWMtZ3JpZC5jb21wb25lbnQuaHRtbCcsICBcbiAgaW1wb3J0czogW1JzbElvbmljTW9kdWxlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgUnNsSW9uaWNHcmlkQ29tcG9uZW50PFQgZXh0ZW5kcyBCYXNlTW9kZWxGb3JtbHksIFUgZXh0ZW5kcyBCYXNlU2VydmljZTxUPj4gaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd1NlcmFjaDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VhcmNoRmllbGRzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGN1c3RvbUluY2x1ZGU6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFNvcnQ6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG4gIEBJbnB1dCgpIGRlbGV0ZVByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0RmlsdGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dIZWFkZXI6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlbGV0ZURpc2FibGVSdWxlOiBSdWxlW107XG4gIEBJbnB1dCgpIG1vZGVsOiBUO1xuICBASW5wdXQoKSBtb2RlbFNlcnZpY2U6IFVcblxuICBkYXRhOiBhbnlbXSA9IFtdO1xuICBwYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIHBhZ2VTaXplOiBudW1iZXIgPSAzMFxuXG4gIGdyaWRMYXlvdXQ6IElvbmljTGlzdExheW91dENvbmZpZ1tdXG4gIGJhc2VQYXRoOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGxvYWRpbmdDdHJsOiBMb2FkaW5nQ29udHJvbGxlcixcbiAgICBwcml2YXRlIG5hdkN0cmw6IE5hdkNvbnRyb2xsZXIsXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IElvbmljRGlhbG9nU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgICBwcml2YXRlIG51bWJlclBpcGU6IERlY2ltYWxQaXBlLFxuICAgIHByaXZhdGUgcGVyY2VudFBpcGU6IFBlcmNlbnRQaXBlKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdzaG93U2VyYWNoJywgZmFsc2UpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ3NlYXJjaEZpZWxkcycsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2N1c3RvbUluY2x1ZGUnLCBudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWZhdWx0U29ydCcsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2RlZmF1bHRTb3J0RGlyZWN0aW9uJywgJycpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2RlbGV0ZVByb3BlcnR5TmFtZScsICduYW1lJyk7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnZGVmYXVsdEZpbHRlcicsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ3Nob3dIZWFkZXInLCB0cnVlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWxldGVEaXNhYmxlUnVsZScsIG51bGwpO1xuXG4gICAgLy8gdGhpcy5zaG93U2VyYWNoID0gcm91dGUuc25hcHNob3QuZGF0YVsnc2hvd1NlcmFjaCddIHx8IGZhbHNlO1xuICAgIC8vIHRoaXMuc2VhcmNoRmllbGRzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhWydzZWFyY2hGaWVsZHMnXSB8fCBudWxsO1xuXG4gICAgLy8gdGhpcy5jdXN0b21JbmNsdWRlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhWydjdXN0b21JbmNsdWRlJ10gfHwgbnVsbDtcblxuICAgIC8vIHRoaXMuZGVmYXVsdFNvcnQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbJ2RlZmF1bHRTb3J0J10gfHwgbnVsbDtcbiAgICAvLyB0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhWydkZWZhdWx0U29ydERpcmVjdGlvbiddIHx8ICcnO1xuXG4gICAgLy8gdGhpcy5kZWxldGVQcm9wZXJ0eU5hbWUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbJ2RlbGV0ZVByb3BlcnR5TmFtZSddIHx8ICduYW1lJztcbiAgICAvLyB0aGlzLmRlZmF1bHRGaWx0ZXIgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGFbJ2RlZmF1bHRGaWx0ZXInXSB8fCBudWxsO1xuXG4gICAgaWYgKCF0aGlzLm1vZGVsU2VydmljZSkge1xuICAgICAgY29uc3QgU0VSVklDRV9UT0tFTiA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YVsncmVxdWlyZWRTZXJ2aWNlJ107XG4gICAgICB0aGlzLm1vZGVsU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PFU+KDxhbnk+U0VSVklDRV9UT0tFTik7XG4gICAgfVxuICAgIHRoaXMubW9kZWwgPSB0aGlzLm1vZGVsU2VydmljZS5uZXdNb2RlbCgpXG4gICAgdGhpcy50aXRsZSA9IHRoaXMubW9kZWwubW9kZWxDb25maWcuZm9ybVRpdGxlXG4gICAgdGhpcy5nZXRMaXN0TGF5b3V0KClcblxuICAgIGNvbnN0IGN1cnJlbnRVcmxTZWdtZW50czogVXJsU2VnbWVudFtdID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykubWFwKHNlZ21lbnQgPT4gbmV3IFVybFNlZ21lbnQoc2VnbWVudCwge30pKTtcbiAgICB0aGlzLmJhc2VQYXRoID0gY3VycmVudFVybFNlZ21lbnRzLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgIC8vIE5hdmlnYXRpb24gdG8gYW5vdGhlciBwYWdlIGlzIGFib3V0IHRvIG9jY3VyXG4gICAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgICB0aGlzLnBhZ2VJbmRleCA9IDFcbiAgICAgICAgLy8gUGVyZm9ybSBhY3Rpb25zIG9yIHVwZGF0ZSBjb21wb25lbnQgYXMgbmVlZGVkXG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgc2V0VmFsdWVGcm9tU25hcHNob3Q8VD4oY29tcG9uZW50OiBhbnksIHNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBUKTogdm9pZCB7XG4gICAgaWYgKGNvbXBvbmVudFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBkYXRhRnJvbVNuYXBzaG90ID0gc25hcHNob3QuZGF0YVtrZXldO1xuICAgICAgaWYgKCFkYXRhRnJvbVNuYXBzaG90KVxuICAgICAgICBkYXRhRnJvbVNuYXBzaG90ID0gc25hcHNob3QucGFyYW1zW2tleV07XG4gICAgICBjb21wb25lbnRba2V5XSA9IGRhdGFGcm9tU25hcHNob3QgIT09IHVuZGVmaW5lZCA/IGRhdGFGcm9tU25hcHNob3QgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuICB9XG4gIGFzeW5jIGlvblZpZXdXaWxsRW50ZXIoKSB7XG4gICAgdGhpcy5kYXRhID0gW107XG4gICAgY29uc3QgbG9hZGluZyA9IGF3YWl0IHRoaXMubG9hZGluZ0N0cmwuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dlbmVyYWwuTG9hZGluZycpLFxuICAgICAgc3Bpbm5lcjogJ2NpcmNsZXMnLFxuICAgIH0pO1xuICAgIGxvYWRpbmcucHJlc2VudCgpO1xuICAgIHRoaXMubG9hZERhdGEobnVsbCwgbnVsbCwgbG9hZGluZyk7XG4gIH1cbiAgYXN5bmMgaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XG4gICAgY29uc3QgbG9hZGluZyA9IGF3YWl0IHRoaXMubG9hZGluZ0N0cmwuY3JlYXRlKHtcbiAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dlbmVyYWwuTG9hZGluZycpLFxuICAgICAgc3Bpbm5lcjogJ2NpcmNsZXMnLFxuICAgIH0pO1xuICAgIGxvYWRpbmcucHJlc2VudCgpO1xuICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5wYWdlSW5kZXggPSAxXG4gICAgdGhpcy5sb2FkRGF0YShudWxsLCBxdWVyeSwgbG9hZGluZyk7XG4gICAgLy8gdGhpcy5yZXN1bHRzID0gdGhpcy5kYXRhLmZpbHRlcigoZCkgPT4gZC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkpID4gLTEpO1xuICB9XG4gIGxvYWREYXRhKGV2ZW50ID0gbnVsbCwgZmlsdGVyVmFsdWUgPSB1bmRlZmluZWQsIGxvYWRpbmcgPSBudWxsKSB7XG4gICAgY29uc3QgZmlsdGVycyA9IFtdO1xuICAgIGxldCBzb3J0cyA9ICcnO1xuICAgIGlmICh0aGlzLmRlZmF1bHRTb3J0KSB7XG4gICAgICBpZiAodGhpcy5kZWZhdWx0U29ydERpcmVjdGlvbiA9PT0gJ2Rlc2MnKSB7XG4gICAgICAgIHNvcnRzID0gJy0nICsgdGhpcy5kZWZhdWx0U29ydDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNvcnRzID0gdGhpcy5kZWZhdWx0U29ydDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvd1NlcmFjaCkge1xuICAgICAgaWYgKGZpbHRlclZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHkgPSAnKCcgKyB0aGlzLnNlYXJjaEZpZWxkcy5yZXBsYWNlKCcsJywgJ3wnKSArICcpJztcbiAgICAgICAgZmlsdGVycy5wdXNoKHkgKyAnQD0qJyArIGZpbHRlclZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuZGVmYXVsdEZpbHRlcikge1xuICAgICAgZmlsdGVycy5wdXNoKHRoaXMuZGVmYXVsdEZpbHRlcilcbiAgICB9XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJzVmFsdWUgPSBmaWx0ZXJzLmpvaW4oJywgJyk7XG4gICAgICB0aGlzLm1vZGVsU2VydmljZS5nZXRBbGwodGhpcy5wYWdlSW5kZXgsIHRoaXMucGFnZVNpemUsIHNvcnRzLCBmaWx0ZXJzVmFsdWUsIHRoaXMuY3VzdG9tSW5jbHVkZSkuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IEJhc2VRdWVyeURhdGE8VD4pID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5wYWdlSW5kZXggIT09IHJlc3BvbnNlLmdldE1ldGEoKS5tZXRhLmNvdW50KSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VJbmRleCsrXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChldmVudCkgZXZlbnQudGFyZ2V0LmRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZpbHRlclZhbHVlIHx8IGxvYWRpbmcpXG4gICAgICAgICAgICB0aGlzLmRhdGEgPSByZXNwb25zZS5nZXRNb2RlbHMoKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuY29uY2F0KHJlc3BvbnNlLmdldE1vZGVscygpKTtcblxuICAgICAgICAgIGlmIChldmVudCkgZXZlbnQudGFyZ2V0LmNvbXBsZXRlKCk7XG4gICAgICAgICAgaWYgKGxvYWRpbmcpXG4gICAgICAgICAgICBsb2FkaW5nLmRpc21pc3MoKVxuICAgICAgICB9KVxuICAgIH0sIDcwMCk7XG4gIH1cbiAgYXN5bmMgaGFuZGxlUmVmcmVzaChldmVudCkge1xuICAgIGNvbnN0IGxvYWRpbmcgPSBhd2FpdCB0aGlzLmxvYWRpbmdDdHJsLmNyZWF0ZSh7XG4gICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHZW5lcmFsLkxvYWRpbmcnKSxcbiAgICAgIHNwaW5uZXI6ICdjaXJjbGVzJyxcbiAgICB9KTtcbiAgICBsb2FkaW5nLnByZXNlbnQoKTtcbiAgICB0aGlzLnBhZ2VJbmRleCA9IDFcbiAgICB0aGlzLmxvYWREYXRhKG51bGwsIG51bGwsIGxvYWRpbmcpO1xuICAgIGV2ZW50LnRhcmdldC5jb21wbGV0ZSgpO1xuICB9XG4gIG9uQWRkKCkge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuYmFzZVBhdGgpXG4gICAgdGhpcy5uYXZDdHJsLm5hdmlnYXRlRm9yd2FyZCh0aGlzLmJhc2VQYXRoICsgJy9hZGQnKTtcbiAgfVxuICBlZGl0TW9kZWwobW9kZWw6IEJhc2VNb2RlbEZvcm1seSkge1xuICAgIHRoaXMubmF2Q3RybC5uYXZpZ2F0ZUZvcndhcmQodGhpcy5iYXNlUGF0aCArICcvZWRpdC8nICsgbW9kZWwuaWQpO1xuICB9XG4gIGdldExpc3RMYXlvdXQoKSB7XG4gICAgaWYgKCF0aGlzLm1vZGVsKSB7XG4gICAgICB0aGlzLm1vZGVsID0gdGhpcy5tb2RlbFNlcnZpY2UubmV3TW9kZWwoKTtcbiAgICB9XG4gICAgdGhpcy5ncmlkTGF5b3V0ID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnSW9uaWNMaXN0TGF5b3V0JywgdGhpcy5tb2RlbCk7XG4gIH1cbiAgZGVsZXRlTW9kZWwobW9kZWwpIHtcbiAgICBjb25zdCBtc2cgPSAnRG8geW91IHdhbnQgdG8gZGVsZXRlICcgKyBtb2RlbFt0aGlzLmRlbGV0ZVByb3BlcnR5TmFtZV0gKyAnPyc7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0obXNnKS50aGVuKFxuICAgICAgKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlLmRhdGEpIHtcbiAgICAgICAgICB0aGlzLm1vZGVsU2VydmljZS5kZWxldGUobW9kZWwuaWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wRGF0YSA9IFtdO1xuICAgICAgICAgICAgLy8gdGhpcy5zZWxlY3RlZE9iamVjdC5lbWl0KG51bGwpO1xuICAgICAgICAgICAgdGhpcy5kYXRhLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoaXRlbS5pZCAhPT0gbW9kZWwuaWQpIHtcbiAgICAgICAgICAgICAgICB0ZW1wRGF0YS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IHRlbXBEYXRhO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKVxuICB9XG4gIGdldENlbFZhbHVlKHJvdzogYW55LCBwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFyb3cpXG4gICAgICByZXR1cm4gXCJcIjtcbiAgICAvLyBpZiAocHJvcGVydHlOYW1lID09ICdrb21wZXRlbnplblN0ZGV2JylcbiAgICAvLyAgIGNvbnNvbGUubG9nKHByb3BlcnR5TmFtZSk7XG4gICAgaWYgKHByb3BlcnR5TmFtZS5pbmRleE9mKCcuJykgPT09IC0xKSB7XG4gICAgICB2YXIgZ3JpZExheW91dCA9IHRoaXMuZ3JpZExheW91dC5maW5kKGYgPT4gZi5rZXkuaW5kZXhPZihwcm9wZXJ0eU5hbWUpID4gLTEpO1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Rm9ybWF0ZWRWYWx1ZShncmlkTGF5b3V0LCByb3dbcHJvcGVydHlOYW1lXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByb3AgPSBwcm9wZXJ0eU5hbWUuc3BsaXQoJy4nKVswXTtcbiAgICAgIGNvbnN0IHN1YlByb3AgPSBwcm9wZXJ0eU5hbWUucmVwbGFjZShwcm9wICsgJy4nLCAnJyk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDZWxWYWx1ZShyb3dbcHJvcF0sIHN1YlByb3ApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldEZvcm1hdGVkVmFsdWUoZ3JpZExheW91dDogSW9uaWNMaXN0TGF5b3V0Q29uZmlnLCB2YWx1ZTogYW55KSB7XG5cbiAgICBpZiAoZ3JpZExheW91dCkge1xuICAgICAgc3dpdGNoIChncmlkTGF5b3V0LmZvcm1hdGluZykge1xuICAgICAgICBjYXNlIEdyaWRMYXlvdXRGb3JtYXQuZGF0ZTpcbiAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIGdyaWRMYXlvdXQuY3VzdG9tRm9ybWF0KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBHcmlkTGF5b3V0Rm9ybWF0Lm51bWJlcjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5udW1iZXJQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgZ3JpZExheW91dC5jdXN0b21Gb3JtYXQpO1xuICAgICAgICBjYXNlIEdyaWRMYXlvdXRGb3JtYXQucGVyY2VudDpcbiAgICAgICAgICBjb25zdCB2YWx1ZVByYyA9IHZhbHVlIC8gMTAwO1xuICAgICAgICAgIHJldHVybiB0aGlzLnBlcmNlbnRQaXBlLnRyYW5zZm9ybSh2YWx1ZVByYywgZ3JpZExheW91dC5jdXN0b21Gb3JtYXQpO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgZGVsZXRlRW5hYmxlZChtb2RlbDogVCkge1xuICAgIGlmICh0aGlzLmRlbGV0ZURpc2FibGVSdWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5ldmFsdWF0ZVJ1bGUodGhpcy5kZWxldGVEaXNhYmxlUnVsZSwgbW9kZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBldmFsdWF0ZVJ1bGUocnVsZXM6IFJ1bGVbXSwgbW9kZWw6IFQpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0ID0gdHJ1ZTtcbiAgICBydWxlcy5mb3JFYWNoKHJ1bGUgPT4ge1xuICAgICAgbGV0IGpzb25SdWxlOiBhbnk7XG4gICAgICBpZiAodHlwZW9mIHJ1bGUucnVsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAganNvblJ1bGUgPSBKU09OLnBhcnNlKHJ1bGUucnVsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBqc29uUnVsZSA9IHJ1bGUucnVsZTtcbiAgICAgIH1cbiAgICAgIGlmIChydWxlLnBhcmFtZXRlcnMpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9ICd7JyArIHJ1bGUucGFyYW1ldGVycy5tYXAoKGl0ZW06IHN0cmluZykgPT4ge1xuICAgICAgICAgIHJldHVybiAnXCInICsgaXRlbSArICdcIjpcIicgKyBtb2RlbFtpdGVtXSArICdcIic7XG4gICAgICAgIH0pLmpvaW4oJywnKSArICd9JztcbiAgICAgICAgcmVzdWx0ID0ganNvbkxvZ2ljLmFwcGx5KGpzb25SdWxlLCBKU09OLnBhcnNlKGRhdGEpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGpzb25Mb2dpYy5hcHBseShqc29uUnVsZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIiwiPGlvbi1oZWFkZXIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLW1lbnUtYnV0dG9uPjwvaW9uLW1lbnUtYnV0dG9uPlxuICAgICAgPGlvbi1iYWNrLWJ1dHRvbj48L2lvbi1iYWNrLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyXCI+PC9uZy1jb250YWluZXI+XG4gIDwvaW9uLXRvb2xiYXI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VhcmNoXCI+PC9uZy1jb250YWluZXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudCBbZnVsbHNjcmVlbl09XCJ0cnVlXCI+XG5cbiAgPGlvbi1yZWZyZXNoZXIgc2xvdD1cImZpeGVkXCIgKGlvblJlZnJlc2gpPVwiaGFuZGxlUmVmcmVzaCgkZXZlbnQpXCI+XG4gICAgPGlvbi1yZWZyZXNoZXItY29udGVudD48L2lvbi1yZWZyZXNoZXItY29udGVudD5cbiAgPC9pb24tcmVmcmVzaGVyPlxuXG4gIDxpb24tbGlzdD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFcIj5cbiAgICAgIDxpb24taXRlbS1zbGlkaW5nPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RJdGVtXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8aW9uLWl0ZW0tb3B0aW9ucyAqbmdJZj1cImRlbGV0ZUVuYWJsZWQoaXRlbSlcIiBzaWRlPVwiZW5kXCI+XG4gICAgICAgICAgPGlvbi1pdGVtLW9wdGlvbiBjb2xvcj1cImRhbmdlclwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwidHJhc2hcIiAoY2xpY2spPSdkZWxldGVNb2RlbChpdGVtKSc+PC9pb24taWNvbj5cbiAgICAgICAgICA8L2lvbi1pdGVtLW9wdGlvbj5cbiAgICAgICAgPC9pb24taXRlbS1vcHRpb25zPlxuICAgICAgPC9pb24taXRlbS1zbGlkaW5nPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2lvbi1saXN0PlxuICA8aW9uLWluZmluaXRlLXNjcm9sbCB0aHJlc2hvbGQ9XCIxMDBweFwiIChpb25JbmZpbml0ZSk9XCJsb2FkRGF0YSgkZXZlbnQpXCI+XG4gICAgPGlvbi1pbmZpbml0ZS1zY3JvbGwtY29udGVudCBsb2FkaW5nU3Bpbm5lcj1cImJ1YmJsZXNcIiBsb2FkaW5nVGV4dD1cIkxvYWRpbmcgbW9yZSBkYXRhLi4uXCI+XG4gICAgPC9pb24taW5maW5pdGUtc2Nyb2xsLWNvbnRlbnQ+XG4gIDwvaW9uLWluZmluaXRlLXNjcm9sbD5cblxuPC9pb24tY29udGVudD5cblxuPG5nLXRlbXBsYXRlICNoZWFkZXI+XG4gIDxpb24tdGl0bGUgIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+e3t0aXRsZSB8dHJhbnNsYXRlfX08L2lvbi10aXRsZT5cbiAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJvbkFkZCgpXCIgZmlsbD1cImNsZWFyXCI+XG4gICAgPGlvbi1pY29uIHNpemU9XCJsYXJnZVwiIG5hbWU9XCJhZGRcIj48L2lvbi1pY29uPlxuICA8L2lvbi1idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NlYXJjaD5cbiAgPGlvbi10b29sYmFyICpuZ0lmPVwic2hvd1NlcmFjaFwiPlxuICAgIDxpb24tc2VhcmNoYmFyIFtkZWJvdW5jZV09XCIxMDAwXCIgKGlvbkNoYW5nZSk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiPjwvaW9uLXNlYXJjaGJhcj5cbiAgPC9pb24tdG9vbGJhcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlzdEl0ZW0gbGV0LWl0ZW09J2l0ZW0nPlxuICA8aW9uLWl0ZW0gYnV0dG9uIChjbGljayk9J2VkaXRNb2RlbChpdGVtKSc+XG4gICAgPGlvbi1sYWJlbD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBncmlkTGF5b3V0XCI+XG4gICAgICAgIDxoMiAqbmdJZj1cInJvdy5wcmltYXJ5XCI+IHt7Z2V0Q2VsVmFsdWUoaXRlbSxyb3cua2V5KX19IDwvaDI+XG4gICAgICAgIDxoMyAqbmdJZj1cIiFyb3cucHJpbWFyeVwiPnt7Z2V0Q2VsVmFsdWUoaXRlbSxyb3cua2V5KX19IDwvaDM+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2lvbi1sYWJlbD5cbiAgPC9pb24taXRlbT5cbjwvbmctdGVtcGxhdGU+Il19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export { IonicDataTableLayout } from './ionic-datatable-layout';
|
2
|
+
export { IonicListLayout } from './ionic-list.decorator';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9kZWNvcmF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IElvbmljRGF0YVRhYmxlTGF5b3V0IH0gZnJvbSAnLi9pb25pYy1kYXRhdGFibGUtbGF5b3V0JztcclxuZXhwb3J0IHsgSW9uaWNMaXN0TGF5b3V0IH0gZnJvbSAnLi9pb25pYy1saXN0LmRlY29yYXRvcic7XHJcblxyXG4iXX0=
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export function IonicDataTableLayout(config) {
|
2
|
+
return (target, propertyName) => {
|
3
|
+
const annotations = Reflect.getMetadata('IonicDataTableLayout', target) || [];
|
4
|
+
config.prop = propertyName;
|
5
|
+
config.visible = config.visible === undefined ? true : config.visible;
|
6
|
+
annotations.push(config);
|
7
|
+
Reflect.defineMetadata('IonicDataTableLayout', annotations, target);
|
8
|
+
};
|
9
|
+
}
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZGF0YXRhYmxlLWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvbGliL2RlY29yYXRvcnMvaW9uaWMtZGF0YXRhYmxlLWxheW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBa0M7SUFDbkUsT0FBTyxDQUFDLE1BQVcsRUFBRSxZQUFvQixFQUFFLEVBQUU7UUFDekMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUUsTUFBTSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7UUFDM0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3RFLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDeEUsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICdAc3dpbWxhbmUvbmd4LWRhdGF0YWJsZSc7XG5pbXBvcnQgeyB9IGZyb20gJ3JlZmxlY3QtbWV0YWRhdGEnO1xuZXhwb3J0IGludGVyZmFjZSBJb25pY0RhdGFUYWJsZUxheW91dENvbmZpZyBleHRlbmRzIFRhYmxlQ29sdW1uIHtcbiAgICBvcmRlcj86IG51bWJlcjtcbiAgICB2aXNpYmxlPzogYm9vbGVhbjtcbiAgICBpc1RyYW5zbGF0ZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGZ1bmN0aW9uIElvbmljRGF0YVRhYmxlTGF5b3V0KGNvbmZpZzogSW9uaWNEYXRhVGFibGVMYXlvdXRDb25maWcpIHtcbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0lvbmljRGF0YVRhYmxlTGF5b3V0JywgdGFyZ2V0KSB8fCBbXTtcbiAgICAgICAgY29uZmlnLnByb3AgPSBwcm9wZXJ0eU5hbWU7XG4gICAgICAgIGNvbmZpZy52aXNpYmxlID0gY29uZmlnLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBjb25maWcudmlzaWJsZTtcbiAgICAgICAgYW5ub3RhdGlvbnMucHVzaChjb25maWcpO1xuXG4gICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoJ0lvbmljRGF0YVRhYmxlTGF5b3V0JywgYW5ub3RhdGlvbnMsIHRhcmdldCk7XG4gICAgfTtcbn1cbiJdfQ==
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export function IonicListLayout(config) {
|
2
|
+
return (target, propertyName) => {
|
3
|
+
const annotations = Reflect.getMetadata('IonicListLayout', target) || [];
|
4
|
+
config.key = propertyName;
|
5
|
+
annotations.push(config);
|
6
|
+
Reflect.defineMetadata('IonicListLayout', annotations, target);
|
7
|
+
};
|
8
|
+
}
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtbGlzdC5kZWNvcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9kZWNvcmF0b3JzL2lvbmljLWxpc3QuZGVjb3JhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxlQUFlLENBQUMsTUFBNkI7SUFDekQsT0FBTyxDQUFDLE1BQVcsRUFBRSxZQUFvQixFQUFFLEVBQUU7UUFDekMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekUsTUFBTSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDMUIsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6QixPQUFPLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRSxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgfSBmcm9tICdyZWZsZWN0LW1ldGFkYXRhJztcbmltcG9ydCB7IElvbmljTGlzdExheW91dENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW9uaWMtbGlzdC1sYXlvdXQtY29uZmlnJztcbmV4cG9ydCBmdW5jdGlvbiBJb25pY0xpc3RMYXlvdXQoY29uZmlnOiBJb25pY0xpc3RMYXlvdXRDb25maWcpIHtcbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eU5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBhbm5vdGF0aW9ucyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0lvbmljTGlzdExheW91dCcsIHRhcmdldCkgfHwgW107XG4gICAgICAgIGNvbmZpZy5rZXkgPSBwcm9wZXJ0eU5hbWU7XG4gICAgICAgIGFubm90YXRpb25zLnB1c2goY29uZmlnKTtcblxuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKCdJb25pY0xpc3RMYXlvdXQnLCBhbm5vdGF0aW9ucywgdGFyZ2V0KTtcbiAgICB9O1xufVxuIl19
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBJb25pY0xpc3RMYXlvdXRDb25maWcgfSBmcm9tICcuL2lvbmljLWxpc3QtbGF5b3V0LWNvbmZpZyc7XHJcbiJdfQ==
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtbGlzdC1sYXlvdXQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2lvbmljL3NyYy9saWIvaW50ZXJmYWNlcy9pb25pYy1saXN0LWxheW91dC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyaWRMYXlvdXRGb3JtYXQgfSBmcm9tICdAcm9zb2Z0bGFiL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBJb25pY0xpc3RMYXlvdXRDb25maWcge1xuICAgIGtleT86IHN0cmluZztcbiAgICBwcmltYXJ5OiBib29sZWFuO1xuICAgIHRyYW5zbGF0ZUtleT86IHN0cmluZ1xuICAgIGZvcm1hdGluZz86IEdyaWRMYXlvdXRGb3JtYXQ7XG4gICAgY3VzdG9tRm9ybWF0Pzogc3RyaW5nO1xufVxuIl19
|
@@ -0,0 +1,51 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { AlertController } from '@ionic/angular';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@ionic/angular";
|
5
|
+
export class IonicDialogService {
|
6
|
+
constructor(alertController) {
|
7
|
+
this.alertController = alertController;
|
8
|
+
}
|
9
|
+
async confirm(message, title, confirmButtonText = 'Delete', cancelButtonText = 'Cancel') {
|
10
|
+
let choice;
|
11
|
+
const alert = await this.alertController.create({
|
12
|
+
header: title,
|
13
|
+
subHeader: message,
|
14
|
+
buttons: [{
|
15
|
+
text: cancelButtonText,
|
16
|
+
handler: () => {
|
17
|
+
alert.dismiss(false);
|
18
|
+
return false;
|
19
|
+
}
|
20
|
+
}, {
|
21
|
+
text: confirmButtonText,
|
22
|
+
handler: () => {
|
23
|
+
alert.dismiss(true);
|
24
|
+
return true;
|
25
|
+
}
|
26
|
+
}]
|
27
|
+
});
|
28
|
+
await alert.present();
|
29
|
+
await alert.onDidDismiss().then((data) => {
|
30
|
+
choice = data;
|
31
|
+
});
|
32
|
+
return choice;
|
33
|
+
}
|
34
|
+
async showSaveMessage(message, title) {
|
35
|
+
const alert = await this.alertController.create({
|
36
|
+
header: title,
|
37
|
+
subHeader: message,
|
38
|
+
buttons: ['OK']
|
39
|
+
});
|
40
|
+
await alert.present();
|
41
|
+
}
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: IonicDialogService, deps: [{ token: i1.AlertController }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
43
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: IonicDialogService, providedIn: 'root' }); }
|
44
|
+
}
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: IonicDialogService, decorators: [{
|
46
|
+
type: Injectable,
|
47
|
+
args: [{
|
48
|
+
providedIn: 'root'
|
49
|
+
}]
|
50
|
+
}], ctorParameters: function () { return [{ type: i1.AlertController }]; } });
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9pb25pYy1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBS2pELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUksQ0FBQztJQUN6RCxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQWdCLEVBQUUsS0FBYyxFQUM1QyxvQkFBNEIsUUFBUSxFQUNwQyxtQkFBMkIsUUFBUTtRQUNuQyxJQUFJLE1BQU0sQ0FBQTtRQUNWLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7d0JBQ3BCLE9BQU8sS0FBSyxDQUFBO29CQUNkLENBQUM7aUJBQ0YsRUFBRTtvQkFDRCxJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixPQUFPLEVBQUUsR0FBRyxFQUFFO3dCQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ3BCLE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7aUJBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RCLE1BQU0sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtRQUNGLE9BQU8sTUFBTSxDQUFBO0lBRWYsQ0FBQztJQUNELEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBZ0IsRUFBRSxLQUFjO1FBQ3BELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7WUFDOUMsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFeEIsQ0FBQzs4R0F6Q1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW9uaWNEaWFsb2dTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFsZXJ0Q29udHJvbGxlcjogQWxlcnRDb250cm9sbGVyKSB7IH1cbiAgYXN5bmMgY29uZmlybShtZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZyxcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gJ0RlbGV0ZScsXG4gICAgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nID0gJ0NhbmNlbCcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgY2hvaWNlXG4gICAgY29uc3QgYWxlcnQgPSBhd2FpdCB0aGlzLmFsZXJ0Q29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgaGVhZGVyOiB0aXRsZSxcbiAgICAgIHN1YkhlYWRlcjogbWVzc2FnZSxcbiAgICAgIGJ1dHRvbnM6IFt7XG4gICAgICAgIHRleHQ6IGNhbmNlbEJ1dHRvblRleHQsXG4gICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICBhbGVydC5kaXNtaXNzKGZhbHNlKVxuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9LCB7XG4gICAgICAgIHRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxuICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgYWxlcnQuZGlzbWlzcyh0cnVlKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfV1cbiAgICB9KTtcblxuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcbiAgICBhd2FpdCBhbGVydC5vbkRpZERpc21pc3MoKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICBjaG9pY2UgPSBkYXRhXG4gICAgfSlcbiAgICByZXR1cm4gY2hvaWNlXG5cbiAgfVxuICBhc3luYyBzaG93U2F2ZU1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWxlcnRDb250cm9sbGVyLmNyZWF0ZSh7XG4gICAgICBoZWFkZXI6IHRpdGxlLFxuICAgICAgc3ViSGVhZGVyOiBtZXNzYWdlLFxuICAgICAgYnV0dG9uczogWydPSyddXG4gICAgfSk7XG5cbiAgICBhd2FpdCBhbGVydC5wcmVzZW50KCk7XG5cbiAgfVxuXG59XG4iXX0=
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { NgModule } from '@angular/core';
|
3
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
4
|
+
import { IonicModule } from '@ionic/angular';
|
5
|
+
import { FORMLY_CONFIG, FormlyModule } from '@ngx-formly/core';
|
6
|
+
import { FormlyIonicModule } from '@ngx-formly/ionic';
|
7
|
+
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
8
|
+
import { NgxDatatableModule } from '@swimlane/ngx-datatable';
|
9
|
+
import { IonicDialogService } from './ionic-dialog.service';
|
10
|
+
import { registerTranslateExtension } from './translate.extension';
|
11
|
+
import { RepeatTypeComponent } from './types/repeat/repeat-section.type';
|
12
|
+
import { fieldMatchValidator } from './validators/must-match';
|
13
|
+
import { AccordionWrapperComponent } from './wrappers/accordion-wrapper.component';
|
14
|
+
import { PanelWrapperComponent } from './wrappers/panel-wrapper.component';
|
15
|
+
import * as i0 from "@angular/core";
|
16
|
+
import * as i1 from "@ngx-formly/core";
|
17
|
+
const COMMON_MODULES = [
|
18
|
+
CommonModule,
|
19
|
+
IonicModule,
|
20
|
+
ReactiveFormsModule,
|
21
|
+
FormlyIonicModule,
|
22
|
+
NgxDatatableModule
|
23
|
+
];
|
24
|
+
export class RslIonicModuleModule {
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
26
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, imports: [CommonModule,
|
27
|
+
IonicModule,
|
28
|
+
ReactiveFormsModule,
|
29
|
+
FormlyIonicModule,
|
30
|
+
NgxDatatableModule, TranslateModule, i1.FormlyModule], exports: [CommonModule,
|
31
|
+
IonicModule,
|
32
|
+
ReactiveFormsModule,
|
33
|
+
FormlyIonicModule,
|
34
|
+
NgxDatatableModule, FormlyModule,
|
35
|
+
TranslateModule] }); }
|
36
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, providers: [
|
37
|
+
IonicDialogService,
|
38
|
+
{ provide: FORMLY_CONFIG, multi: true, useFactory: registerTranslateExtension, deps: [TranslateService] },
|
39
|
+
], imports: [COMMON_MODULES, TranslateModule,
|
40
|
+
FormlyModule.forRoot({
|
41
|
+
types: [{ name: 'repeat', component: RepeatTypeComponent }],
|
42
|
+
validators: [{ name: 'fieldMatch', validation: fieldMatchValidator }],
|
43
|
+
wrappers: [
|
44
|
+
{ name: 'panel', component: PanelWrapperComponent },
|
45
|
+
{ name: 'accordion', component: AccordionWrapperComponent }
|
46
|
+
],
|
47
|
+
validationMessages: [
|
48
|
+
{ name: 'required', message: 'This field is required' },
|
49
|
+
],
|
50
|
+
}), CommonModule,
|
51
|
+
IonicModule,
|
52
|
+
ReactiveFormsModule,
|
53
|
+
FormlyIonicModule,
|
54
|
+
NgxDatatableModule, FormlyModule,
|
55
|
+
TranslateModule] }); }
|
56
|
+
}
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: RslIonicModuleModule, decorators: [{
|
58
|
+
type: NgModule,
|
59
|
+
args: [{
|
60
|
+
imports: [
|
61
|
+
...COMMON_MODULES,
|
62
|
+
TranslateModule,
|
63
|
+
FormlyModule.forRoot({
|
64
|
+
types: [{ name: 'repeat', component: RepeatTypeComponent }],
|
65
|
+
validators: [{ name: 'fieldMatch', validation: fieldMatchValidator }],
|
66
|
+
wrappers: [
|
67
|
+
{ name: 'panel', component: PanelWrapperComponent },
|
68
|
+
{ name: 'accordion', component: AccordionWrapperComponent }
|
69
|
+
],
|
70
|
+
validationMessages: [
|
71
|
+
{ name: 'required', message: 'This field is required' },
|
72
|
+
],
|
73
|
+
}),
|
74
|
+
],
|
75
|
+
providers: [
|
76
|
+
IonicDialogService,
|
77
|
+
{ provide: FORMLY_CONFIG, multi: true, useFactory: registerTranslateExtension, deps: [TranslateService] },
|
78
|
+
],
|
79
|
+
exports: [
|
80
|
+
...COMMON_MODULES,
|
81
|
+
FormlyModule,
|
82
|
+
TranslateModule
|
83
|
+
],
|
84
|
+
}]
|
85
|
+
}] });
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnNsLWlvbmljLW1vZHVsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi9yc2wtaW9uaWMtbW9kdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUMzRSxNQUFNLGNBQWMsR0FBRztJQUNyQixZQUFZO0lBQ1osV0FBVztJQUNYLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsa0JBQWtCO0NBQ25CLENBQUM7QUEyQkYsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsWUFoQy9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixrQkFBa0IsRUFNaEIsZUFBZSw4QkFWakIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLGtCQUFrQixFQXdCaEIsWUFBWTtZQUNaLGVBQWU7K0dBR04sb0JBQW9CLGFBVnBCO1lBQ1Qsa0JBQWtCO1lBQ2xCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1NBQzFHLFlBaEJJLGNBQWMsRUFDakIsZUFBZTtZQUNmLFlBQVksQ0FBQyxPQUFPLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztnQkFDM0QsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO2dCQUNyRSxRQUFRLEVBQUU7b0JBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtvQkFDbkQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRTtpQkFBQztnQkFDOUQsa0JBQWtCLEVBQUU7b0JBQ2xCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUU7aUJBQ3hEO2FBQ0YsQ0FBQyxFQXBCSixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixpQkFBaUI7WUFDakIsa0JBQWtCLEVBd0JoQixZQUFZO1lBQ1osZUFBZTs7MkZBR04sb0JBQW9CO2tCQXpCaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxjQUFjO3dCQUNqQixlQUFlO3dCQUNmLFlBQVksQ0FBQyxPQUFPLENBQUM7NEJBQ25CLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQzs0QkFDM0QsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxDQUFDOzRCQUNyRSxRQUFRLEVBQUU7Z0NBQ1IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQ0FDbkQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRTs2QkFBQzs0QkFDOUQsa0JBQWtCLEVBQUU7Z0NBQ2xCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUU7NkJBQ3hEO3lCQUNGLENBQUM7cUJBQ0g7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULGtCQUFrQjt3QkFDbEIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLDBCQUEwQixFQUFFLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7cUJBQzFHO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLGNBQWM7d0JBQ2pCLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEZPUk1MWV9DT05GSUcsIEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5SW9uaWNNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9pb25pYyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE5neERhdGF0YWJsZU1vZHVsZSB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlJztcbmltcG9ydCB7IElvbmljRGlhbG9nU2VydmljZSB9IGZyb20gJy4vaW9uaWMtZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVnaXN0ZXJUcmFuc2xhdGVFeHRlbnNpb24gfSBmcm9tICcuL3RyYW5zbGF0ZS5leHRlbnNpb24nO1xuaW1wb3J0IHsgUmVwZWF0VHlwZUNvbXBvbmVudCB9IGZyb20gJy4vdHlwZXMvcmVwZWF0L3JlcGVhdC1zZWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgZmllbGRNYXRjaFZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9ycy9tdXN0LW1hdGNoJztcbmltcG9ydCB7IEFjY29yZGlvbldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3dyYXBwZXJzL2FjY29yZGlvbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYW5lbFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3dyYXBwZXJzL3BhbmVsLXdyYXBwZXIuY29tcG9uZW50JztcbmNvbnN0IENPTU1PTl9NT0RVTEVTID0gW1xuICBDb21tb25Nb2R1bGUsXG4gIElvbmljTW9kdWxlLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBGb3JtbHlJb25pY01vZHVsZSxcbiAgTmd4RGF0YXRhYmxlTW9kdWxlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLi4uQ09NTU9OX01PRFVMRVMsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JSb290KHtcbiAgICAgIHR5cGVzOiBbeyBuYW1lOiAncmVwZWF0JywgY29tcG9uZW50OiBSZXBlYXRUeXBlQ29tcG9uZW50IH1dLFxuICAgICAgdmFsaWRhdG9yczogW3sgbmFtZTogJ2ZpZWxkTWF0Y2gnLCB2YWxpZGF0aW9uOiBmaWVsZE1hdGNoVmFsaWRhdG9yIH1dLFxuICAgICAgd3JhcHBlcnM6IFtcbiAgICAgICAgeyBuYW1lOiAncGFuZWwnLCBjb21wb25lbnQ6IFBhbmVsV3JhcHBlckNvbXBvbmVudCB9LFxuICAgICAgICB7IG5hbWU6ICdhY2NvcmRpb24nLCBjb21wb25lbnQ6IEFjY29yZGlvbldyYXBwZXJDb21wb25lbnQgfV0sXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IFtcbiAgICAgICAgeyBuYW1lOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCcgfSxcbiAgICAgIF0sXG4gICAgfSksXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIElvbmljRGlhbG9nU2VydmljZSxcbiAgICB7IHByb3ZpZGU6IEZPUk1MWV9DT05GSUcsIG11bHRpOiB0cnVlLCB1c2VGYWN0b3J5OiByZWdpc3RlclRyYW5zbGF0ZUV4dGVuc2lvbiwgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdIH0sXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAuLi5DT01NT05fTU9EVUxFUyxcbiAgICBGb3JtbHlNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJzbElvbmljTW9kdWxlTW9kdWxlIHsgfVxuIl19
|
@@ -0,0 +1,48 @@
|
|
1
|
+
export class TranslateExtension {
|
2
|
+
constructor(translate) {
|
3
|
+
this.translate = translate;
|
4
|
+
}
|
5
|
+
prePopulate(field) {
|
6
|
+
const props = field.props || {};
|
7
|
+
if (!props['translate'] || props['_translated']) {
|
8
|
+
return;
|
9
|
+
}
|
10
|
+
props['_translated'] = true;
|
11
|
+
field.expressions = {
|
12
|
+
...(field.expressions || {}),
|
13
|
+
'props.label': this.translate.stream(props.label),
|
14
|
+
};
|
15
|
+
if (props.placeholder) {
|
16
|
+
field.expressions = {
|
17
|
+
...(field.expressions || {}),
|
18
|
+
'props.placeholder': this.translate.stream(props.placeholder)
|
19
|
+
};
|
20
|
+
}
|
21
|
+
if (props.description) {
|
22
|
+
field.expressions = {
|
23
|
+
...(field.expressions || {}),
|
24
|
+
'props.description': this.translate.stream(props.description)
|
25
|
+
};
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
export function registerTranslateExtension(translate) {
|
30
|
+
return {
|
31
|
+
validationMessages: [
|
32
|
+
{
|
33
|
+
name: 'required',
|
34
|
+
message(error, field) {
|
35
|
+
// console.log(field);
|
36
|
+
return translate.stream('General.Field.Required', { field: field.props.label });
|
37
|
+
},
|
38
|
+
},
|
39
|
+
],
|
40
|
+
extensions: [
|
41
|
+
{
|
42
|
+
name: 'translate',
|
43
|
+
extension: new TranslateExtension(translate),
|
44
|
+
}
|
45
|
+
],
|
46
|
+
};
|
47
|
+
}
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9pb25pYy9zcmMvbGliL3RyYW5zbGF0ZS5leHRlbnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFJLENBQUM7SUFDcEQsV0FBVyxDQUFDLEtBQXdCO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzdDLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUIsS0FBSyxDQUFDLFdBQVcsR0FBRztZQUNoQixHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUIsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDcEQsQ0FBQztRQUNGLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNuQixLQUFLLENBQUMsV0FBVyxHQUFHO2dCQUNoQixHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7Z0JBQzVCLG1CQUFtQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7YUFDaEUsQ0FBQztTQUNMO1FBQ0QsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ25CLEtBQUssQ0FBQyxXQUFXLEdBQUc7Z0JBQ2hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztnQkFDNUIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUNoRSxDQUFDO1NBQ0w7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsU0FBMkI7SUFDbEUsT0FBTztRQUNILGtCQUFrQixFQUFFO1lBQ2hCO2dCQUNJLElBQUksRUFBRSxVQUFVO2dCQUNoQixPQUFPLENBQUMsS0FBVSxFQUFFLEtBQXdCO29CQUN4QyxzQkFBc0I7b0JBQ3RCLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3BGLENBQUM7YUFDSjtTQUNKO1FBQ0QsVUFBVSxFQUFFO1lBQ1I7Z0JBQ0ksSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQzthQUMvQztTQUNKO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtbHlFeHRlbnNpb24sIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVFeHRlbnNpb24gaW1wbGVtZW50cyBGb3JtbHlFeHRlbnNpb24ge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxyXG4gICAgcHJlUG9wdWxhdGUoZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSB7XHJcbiAgICAgICAgY29uc3QgcHJvcHMgPSBmaWVsZC5wcm9wcyB8fCB7fTtcclxuICAgICAgICBpZiAoIXByb3BzWyd0cmFuc2xhdGUnXSB8fCBwcm9wc1snX3RyYW5zbGF0ZWQnXSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwcm9wc1snX3RyYW5zbGF0ZWQnXSA9IHRydWU7XHJcbiAgICAgICAgZmllbGQuZXhwcmVzc2lvbnMgPSB7XHJcbiAgICAgICAgICAgIC4uLihmaWVsZC5leHByZXNzaW9ucyB8fCB7fSksXHJcbiAgICAgICAgICAgICdwcm9wcy5sYWJlbCc6IHRoaXMudHJhbnNsYXRlLnN0cmVhbShwcm9wcy5sYWJlbCksXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIpIHtcclxuICAgICAgICAgICAgZmllbGQuZXhwcmVzc2lvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICAuLi4oZmllbGQuZXhwcmVzc2lvbnMgfHwge30pLFxyXG4gICAgICAgICAgICAgICAgJ3Byb3BzLnBsYWNlaG9sZGVyJzogdGhpcy50cmFuc2xhdGUuc3RyZWFtKHByb3BzLnBsYWNlaG9sZGVyKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgZmllbGQuZXhwcmVzc2lvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICAuLi4oZmllbGQuZXhwcmVzc2lvbnMgfHwge30pLFxyXG4gICAgICAgICAgICAgICAgJ3Byb3BzLmRlc2NyaXB0aW9uJzogdGhpcy50cmFuc2xhdGUuc3RyZWFtKHByb3BzLmRlc2NyaXB0aW9uKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyVHJhbnNsYXRlRXh0ZW5zaW9uKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogJ3JlcXVpcmVkJyxcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2UoZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coZmllbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdGUuc3RyZWFtKCdHZW5lcmFsLkZpZWxkLlJlcXVpcmVkJywgeyBmaWVsZDogZmllbGQucHJvcHMubGFiZWwgfSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZXh0ZW5zaW9uczogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAndHJhbnNsYXRlJyxcclxuICAgICAgICAgICAgICAgIGV4dGVuc2lvbjogbmV3IFRyYW5zbGF0ZUV4dGVuc2lvbih0cmFuc2xhdGUpLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSxcclxuICAgIH07XHJcbn0iXX0=
|
@@ -0,0 +1,2 @@
|
|
1
|
+
export * from './repeat/repeat-section.type';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvaW9uaWMvc3JjL2xpYi90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXBlYXQvcmVwZWF0LXNlY3Rpb24udHlwZSc7XHJcbiJdfQ==
|