@indigina/kendo 1.1.2 → 1.1.5
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/assets/styles/Site.css +68 -9
- package/esm2020/lib/kendo.module.mjs +8 -3
- package/esm2020/lib/models/User.mjs +2 -0
- package/esm2020/lib/services/partner.service.mjs +16 -0
- package/esm2020/lib/widgets/entity-list/entity-list.component.mjs +8 -8
- package/esm2020/lib/widgets/entity-list/user-list-admin.component.mjs +38 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/indigina-kendo.mjs +503 -465
- package/fesm2015/indigina-kendo.mjs.map +1 -1
- package/fesm2020/indigina-kendo.mjs +553 -515
- package/fesm2020/indigina-kendo.mjs.map +1 -1
- package/lib/kendo.module.d.ts +16 -15
- package/lib/models/User.d.ts +5 -0
- package/lib/services/partner.service.d.ts +9 -0
- package/lib/widgets/entity-list/entity-list.component.d.ts +2 -2
- package/lib/widgets/entity-list/user-list-admin.component.d.ts +16 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -41,16 +41,16 @@ import * as i3$2 from '@progress/kendo-angular-popup';
|
|
|
41
41
|
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
42
42
|
import * as i2$2 from '@progress/kendo-angular-dialog';
|
|
43
43
|
import { DialogsModule, WindowModule } from '@progress/kendo-angular-dialog';
|
|
44
|
-
import * as
|
|
45
|
-
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
|
46
|
-
import * as i2$3 from '@progress/kendo-angular-dateinputs';
|
|
47
|
-
import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
48
|
-
import * as i3$3 from '@progress/kendo-angular-dropdowns';
|
|
49
|
-
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
50
|
-
import * as i3$4 from '@progress/kendo-angular-grid';
|
|
44
|
+
import * as i3$3 from '@progress/kendo-angular-grid';
|
|
51
45
|
import { GridModule, ExcelModule } from '@progress/kendo-angular-grid';
|
|
46
|
+
import * as i2$3 from '@progress/kendo-angular-buttons';
|
|
47
|
+
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
|
52
48
|
import * as i6 from '@progress/kendo-angular-inputs';
|
|
53
49
|
import { InputsModule } from '@progress/kendo-angular-inputs';
|
|
50
|
+
import * as i2$4 from '@progress/kendo-angular-dateinputs';
|
|
51
|
+
import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
52
|
+
import * as i3$4 from '@progress/kendo-angular-dropdowns';
|
|
53
|
+
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
54
54
|
import { TooltipModule } from '@progress/kendo-angular-tooltip';
|
|
55
55
|
|
|
56
56
|
class DebounceDirective {
|
|
@@ -1738,180 +1738,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
1738
1738
|
type: Input
|
|
1739
1739
|
}] } });
|
|
1740
1740
|
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
this.
|
|
1741
|
+
class EntityService {
|
|
1742
|
+
constructor(httpService, endpoints) {
|
|
1743
|
+
this.httpService = httpService;
|
|
1744
|
+
this.endpoints = endpoints;
|
|
1745
1745
|
}
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
return next.handle(request);
|
|
1759
|
-
}
|
|
1746
|
+
getPage(state) {
|
|
1747
|
+
return this.httpService.get(this.endpoints.query(state));
|
|
1748
|
+
}
|
|
1749
|
+
get(id) {
|
|
1750
|
+
return this.httpService.get(this.endpoints.entityPath(id));
|
|
1751
|
+
}
|
|
1752
|
+
delete(id) {
|
|
1753
|
+
return this.httpService.delete(this.endpoints.entityPath(id));
|
|
1754
|
+
}
|
|
1755
|
+
save(model) {
|
|
1756
|
+
if (model.id) {
|
|
1757
|
+
return this.httpService.put(this.endpoints.entityPath(model.id), model);
|
|
1760
1758
|
}
|
|
1761
|
-
return
|
|
1759
|
+
return this.httpService.post(this.endpoints.path, model);
|
|
1762
1760
|
}
|
|
1763
1761
|
}
|
|
1764
|
-
AuthHeadersInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthHeadersInterceptor, deps: [{ token: SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1765
|
-
AuthHeadersInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthHeadersInterceptor });
|
|
1766
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthHeadersInterceptor, decorators: [{
|
|
1767
|
-
type: Injectable
|
|
1768
|
-
}], ctorParameters: function () { return [{ type: SettingsService }]; } });
|
|
1769
|
-
|
|
1770
|
-
var FieldTypes;
|
|
1771
|
-
(function (FieldTypes) {
|
|
1772
|
-
FieldTypes[FieldTypes["Text"] = 0] = "Text";
|
|
1773
|
-
FieldTypes[FieldTypes["Checkbox"] = 1] = "Checkbox";
|
|
1774
|
-
FieldTypes[FieldTypes["Dropdown"] = 2] = "Dropdown";
|
|
1775
|
-
FieldTypes[FieldTypes["Multiselect"] = 3] = "Multiselect";
|
|
1776
|
-
})(FieldTypes || (FieldTypes = {}));
|
|
1777
1762
|
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
ngOnInit() {
|
|
1782
|
-
const timeZone = moment.tz.guess();
|
|
1783
|
-
this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');
|
|
1763
|
+
class PartnerService extends EntityService {
|
|
1764
|
+
constructor(httpService) {
|
|
1765
|
+
super(httpService, endpoints.partners);
|
|
1784
1766
|
}
|
|
1785
1767
|
}
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type:
|
|
1789
|
-
type:
|
|
1790
|
-
|
|
1791
|
-
}], ctorParameters: function () { return []; } });
|
|
1768
|
+
PartnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PartnerService, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1769
|
+
PartnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PartnerService });
|
|
1770
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PartnerService, decorators: [{
|
|
1771
|
+
type: Injectable
|
|
1772
|
+
}], ctorParameters: function () { return [{ type: HttpService }]; } });
|
|
1792
1773
|
|
|
1793
|
-
const
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
this.defaultNamedModel = {
|
|
1802
|
-
name: this.translate.instant(allKey),
|
|
1803
|
-
id: null,
|
|
1804
|
-
};
|
|
1805
|
-
}
|
|
1806
|
-
ngOnInit() {
|
|
1807
|
-
var _a;
|
|
1808
|
-
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => (element.valueField = element.valueField
|
|
1809
|
-
? element.valueField
|
|
1810
|
-
: defaultValueField));
|
|
1811
|
-
this.filterService.filter$.subscribe((filter) => {
|
|
1812
|
-
this.filter = filter;
|
|
1813
|
-
this.changeFilter();
|
|
1814
|
-
});
|
|
1815
|
-
}
|
|
1816
|
-
ngOnChanges() {
|
|
1817
|
-
this.changeFilter();
|
|
1818
|
-
}
|
|
1819
|
-
setTodayFilter() {
|
|
1820
|
-
this.filterService.setToday();
|
|
1821
|
-
}
|
|
1822
|
-
clearFilter() {
|
|
1823
|
-
var _a;
|
|
1824
|
-
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
|
|
1825
|
-
element.filter.value = null;
|
|
1826
|
-
if (element.filter.values) {
|
|
1827
|
-
element.filter.values = [];
|
|
1828
|
-
}
|
|
1829
|
-
});
|
|
1830
|
-
this.filterService.reset();
|
|
1831
|
-
this.emitChangeEvents();
|
|
1832
|
-
}
|
|
1833
|
-
applyFilter() {
|
|
1834
|
-
this.setCustomFilters();
|
|
1835
|
-
this.filterService.applyFilter(this.filter);
|
|
1836
|
-
}
|
|
1837
|
-
fieldChange(value, element) {
|
|
1838
|
-
if (element.change) {
|
|
1839
|
-
element.change(value);
|
|
1774
|
+
const urlSerialize = (object) => {
|
|
1775
|
+
let serialized = '';
|
|
1776
|
+
Object.keys(object).forEach((key) => {
|
|
1777
|
+
if (typeof object[key] === 'object') {
|
|
1778
|
+
const serializedObject = !isEmptyObject(object[key])
|
|
1779
|
+
? JSON.stringify(object[key])
|
|
1780
|
+
: '';
|
|
1781
|
+
serialized += serializedObject ? `${key}=${serializedObject}&` : '';
|
|
1840
1782
|
}
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
if (!this.filter) {
|
|
1845
|
-
return;
|
|
1783
|
+
else {
|
|
1784
|
+
serialized +=
|
|
1785
|
+
object[key] || object[key] === 0 ? `${key}=${object[key]}&` : '';
|
|
1846
1786
|
}
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
setCustomFilters() {
|
|
1860
|
-
var _a, _b;
|
|
1861
|
-
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
|
|
1862
|
-
var _a;
|
|
1863
|
-
const index = (_a = this.filter.customFilters) === null || _a === void 0 ? void 0 : _a.findIndex((x) => x.field === element.filter.field);
|
|
1864
|
-
if (index !== -1) {
|
|
1865
|
-
this.filter.customFilters.splice(index, 1);
|
|
1866
|
-
}
|
|
1867
|
-
});
|
|
1868
|
-
(_b = this.customFilterElements) === null || _b === void 0 ? void 0 : _b.forEach((element) => this.filter.customFilters.push(element.filter));
|
|
1869
|
-
}
|
|
1870
|
-
fixMultiselectFilters() {
|
|
1871
|
-
var _a;
|
|
1872
|
-
const multiSelectFilters = (_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.map((element) => {
|
|
1873
|
-
if (element.fieldType === FieldTypes.Multiselect) {
|
|
1874
|
-
return element.filter;
|
|
1875
|
-
}
|
|
1876
|
-
});
|
|
1877
|
-
if (multiSelectFilters) {
|
|
1878
|
-
multiSelectFilters.forEach((filter) => {
|
|
1879
|
-
if (filter === null || filter === void 0 ? void 0 : filter.value) {
|
|
1880
|
-
filter.values = [filter.value];
|
|
1881
|
-
filter.value = null;
|
|
1882
|
-
}
|
|
1883
|
-
});
|
|
1787
|
+
});
|
|
1788
|
+
return serialized.slice(0, -1);
|
|
1789
|
+
};
|
|
1790
|
+
const isEmptyObject = (object) => {
|
|
1791
|
+
return object === null || Object.keys(object).length === 0;
|
|
1792
|
+
};
|
|
1793
|
+
const isDate = (date) => isNaN(date) && !isNaN(Date.parse(date));
|
|
1794
|
+
const urlDeserialize = (params) => {
|
|
1795
|
+
const deserialized = {};
|
|
1796
|
+
params.forEach((param, key) => {
|
|
1797
|
+
if (key === 'sort' || key === 'group') {
|
|
1798
|
+
deserialized[key] = JSON.parse(param);
|
|
1884
1799
|
}
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1800
|
+
else if (key === 'filter') {
|
|
1801
|
+
deserialized[key] = transformFilter(JSON.parse(param));
|
|
1802
|
+
}
|
|
1803
|
+
else {
|
|
1804
|
+
deserialized[key] = param;
|
|
1805
|
+
}
|
|
1806
|
+
});
|
|
1807
|
+
return deserialized;
|
|
1808
|
+
};
|
|
1809
|
+
function transformFilter(gridFilter) {
|
|
1810
|
+
transformFilters(gridFilter);
|
|
1811
|
+
return gridFilter;
|
|
1812
|
+
}
|
|
1813
|
+
function transformFilters(gridFilter) {
|
|
1814
|
+
if (gridFilter.filters.length) {
|
|
1815
|
+
gridFilter.filters.forEach((filter) => {
|
|
1816
|
+
let filterDescriptor = filter;
|
|
1817
|
+
filterDescriptor.value = isDate(filterDescriptor.value)
|
|
1818
|
+
? new Date(filterDescriptor.value)
|
|
1819
|
+
: filterDescriptor.value;
|
|
1820
|
+
let compositeFilterDescriptor = filter;
|
|
1821
|
+
if (compositeFilterDescriptor.filters) {
|
|
1822
|
+
transformFilters(compositeFilterDescriptor);
|
|
1897
1823
|
}
|
|
1898
1824
|
});
|
|
1899
1825
|
}
|
|
1900
1826
|
}
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1827
|
+
|
|
1828
|
+
class ExcelExportButtonComponent {
|
|
1829
|
+
}
|
|
1830
|
+
ExcelExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1831
|
+
ExcelExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ExcelExportButtonComponent, selector: "excel-export-button", ngImport: i0, template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""], directives: [{ type: i3$3.ExcelCommandDirective, selector: "[kendoGridExcelCommand]" }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
1832
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExcelExportButtonComponent, decorators: [{
|
|
1904
1833
|
type: Component,
|
|
1905
|
-
args: [{ selector: '
|
|
1906
|
-
}]
|
|
1907
|
-
type: Input
|
|
1908
|
-
}], showSearhText: [{
|
|
1909
|
-
type: Input
|
|
1910
|
-
}], customFilterElements: [{
|
|
1911
|
-
type: Input
|
|
1912
|
-
}], filterService: [{
|
|
1913
|
-
type: Input
|
|
1914
|
-
}] } });
|
|
1834
|
+
args: [{ selector: 'excel-export-button', template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""] }]
|
|
1835
|
+
}] });
|
|
1915
1836
|
|
|
1916
1837
|
class ConfirmDialogComponent {
|
|
1917
1838
|
constructor(dialogService) {
|
|
@@ -1934,7 +1855,7 @@ class ConfirmDialogComponent {
|
|
|
1934
1855
|
}
|
|
1935
1856
|
}
|
|
1936
1857
|
ConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i2$2.DialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1937
|
-
ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ConfirmDialogComponent, selector: "confirm-dialog", viewQueries: [{ propertyName: "dialogActions", first: true, predicate: ["dialogActions"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n", styles: [""], directives: [{ type: i2$
|
|
1858
|
+
ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ConfirmDialogComponent, selector: "confirm-dialog", viewQueries: [{ propertyName: "dialogActions", first: true, predicate: ["dialogActions"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n", styles: [""], directives: [{ type: i2$3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "role", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i2$2.DialogContainerDirective, selector: "[kendoDialogContainer]" }] });
|
|
1938
1859
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
|
|
1939
1860
|
type: Component,
|
|
1940
1861
|
args: [{ selector: 'confirm-dialog', template: "<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n", styles: [""] }]
|
|
@@ -1943,221 +1864,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
1943
1864
|
args: ['dialogActions', { static: true }]
|
|
1944
1865
|
}] } });
|
|
1945
1866
|
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
}
|
|
1951
|
-
EntityEditButtonsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditButtonsBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1952
|
-
EntityEditButtonsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: { valid: "valid" }, outputs: { save: "save" }, ngImport: i0, template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n", styles: [""], directives: [{ type: i1$4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }] });
|
|
1953
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditButtonsBarComponent, decorators: [{
|
|
1954
|
-
type: Component,
|
|
1955
|
-
args: [{ selector: 'entity-edit-buttons-bar', template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n", styles: [""] }]
|
|
1956
|
-
}], propDecorators: { valid: [{
|
|
1957
|
-
type: Input
|
|
1958
|
-
}], save: [{
|
|
1959
|
-
type: Output
|
|
1960
|
-
}] } });
|
|
1961
|
-
|
|
1962
|
-
class EntityEditFormComponent {
|
|
1963
|
-
constructor(route) {
|
|
1964
|
-
this.route = route;
|
|
1965
|
-
this.saveInProgress = false;
|
|
1966
|
-
}
|
|
1967
|
-
ngOnInit() {
|
|
1968
|
-
this.route.params.subscribe((params) => {
|
|
1969
|
-
this.formGroup = null;
|
|
1970
|
-
const formGroup = new FormGroupWithErrors({});
|
|
1971
|
-
if (params.id) {
|
|
1972
|
-
this.adapter
|
|
1973
|
-
.getService()
|
|
1974
|
-
.get(params.id)
|
|
1975
|
-
.subscribe((model) => {
|
|
1976
|
-
formGroup.addControl('id', new FormControl(model.id));
|
|
1977
|
-
for (const key of Object.keys(model)) {
|
|
1978
|
-
formGroup.addControl(key, new FormControl(model[key]));
|
|
1979
|
-
}
|
|
1980
|
-
this.adapter.setForm(formGroup);
|
|
1981
|
-
this.formGroup = formGroup;
|
|
1982
|
-
});
|
|
1983
|
-
}
|
|
1984
|
-
else {
|
|
1985
|
-
this.adapter.setForm(formGroup);
|
|
1986
|
-
this.formGroup = formGroup;
|
|
1987
|
-
}
|
|
1988
|
-
});
|
|
1989
|
-
}
|
|
1990
|
-
save() {
|
|
1991
|
-
this.saveInProgress = true;
|
|
1992
|
-
this.adapter
|
|
1993
|
-
.getService()
|
|
1994
|
-
.save(this.adapter.getValue())
|
|
1995
|
-
.pipe(finalize(() => (this.saveInProgress = false)))
|
|
1996
|
-
.subscribe((result) => {
|
|
1997
|
-
this.adapter.onSaved(result);
|
|
1998
|
-
}, (error) => {
|
|
1999
|
-
this.formGroup.applyServerErrors(error.error, this.formGroup);
|
|
2000
|
-
this.generalErrors.setErrors(this.formGroup.generalErrors);
|
|
2001
|
-
});
|
|
2002
|
-
}
|
|
2003
|
-
}
|
|
2004
|
-
EntityEditFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1$4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
2005
|
-
EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"formGroup.valid && formGroup.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], components: [{ type: GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
2006
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditFormComponent, decorators: [{
|
|
2007
|
-
type: Component,
|
|
2008
|
-
args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"formGroup.valid && formGroup.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""] }]
|
|
2009
|
-
}], ctorParameters: function () { return [{ type: i1$4.ActivatedRoute }]; }, propDecorators: { generalErrors: [{
|
|
2010
|
-
type: ViewChild,
|
|
2011
|
-
args: ['general_errors']
|
|
2012
|
-
}], title: [{
|
|
2013
|
-
type: Input
|
|
2014
|
-
}], adapter: [{
|
|
2015
|
-
type: Input
|
|
2016
|
-
}] } });
|
|
2017
|
-
|
|
2018
|
-
class FieldDropdownComponent extends FieldComponent {
|
|
2019
|
-
constructor(parent, eref) {
|
|
2020
|
-
super(parent, eref, '');
|
|
2021
|
-
this.parent = parent;
|
|
2022
|
-
this.eref = eref;
|
|
2023
|
-
this.data = [];
|
|
2024
|
-
}
|
|
2025
|
-
get control() {
|
|
2026
|
-
return this.parent.form.get(this.fieldName);
|
|
2027
|
-
}
|
|
2028
|
-
ngOnChanges() {
|
|
2029
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
2030
|
-
yield this.getData();
|
|
2031
|
-
this.control.setValue((this.data.find((d) => d.id === this.control.value) || this.data[0]).id);
|
|
2032
|
-
});
|
|
2033
|
-
}
|
|
2034
|
-
getData() {
|
|
2035
|
-
this.service
|
|
2036
|
-
.getPage(this.filter ? { filter: this.filter } : {})
|
|
2037
|
-
.subscribe((data) => (this.data = data.data));
|
|
2038
|
-
}
|
|
2039
|
-
}
|
|
2040
|
-
FieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2041
|
-
FieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownComponent, selector: "field-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i3$3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i1.TranslatePipe }, viewProviders: [
|
|
2042
|
-
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2043
|
-
] });
|
|
2044
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownComponent, decorators: [{
|
|
2045
|
-
type: Component,
|
|
2046
|
-
args: [{ selector: 'field-dropdown', viewProviders: [
|
|
2047
|
-
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2048
|
-
], template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
2049
|
-
}], ctorParameters: function () { return [{ type: i1$3.FormGroupDirective }, { type: i0.ElementRef }]; }, propDecorators: { service: [{
|
|
2050
|
-
type: Input
|
|
2051
|
-
}], rebind: [{
|
|
2052
|
-
type: Input
|
|
2053
|
-
}], filter: [{
|
|
2054
|
-
type: Input
|
|
2055
|
-
}] } });
|
|
2056
|
-
|
|
2057
|
-
class FieldMultiSelectComponent extends FieldComponent {
|
|
2058
|
-
constructor(parent, eref) {
|
|
2059
|
-
super(parent, eref, []);
|
|
2060
|
-
this.parent = parent;
|
|
2061
|
-
this.eref = eref;
|
|
2062
|
-
this.data = [];
|
|
2063
|
-
}
|
|
2064
|
-
get control() {
|
|
2065
|
-
return this.parent.form.get(this.fieldName);
|
|
2066
|
-
}
|
|
2067
|
-
ngOnChanges() {
|
|
2068
|
-
this.getData().subscribe((data) => {
|
|
2069
|
-
this.data = data.data;
|
|
2070
|
-
this.control.setValue(this.control.value.filter((x) => this.data.filter((d) => d.id === x).length));
|
|
2071
|
-
});
|
|
2072
|
-
}
|
|
2073
|
-
getData() {
|
|
2074
|
-
return this.service.getPage(this.filter ? { filter: this.filter } : {});
|
|
2075
|
-
}
|
|
2076
|
-
}
|
|
2077
|
-
FieldMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldMultiSelectComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2078
|
-
FieldMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldMultiSelectComponent, selector: "field-multiselect", inputs: { service: "service", rebind: "rebind", filter: "filter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i3$3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "tabindex", "disabled", "readonly", "filterable", "listHeight", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "data", "value", "tabIndex", "size", "rounded", "fillMode", "placeholder", "itemDisabled", "checkboxes", "virtual", "popupSettings", "valuePrimitive", "loading", "valueField", "textField"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i1.TranslatePipe }, viewProviders: [
|
|
2079
|
-
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2080
|
-
] });
|
|
2081
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldMultiSelectComponent, decorators: [{
|
|
2082
|
-
type: Component,
|
|
2083
|
-
args: [{ selector: 'field-multiselect', viewProviders: [
|
|
2084
|
-
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2085
|
-
], template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
2086
|
-
}], ctorParameters: function () { return [{ type: i1$3.FormGroupDirective }, { type: i0.ElementRef }]; }, propDecorators: { service: [{
|
|
2087
|
-
type: Input
|
|
2088
|
-
}], rebind: [{
|
|
2089
|
-
type: Input
|
|
2090
|
-
}], filter: [{
|
|
2091
|
-
type: Input
|
|
2092
|
-
}] } });
|
|
2093
|
-
|
|
2094
|
-
const urlSerialize = (object) => {
|
|
2095
|
-
let serialized = '';
|
|
2096
|
-
Object.keys(object).forEach((key) => {
|
|
2097
|
-
if (typeof object[key] === 'object') {
|
|
2098
|
-
const serializedObject = !isEmptyObject(object[key])
|
|
2099
|
-
? JSON.stringify(object[key])
|
|
2100
|
-
: '';
|
|
2101
|
-
serialized += serializedObject ? `${key}=${serializedObject}&` : '';
|
|
2102
|
-
}
|
|
2103
|
-
else {
|
|
2104
|
-
serialized +=
|
|
2105
|
-
object[key] || object[key] === 0 ? `${key}=${object[key]}&` : '';
|
|
2106
|
-
}
|
|
2107
|
-
});
|
|
2108
|
-
return serialized.slice(0, -1);
|
|
2109
|
-
};
|
|
2110
|
-
const isEmptyObject = (object) => {
|
|
2111
|
-
return object === null || Object.keys(object).length === 0;
|
|
2112
|
-
};
|
|
2113
|
-
const isDate = (date) => isNaN(date) && !isNaN(Date.parse(date));
|
|
2114
|
-
const urlDeserialize = (params) => {
|
|
2115
|
-
const deserialized = {};
|
|
2116
|
-
params.forEach((param, key) => {
|
|
2117
|
-
if (key === 'sort' || key === 'group') {
|
|
2118
|
-
deserialized[key] = JSON.parse(param);
|
|
2119
|
-
}
|
|
2120
|
-
else if (key === 'filter') {
|
|
2121
|
-
deserialized[key] = transformFilter(JSON.parse(param));
|
|
2122
|
-
}
|
|
2123
|
-
else {
|
|
2124
|
-
deserialized[key] = param;
|
|
2125
|
-
}
|
|
2126
|
-
});
|
|
2127
|
-
return deserialized;
|
|
2128
|
-
};
|
|
2129
|
-
function transformFilter(gridFilter) {
|
|
2130
|
-
transformFilters(gridFilter);
|
|
2131
|
-
return gridFilter;
|
|
2132
|
-
}
|
|
2133
|
-
function transformFilters(gridFilter) {
|
|
2134
|
-
if (gridFilter.filters.length) {
|
|
2135
|
-
gridFilter.filters.forEach((filter) => {
|
|
2136
|
-
let filterDescriptor = filter;
|
|
2137
|
-
filterDescriptor.value = isDate(filterDescriptor.value)
|
|
2138
|
-
? new Date(filterDescriptor.value)
|
|
2139
|
-
: filterDescriptor.value;
|
|
2140
|
-
let compositeFilterDescriptor = filter;
|
|
2141
|
-
if (compositeFilterDescriptor.filters) {
|
|
2142
|
-
transformFilters(compositeFilterDescriptor);
|
|
2143
|
-
}
|
|
2144
|
-
});
|
|
2145
|
-
}
|
|
2146
|
-
}
|
|
2147
|
-
|
|
2148
|
-
class ExcelExportButtonComponent {
|
|
2149
|
-
}
|
|
2150
|
-
ExcelExportButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2151
|
-
ExcelExportButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ExcelExportButtonComponent, selector: "excel-export-button", ngImport: i0, template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""], directives: [{ type: i3$4.ExcelCommandDirective, selector: "[kendoGridExcelCommand]" }, { type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
2152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ExcelExportButtonComponent, decorators: [{
|
|
2153
|
-
type: Component,
|
|
2154
|
-
args: [{ selector: 'excel-export-button', template: "<button type=\"button\" kendoGridExcelCommand>\n <em ngClass=\"fa fa-file-excel-o\"></em>\n {{ 'Buttons.ExcelExport' | translate }}\n</button>\n", styles: [""] }]
|
|
2155
|
-
}] });
|
|
2156
|
-
|
|
2157
|
-
const nameField = 'name';
|
|
2158
|
-
class EntityListComponent {
|
|
2159
|
-
constructor(translate, route, router) {
|
|
2160
|
-
this.translate = translate;
|
|
1867
|
+
const nameField = 'name';
|
|
1868
|
+
class EntityListComponent {
|
|
1869
|
+
constructor(translate, route, router) {
|
|
1870
|
+
this.translate = translate;
|
|
2161
1871
|
this.route = route;
|
|
2162
1872
|
this.router = router;
|
|
2163
1873
|
this.filterChange = new EventEmitter();
|
|
@@ -2270,83 +1980,429 @@ class EntityListComponent {
|
|
|
2270
1980
|
preserveFragment: true,
|
|
2271
1981
|
});
|
|
2272
1982
|
}
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
this.
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
1983
|
+
getData() {
|
|
1984
|
+
this.loadings++;
|
|
1985
|
+
this.service.getPage(this.gridState).subscribe((page) => {
|
|
1986
|
+
this.page = page;
|
|
1987
|
+
this.loadings--;
|
|
1988
|
+
});
|
|
1989
|
+
}
|
|
1990
|
+
remove(entity) {
|
|
1991
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1992
|
+
this.loadings++;
|
|
1993
|
+
this.service.delete(entity.id).subscribe(() => {
|
|
1994
|
+
if (this.selected.length &&
|
|
1995
|
+
this.selected[this.selected.length - 1] === entity.id) {
|
|
1996
|
+
this.router.navigate(['../'], {
|
|
1997
|
+
preserveFragment: true,
|
|
1998
|
+
relativeTo: this.route.firstChild,
|
|
1999
|
+
});
|
|
2000
|
+
}
|
|
2001
|
+
this.loadings--;
|
|
2002
|
+
});
|
|
2003
|
+
this.getData();
|
|
2004
|
+
});
|
|
2005
|
+
}
|
|
2006
|
+
getFilter() {
|
|
2007
|
+
const filter = {
|
|
2008
|
+
logic: 'and',
|
|
2009
|
+
filters: this.searchTerm
|
|
2010
|
+
? [
|
|
2011
|
+
{ field: nameField, operator: 'contains', value: this.searchTerm },
|
|
2012
|
+
...this.filters,
|
|
2013
|
+
]
|
|
2014
|
+
: this.filters,
|
|
2015
|
+
};
|
|
2016
|
+
return filter;
|
|
2017
|
+
}
|
|
2018
|
+
onFilterChange() {
|
|
2019
|
+
var _a;
|
|
2020
|
+
const filter = (_a = this.gridState.filter) === null || _a === void 0 ? void 0 : _a.filters.find((x) => x.field === nameField);
|
|
2021
|
+
this.searchTerm = filter === null || filter === void 0 ? void 0 : filter.value;
|
|
2022
|
+
this.filterChange.emit(this.gridState.filter);
|
|
2023
|
+
}
|
|
2024
|
+
restoreGridState(params) {
|
|
2025
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2026
|
+
const defaultGridState = {
|
|
2027
|
+
sort: this.defaultSort || [{ field: nameField, dir: 'asc' }],
|
|
2028
|
+
skip: 0,
|
|
2029
|
+
take: 10,
|
|
2030
|
+
};
|
|
2031
|
+
const state = urlDeserialize(params);
|
|
2032
|
+
this.gridState = state.hasOwnProperty('take') ? state : defaultGridState;
|
|
2033
|
+
this.onFilterChange();
|
|
2034
|
+
this.getData();
|
|
2035
|
+
});
|
|
2036
|
+
}
|
|
2037
|
+
}
|
|
2038
|
+
EntityListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityListComponent, deps: [{ token: i1.TranslateService }, { token: i1$4.ActivatedRoute }, { token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
2039
|
+
EntityListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EntityListComponent, selector: "entity-list", inputs: { service: "service", filters: "filters", fields: "fields", commands: "commands", rowClass: "rowClass", defaultSort: "defaultSort" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["confirmDialog"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <i class=\"k-icon glyphicon glyphicon-trash\"></i>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <i *ngIf=\"command.iconClass\" class=\"{{ command.iconClass }}\"></i>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", styles: [""], components: [{ type: i3$3.GridComponent, selector: "kendo-grid", inputs: ["data", "scrollable", "selectable", "trackBy", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "autoSize", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "skip", "sort", "group", "navigatable", "rowClass", "rowSticky", "rowSelected", "cellSelected", "isDetailExpanded", "isGroupExpanded", "pageSize", "height", "rowHeight", "detailRowHeight", "filter"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { type: ExcelExportButtonComponent, selector: "excel-export-button" }, { type: i3$3.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { type: i3$3.CommandColumnComponent, selector: "kendo-grid-command-column" }, { type: i3$3.ColumnComponent, selector: "kendo-grid-column", inputs: ["sortable", "groupable", "editor", "filter", "filterable", "editable", "field", "format"] }, { type: i3$3.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { type: i3$3.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { type: i3$3.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { type: i3$3.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { type: i3$3.PagerInfoComponent, selector: "kendo-pager-info" }, { type: ConfirmDialogComponent, selector: "confirm-dialog" }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i6.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i1$3.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: DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$3.SelectionDirective, selector: "[kendoGridSelectBy]" }, { type: i3$3.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { type: i3$3.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { type: i3$3.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { type: i3$3.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { type: RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$3.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { type: i3$3.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { type: i1$4.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
2040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityListComponent, decorators: [{
|
|
2041
|
+
type: Component,
|
|
2042
|
+
args: [{ selector: 'entity-list', template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <i class=\"k-icon glyphicon glyphicon-trash\"></i>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <i *ngIf=\"command.iconClass\" class=\"{{ command.iconClass }}\"></i>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", styles: [""] }]
|
|
2043
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1$4.ActivatedRoute }, { type: i1$4.Router }]; }, propDecorators: { service: [{
|
|
2044
|
+
type: Input
|
|
2045
|
+
}], filters: [{
|
|
2046
|
+
type: Input
|
|
2047
|
+
}], fields: [{
|
|
2048
|
+
type: Input
|
|
2049
|
+
}], commands: [{
|
|
2050
|
+
type: Input
|
|
2051
|
+
}], rowClass: [{
|
|
2052
|
+
type: Input
|
|
2053
|
+
}], defaultSort: [{
|
|
2054
|
+
type: Input
|
|
2055
|
+
}], filterChange: [{
|
|
2056
|
+
type: Output
|
|
2057
|
+
}], dialog: [{
|
|
2058
|
+
type: ViewChild,
|
|
2059
|
+
args: ['confirmDialog', { static: true }]
|
|
2060
|
+
}] } });
|
|
2061
|
+
|
|
2062
|
+
class UserListAdminComponent extends EntityListComponent {
|
|
2063
|
+
constructor(translate, route, router, partnerService) {
|
|
2064
|
+
super(translate, route, router);
|
|
2065
|
+
this.partnerService = partnerService;
|
|
2066
|
+
}
|
|
2067
|
+
onActivate(child) {
|
|
2068
|
+
if (child.saved) {
|
|
2069
|
+
child.saved.subscribe((data) => this.partnerService
|
|
2070
|
+
.get(data.partnerId)
|
|
2071
|
+
.subscribe((partner) => {
|
|
2072
|
+
data.partnerName = partner.name;
|
|
2073
|
+
this.updateGrid(data);
|
|
2074
|
+
}));
|
|
2075
|
+
}
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2078
|
+
UserListAdminComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: UserListAdminComponent, deps: [{ token: i1.TranslateService }, { token: i1$4.ActivatedRoute }, { token: i1$4.Router }, { token: PartnerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2079
|
+
UserListAdminComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: UserListAdminComponent, selector: "lib-user-list-admin", providers: [PartnerService], usesInheritance: true, ngImport: i0, template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <i class=\"k-icon glyphicon glyphicon-trash\"></i>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <i *ngIf=\"command.iconClass\" class=\"{{ command.iconClass }}\"></i>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n", components: [{ type: i3$3.GridComponent, selector: "kendo-grid", inputs: ["data", "scrollable", "selectable", "trackBy", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "navigable", "autoSize", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "skip", "sort", "group", "navigatable", "rowClass", "rowSticky", "rowSelected", "cellSelected", "isDetailExpanded", "isGroupExpanded", "pageSize", "height", "rowHeight", "detailRowHeight", "filter"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { type: ExcelExportButtonComponent, selector: "excel-export-button" }, { type: i3$3.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"] }, { type: i3$3.CommandColumnComponent, selector: "kendo-grid-command-column" }, { type: i3$3.ColumnComponent, selector: "kendo-grid-column", inputs: ["sortable", "groupable", "editor", "filter", "filterable", "editable", "field", "format"] }, { type: i3$3.GridSpacerComponent, selector: "kendo-grid-spacer, kendo-pager-spacer", inputs: ["width"] }, { type: i3$3.PagerPrevButtonsComponent, selector: "kendo-pager-prev-buttons" }, { type: i3$3.PagerNumericButtonsComponent, selector: "kendo-pager-numeric-buttons", inputs: ["buttonCount"] }, { type: i3$3.PagerNextButtonsComponent, selector: "kendo-pager-next-buttons" }, { type: i3$3.PagerInfoComponent, selector: "kendo-pager-info" }, { type: ConfirmDialogComponent, selector: "confirm-dialog" }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i6.TextBoxDirective, selector: "input[kendoTextBox]", inputs: ["value"] }, { type: i1$3.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: DebounceDirective, selector: "[appDebounce]", inputs: ["debounceTime"], outputs: ["debounceKeyup"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$3.SelectionDirective, selector: "[kendoGridSelectBy]" }, { type: i3$3.ToolbarTemplateDirective, selector: "[kendoGridToolbarTemplate]", inputs: ["position"] }, { type: i3$3.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { type: i3$3.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { type: i3$3.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { type: RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }, { type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$3.NoRecordsTemplateDirective, selector: "[kendoGridNoRecordsTemplate]" }, { type: i3$3.PagerTemplateDirective, selector: "[kendoPagerTemplate]" }, { type: i1$4.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
2080
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: UserListAdminComponent, decorators: [{
|
|
2081
|
+
type: Component,
|
|
2082
|
+
args: [{ selector: 'lib-user-list-admin', providers: [PartnerService], template: "<div class=\"row\">\n <div class=\"col-md-4\">\n <header class=\"header-page-bg\"></header>\n <div class=\"panel search-panel hero-unit\">\n <div class=\"header-selection-field\">\n <label for=\"searchinput\" class=\"title-field\" translate=\"Search\"></label>\n <input\n kendoTextBox\n class=\"quick-filter input input-field\"\n title=\"\"\n id=\"searchinput\"\n type=\"text\"\n appDebounce\n (debounceKeyup)=\"onSearch($event.target.value)\"\n [ngModel]=\"searchTerm\"\n [debounceTime]=\"600\"\n />\n </div>\n <ng-content></ng-content>\n <div class=\"divide-line\"></div>\n\n <kendo-grid\n [data]=\"page\"\n [pageSize]=\"gridState.take\"\n [skip]=\"gridState.skip\"\n [sort]=\"gridState.sort\"\n [pageable]=\"true\"\n [sortable]=\"true\"\n [style.maxHeight.px]=\"480\"\n (remove)=\"removeHandler($event)\"\n (dataStateChange)=\"dataStateChange($event)\"\n [loading]=\"loadings > 0\"\n (cellClick)=\"selectItem($event)\"\n culture\n class=\"rows-pointable\"\n kendoGridSelectBy=\"id\"\n [selectedKeys]=\"selected\"\n [rowClass]=\"getRowClass\"\n >\n <ng-template kendoGridToolbarTemplate>\n <excel-export-button></excel-export-button>\n </ng-template>\n <kendo-grid-excel [fetchData]=\"getAllData\"></kendo-grid-excel>\n <kendo-grid-command-column width=\"65\">\n <ng-template kendoGridCellTemplate>\n <button\n kendoGridRemoveCommand\n requirePermission\n permissionType=\"Delete\"\n >\n <i class=\"k-icon glyphicon glyphicon-trash\"></i>\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <kendo-grid-column\n *ngFor=\"let field of gridFields\"\n field=\"{{ field.name }}\"\n title=\"{{ field.label | translate }}\"\n [sortable]=\"field.sortable !== false\"\n >\n </kendo-grid-column>\n <kendo-grid-command-column width=\"65\" *ngIf=\"commands.length > 0\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <button\n *ngFor=\"let command of commands\"\n (click)=\"command.handler(dataItem)\"\n title=\"{{ command.title | translate }}\"\n class=\"k-button\"\n >\n <i *ngIf=\"command.iconClass\" class=\"{{ command.iconClass }}\"></i>\n {{ command.name | translate }}\n </button>\n </ng-template>\n </kendo-grid-command-column>\n <ng-template kendoGridNoRecordsTemplate>\n {{ 'Messages.NoRecords' | translate }}\n </ng-template>\n <ng-template kendoPagerTemplate>\n <kendo-grid-spacer></kendo-grid-spacer>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons\n [buttonCount]=\"10\"\n ></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n </ng-template>\n </kendo-grid>\n </div>\n </div>\n <router-outlet\n (activate)=\"onActivate($event)\"\n (deactivate)=\"onDeactivate($event)\"\n ></router-outlet>\n</div>\n<confirm-dialog #confirmDialog></confirm-dialog>\n" }]
|
|
2083
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1$4.ActivatedRoute }, { type: i1$4.Router }, { type: PartnerService }]; } });
|
|
2084
|
+
|
|
2085
|
+
const AuthorizationHeader = 'Authorization';
|
|
2086
|
+
class AuthHeadersInterceptor {
|
|
2087
|
+
constructor(settingsService) {
|
|
2088
|
+
this.settingsService = settingsService;
|
|
2089
|
+
}
|
|
2090
|
+
intercept(request, next) {
|
|
2091
|
+
if (!request.headers.keys().find((x) => x === AuthorizationHeader)) {
|
|
2092
|
+
const token = this.settingsService.getToken();
|
|
2093
|
+
if (token) {
|
|
2094
|
+
const modified = request.clone({
|
|
2095
|
+
setHeaders: {
|
|
2096
|
+
Authorization: `Bearer ${token}`,
|
|
2097
|
+
},
|
|
2098
|
+
});
|
|
2099
|
+
return next.handle(modified);
|
|
2100
|
+
}
|
|
2101
|
+
else {
|
|
2102
|
+
return next.handle(request);
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
return next.handle(request);
|
|
2106
|
+
}
|
|
2107
|
+
}
|
|
2108
|
+
AuthHeadersInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthHeadersInterceptor, deps: [{ token: SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2109
|
+
AuthHeadersInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthHeadersInterceptor });
|
|
2110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthHeadersInterceptor, decorators: [{
|
|
2111
|
+
type: Injectable
|
|
2112
|
+
}], ctorParameters: function () { return [{ type: SettingsService }]; } });
|
|
2113
|
+
|
|
2114
|
+
var FieldTypes;
|
|
2115
|
+
(function (FieldTypes) {
|
|
2116
|
+
FieldTypes[FieldTypes["Text"] = 0] = "Text";
|
|
2117
|
+
FieldTypes[FieldTypes["Checkbox"] = 1] = "Checkbox";
|
|
2118
|
+
FieldTypes[FieldTypes["Dropdown"] = 2] = "Dropdown";
|
|
2119
|
+
FieldTypes[FieldTypes["Multiselect"] = 3] = "Multiselect";
|
|
2120
|
+
})(FieldTypes || (FieldTypes = {}));
|
|
2121
|
+
|
|
2122
|
+
const moment = momentModule;
|
|
2123
|
+
class CurrentTimezoneComponent {
|
|
2124
|
+
constructor() { }
|
|
2125
|
+
ngOnInit() {
|
|
2126
|
+
const timeZone = moment.tz.guess();
|
|
2127
|
+
this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
CurrentTimezoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CurrentTimezoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2131
|
+
CurrentTimezoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CurrentTimezoneComponent, selector: "current-timezone", ngImport: i0, template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n", styles: [""], pipes: { "translate": i1.TranslatePipe } });
|
|
2132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CurrentTimezoneComponent, decorators: [{
|
|
2133
|
+
type: Component,
|
|
2134
|
+
args: [{ selector: 'current-timezone', template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n", styles: [""] }]
|
|
2135
|
+
}], ctorParameters: function () { return []; } });
|
|
2136
|
+
|
|
2137
|
+
const allKey = 'All';
|
|
2138
|
+
const defaultValueField = 'id';
|
|
2139
|
+
class ActivityFilterComponent {
|
|
2140
|
+
constructor(translate) {
|
|
2141
|
+
this.translate = translate;
|
|
2142
|
+
this.showArchiveSwitcher = true;
|
|
2143
|
+
this.showSearhText = true;
|
|
2144
|
+
this.FieldTypes = FieldTypes;
|
|
2145
|
+
this.defaultNamedModel = {
|
|
2146
|
+
name: this.translate.instant(allKey),
|
|
2147
|
+
id: null,
|
|
2148
|
+
};
|
|
2149
|
+
}
|
|
2150
|
+
ngOnInit() {
|
|
2151
|
+
var _a;
|
|
2152
|
+
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => (element.valueField = element.valueField
|
|
2153
|
+
? element.valueField
|
|
2154
|
+
: defaultValueField));
|
|
2155
|
+
this.filterService.filter$.subscribe((filter) => {
|
|
2156
|
+
this.filter = filter;
|
|
2157
|
+
this.changeFilter();
|
|
2158
|
+
});
|
|
2159
|
+
}
|
|
2160
|
+
ngOnChanges() {
|
|
2161
|
+
this.changeFilter();
|
|
2162
|
+
}
|
|
2163
|
+
setTodayFilter() {
|
|
2164
|
+
this.filterService.setToday();
|
|
2165
|
+
}
|
|
2166
|
+
clearFilter() {
|
|
2167
|
+
var _a;
|
|
2168
|
+
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
|
|
2169
|
+
element.filter.value = null;
|
|
2170
|
+
if (element.filter.values) {
|
|
2171
|
+
element.filter.values = [];
|
|
2172
|
+
}
|
|
2173
|
+
});
|
|
2174
|
+
this.filterService.reset();
|
|
2175
|
+
this.emitChangeEvents();
|
|
2176
|
+
}
|
|
2177
|
+
applyFilter() {
|
|
2178
|
+
this.setCustomFilters();
|
|
2179
|
+
this.filterService.applyFilter(this.filter);
|
|
2180
|
+
}
|
|
2181
|
+
fieldChange(value, element) {
|
|
2182
|
+
if (element.change) {
|
|
2183
|
+
element.change(value);
|
|
2184
|
+
}
|
|
2185
|
+
}
|
|
2186
|
+
fillFilter() {
|
|
2187
|
+
var _a, _b;
|
|
2188
|
+
if (!this.filter) {
|
|
2189
|
+
return;
|
|
2190
|
+
}
|
|
2191
|
+
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
|
|
2192
|
+
element.filter = Object.assign(Object.assign({}, element.filter), { value: null, values: null });
|
|
2193
|
+
});
|
|
2194
|
+
(_b = this.filter.customFilters) === null || _b === void 0 ? void 0 : _b.forEach((filter) => {
|
|
2195
|
+
var _a;
|
|
2196
|
+
const element = (_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.find((x) => x.filter.field === filter.field &&
|
|
2197
|
+
x.filter.filterTarget === filter.filterTarget);
|
|
2198
|
+
if (element) {
|
|
2199
|
+
element.filter = Object.assign({}, filter);
|
|
2200
|
+
}
|
|
2201
|
+
});
|
|
2202
|
+
}
|
|
2203
|
+
setCustomFilters() {
|
|
2204
|
+
var _a, _b;
|
|
2205
|
+
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
|
|
2206
|
+
var _a;
|
|
2207
|
+
const index = (_a = this.filter.customFilters) === null || _a === void 0 ? void 0 : _a.findIndex((x) => x.field === element.filter.field);
|
|
2208
|
+
if (index !== -1) {
|
|
2209
|
+
this.filter.customFilters.splice(index, 1);
|
|
2210
|
+
}
|
|
2211
|
+
});
|
|
2212
|
+
(_b = this.customFilterElements) === null || _b === void 0 ? void 0 : _b.forEach((element) => this.filter.customFilters.push(element.filter));
|
|
2213
|
+
}
|
|
2214
|
+
fixMultiselectFilters() {
|
|
2215
|
+
var _a;
|
|
2216
|
+
const multiSelectFilters = (_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.map((element) => {
|
|
2217
|
+
if (element.fieldType === FieldTypes.Multiselect) {
|
|
2218
|
+
return element.filter;
|
|
2219
|
+
}
|
|
2220
|
+
});
|
|
2221
|
+
if (multiSelectFilters) {
|
|
2222
|
+
multiSelectFilters.forEach((filter) => {
|
|
2223
|
+
if (filter === null || filter === void 0 ? void 0 : filter.value) {
|
|
2224
|
+
filter.values = [filter.value];
|
|
2225
|
+
filter.value = null;
|
|
2283
2226
|
}
|
|
2284
|
-
this.loadings--;
|
|
2285
2227
|
});
|
|
2286
|
-
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
changeFilter() {
|
|
2231
|
+
this.fillFilter();
|
|
2232
|
+
this.fixMultiselectFilters();
|
|
2233
|
+
this.emitChangeEvents();
|
|
2234
|
+
}
|
|
2235
|
+
emitChangeEvents() {
|
|
2236
|
+
var _a;
|
|
2237
|
+
(_a = this.customFilterElements) === null || _a === void 0 ? void 0 : _a.forEach((element) => {
|
|
2238
|
+
var _a;
|
|
2239
|
+
if (element.filter.value || element.filter.values) {
|
|
2240
|
+
this.fieldChange((_a = element.filter.value) !== null && _a !== void 0 ? _a : element.filter.values, element);
|
|
2241
|
+
}
|
|
2287
2242
|
});
|
|
2288
2243
|
}
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2244
|
+
}
|
|
2245
|
+
ActivityFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActivityFilterComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2246
|
+
ActivityFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ActivityFilterComponent, selector: "activity-filter", inputs: { showArchiveSwitcher: "showArchiveSwitcher", showSearhText: "showSearhText", customFilterElements: "customFilterElements", filterService: "filterService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"], components: [{ type: i2$4.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["twoDigitYearMax", "focusableId", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "steps", "calendarType", "animateCalendarNavigation", "weekNumber", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "value", "format", "tabindex", "disabledDates", "popupSettings", "min", "max", "defaultTab", "size", "rounded", "fillMode", "formatPlaceholder", "placeholder", "focusedDate"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i3$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3$4.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "tabindex", "disabled", "readonly", "filterable", "listHeight", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "data", "value", "tabIndex", "size", "rounded", "fillMode", "placeholder", "itemDisabled", "checkboxes", "virtual", "popupSettings", "valuePrimitive", "loading", "valueField", "textField"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { type: CurrentTimezoneComponent, selector: "current-timezone" }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$3.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: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$4.SummaryTagDirective, selector: "[kendoMultiSelectSummaryTag]", inputs: ["kendoMultiSelectSummaryTag"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
2247
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActivityFilterComponent, decorators: [{
|
|
2248
|
+
type: Component,
|
|
2249
|
+
args: [{ selector: 'activity-filter', template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"] }]
|
|
2250
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { showArchiveSwitcher: [{
|
|
2251
|
+
type: Input
|
|
2252
|
+
}], showSearhText: [{
|
|
2253
|
+
type: Input
|
|
2254
|
+
}], customFilterElements: [{
|
|
2255
|
+
type: Input
|
|
2256
|
+
}], filterService: [{
|
|
2257
|
+
type: Input
|
|
2258
|
+
}] } });
|
|
2259
|
+
|
|
2260
|
+
class EntityEditButtonsBarComponent {
|
|
2261
|
+
constructor() {
|
|
2262
|
+
this.save = new EventEmitter();
|
|
2263
|
+
}
|
|
2264
|
+
}
|
|
2265
|
+
EntityEditButtonsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditButtonsBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2266
|
+
EntityEditButtonsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: { valid: "valid" }, outputs: { save: "save" }, ngImport: i0, template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n", styles: [""], directives: [{ type: i1$4.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }] });
|
|
2267
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditButtonsBarComponent, decorators: [{
|
|
2268
|
+
type: Component,
|
|
2269
|
+
args: [{ selector: 'entity-edit-buttons-bar', template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n", styles: [""] }]
|
|
2270
|
+
}], propDecorators: { valid: [{
|
|
2271
|
+
type: Input
|
|
2272
|
+
}], save: [{
|
|
2273
|
+
type: Output
|
|
2274
|
+
}] } });
|
|
2275
|
+
|
|
2276
|
+
class EntityEditFormComponent {
|
|
2277
|
+
constructor(route) {
|
|
2278
|
+
this.route = route;
|
|
2279
|
+
this.saveInProgress = false;
|
|
2280
|
+
}
|
|
2281
|
+
ngOnInit() {
|
|
2282
|
+
this.route.params.subscribe((params) => {
|
|
2283
|
+
this.formGroup = null;
|
|
2284
|
+
const formGroup = new FormGroupWithErrors({});
|
|
2285
|
+
if (params.id) {
|
|
2286
|
+
this.adapter
|
|
2287
|
+
.getService()
|
|
2288
|
+
.get(params.id)
|
|
2289
|
+
.subscribe((model) => {
|
|
2290
|
+
formGroup.addControl('id', new FormControl(model.id));
|
|
2291
|
+
for (const key of Object.keys(model)) {
|
|
2292
|
+
formGroup.addControl(key, new FormControl(model[key]));
|
|
2293
|
+
}
|
|
2294
|
+
this.adapter.setForm(formGroup);
|
|
2295
|
+
this.formGroup = formGroup;
|
|
2296
|
+
});
|
|
2297
|
+
}
|
|
2298
|
+
else {
|
|
2299
|
+
this.adapter.setForm(formGroup);
|
|
2300
|
+
this.formGroup = formGroup;
|
|
2301
|
+
}
|
|
2294
2302
|
});
|
|
2295
2303
|
}
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2304
|
+
save() {
|
|
2305
|
+
this.saveInProgress = true;
|
|
2306
|
+
this.adapter
|
|
2307
|
+
.getService()
|
|
2308
|
+
.save(this.adapter.getValue())
|
|
2309
|
+
.pipe(finalize(() => (this.saveInProgress = false)))
|
|
2310
|
+
.subscribe((result) => {
|
|
2311
|
+
this.adapter.onSaved(result);
|
|
2312
|
+
}, (error) => {
|
|
2313
|
+
this.formGroup.applyServerErrors(error.error, this.formGroup);
|
|
2314
|
+
this.generalErrors.setErrors(this.formGroup.generalErrors);
|
|
2315
|
+
});
|
|
2307
2316
|
}
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2317
|
+
}
|
|
2318
|
+
EntityEditFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1$4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
2319
|
+
EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"formGroup.valid && formGroup.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], components: [{ type: GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }], directives: [{ type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1$3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1$3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
2320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditFormComponent, decorators: [{
|
|
2321
|
+
type: Component,
|
|
2322
|
+
args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"formGroup.valid && formGroup.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""] }]
|
|
2323
|
+
}], ctorParameters: function () { return [{ type: i1$4.ActivatedRoute }]; }, propDecorators: { generalErrors: [{
|
|
2324
|
+
type: ViewChild,
|
|
2325
|
+
args: ['general_errors']
|
|
2326
|
+
}], title: [{
|
|
2327
|
+
type: Input
|
|
2328
|
+
}], adapter: [{
|
|
2329
|
+
type: Input
|
|
2330
|
+
}] } });
|
|
2331
|
+
|
|
2332
|
+
class FieldDropdownComponent extends FieldComponent {
|
|
2333
|
+
constructor(parent, eref) {
|
|
2334
|
+
super(parent, eref, '');
|
|
2335
|
+
this.parent = parent;
|
|
2336
|
+
this.eref = eref;
|
|
2337
|
+
this.data = [];
|
|
2313
2338
|
}
|
|
2314
|
-
|
|
2339
|
+
get control() {
|
|
2340
|
+
return this.parent.form.get(this.fieldName);
|
|
2341
|
+
}
|
|
2342
|
+
ngOnChanges() {
|
|
2315
2343
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
skip: 0,
|
|
2319
|
-
take: 10,
|
|
2320
|
-
};
|
|
2321
|
-
const state = urlDeserialize(params);
|
|
2322
|
-
this.gridState = state.hasOwnProperty('take') ? state : defaultGridState;
|
|
2323
|
-
this.onFilterChange();
|
|
2324
|
-
this.getData();
|
|
2344
|
+
yield this.getData();
|
|
2345
|
+
this.control.setValue((this.data.find((d) => d.id === this.control.value) || this.data[0]).id);
|
|
2325
2346
|
});
|
|
2326
2347
|
}
|
|
2348
|
+
getData() {
|
|
2349
|
+
this.service
|
|
2350
|
+
.getPage(this.filter ? { filter: this.filter } : {})
|
|
2351
|
+
.subscribe((data) => (this.data = data.data));
|
|
2352
|
+
}
|
|
2327
2353
|
}
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2354
|
+
FieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2355
|
+
FieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownComponent, selector: "field-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i3$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i1.TranslatePipe }, viewProviders: [
|
|
2356
|
+
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2357
|
+
] });
|
|
2358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownComponent, decorators: [{
|
|
2331
2359
|
type: Component,
|
|
2332
|
-
args: [{ selector: '
|
|
2333
|
-
|
|
2360
|
+
args: [{ selector: 'field-dropdown', viewProviders: [
|
|
2361
|
+
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2362
|
+
], template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
2363
|
+
}], ctorParameters: function () { return [{ type: i1$3.FormGroupDirective }, { type: i0.ElementRef }]; }, propDecorators: { service: [{
|
|
2334
2364
|
type: Input
|
|
2335
|
-
}],
|
|
2365
|
+
}], rebind: [{
|
|
2336
2366
|
type: Input
|
|
2337
|
-
}],
|
|
2367
|
+
}], filter: [{
|
|
2338
2368
|
type: Input
|
|
2339
|
-
}]
|
|
2369
|
+
}] } });
|
|
2370
|
+
|
|
2371
|
+
class FieldMultiSelectComponent extends FieldComponent {
|
|
2372
|
+
constructor(parent, eref) {
|
|
2373
|
+
super(parent, eref, []);
|
|
2374
|
+
this.parent = parent;
|
|
2375
|
+
this.eref = eref;
|
|
2376
|
+
this.data = [];
|
|
2377
|
+
}
|
|
2378
|
+
get control() {
|
|
2379
|
+
return this.parent.form.get(this.fieldName);
|
|
2380
|
+
}
|
|
2381
|
+
ngOnChanges() {
|
|
2382
|
+
this.getData().subscribe((data) => {
|
|
2383
|
+
this.data = data.data;
|
|
2384
|
+
this.control.setValue(this.control.value.filter((x) => this.data.filter((d) => d.id === x).length));
|
|
2385
|
+
});
|
|
2386
|
+
}
|
|
2387
|
+
getData() {
|
|
2388
|
+
return this.service.getPage(this.filter ? { filter: this.filter } : {});
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
FieldMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldMultiSelectComponent, deps: [{ token: i1$3.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2392
|
+
FieldMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldMultiSelectComponent, selector: "field-multiselect", inputs: { service: "service", rebind: "rebind", filter: "filter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i3$4.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "tabindex", "disabled", "readonly", "filterable", "listHeight", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "data", "value", "tabIndex", "size", "rounded", "fillMode", "placeholder", "itemDisabled", "checkboxes", "virtual", "popupSettings", "valuePrimitive", "loading", "valueField", "textField"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1$3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i1.TranslatePipe }, viewProviders: [
|
|
2393
|
+
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2394
|
+
] });
|
|
2395
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldMultiSelectComponent, decorators: [{
|
|
2396
|
+
type: Component,
|
|
2397
|
+
args: [{ selector: 'field-multiselect', viewProviders: [
|
|
2398
|
+
{ provide: ControlContainer, useExisting: FormGroupDirective },
|
|
2399
|
+
], template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-multiselect\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n [autoClose]=\"false\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-multiselect>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""] }]
|
|
2400
|
+
}], ctorParameters: function () { return [{ type: i1$3.FormGroupDirective }, { type: i0.ElementRef }]; }, propDecorators: { service: [{
|
|
2340
2401
|
type: Input
|
|
2341
|
-
}],
|
|
2402
|
+
}], rebind: [{
|
|
2342
2403
|
type: Input
|
|
2343
|
-
}],
|
|
2404
|
+
}], filter: [{
|
|
2344
2405
|
type: Input
|
|
2345
|
-
}], filterChange: [{
|
|
2346
|
-
type: Output
|
|
2347
|
-
}], dialog: [{
|
|
2348
|
-
type: ViewChild,
|
|
2349
|
-
args: ['confirmDialog', { static: true }]
|
|
2350
2406
|
}] } });
|
|
2351
2407
|
|
|
2352
2408
|
const All = 'All';
|
|
@@ -2383,7 +2439,7 @@ class FieldDropdownlistComponent {
|
|
|
2383
2439
|
}
|
|
2384
2440
|
}
|
|
2385
2441
|
FieldDropdownlistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownlistComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2386
|
-
FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], components: [{ type: i3$
|
|
2442
|
+
FieldDropdownlistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownlistComponent, selector: "field-dropdownlist", inputs: { service: "service", label: "label" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "kendoDropDown", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""], components: [{ type: i3$4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }] });
|
|
2387
2443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownlistComponent, decorators: [{
|
|
2388
2444
|
type: Component,
|
|
2389
2445
|
args: [{ selector: 'field-dropdownlist', template: "<div class=\"header-selection-field\">\n <label\n for=\"{{ '_' + label }}\"\n class=\"title-field\"\n translate=\"{{ label }}\"\n ></label>\n <kendo-dropdownlist\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n id=\"{{ '_' + label }}\"\n (valueChange)=\"onValueChange($event)\"\n [defaultItem]=\"defaultItem\"\n #inputElement\n >\n </kendo-dropdownlist>\n</div>\n", styles: [""] }]
|
|
@@ -2572,7 +2628,8 @@ KendoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
2572
2628
|
CurrentTimezoneComponent,
|
|
2573
2629
|
ModalWindowComponent,
|
|
2574
2630
|
LiveUpdatesControlComponent,
|
|
2575
|
-
AzureLoginCallbackComponent
|
|
2631
|
+
AzureLoginCallbackComponent,
|
|
2632
|
+
UserListAdminComponent], imports: [CommonModule,
|
|
2576
2633
|
RouterModule,
|
|
2577
2634
|
IndiginaModule, i2$1.OAuthModule, PopupModule,
|
|
2578
2635
|
GridModule,
|
|
@@ -2620,7 +2677,8 @@ KendoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "1
|
|
|
2620
2677
|
ModalWindowComponent,
|
|
2621
2678
|
LiveUpdatesControlComponent,
|
|
2622
2679
|
MsalModule,
|
|
2623
|
-
AzureLoginCallbackComponent
|
|
2680
|
+
AzureLoginCallbackComponent,
|
|
2681
|
+
UserListAdminComponent] });
|
|
2624
2682
|
KendoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: KendoModule, providers: [
|
|
2625
2683
|
{ provide: OAuthStorage, useValue: localStorage },
|
|
2626
2684
|
{
|
|
@@ -2689,6 +2747,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
2689
2747
|
ModalWindowComponent,
|
|
2690
2748
|
LiveUpdatesControlComponent,
|
|
2691
2749
|
AzureLoginCallbackComponent,
|
|
2750
|
+
UserListAdminComponent,
|
|
2692
2751
|
],
|
|
2693
2752
|
imports: [
|
|
2694
2753
|
CommonModule,
|
|
@@ -2757,6 +2816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
2757
2816
|
LiveUpdatesControlComponent,
|
|
2758
2817
|
MsalModule,
|
|
2759
2818
|
AzureLoginCallbackComponent,
|
|
2819
|
+
UserListAdminComponent,
|
|
2760
2820
|
],
|
|
2761
2821
|
}]
|
|
2762
2822
|
}] });
|
|
@@ -3082,28 +3142,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
3082
3142
|
type: Injectable
|
|
3083
3143
|
}], ctorParameters: function () { return [{ type: i1$4.ActivatedRoute }, { type: i1$4.Router }]; } });
|
|
3084
3144
|
|
|
3085
|
-
class EntityService {
|
|
3086
|
-
constructor(httpService, endpoints) {
|
|
3087
|
-
this.httpService = httpService;
|
|
3088
|
-
this.endpoints = endpoints;
|
|
3089
|
-
}
|
|
3090
|
-
getPage(state) {
|
|
3091
|
-
return this.httpService.get(this.endpoints.query(state));
|
|
3092
|
-
}
|
|
3093
|
-
get(id) {
|
|
3094
|
-
return this.httpService.get(this.endpoints.entityPath(id));
|
|
3095
|
-
}
|
|
3096
|
-
delete(id) {
|
|
3097
|
-
return this.httpService.delete(this.endpoints.entityPath(id));
|
|
3098
|
-
}
|
|
3099
|
-
save(model) {
|
|
3100
|
-
if (model.id) {
|
|
3101
|
-
return this.httpService.put(this.endpoints.entityPath(model.id), model);
|
|
3102
|
-
}
|
|
3103
|
-
return this.httpService.post(this.endpoints.path, model);
|
|
3104
|
-
}
|
|
3105
|
-
}
|
|
3106
|
-
|
|
3107
3145
|
class EntityEditComponent {
|
|
3108
3146
|
constructor(service) {
|
|
3109
3147
|
this.service = service;
|
|
@@ -3132,5 +3170,5 @@ const momentTimezone = momentModule;
|
|
|
3132
3170
|
* Generated bundle index. Do not edit.
|
|
3133
3171
|
*/
|
|
3134
3172
|
|
|
3135
|
-
export { AccountMenuComponent, AccountService, ActivityFilterComponent, ActivityFilterService, AppSettings, AppToastrService, AuthProvider, AuthProviderResolver, AzureLoginCallbackComponent, BaseAccountService, ConfirmDialogComponent, CurrentTimezoneComponent, DebounceDirective, EntityEditButtonsBarComponent, EntityEditComponent, EntityEditFormComponent, EntityListComponent, EntityService, EventNames, ExcelExportButtonComponent, FieldComponent, FieldDropdownComponent, FieldDropdownlistComponent, FieldInputComponent, FieldMultiSelectComponent, FieldTypes, FilterTargets, FooterBarComponent, FormGroupWithErrors, GeneralErrorsComponent, HttpCodes, HttpMethods, HttpService, IndiginaConfiguration, IndiginaModule, KendoModule, LanguageSelectorComponent, LiveUpdatesControlComponent, LocaleSettingsService, MSALInstanceFactory, MemberTypes, ModalWindowComponent, MulticheckFilterComponent, NumberInputComponent, Operators, PermissionTypes, PermissionsService, ReEntrySubscription, RequirePermissionDirective, SettingsService, SideMenuComponent, SignalRService, TopMenuComponent, TreeViewComponent, buildActivityEndpoints, buildEntityEndpoints, endpoints, momentTimezone, urlDeserialize, urlSerialize };
|
|
3173
|
+
export { AccountMenuComponent, AccountService, ActivityFilterComponent, ActivityFilterService, AppSettings, AppToastrService, AuthProvider, AuthProviderResolver, AzureLoginCallbackComponent, BaseAccountService, ConfirmDialogComponent, CurrentTimezoneComponent, DebounceDirective, EntityEditButtonsBarComponent, EntityEditComponent, EntityEditFormComponent, EntityListComponent, EntityService, EventNames, ExcelExportButtonComponent, FieldComponent, FieldDropdownComponent, FieldDropdownlistComponent, FieldInputComponent, FieldMultiSelectComponent, FieldTypes, FilterTargets, FooterBarComponent, FormGroupWithErrors, GeneralErrorsComponent, HttpCodes, HttpMethods, HttpService, IndiginaConfiguration, IndiginaModule, KendoModule, LanguageSelectorComponent, LiveUpdatesControlComponent, LocaleSettingsService, MSALInstanceFactory, MemberTypes, ModalWindowComponent, MulticheckFilterComponent, NumberInputComponent, Operators, PermissionTypes, PermissionsService, ReEntrySubscription, RequirePermissionDirective, SettingsService, SideMenuComponent, SignalRService, TopMenuComponent, TreeViewComponent, UserListAdminComponent, buildActivityEndpoints, buildEntityEndpoints, endpoints, momentTimezone, urlDeserialize, urlSerialize };
|
|
3136
3174
|
//# sourceMappingURL=indigina-kendo.mjs.map
|