@rosoftlab/rdict 1.0.1-alpha-12 → 1.0.2-alpha-15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/rosoftlab-rdict.mjs +153 -120
- package/fesm2022/rosoftlab-rdict.mjs.map +1 -1
- package/lib/components/rdict-crud/rdict-crud.component.d.ts +6 -6
- package/lib/components/rdict-generic-table/rdict-generic-table.component.d.ts +12 -9
- package/lib/services/index.d.ts +1 -0
- package/package.json +29 -29
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i6$2 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import {
|
|
4
|
+
import { Inject, Injectable, Component, NgModule, forwardRef, Input, ViewChild, EventEmitter, ElementRef, Output, ViewEncapsulation, InjectionToken } from '@angular/core';
|
|
5
5
|
import * as i1$1 from '@angular/router';
|
|
6
6
|
import { RouterModule, UrlSegment, NavigationStart } from '@angular/router';
|
|
7
7
|
import * as i2 from '@ngx-translate/core';
|
|
@@ -15,9 +15,12 @@ import * as i8 from '@progress/kendo-angular-toolbar';
|
|
|
15
15
|
import { ToolBarModule, KENDO_TOOLBAR, ToolBarToolComponent } from '@progress/kendo-angular-toolbar';
|
|
16
16
|
import * as allIcons from '@progress/kendo-svg-icons';
|
|
17
17
|
import { menuIcon, saveIcon, pencilIcon, trashIcon, plusIcon } from '@progress/kendo-svg-icons';
|
|
18
|
-
import { Subject, from, mergeMap,
|
|
18
|
+
import { Subject, from, mergeMap, Observable, map } from 'rxjs';
|
|
19
19
|
import { v4 } from 'uuid';
|
|
20
20
|
import { io } from 'socket.io-client';
|
|
21
|
+
import * as i2$1 from '@progress/kendo-angular-dialog';
|
|
22
|
+
import { DialogCloseResult, KENDO_DIALOG } from '@progress/kendo-angular-dialog';
|
|
23
|
+
import * as i3 from '@progress/kendo-angular-notification';
|
|
21
24
|
import * as i1 from '@rosoftlab/core';
|
|
22
25
|
import { BaseModel, Attribute, BaseModelConfig, BaseService } from '@rosoftlab/core';
|
|
23
26
|
import { __decorate, __metadata } from 'tslib';
|
|
@@ -26,9 +29,6 @@ import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
|
26
29
|
import * as i6$1 from '@ngx-formly/core';
|
|
27
30
|
import { FORMLY_CONFIG, FormlyModule } from '@ngx-formly/core';
|
|
28
31
|
import { FormlyKendoModule } from '@ngx-formly/kendo';
|
|
29
|
-
import * as i2$1 from '@progress/kendo-angular-dialog';
|
|
30
|
-
import { DialogCloseResult, KENDO_DIALOG } from '@progress/kendo-angular-dialog';
|
|
31
|
-
import * as i3 from '@progress/kendo-angular-notification';
|
|
32
32
|
import * as i7$1 from '@progress/kendo-angular-grid';
|
|
33
33
|
import { KENDO_GRID } from '@progress/kendo-angular-grid';
|
|
34
34
|
import * as i1$2 from '@progress/kendo-angular-label';
|
|
@@ -170,10 +170,10 @@ class SocketService {
|
|
|
170
170
|
}
|
|
171
171
|
return obj;
|
|
172
172
|
}
|
|
173
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
174
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
173
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: SocketService, deps: [{ token: SOCKET_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
174
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: SocketService, providedIn: 'root' }); }
|
|
175
175
|
}
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: SocketService, decorators: [{
|
|
177
177
|
type: Injectable,
|
|
178
178
|
args: [{
|
|
179
179
|
providedIn: 'root'
|
|
@@ -406,7 +406,7 @@ class ReactiveDictionary extends Map {
|
|
|
406
406
|
data = await this.asyncGet(key);
|
|
407
407
|
if (!data)
|
|
408
408
|
return new Map();
|
|
409
|
-
console.log('getTable', data);
|
|
409
|
+
// console.log('getTable', data);
|
|
410
410
|
const entries = await Promise.all(Array.from(data.entries()).map(async ([k, v]) => {
|
|
411
411
|
const entry = (await data.asyncGet(k));
|
|
412
412
|
if (entry instanceof ReactiveDictionary) {
|
|
@@ -424,7 +424,7 @@ class ReactiveDictionary extends Map {
|
|
|
424
424
|
data = await this.asyncGet(key); // Get rooms from the ReactiveDictionary
|
|
425
425
|
if (!data)
|
|
426
426
|
return []; // Return an empty array if data is undefined
|
|
427
|
-
console.log('getTable', data);
|
|
427
|
+
// console.log('getTable', data);
|
|
428
428
|
// Filter and get only entries that are instances of ReactiveDictionary
|
|
429
429
|
const result = (await Promise.all(Array.from(data.entries()).map(async (key, index) => {
|
|
430
430
|
const entry = (await data.asyncGet(key[0]));
|
|
@@ -534,17 +534,74 @@ class ReactiveDictionary extends Map {
|
|
|
534
534
|
modelFormList(property, value) {
|
|
535
535
|
return this.get('__modelFormList');
|
|
536
536
|
}
|
|
537
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
538
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
537
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ReactiveDictionary, deps: [{ token: SocketService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
538
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ReactiveDictionary, providedIn: 'root' // This makes the service a singleton and available throughout the app
|
|
539
539
|
}); }
|
|
540
540
|
}
|
|
541
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
541
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ReactiveDictionary, decorators: [{
|
|
542
542
|
type: Injectable,
|
|
543
543
|
args: [{
|
|
544
544
|
providedIn: 'root' // This makes the service a singleton and available throughout the app
|
|
545
545
|
}]
|
|
546
546
|
}], ctorParameters: () => [{ type: SocketService }] });
|
|
547
547
|
|
|
548
|
+
class MaterialDialogService {
|
|
549
|
+
constructor(translate, dialogService, notificationService) {
|
|
550
|
+
this.translate = translate;
|
|
551
|
+
this.dialogService = dialogService;
|
|
552
|
+
this.notificationService = notificationService;
|
|
553
|
+
this.state = {
|
|
554
|
+
content: "Your data has been saved.",
|
|
555
|
+
type: { style: "success", icon: true },
|
|
556
|
+
animation: { type: "slide", duration: 400 },
|
|
557
|
+
hideAfter: 3000,
|
|
558
|
+
};
|
|
559
|
+
}
|
|
560
|
+
confirmDelete() {
|
|
561
|
+
return this.confirm(this.translate.instant("Are you sure you want to delete this record ?"), this.translate.instant("Delete Record"), this.translate.instant("General.Yes"), this.translate.instant("General.No"));
|
|
562
|
+
}
|
|
563
|
+
confirm(content, title, confirmButtonText, cancelButtonText) {
|
|
564
|
+
const dialog = this.dialogService.open({
|
|
565
|
+
title: title || "Confirm",
|
|
566
|
+
content: content || "Are you sure?",
|
|
567
|
+
actions: [
|
|
568
|
+
{ text: cancelButtonText || "No", result: false },
|
|
569
|
+
{ text: confirmButtonText || "Yes", themeColor: "primary", result: true }
|
|
570
|
+
],
|
|
571
|
+
width: 450,
|
|
572
|
+
height: 200,
|
|
573
|
+
minWidth: 250,
|
|
574
|
+
});
|
|
575
|
+
// Return an Observable<boolean>
|
|
576
|
+
return new Observable((observer) => {
|
|
577
|
+
dialog.result.subscribe((result) => {
|
|
578
|
+
if (result instanceof DialogCloseResult) {
|
|
579
|
+
// Dialog was closed without an action
|
|
580
|
+
observer.next(false);
|
|
581
|
+
}
|
|
582
|
+
else {
|
|
583
|
+
const actionResult = result;
|
|
584
|
+
observer.next(actionResult.result);
|
|
585
|
+
}
|
|
586
|
+
observer.complete(); // Complete the observable
|
|
587
|
+
});
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
showSaveMessage(message) {
|
|
591
|
+
this.state.content = message || "Your data has been saved.";
|
|
592
|
+
this.state.type = { style: "success", icon: true };
|
|
593
|
+
this.notificationService.show(this.state);
|
|
594
|
+
}
|
|
595
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: MaterialDialogService, deps: [{ token: i2.TranslateService }, { token: i2$1.DialogService }, { token: i3.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
596
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: MaterialDialogService, providedIn: 'root' }); }
|
|
597
|
+
}
|
|
598
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: MaterialDialogService, decorators: [{
|
|
599
|
+
type: Injectable,
|
|
600
|
+
args: [{
|
|
601
|
+
providedIn: 'root'
|
|
602
|
+
}]
|
|
603
|
+
}], ctorParameters: () => [{ type: i2.TranslateService }, { type: i2$1.DialogService }, { type: i3.NotificationService }] });
|
|
604
|
+
|
|
548
605
|
let Menu = class Menu extends BaseModel {
|
|
549
606
|
};
|
|
550
607
|
__decorate([
|
|
@@ -705,10 +762,10 @@ class UserService extends BaseService {
|
|
|
705
762
|
const response = this.datastore.findAll(Menu);
|
|
706
763
|
return response;
|
|
707
764
|
}
|
|
708
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
709
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.
|
|
765
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: UserService, deps: [{ token: i1.DatastoreCore }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
766
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: UserService, providedIn: 'root' }); }
|
|
710
767
|
}
|
|
711
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
768
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: UserService, decorators: [{
|
|
712
769
|
type: Injectable,
|
|
713
770
|
args: [{
|
|
714
771
|
providedIn: 'root'
|
|
@@ -788,10 +845,10 @@ class FullComponent {
|
|
|
788
845
|
});
|
|
789
846
|
return drawerItems;
|
|
790
847
|
}
|
|
791
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
792
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
848
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: FullComponent, deps: [{ token: UserService }, { token: i1$1.Router }, { token: i2.TranslateService }, { token: ReactiveDictionary }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
849
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: FullComponent, isStandalone: true, selector: "rdict-full", ngImport: i0, template: "<div class=\"custom-toolbar\">\r\n <button kendoButton [svgIcon]=\"menuSvg\" fillMode=\"flat\" (click)=\"drawer.toggle()\"></button>\r\n <span class=\"app-title\">{{apptitle}}</span>\r\n</div>\r\n<kendo-drawer-container>\r\n <kendo-drawer #drawer [items]=\"items\" mode=\"push\" [mini]=\"true\" [expanded]=\"true\" (select)=\"onSelect($event)\"\r\n [autoCollapse]=\"false\" [isItemExpanded]=\"isItemExpanded\"> \r\n </kendo-drawer>\r\n\r\n <kendo-drawer-content>\r\n <router-outlet></router-outlet>\r\n </kendo-drawer-content>\r\n</kendo-drawer-container>", styles: ["html,body,rdict-full{padding:0;height:100%}rdict-full{display:flex;flex-direction:column}kendo-drawer-container{flex:1 1 auto;overflow-y:auto}.k-icon{font-size:20px}.custom-toolbar{width:100%;background-color:#f6f6f6;line-height:10px;border-bottom:inset;border-bottom-width:1px;color:#656565}.custom-toolbar button{margin:3px 0 3px 8px}.app-title{margin-left:20px;font-weight:700;font-size:17px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: ButtonsModule }, { kind: "component", type: i5.ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "ngmodule", type: ToolBarModule }, { kind: "ngmodule", type: LayoutModule }, { kind: "component", type: i6.DrawerComponent, selector: "kendo-drawer", inputs: ["mode", "position", "mini", "expanded", "width", "miniWidth", "autoCollapse", "items", "isItemExpanded", "animation"], outputs: ["expand", "collapse", "select", "expandedChange"], exportAs: ["kendoDrawer"] }, { kind: "component", type: i6.DrawerContainerComponent, selector: "kendo-drawer-container" }, { kind: "component", type: i6.DrawerContentComponent, selector: "kendo-drawer-content" }] }); }
|
|
793
850
|
}
|
|
794
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
851
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: FullComponent, decorators: [{
|
|
795
852
|
type: Component,
|
|
796
853
|
args: [{ selector: 'rdict-full', imports: [
|
|
797
854
|
CommonModule,
|
|
@@ -802,66 +859,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
|
|
|
802
859
|
ToolBarModule,
|
|
803
860
|
LayoutModule,
|
|
804
861
|
KENDO_SVGICON
|
|
805
|
-
], template: "<div class=\"custom-toolbar\">\r\n <button kendoButton [svgIcon]=\"menuSvg\" fillMode=\"flat\" (click)=\"drawer.toggle()\"></button>\r\n
|
|
862
|
+
], template: "<div class=\"custom-toolbar\">\r\n <button kendoButton [svgIcon]=\"menuSvg\" fillMode=\"flat\" (click)=\"drawer.toggle()\"></button>\r\n <span class=\"app-title\">{{apptitle}}</span>\r\n</div>\r\n<kendo-drawer-container>\r\n <kendo-drawer #drawer [items]=\"items\" mode=\"push\" [mini]=\"true\" [expanded]=\"true\" (select)=\"onSelect($event)\"\r\n [autoCollapse]=\"false\" [isItemExpanded]=\"isItemExpanded\"> \r\n </kendo-drawer>\r\n\r\n <kendo-drawer-content>\r\n <router-outlet></router-outlet>\r\n </kendo-drawer-content>\r\n</kendo-drawer-container>", styles: ["html,body,rdict-full{padding:0;height:100%}rdict-full{display:flex;flex-direction:column}kendo-drawer-container{flex:1 1 auto;overflow-y:auto}.k-icon{font-size:20px}.custom-toolbar{width:100%;background-color:#f6f6f6;line-height:10px;border-bottom:inset;border-bottom-width:1px;color:#656565}.custom-toolbar button{margin:3px 0 3px 8px}.app-title{margin-left:20px;font-weight:700;font-size:17px}\n"] }]
|
|
806
863
|
}], ctorParameters: () => [{ type: UserService }, { type: i1$1.Router }, { type: i2.TranslateService }, { type: ReactiveDictionary }] });
|
|
807
864
|
|
|
808
|
-
class MaterialDialogService {
|
|
809
|
-
constructor(translate, dialogService, notificationService) {
|
|
810
|
-
this.translate = translate;
|
|
811
|
-
this.dialogService = dialogService;
|
|
812
|
-
this.notificationService = notificationService;
|
|
813
|
-
this.state = {
|
|
814
|
-
content: "Your data has been saved.",
|
|
815
|
-
type: { style: "success", icon: true },
|
|
816
|
-
animation: { type: "slide", duration: 400 },
|
|
817
|
-
hideAfter: 3000,
|
|
818
|
-
};
|
|
819
|
-
}
|
|
820
|
-
confirmDelete() {
|
|
821
|
-
return this.confirm(this.translate.instant("Are you sure you want to delete this record ?"), this.translate.instant("Delete Record"), this.translate.instant("General.Yes"), this.translate.instant("General.No"));
|
|
822
|
-
}
|
|
823
|
-
confirm(content, title, confirmButtonText, cancelButtonText) {
|
|
824
|
-
const dialog = this.dialogService.open({
|
|
825
|
-
title: title || "Confirm",
|
|
826
|
-
content: content || "Are you sure?",
|
|
827
|
-
actions: [
|
|
828
|
-
{ text: cancelButtonText || "No", result: false },
|
|
829
|
-
{ text: confirmButtonText || "Yes", themeColor: "primary", result: true }
|
|
830
|
-
],
|
|
831
|
-
width: 450,
|
|
832
|
-
height: 200,
|
|
833
|
-
minWidth: 250,
|
|
834
|
-
});
|
|
835
|
-
// Return an Observable<boolean>
|
|
836
|
-
return new Observable((observer) => {
|
|
837
|
-
dialog.result.subscribe((result) => {
|
|
838
|
-
if (result instanceof DialogCloseResult) {
|
|
839
|
-
// Dialog was closed without an action
|
|
840
|
-
observer.next(false);
|
|
841
|
-
}
|
|
842
|
-
else {
|
|
843
|
-
const actionResult = result;
|
|
844
|
-
observer.next(actionResult.result);
|
|
845
|
-
}
|
|
846
|
-
observer.complete(); // Complete the observable
|
|
847
|
-
});
|
|
848
|
-
});
|
|
849
|
-
}
|
|
850
|
-
showSaveMessage(message) {
|
|
851
|
-
this.state.content = message || "Your data has been saved.";
|
|
852
|
-
this.state.type = { style: "success", icon: true };
|
|
853
|
-
this.notificationService.show(this.state);
|
|
854
|
-
}
|
|
855
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MaterialDialogService, deps: [{ token: i2.TranslateService }, { token: i2$1.DialogService }, { token: i3.NotificationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
856
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MaterialDialogService, providedIn: 'root' }); }
|
|
857
|
-
}
|
|
858
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MaterialDialogService, decorators: [{
|
|
859
|
-
type: Injectable,
|
|
860
|
-
args: [{
|
|
861
|
-
providedIn: 'root'
|
|
862
|
-
}]
|
|
863
|
-
}], ctorParameters: () => [{ type: i2.TranslateService }, { type: i2$1.DialogService }, { type: i3.NotificationService }] });
|
|
864
|
-
|
|
865
865
|
class TranslateExtension {
|
|
866
866
|
constructor(translate) {
|
|
867
867
|
this.translate = translate;
|
|
@@ -911,13 +911,13 @@ function registerTranslateExtension(translate) {
|
|
|
911
911
|
}
|
|
912
912
|
|
|
913
913
|
class CrudFormlyTransaltionModule {
|
|
914
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
915
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.
|
|
916
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.
|
|
914
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: CrudFormlyTransaltionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
915
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.8", ngImport: i0, type: CrudFormlyTransaltionModule, imports: [CommonModule] }); }
|
|
916
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: CrudFormlyTransaltionModule, providers: [
|
|
917
917
|
{ provide: FORMLY_CONFIG, multi: true, useFactory: registerTranslateExtension, deps: [TranslateService] },
|
|
918
918
|
], imports: [CommonModule] }); }
|
|
919
919
|
}
|
|
920
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
920
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: CrudFormlyTransaltionModule, decorators: [{
|
|
921
921
|
type: NgModule,
|
|
922
922
|
args: [{
|
|
923
923
|
imports: [
|
|
@@ -1091,10 +1091,10 @@ class RdictCrudComponent {
|
|
|
1091
1091
|
getSelectData(key) {
|
|
1092
1092
|
return this.rdict.getTableAsObservable(key);
|
|
1093
1093
|
}
|
|
1094
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1095
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1094
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: RdictCrudComponent, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i2.TranslateService }, { token: ReactiveDictionary }, { token: i1.LocalFileService }, { token: MaterialDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1095
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: RdictCrudComponent, isStandalone: true, selector: "app-rdict-crud", ngImport: i0, template: "<kendo-toolbar>\r\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\r\n <kendo-toolbar-button text=\"Save\" showText=\"both\" [svgIcon]=\"saveIcon\" showIcon=\"both\" themeColor=\"primary\"\r\n [disabled]=\"false\" (click)=\"onSave()\">\r\n </kendo-toolbar-button>\r\n</kendo-toolbar>\r\n\r\n <form [formGroup]=\"baseForm\" (ngSubmit)=\"onSubmit(model)\">\r\n <formly-form [form]=\"baseForm\" [fields]=\"fields\" [model]=\"model\" [options]=\"options\"></formly-form>\r\n </form>\r\n", styles: ["::ng-deep formly-field{padding:.3rem;display:block}\n"], dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i6$1.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyKendoModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: CrudFormlyTransaltionModule }, { kind: "component", type: i8.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: i8.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "component", type: i8.ToolBarSpacerComponent, selector: "kendo-toolbar-spacer", exportAs: ["kendoToolBarSpacer"] }] }); }
|
|
1096
1096
|
}
|
|
1097
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1097
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: RdictCrudComponent, decorators: [{
|
|
1098
1098
|
type: Component,
|
|
1099
1099
|
args: [{ selector: 'app-rdict-crud', imports: [
|
|
1100
1100
|
FormlyModule,
|
|
@@ -1111,14 +1111,14 @@ class RdictTableTitle extends ToolBarToolComponent {
|
|
|
1111
1111
|
super();
|
|
1112
1112
|
this.tabindex = -1;
|
|
1113
1113
|
}
|
|
1114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: RdictTableTitle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: RdictTableTitle, isStandalone: true, selector: "table-title", inputs: { text: "text" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }], viewQueries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
1116
1116
|
<ng-template #toolbarTemplate>
|
|
1117
1117
|
<kendo-label>{{text}}</kendo-label>
|
|
1118
1118
|
</ng-template>
|
|
1119
1119
|
`, isInline: true, dependencies: [{ kind: "component", type: i1$2.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional", "labelCssStyle", "labelCssClass"], exportAs: ["kendoLabel"] }] }); }
|
|
1120
1120
|
}
|
|
1121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: RdictTableTitle, decorators: [{
|
|
1122
1122
|
type: Component,
|
|
1123
1123
|
args: [{
|
|
1124
1124
|
providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }],
|
|
@@ -1164,6 +1164,8 @@ class GenericRdictTableComponent {
|
|
|
1164
1164
|
this.columns = [];
|
|
1165
1165
|
this.tableLayout = {};
|
|
1166
1166
|
this.allColumns = [];
|
|
1167
|
+
this.referenceColumns = [];
|
|
1168
|
+
this.referenceData = new Map();
|
|
1167
1169
|
// ColumnMode = ColumnMode;
|
|
1168
1170
|
// SelectionType = SelectionType;
|
|
1169
1171
|
this.headerHeight = 50;
|
|
@@ -1173,7 +1175,8 @@ class GenericRdictTableComponent {
|
|
|
1173
1175
|
this.svgAdd = plusIcon;
|
|
1174
1176
|
}
|
|
1175
1177
|
async ngOnInit() {
|
|
1176
|
-
this.setValueFromSnapshot(this, this.route.snapshot, 'model',
|
|
1178
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'model', null);
|
|
1179
|
+
this.setValueFromSnapshot(this, this.route.snapshot, 'dictPath', null);
|
|
1177
1180
|
this.setValueFromSnapshot(this, this.route.snapshot, 'showSerach', false);
|
|
1178
1181
|
this.setValueFromSnapshot(this, this.route.snapshot, 'searchFields', null);
|
|
1179
1182
|
this.setValueFromSnapshot(this, this.route.snapshot, 'customInclude', null);
|
|
@@ -1190,12 +1193,12 @@ class GenericRdictTableComponent {
|
|
|
1190
1193
|
this.setValueFromSnapshot(this, this.route.snapshot, 'editOnDblClick', false);
|
|
1191
1194
|
this.setValueFromSnapshot(this, this.route.snapshot, 'editColumn', null);
|
|
1192
1195
|
this.setValueFromSnapshot(this, this.route.snapshot, 'fileLayout', '');
|
|
1193
|
-
const currentUrlSegments = this.router.url.split('/').map(segment => new UrlSegment(segment, {}));
|
|
1194
|
-
this.basePath = currentUrlSegments.map(segment => segment.path).join('/');
|
|
1195
|
-
const filteredSegments = currentUrlSegments.filter(segment => segment.path !== '');
|
|
1196
|
-
this.dictPath = filteredSegments.map(segment => segment.path).join('.');
|
|
1196
|
+
const currentUrlSegments = this.router.url.split('/').map((segment) => new UrlSegment(segment, {}));
|
|
1197
|
+
this.basePath = currentUrlSegments.map((segment) => segment.path).join('/');
|
|
1198
|
+
const filteredSegments = currentUrlSegments.filter((segment) => segment.path !== '');
|
|
1199
|
+
this.dictPath = filteredSegments.map((segment) => segment.path).join('.');
|
|
1197
1200
|
this.model = filteredSegments.length > 0 ? filteredSegments[filteredSegments.length - 1].path : ''; // Default to empty string if no valid segments
|
|
1198
|
-
this.router.events.subscribe(event => {
|
|
1201
|
+
this.router.events.subscribe((event) => {
|
|
1199
1202
|
if (event instanceof NavigationStart) {
|
|
1200
1203
|
// Navigation to another page is about to occur
|
|
1201
1204
|
this.data = [];
|
|
@@ -1217,28 +1220,28 @@ class GenericRdictTableComponent {
|
|
|
1217
1220
|
}
|
|
1218
1221
|
async loadData() {
|
|
1219
1222
|
this.rdict.getAsObservable(this.dictPath).subscribe({
|
|
1220
|
-
next: rdictData => {
|
|
1223
|
+
next: (rdictData) => {
|
|
1221
1224
|
this.tableRdict = rdictData;
|
|
1222
1225
|
this.tableRdict.onChanges().subscribe({
|
|
1223
1226
|
next: (changes) => {
|
|
1224
|
-
console.log(
|
|
1227
|
+
console.log('Changes detected grid:', changes);
|
|
1225
1228
|
this.onChangeEvent(changes);
|
|
1226
1229
|
}
|
|
1227
1230
|
});
|
|
1228
1231
|
this.tableRdict.onDelete().subscribe({
|
|
1229
1232
|
next: (changes) => {
|
|
1230
|
-
console.log(
|
|
1233
|
+
console.log('Delete detected grid:', changes);
|
|
1231
1234
|
this.ondDeleteEvent(changes);
|
|
1232
1235
|
}
|
|
1233
1236
|
});
|
|
1234
1237
|
this.rdict.getTableAsObservable(this.dictPath, this.tableRdict).subscribe({
|
|
1235
|
-
next: value => {
|
|
1238
|
+
next: (value) => {
|
|
1236
1239
|
this.dataSource = value;
|
|
1237
1240
|
},
|
|
1238
|
-
error: err => console.error('Error:', err.message)
|
|
1241
|
+
error: (err) => console.error('Error:', err.message)
|
|
1239
1242
|
});
|
|
1240
1243
|
},
|
|
1241
|
-
error: err => console.error('Error:', err.message)
|
|
1244
|
+
error: (err) => console.error('Error:', err.message)
|
|
1242
1245
|
});
|
|
1243
1246
|
}
|
|
1244
1247
|
onChangeEvent(changes) {
|
|
@@ -1253,7 +1256,7 @@ class GenericRdictTableComponent {
|
|
|
1253
1256
|
else {
|
|
1254
1257
|
//get the object from rdict
|
|
1255
1258
|
this.tableRdict.getAsObservable(key).subscribe({
|
|
1256
|
-
next: value => {
|
|
1259
|
+
next: (value) => {
|
|
1257
1260
|
var dd = value.getPlainObject();
|
|
1258
1261
|
this.dataSource.push(dd);
|
|
1259
1262
|
}
|
|
@@ -1279,30 +1282,30 @@ class GenericRdictTableComponent {
|
|
|
1279
1282
|
if (this.fileLayout) {
|
|
1280
1283
|
//load from file
|
|
1281
1284
|
this.localFileService.getJsonData(this.fileLayout).subscribe({
|
|
1282
|
-
next: value => {
|
|
1285
|
+
next: (value) => {
|
|
1283
1286
|
if (value) {
|
|
1284
|
-
const layout = value.find(item => item.model === this.model);
|
|
1287
|
+
const layout = value.find((item) => item.model === this.model);
|
|
1285
1288
|
this.setLayout(layout?.tableLayout);
|
|
1286
1289
|
}
|
|
1287
1290
|
},
|
|
1288
|
-
error: err => console.error('Error:', err.message)
|
|
1291
|
+
error: (err) => console.error('Error:', err.message)
|
|
1289
1292
|
});
|
|
1290
1293
|
}
|
|
1294
|
+
//Use rdict layout
|
|
1291
1295
|
else
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
next: value => {
|
|
1296
|
+
this.rdict.getAsObservable('config.models.' + this.model + '.tableLayout').subscribe({
|
|
1297
|
+
next: (value) => {
|
|
1295
1298
|
this.setLayout(value);
|
|
1296
1299
|
},
|
|
1297
|
-
error: err => console.error('Error:', err.message)
|
|
1300
|
+
error: (err) => console.error('Error:', err.message)
|
|
1298
1301
|
});
|
|
1299
1302
|
}
|
|
1300
1303
|
}
|
|
1301
1304
|
setLayout(layout) {
|
|
1302
1305
|
if (layout) {
|
|
1303
1306
|
this.tableLayout = layout;
|
|
1304
|
-
this.title = this.translate.instant(this.tableLayout[
|
|
1305
|
-
this.allColumns = this.tableLayout[
|
|
1307
|
+
this.title = this.translate.instant(this.tableLayout['title']);
|
|
1308
|
+
this.allColumns = this.tableLayout['columns'].map((item) => {
|
|
1306
1309
|
if (!item.isTranslated) {
|
|
1307
1310
|
item.name = this.translate.instant(item.translateKey);
|
|
1308
1311
|
item.isTranslated = true;
|
|
@@ -1310,15 +1313,41 @@ class GenericRdictTableComponent {
|
|
|
1310
1313
|
if (this.editColumn && this.editColumn === item.propertyName) {
|
|
1311
1314
|
item.isEditLink = true;
|
|
1312
1315
|
}
|
|
1316
|
+
if (!item.type) {
|
|
1317
|
+
item.type = 'property';
|
|
1318
|
+
}
|
|
1313
1319
|
}
|
|
1314
1320
|
return item;
|
|
1315
1321
|
});
|
|
1322
|
+
//Get reference columns
|
|
1323
|
+
const referenceColumns = this.allColumns.filter((item) => item.reference !== undefined && item.reference !== null);
|
|
1324
|
+
if (referenceColumns.length > 0) {
|
|
1325
|
+
referenceColumns.forEach((item) => {
|
|
1326
|
+
this.rdict.getTableAsObservable(item.reference).subscribe({
|
|
1327
|
+
next: (value) => {
|
|
1328
|
+
if (value) {
|
|
1329
|
+
console.log('Reference data:', value);
|
|
1330
|
+
this.referenceData.set(item.reference, this.arrayToMap(value, item.referenceKey));
|
|
1331
|
+
}
|
|
1332
|
+
},
|
|
1333
|
+
error: (err) => console.error('Error:', err.message)
|
|
1334
|
+
});
|
|
1335
|
+
});
|
|
1336
|
+
}
|
|
1316
1337
|
this.columns = [];
|
|
1317
1338
|
this.allColumns.sort((a, b) => a.order - b.order);
|
|
1318
1339
|
this.displayedColumns = [];
|
|
1319
|
-
this.displayedColumns.push.apply(this.displayedColumns, this.allColumns.map(x => x.propertyName));
|
|
1340
|
+
this.displayedColumns.push.apply(this.displayedColumns, this.allColumns.map((x) => x.propertyName));
|
|
1320
1341
|
}
|
|
1321
1342
|
}
|
|
1343
|
+
arrayToMap(array, keyProperty) {
|
|
1344
|
+
const map = new Map();
|
|
1345
|
+
for (const item of array) {
|
|
1346
|
+
const key = String(item[keyProperty]); // ensure it's a string
|
|
1347
|
+
map.set(key, item);
|
|
1348
|
+
}
|
|
1349
|
+
return map;
|
|
1350
|
+
}
|
|
1322
1351
|
addHandler() {
|
|
1323
1352
|
this.router.navigate([`${this.basePath}/add`]);
|
|
1324
1353
|
}
|
|
@@ -1344,21 +1373,25 @@ class GenericRdictTableComponent {
|
|
|
1344
1373
|
});
|
|
1345
1374
|
// this.editService.remove(args.dataItem);
|
|
1346
1375
|
}
|
|
1347
|
-
getCellValue(item,
|
|
1348
|
-
if (item
|
|
1349
|
-
|
|
1376
|
+
getCellValue(item, column) {
|
|
1377
|
+
if (typeof item !== 'object' || item === null) {
|
|
1378
|
+
return null; // or `undefined` or some fallback
|
|
1379
|
+
}
|
|
1380
|
+
if (column.type == 'reference') {
|
|
1381
|
+
const value = this.referenceData.get(column.reference)?.get(item[column.propertyName])?.[column.referenceProperty] ?? item[column.propertyName];
|
|
1382
|
+
return value;
|
|
1350
1383
|
}
|
|
1351
1384
|
else {
|
|
1352
|
-
return item[propertyName];
|
|
1385
|
+
return item[column.propertyName];
|
|
1353
1386
|
}
|
|
1354
1387
|
}
|
|
1355
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.
|
|
1356
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.
|
|
1388
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: GenericRdictTableComponent, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i2.TranslateService }, { token: i0.Injector }, { token: i1.LocalFileService }, { token: ReactiveDictionary }, { token: MaterialDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1389
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.8", type: GenericRdictTableComponent, isStandalone: true, selector: "rsl-rdict-generic-table", inputs: { showSerach: "showSerach", searchFields: "searchFields", customInclude: "customInclude", defaultSort: "defaultSort", deletePropertyName: "deletePropertyName", defaultFilter: "defaultFilter", showHeader: "showHeader", hasAdd: "hasAdd", canDelete: "canDelete", canEdit: "canEdit", editOnClick: "editOnClick", editOnDblClick: "editOnDblClick" }, outputs: { selectedObject: "selectedObject", click: "click", editModel: "editModel" }, providers: [], viewQueries: [{ propertyName: "filter", first: true, predicate: ElementRef, descendants: true }], ngImport: i0, template: "<kendo-grid [data]=\"dataSource\" [sortable]=\"true\" [filterable]=\"showSerach\" [resizable]=\"true\" (add)=\"addHandler()\"\r\n (edit)=\"editHandler($event)\" (remove)=\"removeHandler($event)\">\r\n <kendo-toolbar>\r\n <table-title text=\"{{title}}\"></table-title>\r\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\r\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\r\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\r\n <kendo-toolbar-button *ngIf=\"hasAdd\" kendoButton [svgIcon]=\"svgAdd\" text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\r\n </kendo-toolbar>\r\n\r\n <!-- <kendo-toolbar>\r\n \r\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\r\n <button kendoGridAddCommand type=\"button\">Add new</button>\r\n </kendo-toolbar> -->\r\n <!-- <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\r\n title=\" {{column.translateKey | translate}}\">\r\n </kendo-grid-column> -->\r\n\r\n <kendo-grid-column *ngFor=\"let column of allColumns\" [field]=\"column.propertyName\"\r\n [title]=\"column.translateKey | translate\">\r\n <!-- Use ng-template to customize the column content -->\r\n <ng-template *ngIf=\"column.isEditLink; else defaultTemplate\" kendoGridCellTemplate let-dataItem>\r\n <!-- Create a link that calls editHandler(dataItem) -->\r\n <a href=\"javascript:void(0)\" (click)=\"edit(dataItem)\" class=\"edit-link\">\r\n {{ getCellValue(dataItem,column) }}\r\n </a>\r\n </ng-template>\r\n \r\n <!-- <ng-template *ngIf=\"column.type=='reference'; else defaultTemplate\" kendoGridCellTemplate let-dataItem>\r\n <a href=\"javascript:void(0)\" (click)=\"edit(dataItem)\" class=\"edit-link\">\r\n {{ getCellValue$(dataItem,column) | async }}\r\n </a>\r\n </ng-template> -->\r\n <!-- Default template for non-link columns -->\r\n <ng-template #defaultTemplate kendoGridCellTemplate let-dataItem>\r\n {{ getCellValue(dataItem,column) }}\r\n </ng-template>\r\n </kendo-grid-column>\r\n\r\n\r\n <kendo-grid-command-column *ngIf=\"canEdit && canDelete\" title=\"\" [width]=\"100\">\r\n <ng-template kendoGridCellTemplate>\r\n <!-- <button kendoButton kendoGridEditCommand [svgIcon]=\"svgEdit\" themeColor=\"light\" ></button>\r\n <button kendoButton kendoGridRemoveCommand [svgIcon]=\"svgDelete\" themeColor=\"error\"></button> -->\r\n <button *ngIf=\"canEdit\" kendoGridEditCommand [svgIcon]=\"svgEdit\" themeColor=\"light\"></button>\r\n <button *ngIf=\"canDelete\" kendoGridRemoveCommand [svgIcon]=\"svgDelete\" themeColor=\"error\"></button>\r\n </ng-template>\r\n </kendo-grid-command-column>\r\n</kendo-grid>\r\n<div kendoDialogContainer></div>", styles: [".edit-link{color:#00f!important;text-decoration:underline!important;cursor:pointer!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
|
|
1357
1390
|
// MatPaginatorModule,
|
|
1358
1391
|
// MatTableModule,
|
|
1359
|
-
TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: i7$1.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i7$1.GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { kind: "component", type: i7$1.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i7$1.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i7$1.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i7$1.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: i7$1.EditCommandDirective, selector: "[kendoGridEditCommand]" }, { kind: "component", type: i7$1.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "directive", type: i7$1.AddCommandToolbarDirective, selector: "[kendoGridAddTool]" }, { kind: "component", type: i8.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: i8.ToolbarCustomMessagesComponent, selector: "kendo-toolbar-messages" }, { kind: "component", type: i8.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "component", type: i8.ToolBarSpacerComponent, selector: "kendo-toolbar-spacer", exportAs: ["kendoToolBarSpacer"] }, { kind: "directive", type: i2$1.DialogContainerDirective, selector: "[kendoDialogContainer]" }, { kind: "component", type: RdictTableTitle, selector: "table-title", inputs: ["text"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1392
|
+
TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: i7$1.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i7$1.GridToolbarFocusableDirective, selector: " [kendoGridToolbarFocusable], [kendoGridAddCommand], [kendoGridCancelCommand], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridExcelCommand], [kendoGridPDFCommand] " }, { kind: "component", type: i7$1.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i7$1.FocusableDirective, selector: "[kendoGridFocusable], [kendoGridEditCommand], [kendoGridRemoveCommand], [kendoGridSaveCommand], [kendoGridCancelCommand], [kendoGridSelectionCheckbox] ", inputs: ["kendoGridFocusable"] }, { kind: "component", type: i7$1.CommandColumnComponent, selector: "kendo-grid-command-column" }, { kind: "directive", type: i7$1.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "component", type: i7$1.EditCommandDirective, selector: "[kendoGridEditCommand]" }, { kind: "component", type: i7$1.RemoveCommandDirective, selector: "[kendoGridRemoveCommand]" }, { kind: "directive", type: i7$1.AddCommandToolbarDirective, selector: "[kendoGridAddTool]" }, { kind: "component", type: i8.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: i8.ToolbarCustomMessagesComponent, selector: "kendo-toolbar-messages" }, { kind: "component", type: i8.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "component", type: i8.ToolBarSpacerComponent, selector: "kendo-toolbar-spacer", exportAs: ["kendoToolBarSpacer"] }, { kind: "directive", type: i2$1.DialogContainerDirective, selector: "[kendoDialogContainer]" }, { kind: "component", type: RdictTableTitle, selector: "table-title", inputs: ["text"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
1360
1393
|
}
|
|
1361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.
|
|
1394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: GenericRdictTableComponent, decorators: [{
|
|
1362
1395
|
type: Component,
|
|
1363
1396
|
args: [{ selector: 'rsl-rdict-generic-table', encapsulation: ViewEncapsulation.None, imports: [
|
|
1364
1397
|
CommonModule,
|
|
@@ -1372,7 +1405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImpor
|
|
|
1372
1405
|
KENDO_BUTTONS,
|
|
1373
1406
|
KENDO_DIALOG,
|
|
1374
1407
|
RdictTableTitle
|
|
1375
|
-
], providers: [], template: "<kendo-grid [data]=\"dataSource\" [sortable]=\"true\" [filterable]=\"showSerach\" [resizable]=\"true\" (add)=\"addHandler()\"\r\n (edit)=\"editHandler($event)\" (remove)=\"removeHandler($event)\">\r\n <kendo-toolbar>\r\n <table-title text=\"{{title}}\"></table-title>\r\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\r\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\r\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\r\n <kendo-toolbar-button kendoButton [svgIcon]=\"svgAdd\" text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\r\n </kendo-toolbar>\r\n\r\n <!-- <kendo-toolbar>\r\n \r\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\r\n <button kendoGridAddCommand type=\"button\">Add new</button>\r\n </kendo-toolbar> -->\r\n <!-- <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\r\n title=\" {{column.translateKey | translate}}\">\r\n </kendo-grid-column> -->\r\n\r\n <kendo-grid-column *ngFor=\"let column of allColumns\" [field]=\"column.propertyName\"\r\n [title]=\"column.translateKey | translate\">\r\n <!-- Use ng-template to customize the column content -->\r\n <ng-template *ngIf=\"column.isEditLink; else defaultTemplate\" kendoGridCellTemplate let-dataItem>\r\n <!-- Create a link that calls editHandler(dataItem) -->\r\n <a href=\"javascript:void(0)\" (click)=\"edit(dataItem)\" class=\"edit-link\">\r\n {{ getCellValue(dataItem,column
|
|
1408
|
+
], providers: [], template: "<kendo-grid [data]=\"dataSource\" [sortable]=\"true\" [filterable]=\"showSerach\" [resizable]=\"true\" (add)=\"addHandler()\"\r\n (edit)=\"editHandler($event)\" (remove)=\"removeHandler($event)\">\r\n <kendo-toolbar>\r\n <table-title text=\"{{title}}\"></table-title>\r\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\r\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\r\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\r\n <kendo-toolbar-button *ngIf=\"hasAdd\" kendoButton [svgIcon]=\"svgAdd\" text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\r\n </kendo-toolbar>\r\n\r\n <!-- <kendo-toolbar>\r\n \r\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\r\n <button kendoGridAddCommand type=\"button\">Add new</button>\r\n </kendo-toolbar> -->\r\n <!-- <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\r\n title=\" {{column.translateKey | translate}}\">\r\n </kendo-grid-column> -->\r\n\r\n <kendo-grid-column *ngFor=\"let column of allColumns\" [field]=\"column.propertyName\"\r\n [title]=\"column.translateKey | translate\">\r\n <!-- Use ng-template to customize the column content -->\r\n <ng-template *ngIf=\"column.isEditLink; else defaultTemplate\" kendoGridCellTemplate let-dataItem>\r\n <!-- Create a link that calls editHandler(dataItem) -->\r\n <a href=\"javascript:void(0)\" (click)=\"edit(dataItem)\" class=\"edit-link\">\r\n {{ getCellValue(dataItem,column) }}\r\n </a>\r\n </ng-template>\r\n \r\n <!-- <ng-template *ngIf=\"column.type=='reference'; else defaultTemplate\" kendoGridCellTemplate let-dataItem>\r\n <a href=\"javascript:void(0)\" (click)=\"edit(dataItem)\" class=\"edit-link\">\r\n {{ getCellValue$(dataItem,column) | async }}\r\n </a>\r\n </ng-template> -->\r\n <!-- Default template for non-link columns -->\r\n <ng-template #defaultTemplate kendoGridCellTemplate let-dataItem>\r\n {{ getCellValue(dataItem,column) }}\r\n </ng-template>\r\n </kendo-grid-column>\r\n\r\n\r\n <kendo-grid-command-column *ngIf=\"canEdit && canDelete\" title=\"\" [width]=\"100\">\r\n <ng-template kendoGridCellTemplate>\r\n <!-- <button kendoButton kendoGridEditCommand [svgIcon]=\"svgEdit\" themeColor=\"light\" ></button>\r\n <button kendoButton kendoGridRemoveCommand [svgIcon]=\"svgDelete\" themeColor=\"error\"></button> -->\r\n <button *ngIf=\"canEdit\" kendoGridEditCommand [svgIcon]=\"svgEdit\" themeColor=\"light\"></button>\r\n <button *ngIf=\"canDelete\" kendoGridRemoveCommand [svgIcon]=\"svgDelete\" themeColor=\"error\"></button>\r\n </ng-template>\r\n </kendo-grid-command-column>\r\n</kendo-grid>\r\n<div kendoDialogContainer></div>", styles: [".edit-link{color:#00f!important;text-decoration:underline!important;cursor:pointer!important}\n"] }]
|
|
1376
1409
|
}], ctorParameters: () => [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: i2.TranslateService }, { type: i0.Injector }, { type: i1.LocalFileService }, { type: ReactiveDictionary }, { type: MaterialDialogService }], propDecorators: { showSerach: [{
|
|
1377
1410
|
type: Input
|
|
1378
1411
|
}], searchFields: [{
|
|
@@ -1419,5 +1452,5 @@ const SOCKET_URL = new InjectionToken('SocketUrl');
|
|
|
1419
1452
|
* Generated bundle index. Do not edit.
|
|
1420
1453
|
*/
|
|
1421
1454
|
|
|
1422
|
-
export { FullComponent, GenericRdictTableComponent, Menu, RdictCrudComponent, ReactiveDictionary, Right, SOCKET_URL, SocketService, User, UserService };
|
|
1455
|
+
export { FullComponent, GenericRdictTableComponent, MaterialDialogService, Menu, RdictCrudComponent, ReactiveDictionary, Right, SOCKET_URL, SocketService, User, UserService };
|
|
1423
1456
|
//# sourceMappingURL=rosoftlab-rdict.mjs.map
|