@rosoftlab/rdict 1.0.1-alpha-4 → 1.0.1-alpha-5
Sign up to get free protection for your applications and to get access to all the features.
@@ -802,13 +802,6 @@ class GenericRdictTableComponent {
|
|
802
802
|
return item;
|
803
803
|
});
|
804
804
|
this.columns = [];
|
805
|
-
// this.allColumns = Reflect.getMetadata('IonicDataTableLayout', this.model).map((item: IonicDataTableLayoutConfig) => {
|
806
|
-
// if (!item.isTranslated) {
|
807
|
-
// item.name = this.translate.instant(item.name);
|
808
|
-
// item.isTranslated = true
|
809
|
-
// }
|
810
|
-
// return item;
|
811
|
-
// });
|
812
805
|
this.allColumns.sort((a, b) => a.order - b.order);
|
813
806
|
// if (this.canDelete || this.canEdit) {
|
814
807
|
// this.allColumns.push({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rosoftlab-rdict.mjs","sources":["../../../../projects/rosoftlab/rdict/src/lib/reactive-dictionary.ts","../../../../projects/rosoftlab/rdict/src/lib/services/socket.service.ts","../../../../projects/rosoftlab/rdict/src/lib/models/menu.ts","../../../../projects/rosoftlab/rdict/src/lib/models/right.ts","../../../../projects/rosoftlab/rdict/src/lib/models/user.ts","../../../../projects/rosoftlab/rdict/src/lib/services/user.service.ts","../../../../projects/rosoftlab/rdict/src/lib/services/ws-auth.service.ts","../../../../projects/rosoftlab/rdict/src/lib/components/layouts/full/full.component.ts","../../../../projects/rosoftlab/rdict/src/lib/components/layouts/full/full.component.html","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-crud/rdict-crud.component.ts","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-crud/rdict-crud.component.html","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-generic-table/rdict-table-title.ts","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-generic-table/rdict-generic-table.component.ts","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-generic-table/rdict-generic-table.component.html","../../../../projects/rosoftlab/rdict/src/lib/socket-config.token.ts","../../../../projects/rosoftlab/rdict/src/public-api.ts","../../../../projects/rosoftlab/rdict/src/rosoftlab-rdict.ts"],"sourcesContent":["import { BehaviorSubject, Observable } from \"rxjs\";\nimport { SocketService } from \"./services/socket.service\";\n\nexport class ReactiveDictionary extends Map<string, any> {\n private static instance: Map<string, ReactiveDictionary> = new Map<string, ReactiveDictionary>;\n private _socketService: SocketService;\n private changes$: BehaviorSubject<any> = new BehaviorSubject(null);\n private isInitialized: boolean = false;\n private _authToken: string = null;\n private constructor(socketService: SocketService,\n authToken: string) {\n super();\n this._authToken = authToken;\n this._socketService = socketService;\n this._socketService.initSocket(authToken)\n this._socketService.getSetEvent(this)\n }\n\n // Method to get the singleton instance\n public static getInstance(socketService: SocketService, authToken: string, instance_key?: string): ReactiveDictionary {\n if (!instance_key)\n instance_key = 'root'\n if (!ReactiveDictionary.instance.has(instance_key)) {\n ReactiveDictionary.instance.set(instance_key, new ReactiveDictionary(socketService, authToken));\n }\n const instance = ReactiveDictionary.instance.get(instance_key);\n if (!instance) {\n throw new Error(`No instance found for key: ${instance_key}`); // Handle undefined case\n }\n\n return instance; // Now TypeScript knows 'instance' is not undefined\n }\n // str_keys(): string[] {\n override keys(): IterableIterator<string> {\n const excludedKeys = ['__guid', '__type']; // Key to exclude\n const iterator = super.keys();\n\n const filteredIterator = {\n [Symbol.iterator]: () => ({\n next: () => {\n let result;\n\n // Loop until we find a valid key or run out of keys\n do {\n result = iterator.next(); // Get the next entry ([key, value])\n if (result.done) return { done: true }; // Stop if done\n\n const key = result.value; // Destructure the entry\n const value = super.get(key)\n // Check if the key is in excludedKeys or if the value is an object\n if (\n !excludedKeys.includes(key) &&\n !(typeof value === 'object' && value !== null)\n ) {\n return { value: key, done: false }; // Return the valid key\n }\n } while (true); // Continue until a valid key is found\n }\n })\n };\n\n return filteredIterator as IterableIterator<string>;\n }\n // Asynchronous method to get a value by key\n async asyncGet(key: string): Promise<any> {\n // console.log('Get key: ', key);\n const keys = key.split('.')\n if (keys.length === 1) {\n if (this.has(key)) {\n const value = this.get(key)\n if (value instanceof ReactiveDictionary) {\n return value\n }\n if (typeof value === 'object' && value !== null) {\n const dict_type = value['__type']\n // console.log('value type : ', dict_type);\n if (dict_type === 'dict' || dict_type === 'lazy') {\n const lazyLoadData = await this.lazyLoadSync(this.get('__guid'), key);\n // console.log(lazyLoadData)\n if (lazyLoadData) {\n const dict = new ReactiveDictionary(this._socketService, this._authToken);\n await dict.asyncInit(lazyLoadData.data)\n this.set(key, dict)\n return dict\n }\n }\n }\n return value\n }\n } else {\n const obj = await this.asyncGet(keys[0]) as ReactiveDictionary\n if (obj)\n return await obj.asyncGet(keys.slice(1).join('.'))\n else\n return null;\n }\n }\n\n // Asynchronous method to set a value by key\n async asyncSet(key: string, value: any, emmit_event: boolean = true): Promise<void> {\n if (emmit_event) {\n try {\n await this._socketService.emitSet(this.get('__guid'), key, value);\n } catch (error) {\n console.error('Error emitting set event:', error);\n }\n }\n this.set(key, value)\n this.changes$.next({ key, value });\n }\n\n // Asynchronous method to initialize with a set of key-value pairs\n async asyncInit(initialData?: Record<string, any>) {\n if (!this.isInitialized) {\n try {\n // If initial data is not provided, fetch it\n const data = initialData || await this._socketService.getInitialData();\n // this.known_dicts.set(data.__guid,data);\n // Set the initial properties on the proxy\n for (const [key, value] of Object.entries(data)) {\n this.set(key, value);\n }\n this.isInitialized = true\n } catch (error) {\n console.error('Error during initialization:', error);\n }\n }\n }\n\n async lazyLoadSync(guid: string, prop: string | symbol): Promise<any> {\n try {\n const data = await this._socketService.requestLazyLoad(guid, String(prop));\n return data;\n } catch (error) {\n console.error('Error fetching data:', error);\n throw error;\n }\n }\n public getPlainObject(): Record<string, any> {\n const plainObject: Record<string, any> = {};\n this.forEach((value, key) => {\n if (value instanceof ReactiveDictionary)\n plainObject[key] = value.getPlainObject()\n else\n plainObject[key] = value; // Add key-value pairs to the plain object\n });\n return plainObject; // Return the plain object\n }\n async getTable(key: string): Promise<any[]> {\n const data = await this.asyncGet(key); // Get rooms from the ReactiveDictionary\n if (!data) {\n return []; // Return an empty array if data is undefined\n }\n\n // Filter and get only entries that are instances of ReactiveDictionary\n const result = await Promise.all(Array.from(data.entries()).map(async (key: any) => await data.asyncGet(key[0])) // Get data from asyncGet\n ) || []; // Return an empty array if the above yields undefined\n\n\n return result.filter((entry: any) => entry instanceof ReactiveDictionary);\n }\n async getTableWithoutGuid(key: string): Promise<any[]> {\n const data = await this.asyncGet(key); // Get rooms from the ReactiveDictionary\n if (!data) {\n return []; // Return an empty array if data is undefined\n }\n\n // Filter and get only entries that are instances of ReactiveDictionary\n const result = await Promise.all(Array.from(data.entries()).map(async (key: any) => await data.asyncGet(key[0])) // Get data from asyncGet\n ) || []; // Return an empty array if the above yields undefined\n\n\n var filteredResults = result.filter((entry: any) => entry instanceof ReactiveDictionary);\n\n return filteredResults.map(dictionary => {\n // Convert Map to object and filter out __guid\n const filteredObject = {};\n for (const [key, value] of dictionary.entries()) {\n if (key !== '__guid') {\n filteredObject[key] = value;\n }\n }\n return filteredObject;\n });\n }\n onChanges(): Observable<any> {\n return this.changes$.asObservable();\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { io, Socket } from 'socket.io-client';\nimport * as msgpackParser from 'socket.io-msgpack-parser';\nimport { SOCKET_URL } from '../core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SocketService {\n private socket: Socket;\n private socketUrl: string\n constructor(\n @Inject(SOCKET_URL) socketUrl: string,) {\n this.socketUrl = socketUrl\n // Replace with your actual server URL\n // this.socket.on(\"connect\", () => {\n // const engine = this.socket.io.engine;\n // (engine.transport.name); // in most cases, prints \"polling\"\n\n // engine.once(\"upgrade\", () => {\n // // called when the transport is upgraded (i.e. from HTTP long-polling to WebSocket)\n // (engine.transport.name); // in most cases, prints \"websocket\"\n // });\n\n // });\n }\n initSocket(authToken: string) {\n if (this.socket == null && authToken !== null) {\n this.socket = io(this.socketUrl, {\n withCredentials: true,\n parser: msgpackParser,\n auth: {\n token: authToken, // Include the authentication token\n }\n ,\n query: {\n \"access_token\": authToken\n }\n });\n }\n }\n getInitialData(): Promise<Record<string, any>> {\n return new Promise((resolve, reject) => {\n this.socket.on('init', (data: any) => {\n if (data) {\n resolve(data[\"dict_data\"]);\n } else {\n reject('No data received from init event');\n }\n });\n });\n }\n getSetEvent(rdict: any) {\n this.socket.on('set', (data: any) => {\n // (rdict.get('__guid'), data, this.socket.id)\n if (rdict.get('__guid') === data.did) {\n // ('Set the data')\n rdict.asyncSet(data.key, data.value, false)\n }\n });\n }\n // Emit the 'lazy_load' event with callback to get the response\n requestLazyLoad(did: string, key: string): Promise<any> {\n return new Promise((resolve, reject) => {\n this.socket.emit('lazy_load', { did, key }, (response: any) => {\n if (response && response.error) {\n reject(response.error); // Handle error if present\n } else {\n resolve(response); // Resolve with the response data\n }\n });\n });\n }\n\n // Emit the 'set' event to update the data on the server\n emitSet(did: string, key: string, value: any): Promise<void> {\n return new Promise((resolve, reject) => {\n this.socket.emit('set', { did, key, value }, (response: any) => {\n if (response && response.error) {\n reject(response.error);\n } else {\n resolve();\n }\n });\n });\n }\n}\n","import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n@BaseModelConfig({\r\n type: 'user',\r\n modelEndpointUrl: 'user/menus'\r\n})\r\nexport class Menu extends BaseModel {\r\n\r\n @Attribute({ serializedName: 'id' })\r\n override id!: string;\r\n\r\n @Attribute({ serializedName: 'header' })\r\n header?: string;\r\n\r\n @Attribute({ serializedName: 'icon' })\r\n icon?: string;\r\n\r\n @Attribute({ serializedName: 'link' })\r\n link?: string;\r\n\r\n @Attribute({ serializedName: 'title' })\r\n title?: string;\r\n\r\n @Attribute({ serializedName: 'sublinks' })\r\n sublinks?: Menu[];\r\n\r\n @Attribute({ serializedName: 'target' })\r\n target?: string;\r\n\r\n @Attribute({ serializedName: 'external' })\r\n external?: boolean;\r\n\r\n @Attribute({ serializedName: 'description' })\r\n description?: string;\r\n\r\n @Attribute({ serializedName: 'order' })\r\n order?: number;\r\n\r\n @Attribute({ serializedName: 'translationKey' })\r\n translationKey!: string;\r\n\r\n @Attribute({ serializedName: 'color' })\r\n color?: string;\r\n}\r\n\r\n","// import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n\r\nimport { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n;\r\n\r\n@BaseModelConfig({\r\n type: 'right',\r\n modelEndpointUrl: 'user/rights'\r\n})\r\nexport class Right extends BaseModel {\r\n\r\n @Attribute({ serializedName: 'id' })\r\n override id!: string;\r\n\r\n @Attribute({ serializedName: 'name' })\r\n name!: string;\r\n\r\n @Attribute({ serializedName: 'rightKey' })\r\n rightKey!: string;\r\n\r\n @Attribute({ serializedName: 'pagePath' })\r\n pagePath!: string;\r\n\r\n @Attribute({ serializedName: 'order' })\r\n order!: number;\r\n\r\n @Attribute({ serializedName: 'isMenu' })\r\n isMenu!: boolean;\r\n\r\n @Attribute({ serializedName: 'resourceName' })\r\n resourceName!: string;\r\n\r\n @Attribute({ serializedName: 'parentId' })\r\n parentId!: string;\r\n\r\n @Attribute({ serializedName: 'color' })\r\n color!: string;\r\n\r\n @Attribute({ serializedName: 'defaultRoles' })\r\n defaultRoles!: string;\r\n\r\n @Attribute({ serializedName: 'icon' })\r\n icon?: string;\r\n\r\n}\r\n","import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n;\r\n\r\n@BaseModelConfig({\r\n type: 'user'\r\n})\r\nexport class User extends BaseModel {\r\n\r\n @Attribute({ serializedName: 'id' })\r\n override id!: string;\r\n\r\n @Attribute({ serializedName: 'firstName' })\r\n firstName!: string;\r\n\r\n @Attribute({ serializedName: 'lastName' })\r\n lastName!: string;\r\n\r\n @Attribute({ serializedName: 'email' })\r\n email!: string;\r\n\r\n get fullName(): string {\r\n return this.firstName + ' ' + this.lastName;\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\nimport { BaseQueryData, BaseService, DatastoreCore } from \"@rosoftlab/core\";\nimport { Observable } from 'rxjs';\nimport { Menu } from '../models/menu';\nimport { Right } from '../models/right';\nimport { User } from '../models/user';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService extends BaseService<User> {\n userRights!: Right[]; \n constructor(datastore: DatastoreCore) {\n super(datastore);\n this.setModelType(User);\n }\n getRights(): Observable<BaseQueryData<Right>> {\n const response = this.datastore.findAll(Right);\n return response;\n }\n hasRightForLink(link: string): boolean {\n\n if (this.userRights && link) {\n const right = this.userRights.find(f => link.indexOf(f.pagePath) >= 0);\n return true;\n }\n return false;\n }\n getMenus(): Observable<BaseQueryData<Menu>> {\n const response = this.datastore.findAll(Menu);\n return response;\n } \n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WsAuthService {\n private token: string = null\n constructor() { }\n get Token(): string {\n return this.token\n }\n set Token(token: string) {\n this.token = token\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { ButtonsModule } from \"@progress/kendo-angular-buttons\";\nimport { KENDO_SVGICON } from '@progress/kendo-angular-icons';\nimport { DrawerItemExpandedFn, DrawerSelectEvent, LayoutModule } from '@progress/kendo-angular-layout';\nimport { ToolBarModule } from '@progress/kendo-angular-toolbar';\nimport * as allIcons from \"@progress/kendo-svg-icons\";\nimport { menuIcon, SVGIcon } from \"@progress/kendo-svg-icons\";\nimport { map, Observable } from 'rxjs';\nimport { Menu } from '../../../models';\nimport { ReactiveDictionary } from '../../../reactive-dictionary';\nimport { SocketService, UserService, WsAuthService } from '../../../services';\n@Component({\n selector: 'rdict-full',\n templateUrl: './full.component.html',\n styleUrls: ['./full.component.scss'],\n imports: [\n CommonModule,\n RouterModule,\n TranslateModule,\n CommonModule,\n ButtonsModule,\n ToolBarModule,\n LayoutModule,\n KENDO_SVGICON\n ]\n})\nexport class FullComponent implements OnInit {\n public selected = \"Inbox\";\n public menuSvg: SVGIcon = menuIcon;\n public expandedIndices = [2];\n menu$!: Observable<Menu[]>;\n hasItems: boolean = false;\n public items: Array<{ [Key: string]: unknown }> = [];\n public icons = allIcons;\n private rdict: ReactiveDictionary | undefined;\n apptitle: string = \"Test\"\n constructor(\n private userService: UserService,\n private router: Router,\n private socketService: SocketService,\n public translate: TranslateService,\n private wsAuthService: WsAuthService\n ) {\n this.getMenu();\n }\n\n async ngOnInit() {\n this.rdict = ReactiveDictionary.getInstance(this.socketService,this.wsAuthService.Token);\n if (this.rdict.size == 0)\n await this.rdict.asyncInit();\n this.apptitle = await this.rdict.asyncGet(\"appname\")\n\n }\n public isItemExpanded: DrawerItemExpandedFn = (item): boolean => {\n return this.expandedIndices.indexOf(item.id) >= 0;\n };\n getMenu() {\n this.userService.getMenus().subscribe(\n {\n next: value => {\n this.items = this.transformToDrawerItems(value.getModels())\n },\n error: err => console.error('Observable emitted an error: ' + err),\n complete: () => console.log('Observable emitted the complete notification')\n }\n )\n this.menu$ = this.userService.getMenus().pipe(map(f => {\n const data = f.getModels()\n this.hasItems = data.length > 0;\n return data;\n }));\n }\n // public items: Array<DrawerItem> //= items;\n\n public onSelect(ev: DrawerSelectEvent): void {\n this.selected = ev.item.text;\n const current = ev.item.id;\n\n if (this.expandedIndices.indexOf(current) >= 0) {\n this.expandedIndices = this.expandedIndices.filter(\n (id) => id !== current\n );\n } else {\n this.expandedIndices.push(current);\n }\n if (ev.item.path && ev.item.path !== '') {\n this.router.navigate([ev.item.path]);\n // this.router.navigateByUrl(ev.item.path);\n // this.router.navigate(['/import_layout']); \n }\n }\n private transformToDrawerItems(data: Menu[], parentId?: string): any {\n let drawerItems: Array<{ [Key: string]: unknown }> = [];\n\n data.forEach(item => {\n const drawerItem = {\n id: item.id,\n text: this.translate.instant(item.translationKey),\n // icon: item.icon,\n svgIcon: this.icons[item.icon],\n selected: false, // Set this based on your application's state or logic\n parentId: parentId,\n path: (item.sublinks && item.sublinks.length > 0) ? '' : item.link\n };\n\n drawerItems.push(drawerItem);\n\n // Recursively process children and flatten them\n if (item.sublinks && item.sublinks.length > 0) {\n const childItems = this.transformToDrawerItems(item.sublinks, item.id);\n drawerItems = drawerItems.concat(childItems); // Add children to the drawerItems array\n }\n });\n\n return drawerItems;\n }\n}\n","<div class=\"custom-toolbar\">\n <button kendoButton [svgIcon]=\"menuSvg\" fillMode=\"flat\" (click)=\"drawer.toggle()\"></button>\n <!-- <kendo-toolbar-button icon=\"menu\" themeColor=\"tertiary\" (click)=\"drawer.toggle()\"> </kendo-toolbar-button> -->\n <span class=\"app-title\">{{apptitle}}</span>\n</div>\n<kendo-drawer-container>\n <kendo-drawer #drawer [items]=\"items\" mode=\"push\" [mini]=\"true\" [expanded]=\"true\" (select)=\"onSelect($event)\"\n [autoCollapse]=\"false\" [isItemExpanded]=\"isItemExpanded\">\n <!-- <ng-template kendoDrawerItemTemplate let-item>\n <div *ngIf=\"item.path !== ''\" class=\"k-drawer-link\" [routerLink]=\"item.path\">\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n <div *ngIf=\"item.path == ''\" class=\"k-drawer-link\" >\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n </ng-template> -->\n </kendo-drawer>\n\n <kendo-drawer-content>\n <router-outlet></router-outlet>\n <!-- <div>{{selected}}</div> -->\n <!-- <my-content [selectedItem]=\"selected\"></my-content> -->\n </kendo-drawer-content>\n</kendo-drawer-container>","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyModule } from '@ngx-formly/core';\nimport { FormlyKendoModule } from '@ngx-formly/kendo';\nimport { TranslateModule } from '@ngx-translate/core';\n;\n@Component({\n selector: 'app-rdict-crud',\n templateUrl: './rdict-crud.component.html',\n styleUrls: ['./rdict-crud.component.scss'],\n imports: [\n FormlyModule,\n ReactiveFormsModule,\n FormlyKendoModule,\n TranslateModule\n ]\n})\nexport class RdictCrudComponent implements OnInit {\n baseForm = new FormGroup({});\n model: any = {};\n options: FormlyFormOptions = {};\n fields: FormlyFieldConfig[] = [\n {\n key: 'name',\n type: 'input',\n props: {\n label: 'General.Name',\n translate: true,\n required: true,\n },\n },\n ];\n\n\n constructor() { }\n\n ngOnInit() {\n }\n onSubmit(model) {\n }\n}\n","<form [formGroup]=\"baseForm\" (ngSubmit)=\"onSubmit(model)\">\n <formly-form [form]=\"baseForm\" [fields]=\"fields\" [model]=\"model\" [options]=\"options\"></formly-form>\n</form>","import {\r\n Component,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n forwardRef\r\n} from '@angular/core';\r\nimport { ToolBarToolComponent } from '@progress/kendo-angular-toolbar';\r\n\r\n@Component({\r\n providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }],\r\n selector: 'table-title',\r\n standalone: true,\r\n template: `\r\n <ng-template #toolbarTemplate>\r\n <kendo-label>{{text}}</kendo-label>\r\n </ng-template>\r\n `\r\n})\r\nexport class RdictTableTitle extends ToolBarToolComponent {\r\n public tabindex = -1;\r\n @ViewChild('toolbarTemplate', { static: true }) public declare toolbarTemplate: TemplateRef<any>;\r\n @Input() public text: string;\r\n constructor() {\r\n super();\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Injector, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, NavigationStart, Router, RouterModule, UrlSegment } from '@angular/router';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\n// import { Rule } from '@rosoftlab/core';\nimport { CommonModule } from '@angular/common';\nimport { KENDO_GRID } from '@progress/kendo-angular-grid';\nimport { KENDO_LABEL } from '@progress/kendo-angular-label';\nimport { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';\n// import { ColumnMode, SelectionType, SortDirection } from '@swimlane/ngx-datatable';\nimport { ReactiveDictionary } from '../../reactive-dictionary';\nimport { WsAuthService } from '../../services';\nimport { SocketService } from '../../services/socket.service';\nimport { RdictTableTitle } from './rdict-table-title';\ndeclare var $: any;\n\n@Component({\n selector: 'rsl-rdict-generic-table',\n templateUrl: './rdict-generic-table.component.html',\n styleUrls: ['./rdict-generic-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n RouterModule,\n // MatPaginatorModule,\n // MatTableModule,\n TranslateModule,\n KENDO_GRID,\n KENDO_TOOLBAR,\n KENDO_LABEL,\n RdictTableTitle\n ],\n providers: []\n})\nexport class GenericRdictTableComponent implements OnInit {\n dataSource: unknown[] //MatTableDataSource<any> = new MatTableDataSource();\n public title: string;\n model: string;\n @Input() showSerach: boolean;\n @Input() searchFields: string;\n @Input() customInclude: string;\n @Input() defaultSort: string;\n // @Input() defaultSortDirection: SortDirection;\n @Input() deletePropertyName: string;\n @Input() defaultFilter: string;\n @Input() showHeader: boolean;\n // @Input() deleteDisableRule: Rule[];\n @Input() hasAdd: boolean;\n @Input() canDelete: boolean;\n @Input() canEdit: boolean;\n @Input() editOnClick: boolean = false;\n @Input() editOnDblClick: boolean = false;\n data: any[] = [];\n pageIndex: number = 1;\n pageSize: number = 30\n\n basePath: string;\n dictPath: string;\n isLoadingResults = true;\n isRateLimitReached = false;\n\n @ViewChild(ElementRef, { static: false }) filter: ElementRef;\n // @ViewChild('table') table: MatTable<any>;\n // @ViewChild('table', { read: ElementRef }) public matTableRef: ElementRef;\n\n\n @Output() selectedObject: EventEmitter<any> = new EventEmitter<any>();\n @Output() click: EventEmitter<{ propertyName: string, model: any }> = new EventEmitter<{ propertyName: string, model: any }>();\n @Output() editModel: EventEmitter<any> = new EventEmitter<any>();\n\n columns = [];\n tableLayout = {};\n allColumns = [];\n displayedColumns: string[];\n // ColumnMode = ColumnMode;\n // SelectionType = SelectionType;\n\n readonly headerHeight = 50;\n readonly rowHeight = 50;\n isLoading: boolean;\n filterValue: string;\n oldOffsetY: number;\n hasSearch: false\n rdict: ReactiveDictionary | undefined;\n selectedItem: any;\n\n constructor(\n public router: Router,\n public route: ActivatedRoute,\n public translate: TranslateService,\n private injector: Injector,\n private socketService: SocketService,\n private wsAuthService: WsAuthService,\n private el: ElementRef) {\n }\n async ngOnInit() {\n this.setValueFromSnapshot(this, this.route.snapshot, 'model', \"\");\n this.setValueFromSnapshot(this, this.route.snapshot, 'showSerach', false);\n this.setValueFromSnapshot(this, this.route.snapshot, 'searchFields', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'customInclude', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSort', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSortDirection', '');\n this.setValueFromSnapshot(this, this.route.snapshot, 'deletePropertyName', 'name');\n this.setValueFromSnapshot(this, this.route.snapshot, 'defaultFilter', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'showHeader', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'deleteDisableRule', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'hasAdd', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'canDelete', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'canEdit', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'editOnClick', false);\n this.setValueFromSnapshot(this, this.route.snapshot, 'editOnDblClick', false);\n\n const currentUrlSegments: UrlSegment[] = this.router.url.split('/').map(segment => new UrlSegment(segment, {}));\n this.basePath = currentUrlSegments.map(segment => segment.path).join('/');\n const filteredSegments = currentUrlSegments.filter(segment => segment.path !== '');\n this.dictPath = filteredSegments.map(segment => segment.path).join('.');\n this.model = filteredSegments.length > 0 ? filteredSegments[filteredSegments.length - 1].path : ''; // Default to empty string if no valid segments\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n // Navigation to another page is about to occur\n this.data = [];\n this.pageIndex = 1\n // Perform actions or update component as needed\n }\n });\n this.rdict = ReactiveDictionary.getInstance(this.socketService,this.wsAuthService.Token);\n if (this.rdict.size == 0)\n await this.rdict.asyncInit();\n await this.getListLayout()\n await this.loadData()\n // this.isLoading = true;\n // this.onScroll(0);\n }\n setValueFromSnapshot<T>(component: any, snapshot: ActivatedRouteSnapshot, key: string, defaultValue: T): void {\n if (component[key] === undefined) {\n let dataFromSnapshot = snapshot.data[key];\n if (dataFromSnapshot === null || dataFromSnapshot === undefined) {\n dataFromSnapshot = snapshot.params[key];\n }\n component[key] = dataFromSnapshot !== undefined ? dataFromSnapshot : defaultValue;\n }\n }\n async loadData() {\n var x = await this.rdict.getTable(this.dictPath)\n const result = x.map(dictionary => {\n // Convert Map to object and filter out __guid\n const filteredObject = {};\n for (const [key, value] of dictionary.entries()) {\n if (key !== '__guid') {\n filteredObject[key] = value;\n }\n }\n return filteredObject;\n });\n this.dataSource = result//new MatTableDataSource(result);\n }\n // async handleChange(event) {\n // this.filterValue = event.target.value.toLowerCase();\n // this.data = [];\n // this.pageIndex = 1\n // this.loadData();\n // }\n // loadData(event = null) {\n // const filters = [];\n // let sorts = '';\n // this.isLoading = true;\n // if (this.defaultSort) {\n // if (this.defaultSortDirection === 'desc') {\n // sorts = '-' + this.defaultSort;\n // } else {\n // sorts = this.defaultSort;\n // }\n // }\n // if (this.showSerach) {\n // if (this.filterValue) {\n // const y = '(' + this.searchFields.replace(',', '|') + ')';\n // filters.push(y + '@=*' + this.filterValue);\n // }\n // }\n // if (this.defaultFilter) {\n // filters.push(this.defaultFilter)\n // }\n // setTimeout(() => {\n // const filtersValue = filters.join(', ');\n // this.modelService.getAll(this.pageIndex, this.pageSize, sorts, filtersValue, this.customInclude).subscribe(\n // (response: BaseQueryData<T>) => {\n // if (this.pageIndex !== response.getMeta().meta.count) {\n // this.pageIndex++\n // } else {\n // if (event) event.target.disabled = true;\n // }\n // // if (this.filterValue)\n // // this.data = response.getModels();\n // // else\n // const rows = [...this.data, ...response.getModels()];\n // this.data = rows;\n // // this.data = this.data.concat();\n\n // if (event) event.target.complete();\n // this.isLoading = false;\n // })\n // }, 700);\n // }\n // async handleRefresh(event) {\n // this.pageIndex = 1\n // this.data = [];\n // this.loadData();\n // event.target.complete();\n // }\n // onAdd() {\n // console.log(this.basePath)\n // this.router.navigate([this.basePath + '/add'])\n // // this.navCtrl.navigateForward(this.basePath + '/add');\n // }\n // editModel(model: BaseModelFormly) {\n // if (this.canEdit)\n // this.router.navigate([this.basePath + '/edit/', model.id]);\n // // this.navCtrl.navigateForward(this.basePath + '/edit/' + model.id);\n // }\n async getListLayout() {\n if (this.model) {\n this.tableLayout = await this.rdict.asyncGet(\"config.models.\" + this.model + \".tableLayout\")\n if (this.tableLayout) {\n this.title = this.translate.instant(this.tableLayout[\"title\"]);\n this.allColumns = this.tableLayout[\"columns\"].map(item => {\n if (!item.isTranslated) {\n item.name = this.translate.instant(item.translateKey);\n item.isTranslated = true\n }\n return item;\n });\n this.columns = [];\n // this.allColumns = Reflect.getMetadata('IonicDataTableLayout', this.model).map((item: IonicDataTableLayoutConfig) => {\n // if (!item.isTranslated) {\n // item.name = this.translate.instant(item.name);\n // item.isTranslated = true\n // }\n // return item;\n // });\n\n this.allColumns.sort((a, b) => a.order - b.order);\n\n // if (this.canDelete || this.canEdit) {\n // this.allColumns.push({\n // // cellTemplate: null,\n // name: '',\n // // cellClass: 'actions-cell',\n // draggable: false,\n // sortable: false,\n // visible: true\n // // width: 100,\n // // maxWidth: 100,\n // // minWidth: 100\n // })\n // }\n // this.columns = this.allColumns.filter((item: IonicDataTableLayoutConfig) => item.visible);\n\n this.displayedColumns = [];\n // if (this.allowReorderItems) {\n // this.displayedColumns.push('position')\n // }\n this.displayedColumns.push.apply(this.displayedColumns, this.allColumns.map(x => x.propertyName));\n\n }\n }\n\n }\n public addHandler(): void {\n console.log(\"add\")\n this.router.navigate([this.basePath + '/add'])\n // this.editDataItem = new Product();\n // this.isNew = true;\n }\n\n}\n","<kendo-grid [data]=\"dataSource\" \n [sortable]=\"true\" \n [filterable]=\"showSerach\"\n (add)=\"addHandler()\">\n <kendo-toolbar>\n <table-title text=\"{{title}}\"></table-title>\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <kendo-toolbar-button text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\n </kendo-toolbar>\n <!-- <kendo-toolbar>\n \n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <button kendoGridAddCommand type=\"button\">Add new</button>\n </kendo-toolbar> -->\n <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\n title=\" {{column.translateKey | translate}}\">\n </kendo-grid-column>\n</kendo-grid>","// projects/my-library/src/lib/socket-config.token.ts\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport const SOCKET_URL = new InjectionToken<string>('SocketUrl');\r\n","/*\r\n * Public API Surface of rdict\r\n */\r\n\r\nexport * from './lib/core';\r\nexport * from './lib/reactive-dictionary';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UserService","i2","i1.SocketService","i3","i1.WsAuthService","i1","i3.SocketService","i4.WsAuthService","i5"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rosoftlab-rdict.mjs","sources":["../../../../projects/rosoftlab/rdict/src/lib/reactive-dictionary.ts","../../../../projects/rosoftlab/rdict/src/lib/services/socket.service.ts","../../../../projects/rosoftlab/rdict/src/lib/models/menu.ts","../../../../projects/rosoftlab/rdict/src/lib/models/right.ts","../../../../projects/rosoftlab/rdict/src/lib/models/user.ts","../../../../projects/rosoftlab/rdict/src/lib/services/user.service.ts","../../../../projects/rosoftlab/rdict/src/lib/services/ws-auth.service.ts","../../../../projects/rosoftlab/rdict/src/lib/components/layouts/full/full.component.ts","../../../../projects/rosoftlab/rdict/src/lib/components/layouts/full/full.component.html","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-crud/rdict-crud.component.ts","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-crud/rdict-crud.component.html","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-generic-table/rdict-table-title.ts","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-generic-table/rdict-generic-table.component.ts","../../../../projects/rosoftlab/rdict/src/lib/components/rdict-generic-table/rdict-generic-table.component.html","../../../../projects/rosoftlab/rdict/src/lib/socket-config.token.ts","../../../../projects/rosoftlab/rdict/src/public-api.ts","../../../../projects/rosoftlab/rdict/src/rosoftlab-rdict.ts"],"sourcesContent":["import { BehaviorSubject, Observable } from \"rxjs\";\nimport { SocketService } from \"./services/socket.service\";\n\nexport class ReactiveDictionary extends Map<string, any> {\n private static instance: Map<string, ReactiveDictionary> = new Map<string, ReactiveDictionary>;\n private _socketService: SocketService;\n private changes$: BehaviorSubject<any> = new BehaviorSubject(null);\n private isInitialized: boolean = false;\n private _authToken: string = null;\n private constructor(socketService: SocketService,\n authToken: string) {\n super();\n this._authToken = authToken;\n this._socketService = socketService;\n this._socketService.initSocket(authToken)\n this._socketService.getSetEvent(this)\n }\n\n // Method to get the singleton instance\n public static getInstance(socketService: SocketService, authToken: string, instance_key?: string): ReactiveDictionary {\n if (!instance_key)\n instance_key = 'root'\n if (!ReactiveDictionary.instance.has(instance_key)) {\n ReactiveDictionary.instance.set(instance_key, new ReactiveDictionary(socketService, authToken));\n }\n const instance = ReactiveDictionary.instance.get(instance_key);\n if (!instance) {\n throw new Error(`No instance found for key: ${instance_key}`); // Handle undefined case\n }\n\n return instance; // Now TypeScript knows 'instance' is not undefined\n }\n // str_keys(): string[] {\n override keys(): IterableIterator<string> {\n const excludedKeys = ['__guid', '__type']; // Key to exclude\n const iterator = super.keys();\n\n const filteredIterator = {\n [Symbol.iterator]: () => ({\n next: () => {\n let result;\n\n // Loop until we find a valid key or run out of keys\n do {\n result = iterator.next(); // Get the next entry ([key, value])\n if (result.done) return { done: true }; // Stop if done\n\n const key = result.value; // Destructure the entry\n const value = super.get(key)\n // Check if the key is in excludedKeys or if the value is an object\n if (\n !excludedKeys.includes(key) &&\n !(typeof value === 'object' && value !== null)\n ) {\n return { value: key, done: false }; // Return the valid key\n }\n } while (true); // Continue until a valid key is found\n }\n })\n };\n\n return filteredIterator as IterableIterator<string>;\n }\n // Asynchronous method to get a value by key\n async asyncGet(key: string): Promise<any> {\n // console.log('Get key: ', key);\n const keys = key.split('.')\n if (keys.length === 1) {\n if (this.has(key)) {\n const value = this.get(key)\n if (value instanceof ReactiveDictionary) {\n return value\n }\n if (typeof value === 'object' && value !== null) {\n const dict_type = value['__type']\n // console.log('value type : ', dict_type);\n if (dict_type === 'dict' || dict_type === 'lazy') {\n const lazyLoadData = await this.lazyLoadSync(this.get('__guid'), key);\n // console.log(lazyLoadData)\n if (lazyLoadData) {\n const dict = new ReactiveDictionary(this._socketService, this._authToken);\n await dict.asyncInit(lazyLoadData.data)\n this.set(key, dict)\n return dict\n }\n }\n }\n return value\n }\n } else {\n const obj = await this.asyncGet(keys[0]) as ReactiveDictionary\n if (obj)\n return await obj.asyncGet(keys.slice(1).join('.'))\n else\n return null;\n }\n }\n\n // Asynchronous method to set a value by key\n async asyncSet(key: string, value: any, emmit_event: boolean = true): Promise<void> {\n if (emmit_event) {\n try {\n await this._socketService.emitSet(this.get('__guid'), key, value);\n } catch (error) {\n console.error('Error emitting set event:', error);\n }\n }\n this.set(key, value)\n this.changes$.next({ key, value });\n }\n\n // Asynchronous method to initialize with a set of key-value pairs\n async asyncInit(initialData?: Record<string, any>) {\n if (!this.isInitialized) {\n try {\n // If initial data is not provided, fetch it\n const data = initialData || await this._socketService.getInitialData();\n // this.known_dicts.set(data.__guid,data);\n // Set the initial properties on the proxy\n for (const [key, value] of Object.entries(data)) {\n this.set(key, value);\n }\n this.isInitialized = true\n } catch (error) {\n console.error('Error during initialization:', error);\n }\n }\n }\n\n async lazyLoadSync(guid: string, prop: string | symbol): Promise<any> {\n try {\n const data = await this._socketService.requestLazyLoad(guid, String(prop));\n return data;\n } catch (error) {\n console.error('Error fetching data:', error);\n throw error;\n }\n }\n public getPlainObject(): Record<string, any> {\n const plainObject: Record<string, any> = {};\n this.forEach((value, key) => {\n if (value instanceof ReactiveDictionary)\n plainObject[key] = value.getPlainObject()\n else\n plainObject[key] = value; // Add key-value pairs to the plain object\n });\n return plainObject; // Return the plain object\n }\n async getTable(key: string): Promise<any[]> {\n const data = await this.asyncGet(key); // Get rooms from the ReactiveDictionary\n if (!data) {\n return []; // Return an empty array if data is undefined\n }\n\n // Filter and get only entries that are instances of ReactiveDictionary\n const result = await Promise.all(Array.from(data.entries()).map(async (key: any) => await data.asyncGet(key[0])) // Get data from asyncGet\n ) || []; // Return an empty array if the above yields undefined\n\n\n return result.filter((entry: any) => entry instanceof ReactiveDictionary);\n }\n async getTableWithoutGuid(key: string): Promise<any[]> {\n const data = await this.asyncGet(key); // Get rooms from the ReactiveDictionary\n if (!data) {\n return []; // Return an empty array if data is undefined\n }\n\n // Filter and get only entries that are instances of ReactiveDictionary\n const result = await Promise.all(Array.from(data.entries()).map(async (key: any) => await data.asyncGet(key[0])) // Get data from asyncGet\n ) || []; // Return an empty array if the above yields undefined\n\n\n var filteredResults = result.filter((entry: any) => entry instanceof ReactiveDictionary);\n\n return filteredResults.map(dictionary => {\n // Convert Map to object and filter out __guid\n const filteredObject = {};\n for (const [key, value] of dictionary.entries()) {\n if (key !== '__guid') {\n filteredObject[key] = value;\n }\n }\n return filteredObject;\n });\n }\n onChanges(): Observable<any> {\n return this.changes$.asObservable();\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { io, Socket } from 'socket.io-client';\nimport * as msgpackParser from 'socket.io-msgpack-parser';\nimport { SOCKET_URL } from '../core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SocketService {\n private socket: Socket;\n private socketUrl: string\n constructor(\n @Inject(SOCKET_URL) socketUrl: string,) {\n this.socketUrl = socketUrl\n // Replace with your actual server URL\n // this.socket.on(\"connect\", () => {\n // const engine = this.socket.io.engine;\n // (engine.transport.name); // in most cases, prints \"polling\"\n\n // engine.once(\"upgrade\", () => {\n // // called when the transport is upgraded (i.e. from HTTP long-polling to WebSocket)\n // (engine.transport.name); // in most cases, prints \"websocket\"\n // });\n\n // });\n }\n initSocket(authToken: string) {\n if (this.socket == null && authToken !== null) {\n this.socket = io(this.socketUrl, {\n withCredentials: true,\n parser: msgpackParser,\n auth: {\n token: authToken, // Include the authentication token\n }\n ,\n query: {\n \"access_token\": authToken\n }\n });\n }\n }\n getInitialData(): Promise<Record<string, any>> {\n return new Promise((resolve, reject) => {\n this.socket.on('init', (data: any) => {\n if (data) {\n resolve(data[\"dict_data\"]);\n } else {\n reject('No data received from init event');\n }\n });\n });\n }\n getSetEvent(rdict: any) {\n this.socket.on('set', (data: any) => {\n // (rdict.get('__guid'), data, this.socket.id)\n if (rdict.get('__guid') === data.did) {\n // ('Set the data')\n rdict.asyncSet(data.key, data.value, false)\n }\n });\n }\n // Emit the 'lazy_load' event with callback to get the response\n requestLazyLoad(did: string, key: string): Promise<any> {\n return new Promise((resolve, reject) => {\n this.socket.emit('lazy_load', { did, key }, (response: any) => {\n if (response && response.error) {\n reject(response.error); // Handle error if present\n } else {\n resolve(response); // Resolve with the response data\n }\n });\n });\n }\n\n // Emit the 'set' event to update the data on the server\n emitSet(did: string, key: string, value: any): Promise<void> {\n return new Promise((resolve, reject) => {\n this.socket.emit('set', { did, key, value }, (response: any) => {\n if (response && response.error) {\n reject(response.error);\n } else {\n resolve();\n }\n });\n });\n }\n}\n","import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n@BaseModelConfig({\r\n type: 'user',\r\n modelEndpointUrl: 'user/menus'\r\n})\r\nexport class Menu extends BaseModel {\r\n\r\n @Attribute({ serializedName: 'id' })\r\n override id!: string;\r\n\r\n @Attribute({ serializedName: 'header' })\r\n header?: string;\r\n\r\n @Attribute({ serializedName: 'icon' })\r\n icon?: string;\r\n\r\n @Attribute({ serializedName: 'link' })\r\n link?: string;\r\n\r\n @Attribute({ serializedName: 'title' })\r\n title?: string;\r\n\r\n @Attribute({ serializedName: 'sublinks' })\r\n sublinks?: Menu[];\r\n\r\n @Attribute({ serializedName: 'target' })\r\n target?: string;\r\n\r\n @Attribute({ serializedName: 'external' })\r\n external?: boolean;\r\n\r\n @Attribute({ serializedName: 'description' })\r\n description?: string;\r\n\r\n @Attribute({ serializedName: 'order' })\r\n order?: number;\r\n\r\n @Attribute({ serializedName: 'translationKey' })\r\n translationKey!: string;\r\n\r\n @Attribute({ serializedName: 'color' })\r\n color?: string;\r\n}\r\n\r\n","// import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n\r\nimport { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n;\r\n\r\n@BaseModelConfig({\r\n type: 'right',\r\n modelEndpointUrl: 'user/rights'\r\n})\r\nexport class Right extends BaseModel {\r\n\r\n @Attribute({ serializedName: 'id' })\r\n override id!: string;\r\n\r\n @Attribute({ serializedName: 'name' })\r\n name!: string;\r\n\r\n @Attribute({ serializedName: 'rightKey' })\r\n rightKey!: string;\r\n\r\n @Attribute({ serializedName: 'pagePath' })\r\n pagePath!: string;\r\n\r\n @Attribute({ serializedName: 'order' })\r\n order!: number;\r\n\r\n @Attribute({ serializedName: 'isMenu' })\r\n isMenu!: boolean;\r\n\r\n @Attribute({ serializedName: 'resourceName' })\r\n resourceName!: string;\r\n\r\n @Attribute({ serializedName: 'parentId' })\r\n parentId!: string;\r\n\r\n @Attribute({ serializedName: 'color' })\r\n color!: string;\r\n\r\n @Attribute({ serializedName: 'defaultRoles' })\r\n defaultRoles!: string;\r\n\r\n @Attribute({ serializedName: 'icon' })\r\n icon?: string;\r\n\r\n}\r\n","import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';\r\n;\r\n\r\n@BaseModelConfig({\r\n type: 'user'\r\n})\r\nexport class User extends BaseModel {\r\n\r\n @Attribute({ serializedName: 'id' })\r\n override id!: string;\r\n\r\n @Attribute({ serializedName: 'firstName' })\r\n firstName!: string;\r\n\r\n @Attribute({ serializedName: 'lastName' })\r\n lastName!: string;\r\n\r\n @Attribute({ serializedName: 'email' })\r\n email!: string;\r\n\r\n get fullName(): string {\r\n return this.firstName + ' ' + this.lastName;\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\nimport { BaseQueryData, BaseService, DatastoreCore } from \"@rosoftlab/core\";\nimport { Observable } from 'rxjs';\nimport { Menu } from '../models/menu';\nimport { Right } from '../models/right';\nimport { User } from '../models/user';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService extends BaseService<User> {\n userRights!: Right[]; \n constructor(datastore: DatastoreCore) {\n super(datastore);\n this.setModelType(User);\n }\n getRights(): Observable<BaseQueryData<Right>> {\n const response = this.datastore.findAll(Right);\n return response;\n }\n hasRightForLink(link: string): boolean {\n\n if (this.userRights && link) {\n const right = this.userRights.find(f => link.indexOf(f.pagePath) >= 0);\n return true;\n }\n return false;\n }\n getMenus(): Observable<BaseQueryData<Menu>> {\n const response = this.datastore.findAll(Menu);\n return response;\n } \n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WsAuthService {\n private token: string = null\n constructor() { }\n get Token(): string {\n return this.token\n }\n set Token(token: string) {\n this.token = token\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { Router, RouterModule } from '@angular/router';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\nimport { ButtonsModule } from \"@progress/kendo-angular-buttons\";\nimport { KENDO_SVGICON } from '@progress/kendo-angular-icons';\nimport { DrawerItemExpandedFn, DrawerSelectEvent, LayoutModule } from '@progress/kendo-angular-layout';\nimport { ToolBarModule } from '@progress/kendo-angular-toolbar';\nimport * as allIcons from \"@progress/kendo-svg-icons\";\nimport { menuIcon, SVGIcon } from \"@progress/kendo-svg-icons\";\nimport { map, Observable } from 'rxjs';\nimport { Menu } from '../../../models';\nimport { ReactiveDictionary } from '../../../reactive-dictionary';\nimport { SocketService, UserService, WsAuthService } from '../../../services';\n@Component({\n selector: 'rdict-full',\n templateUrl: './full.component.html',\n styleUrls: ['./full.component.scss'],\n imports: [\n CommonModule,\n RouterModule,\n TranslateModule,\n CommonModule,\n ButtonsModule,\n ToolBarModule,\n LayoutModule,\n KENDO_SVGICON\n ]\n})\nexport class FullComponent implements OnInit {\n public selected = \"Inbox\";\n public menuSvg: SVGIcon = menuIcon;\n public expandedIndices = [2];\n menu$!: Observable<Menu[]>;\n hasItems: boolean = false;\n public items: Array<{ [Key: string]: unknown }> = [];\n public icons = allIcons;\n private rdict: ReactiveDictionary | undefined;\n apptitle: string = \"Test\"\n constructor(\n private userService: UserService,\n private router: Router,\n private socketService: SocketService,\n public translate: TranslateService,\n private wsAuthService: WsAuthService\n ) {\n this.getMenu();\n }\n\n async ngOnInit() {\n this.rdict = ReactiveDictionary.getInstance(this.socketService,this.wsAuthService.Token);\n if (this.rdict.size == 0)\n await this.rdict.asyncInit();\n this.apptitle = await this.rdict.asyncGet(\"appname\")\n\n }\n public isItemExpanded: DrawerItemExpandedFn = (item): boolean => {\n return this.expandedIndices.indexOf(item.id) >= 0;\n };\n getMenu() {\n this.userService.getMenus().subscribe(\n {\n next: value => {\n this.items = this.transformToDrawerItems(value.getModels())\n },\n error: err => console.error('Observable emitted an error: ' + err),\n complete: () => console.log('Observable emitted the complete notification')\n }\n )\n this.menu$ = this.userService.getMenus().pipe(map(f => {\n const data = f.getModels()\n this.hasItems = data.length > 0;\n return data;\n }));\n }\n // public items: Array<DrawerItem> //= items;\n\n public onSelect(ev: DrawerSelectEvent): void {\n this.selected = ev.item.text;\n const current = ev.item.id;\n\n if (this.expandedIndices.indexOf(current) >= 0) {\n this.expandedIndices = this.expandedIndices.filter(\n (id) => id !== current\n );\n } else {\n this.expandedIndices.push(current);\n }\n if (ev.item.path && ev.item.path !== '') {\n this.router.navigate([ev.item.path]);\n // this.router.navigateByUrl(ev.item.path);\n // this.router.navigate(['/import_layout']); \n }\n }\n private transformToDrawerItems(data: Menu[], parentId?: string): any {\n let drawerItems: Array<{ [Key: string]: unknown }> = [];\n\n data.forEach(item => {\n const drawerItem = {\n id: item.id,\n text: this.translate.instant(item.translationKey),\n // icon: item.icon,\n svgIcon: this.icons[item.icon],\n selected: false, // Set this based on your application's state or logic\n parentId: parentId,\n path: (item.sublinks && item.sublinks.length > 0) ? '' : item.link\n };\n\n drawerItems.push(drawerItem);\n\n // Recursively process children and flatten them\n if (item.sublinks && item.sublinks.length > 0) {\n const childItems = this.transformToDrawerItems(item.sublinks, item.id);\n drawerItems = drawerItems.concat(childItems); // Add children to the drawerItems array\n }\n });\n\n return drawerItems;\n }\n}\n","<div class=\"custom-toolbar\">\n <button kendoButton [svgIcon]=\"menuSvg\" fillMode=\"flat\" (click)=\"drawer.toggle()\"></button>\n <!-- <kendo-toolbar-button icon=\"menu\" themeColor=\"tertiary\" (click)=\"drawer.toggle()\"> </kendo-toolbar-button> -->\n <span class=\"app-title\">{{apptitle}}</span>\n</div>\n<kendo-drawer-container>\n <kendo-drawer #drawer [items]=\"items\" mode=\"push\" [mini]=\"true\" [expanded]=\"true\" (select)=\"onSelect($event)\"\n [autoCollapse]=\"false\" [isItemExpanded]=\"isItemExpanded\">\n <!-- <ng-template kendoDrawerItemTemplate let-item>\n <div *ngIf=\"item.path !== ''\" class=\"k-drawer-link\" [routerLink]=\"item.path\">\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n <div *ngIf=\"item.path == ''\" class=\"k-drawer-link\" >\n <kendo-svgicon [icon]=\"item.svgIcon\"></kendo-svgicon>\n <span>{{ item.text }}</span>\n </div>\n </ng-template> -->\n </kendo-drawer>\n\n <kendo-drawer-content>\n <router-outlet></router-outlet>\n <!-- <div>{{selected}}</div> -->\n <!-- <my-content [selectedItem]=\"selected\"></my-content> -->\n </kendo-drawer-content>\n</kendo-drawer-container>","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { FormlyFieldConfig, FormlyFormOptions, FormlyModule } from '@ngx-formly/core';\nimport { FormlyKendoModule } from '@ngx-formly/kendo';\nimport { TranslateModule } from '@ngx-translate/core';\n;\n@Component({\n selector: 'app-rdict-crud',\n templateUrl: './rdict-crud.component.html',\n styleUrls: ['./rdict-crud.component.scss'],\n imports: [\n FormlyModule,\n ReactiveFormsModule,\n FormlyKendoModule,\n TranslateModule\n ]\n})\nexport class RdictCrudComponent implements OnInit {\n baseForm = new FormGroup({});\n model: any = {};\n options: FormlyFormOptions = {};\n fields: FormlyFieldConfig[] = [\n {\n key: 'name',\n type: 'input',\n props: {\n label: 'General.Name',\n translate: true,\n required: true,\n },\n },\n ];\n\n\n constructor() { }\n\n ngOnInit() {\n }\n onSubmit(model) {\n }\n}\n","<form [formGroup]=\"baseForm\" (ngSubmit)=\"onSubmit(model)\">\n <formly-form [form]=\"baseForm\" [fields]=\"fields\" [model]=\"model\" [options]=\"options\"></formly-form>\n</form>","import {\r\n Component,\r\n Input,\r\n TemplateRef,\r\n ViewChild,\r\n forwardRef\r\n} from '@angular/core';\r\nimport { ToolBarToolComponent } from '@progress/kendo-angular-toolbar';\r\n\r\n@Component({\r\n providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }],\r\n selector: 'table-title',\r\n standalone: true,\r\n template: `\r\n <ng-template #toolbarTemplate>\r\n <kendo-label>{{text}}</kendo-label>\r\n </ng-template>\r\n `\r\n})\r\nexport class RdictTableTitle extends ToolBarToolComponent {\r\n public tabindex = -1;\r\n @ViewChild('toolbarTemplate', { static: true }) public declare toolbarTemplate: TemplateRef<any>;\r\n @Input() public text: string;\r\n constructor() {\r\n super();\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Injector, Input, OnInit, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, NavigationStart, Router, RouterModule, UrlSegment } from '@angular/router';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\n// import { Rule } from '@rosoftlab/core';\nimport { CommonModule } from '@angular/common';\nimport { KENDO_GRID } from '@progress/kendo-angular-grid';\nimport { KENDO_LABEL } from '@progress/kendo-angular-label';\nimport { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';\n// import { ColumnMode, SelectionType, SortDirection } from '@swimlane/ngx-datatable';\nimport { ReactiveDictionary } from '../../reactive-dictionary';\nimport { WsAuthService } from '../../services';\nimport { SocketService } from '../../services/socket.service';\nimport { RdictTableTitle } from './rdict-table-title';\ndeclare var $: any;\n\n@Component({\n selector: 'rsl-rdict-generic-table',\n templateUrl: './rdict-generic-table.component.html',\n styleUrls: ['./rdict-generic-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n imports: [\n CommonModule,\n RouterModule,\n // MatPaginatorModule,\n // MatTableModule,\n TranslateModule,\n KENDO_GRID,\n KENDO_TOOLBAR,\n KENDO_LABEL,\n RdictTableTitle\n ],\n providers: []\n})\nexport class GenericRdictTableComponent implements OnInit {\n dataSource: unknown[] //MatTableDataSource<any> = new MatTableDataSource();\n public title: string;\n model: string;\n @Input() showSerach: boolean;\n @Input() searchFields: string;\n @Input() customInclude: string;\n @Input() defaultSort: string;\n // @Input() defaultSortDirection: SortDirection;\n @Input() deletePropertyName: string;\n @Input() defaultFilter: string;\n @Input() showHeader: boolean;\n // @Input() deleteDisableRule: Rule[];\n @Input() hasAdd: boolean;\n @Input() canDelete: boolean;\n @Input() canEdit: boolean;\n @Input() editOnClick: boolean = false;\n @Input() editOnDblClick: boolean = false;\n data: any[] = [];\n pageIndex: number = 1;\n pageSize: number = 30\n\n basePath: string;\n dictPath: string;\n isLoadingResults = true;\n isRateLimitReached = false;\n\n @ViewChild(ElementRef, { static: false }) filter: ElementRef;\n // @ViewChild('table') table: MatTable<any>;\n // @ViewChild('table', { read: ElementRef }) public matTableRef: ElementRef;\n\n\n @Output() selectedObject: EventEmitter<any> = new EventEmitter<any>();\n @Output() click: EventEmitter<{ propertyName: string, model: any }> = new EventEmitter<{ propertyName: string, model: any }>();\n @Output() editModel: EventEmitter<any> = new EventEmitter<any>();\n\n columns = [];\n tableLayout = {};\n allColumns = [];\n displayedColumns: string[];\n // ColumnMode = ColumnMode;\n // SelectionType = SelectionType;\n\n readonly headerHeight = 50;\n readonly rowHeight = 50;\n isLoading: boolean;\n filterValue: string;\n oldOffsetY: number;\n hasSearch: false\n rdict: ReactiveDictionary | undefined;\n selectedItem: any;\n\n constructor(\n public router: Router,\n public route: ActivatedRoute,\n public translate: TranslateService,\n private injector: Injector,\n private socketService: SocketService,\n private wsAuthService: WsAuthService,\n private el: ElementRef) {\n }\n async ngOnInit() {\n this.setValueFromSnapshot(this, this.route.snapshot, 'model', \"\");\n this.setValueFromSnapshot(this, this.route.snapshot, 'showSerach', false);\n this.setValueFromSnapshot(this, this.route.snapshot, 'searchFields', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'customInclude', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSort', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSortDirection', '');\n this.setValueFromSnapshot(this, this.route.snapshot, 'deletePropertyName', 'name');\n this.setValueFromSnapshot(this, this.route.snapshot, 'defaultFilter', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'showHeader', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'deleteDisableRule', null);\n this.setValueFromSnapshot(this, this.route.snapshot, 'hasAdd', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'canDelete', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'canEdit', true);\n this.setValueFromSnapshot(this, this.route.snapshot, 'editOnClick', false);\n this.setValueFromSnapshot(this, this.route.snapshot, 'editOnDblClick', false);\n\n const currentUrlSegments: UrlSegment[] = this.router.url.split('/').map(segment => new UrlSegment(segment, {}));\n this.basePath = currentUrlSegments.map(segment => segment.path).join('/');\n const filteredSegments = currentUrlSegments.filter(segment => segment.path !== '');\n this.dictPath = filteredSegments.map(segment => segment.path).join('.');\n this.model = filteredSegments.length > 0 ? filteredSegments[filteredSegments.length - 1].path : ''; // Default to empty string if no valid segments\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n // Navigation to another page is about to occur\n this.data = [];\n this.pageIndex = 1\n // Perform actions or update component as needed\n }\n });\n this.rdict = ReactiveDictionary.getInstance(this.socketService,this.wsAuthService.Token);\n if (this.rdict.size == 0)\n await this.rdict.asyncInit();\n await this.getListLayout()\n await this.loadData()\n // this.isLoading = true;\n // this.onScroll(0);\n }\n setValueFromSnapshot<T>(component: any, snapshot: ActivatedRouteSnapshot, key: string, defaultValue: T): void {\n if (component[key] === undefined) {\n let dataFromSnapshot = snapshot.data[key];\n if (dataFromSnapshot === null || dataFromSnapshot === undefined) {\n dataFromSnapshot = snapshot.params[key];\n }\n component[key] = dataFromSnapshot !== undefined ? dataFromSnapshot : defaultValue;\n }\n }\n async loadData() {\n var x = await this.rdict.getTable(this.dictPath)\n const result = x.map(dictionary => {\n // Convert Map to object and filter out __guid\n const filteredObject = {};\n for (const [key, value] of dictionary.entries()) {\n if (key !== '__guid') {\n filteredObject[key] = value;\n }\n }\n return filteredObject;\n });\n this.dataSource = result//new MatTableDataSource(result);\n }\n // async handleChange(event) {\n // this.filterValue = event.target.value.toLowerCase();\n // this.data = [];\n // this.pageIndex = 1\n // this.loadData();\n // }\n // loadData(event = null) {\n // const filters = [];\n // let sorts = '';\n // this.isLoading = true;\n // if (this.defaultSort) {\n // if (this.defaultSortDirection === 'desc') {\n // sorts = '-' + this.defaultSort;\n // } else {\n // sorts = this.defaultSort;\n // }\n // }\n // if (this.showSerach) {\n // if (this.filterValue) {\n // const y = '(' + this.searchFields.replace(',', '|') + ')';\n // filters.push(y + '@=*' + this.filterValue);\n // }\n // }\n // if (this.defaultFilter) {\n // filters.push(this.defaultFilter)\n // }\n // setTimeout(() => {\n // const filtersValue = filters.join(', ');\n // this.modelService.getAll(this.pageIndex, this.pageSize, sorts, filtersValue, this.customInclude).subscribe(\n // (response: BaseQueryData<T>) => {\n // if (this.pageIndex !== response.getMeta().meta.count) {\n // this.pageIndex++\n // } else {\n // if (event) event.target.disabled = true;\n // }\n // // if (this.filterValue)\n // // this.data = response.getModels();\n // // else\n // const rows = [...this.data, ...response.getModels()];\n // this.data = rows;\n // // this.data = this.data.concat();\n\n // if (event) event.target.complete();\n // this.isLoading = false;\n // })\n // }, 700);\n // }\n // async handleRefresh(event) {\n // this.pageIndex = 1\n // this.data = [];\n // this.loadData();\n // event.target.complete();\n // }\n // onAdd() {\n // console.log(this.basePath)\n // this.router.navigate([this.basePath + '/add'])\n // // this.navCtrl.navigateForward(this.basePath + '/add');\n // }\n // editModel(model: BaseModelFormly) {\n // if (this.canEdit)\n // this.router.navigate([this.basePath + '/edit/', model.id]);\n // // this.navCtrl.navigateForward(this.basePath + '/edit/' + model.id);\n // }\n async getListLayout() {\n if (this.model) {\n this.tableLayout = await this.rdict.asyncGet(\"config.models.\" + this.model + \".tableLayout\")\n if (this.tableLayout) {\n this.title = this.translate.instant(this.tableLayout[\"title\"]);\n this.allColumns = this.tableLayout[\"columns\"].map(item => {\n if (!item.isTranslated) {\n item.name = this.translate.instant(item.translateKey);\n item.isTranslated = true\n }\n return item;\n });\n this.columns = [];\n\n this.allColumns.sort((a, b) => a.order - b.order);\n\n // if (this.canDelete || this.canEdit) {\n // this.allColumns.push({\n // // cellTemplate: null,\n // name: '',\n // // cellClass: 'actions-cell',\n // draggable: false,\n // sortable: false,\n // visible: true\n // // width: 100,\n // // maxWidth: 100,\n // // minWidth: 100\n // })\n // }\n // this.columns = this.allColumns.filter((item: IonicDataTableLayoutConfig) => item.visible);\n\n this.displayedColumns = [];\n // if (this.allowReorderItems) {\n // this.displayedColumns.push('position')\n // }\n this.displayedColumns.push.apply(this.displayedColumns, this.allColumns.map(x => x.propertyName));\n\n }\n }\n\n }\n public addHandler(): void {\n console.log(\"add\")\n this.router.navigate([this.basePath + '/add'])\n // this.editDataItem = new Product();\n // this.isNew = true;\n }\n\n}\n","<kendo-grid [data]=\"dataSource\" \n [sortable]=\"true\" \n [filterable]=\"showSerach\"\n (add)=\"addHandler()\">\n <kendo-toolbar>\n <table-title text=\"{{title}}\"></table-title>\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <kendo-toolbar-button text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\n </kendo-toolbar>\n <!-- <kendo-toolbar>\n \n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <button kendoGridAddCommand type=\"button\">Add new</button>\n </kendo-toolbar> -->\n <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\n title=\" {{column.translateKey | translate}}\">\n </kendo-grid-column>\n</kendo-grid>","// projects/my-library/src/lib/socket-config.token.ts\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport const SOCKET_URL = new InjectionToken<string>('SocketUrl');\r\n","/*\r\n * Public API Surface of rdict\r\n */\r\n\r\nexport * from './lib/core';\r\nexport * from './lib/reactive-dictionary';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UserService","i2","i1.SocketService","i3","i1.WsAuthService","i1","i3.SocketService","i4.WsAuthService","i5"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@rosoftlab/rdict",
|
3
|
-
"version": "1.0.1-alpha-
|
3
|
+
"version": "1.0.1-alpha-5",
|
4
4
|
"peerDependencies": {
|
5
5
|
"@angular/common": "^19.1.3",
|
6
6
|
"@angular/core": "^19.1.3",
|
@@ -37,7 +37,7 @@
|
|
37
37
|
"socket.io-client": "^4.8.1",
|
38
38
|
"socket.io-msgpack-parser": "^3.0.2",
|
39
39
|
"socket.io-parser": "^3.3.4",
|
40
|
-
"@rosoftlab/core": "1.0.1-alpha-
|
40
|
+
"@rosoftlab/core": "1.0.1-alpha-5"
|
41
41
|
},
|
42
42
|
"sideEffects": false,
|
43
43
|
"author": "rosoftlab",
|