@asor-studio/asor-core 1.1.7 → 1.1.9
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/asor-studio-asor-core.mjs +1 -1
- package/index.d.ts +427 -61
- package/package.json +2 -1
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnInit, OnDestroy, QueryList, Type, PipeTransform } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute,
|
|
3
|
+
import { ActivatedRoute, Data, CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, RedirectCommand } from '@angular/router';
|
|
4
4
|
import { Location } from '@angular/common';
|
|
5
5
|
import { Observable, BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
6
6
|
import { HttpParams, HttpHeaders, HttpResponse, HttpRequest, HttpErrorResponse, HttpStatusCode, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';
|
|
@@ -778,6 +778,248 @@ declare abstract class BaseComponent implements IComp, OnInit, OnDestroy {
|
|
|
778
778
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseComponent, never, never, {}, {}, never, never, true, never>;
|
|
779
779
|
}
|
|
780
780
|
|
|
781
|
+
/**
|
|
782
|
+
* Base abstract class for Atom components following the Atomic Design pattern.
|
|
783
|
+
* Atoms are the smallest functional units of the UI.
|
|
784
|
+
* Automatically extracts atom configuration from route data and sets up i18n paths.
|
|
785
|
+
*
|
|
786
|
+
* This class provides foundational functionality for all atom-level components,
|
|
787
|
+
* including access to route data, current atom configuration, and translation paths.
|
|
788
|
+
*
|
|
789
|
+
* @Directive - Can be extended by Angular components
|
|
790
|
+
* @abstract - Must be extended, cannot be instantiated directly
|
|
791
|
+
*
|
|
792
|
+
* @example
|
|
793
|
+
* // Create an atom component
|
|
794
|
+
* @Component({
|
|
795
|
+
* selector: 'app-base-button',
|
|
796
|
+
* templateUrl: './base-button.component.html'
|
|
797
|
+
* })
|
|
798
|
+
* export class BaseButtonComponent extends BaseAtom implements OnInit {
|
|
799
|
+
* ngOnInit() {
|
|
800
|
+
* // Access atom configuration
|
|
801
|
+
* console.log(this.currentAtom.I18nPath);
|
|
802
|
+
* // Use inherited i18n paths
|
|
803
|
+
* console.log(this.I18nPath);
|
|
804
|
+
* }
|
|
805
|
+
* }
|
|
806
|
+
*/
|
|
807
|
+
declare abstract class BaseAtom implements IBaseAtom, IConsoleLoggable, OnInit, OnDestroy {
|
|
808
|
+
static readonly className: string;
|
|
809
|
+
/**
|
|
810
|
+
* Injected ActivatedRoute for accessing route data and parameters.
|
|
811
|
+
*/
|
|
812
|
+
protected route: ActivatedRoute;
|
|
813
|
+
/**
|
|
814
|
+
* Configuration object for the current atom component.
|
|
815
|
+
* Contains metadata like component name, i18n paths, and other atom-specific settings.
|
|
816
|
+
*/
|
|
817
|
+
protected currentAtom: IAtom;
|
|
818
|
+
/**
|
|
819
|
+
* Array of i18n translation paths for this atom.
|
|
820
|
+
* Inherited from the atom configuration in route data.
|
|
821
|
+
* Used by translation utilities to load appropriate language files.
|
|
822
|
+
*
|
|
823
|
+
* @example
|
|
824
|
+
* // I18nPath might contain: ['/common', '/atoms']
|
|
825
|
+
* this.translateUtility.getTranslation$('SUBMIT', this.I18nPath, 'en');
|
|
826
|
+
*/
|
|
827
|
+
I18nPath: string[];
|
|
828
|
+
/**
|
|
829
|
+
* Initializes the base atom by extracting configuration from route data.
|
|
830
|
+
* Automatically finds the matching atom configuration based on component class name
|
|
831
|
+
* and sets up i18n translation paths.
|
|
832
|
+
*
|
|
833
|
+
* @example
|
|
834
|
+
* // Route configuration with atom data:
|
|
835
|
+
* {
|
|
836
|
+
* path: 'users',
|
|
837
|
+
* component: UserListComponent,
|
|
838
|
+
* data: {
|
|
839
|
+
* Atoms: [
|
|
840
|
+
* {
|
|
841
|
+
* Component: BaseButtonComponent,
|
|
842
|
+
* I18nPath: ['/common', '/buttons']
|
|
843
|
+
* }
|
|
844
|
+
* ]
|
|
845
|
+
* } as IAsorRoute
|
|
846
|
+
* }
|
|
847
|
+
*/
|
|
848
|
+
constructor();
|
|
849
|
+
/**
|
|
850
|
+
* Lifecycle hook called when the component view is about to enter.
|
|
851
|
+
* Must be implemented by derived classes to define component-specific initialization logic.
|
|
852
|
+
*/
|
|
853
|
+
baseCompViewEnter(): void;
|
|
854
|
+
/**
|
|
855
|
+
* Lifecycle hook called when the component view is about to leave.
|
|
856
|
+
* Must be implemented by derived classes to define component-specific cleanup logic.
|
|
857
|
+
*/
|
|
858
|
+
baseCompViewLeave(): void;
|
|
859
|
+
/**
|
|
860
|
+
* Lifecycle hook called when the component view is about to enter.
|
|
861
|
+
* Must be implemented by derived classes to define component-specific initialization logic.
|
|
862
|
+
*/
|
|
863
|
+
baseAtomViewWillEnter(): void;
|
|
864
|
+
/**
|
|
865
|
+
* Lifecycle hook called when the component view is about to leave.
|
|
866
|
+
* Must be implemented by derived classes to define component-specific cleanup logic.
|
|
867
|
+
*/
|
|
868
|
+
baseAtomViewWillLeave(): void;
|
|
869
|
+
/**
|
|
870
|
+
* Returns the name of the current component class.
|
|
871
|
+
* Used internally to match the component with its configuration in route data.
|
|
872
|
+
*
|
|
873
|
+
* @returns The class name of the component as a string
|
|
874
|
+
*/
|
|
875
|
+
getClassName(): string;
|
|
876
|
+
/**
|
|
877
|
+
* Lifecycle hook called when the component is initialized.
|
|
878
|
+
* Calls the baseAtomViewWillEnter() method.
|
|
879
|
+
*/
|
|
880
|
+
ngOnInit(): void;
|
|
881
|
+
/**
|
|
882
|
+
* Lifecycle hook called when the component is destroyed.
|
|
883
|
+
* Calls the baseAtomViewWillLeave() method.
|
|
884
|
+
*/
|
|
885
|
+
ngOnDestroy(): void;
|
|
886
|
+
/**
|
|
887
|
+
* Ionic lifecycle hook called when the view is about to enter and become the active view.
|
|
888
|
+
* This is called regardless of whether it is the first load or cached view.
|
|
889
|
+
* Delegates to baseAtomViewWillEnter() for consistency across Angular and Ionic.
|
|
890
|
+
*/
|
|
891
|
+
ionViewWillEnter(): void;
|
|
892
|
+
/**
|
|
893
|
+
* Ionic lifecycle hook called when the view is about to leave and no longer be the active view.
|
|
894
|
+
* This is called when navigating away from the current view.
|
|
895
|
+
* Delegates to baseAtomViewWillLeave() for consistency across Angular and Ionic.
|
|
896
|
+
*/
|
|
897
|
+
ionViewWillLeave(): void;
|
|
898
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseAtom, never>;
|
|
899
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseAtom, never, never, {}, {}, never, never, true, never>;
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
/**
|
|
903
|
+
* Base abstract class for Organism components following the Atomic Design pattern.
|
|
904
|
+
* Organisms are complex UI components made up of molecules and/or atoms.
|
|
905
|
+
* Automatically extracts organism configuration from route data and sets up i18n paths.
|
|
906
|
+
*
|
|
907
|
+
* This class provides foundational functionality for all organism-level components,
|
|
908
|
+
* including access to route data, current organism configuration, and translation paths.
|
|
909
|
+
*
|
|
910
|
+
* @Directive - Can be extended by Angular components
|
|
911
|
+
* @abstract - Must be extended, cannot be instantiated directly
|
|
912
|
+
*
|
|
913
|
+
* @example
|
|
914
|
+
* // Create an organism component
|
|
915
|
+
* @Component({
|
|
916
|
+
* selector: 'app-user-profile',
|
|
917
|
+
* templateUrl: './user-profile.component.html'
|
|
918
|
+
* })
|
|
919
|
+
* export class UserProfileComponent extends BaseOrganism implements OnInit {
|
|
920
|
+
* ngOnInit() {
|
|
921
|
+
* // Access organism configuration
|
|
922
|
+
* console.log(this.currentOrganism.I18nPath);
|
|
923
|
+
* // Use inherited i18n paths
|
|
924
|
+
* console.log(this.I18nPath);
|
|
925
|
+
* }
|
|
926
|
+
* }
|
|
927
|
+
*/
|
|
928
|
+
declare abstract class BaseOrganism implements IBaseOrganism, IConsoleLoggable, OnInit, OnDestroy {
|
|
929
|
+
static readonly className: string;
|
|
930
|
+
/**
|
|
931
|
+
* Injected ActivatedRoute for accessing route data and parameters.
|
|
932
|
+
*/
|
|
933
|
+
protected route: ActivatedRoute;
|
|
934
|
+
/**
|
|
935
|
+
* Configuration object for the current organism component.
|
|
936
|
+
* Contains metadata like component name, i18n paths, and other organism-specific settings.
|
|
937
|
+
*/
|
|
938
|
+
protected currentOrganism: IOrganism;
|
|
939
|
+
/**
|
|
940
|
+
* Array of i18n translation paths for this organism.
|
|
941
|
+
* Inherited from the organism configuration in route data.
|
|
942
|
+
* Used by translation utilities to load appropriate language files.
|
|
943
|
+
*
|
|
944
|
+
* @example
|
|
945
|
+
* // I18nPath might contain: ['/common', '/organisms']
|
|
946
|
+
* this.translateUtility.getTranslation$('HEADER', this.I18nPath, 'en');
|
|
947
|
+
*/
|
|
948
|
+
I18nPath: string[];
|
|
949
|
+
/**
|
|
950
|
+
* Initializes the base organism by extracting configuration from route data.
|
|
951
|
+
* Automatically finds the matching organism configuration based on component class name
|
|
952
|
+
* and sets up i18n translation paths.
|
|
953
|
+
*
|
|
954
|
+
* @example
|
|
955
|
+
* // Route configuration with organism data:
|
|
956
|
+
* {
|
|
957
|
+
* path: 'users',
|
|
958
|
+
* component: UserListComponent,
|
|
959
|
+
* data: {
|
|
960
|
+
* Organisms: [
|
|
961
|
+
* {
|
|
962
|
+
* Component: UserProfileComponent,
|
|
963
|
+
* I18nPath: ['/common', '/profile']
|
|
964
|
+
* }
|
|
965
|
+
* ]
|
|
966
|
+
* } as IAsorRoute
|
|
967
|
+
* }
|
|
968
|
+
*/
|
|
969
|
+
constructor();
|
|
970
|
+
/**
|
|
971
|
+
* Lifecycle hook called when the component view is about to enter.
|
|
972
|
+
* Must be implemented by derived classes to define component-specific initialization logic.
|
|
973
|
+
*/
|
|
974
|
+
baseCompViewEnter(): void;
|
|
975
|
+
/**
|
|
976
|
+
* Lifecycle hook called when the component view is about to leave.
|
|
977
|
+
* Must be implemented by derived classes to define component-specific cleanup logic.
|
|
978
|
+
*/
|
|
979
|
+
baseCompViewLeave(): void;
|
|
980
|
+
/**
|
|
981
|
+
* Lifecycle hook called when the component view is about to enter.
|
|
982
|
+
* Must be implemented by derived classes to define component-specific initialization logic.
|
|
983
|
+
*/
|
|
984
|
+
baseOrganismViewWillEnter(): void;
|
|
985
|
+
/**
|
|
986
|
+
* Lifecycle hook called when the component view is about to leave.
|
|
987
|
+
* Must be implemented by derived classes to define component-specific cleanup logic.
|
|
988
|
+
*/
|
|
989
|
+
baseOrganismViewWillLeave(): void;
|
|
990
|
+
/**
|
|
991
|
+
* Returns the name of the current component class.
|
|
992
|
+
* Used internally to match the component with its configuration in route data.
|
|
993
|
+
*
|
|
994
|
+
* @returns The class name of the component as a string
|
|
995
|
+
*/
|
|
996
|
+
getClassName(): string;
|
|
997
|
+
/**
|
|
998
|
+
* Lifecycle hook called when the component is initialized.
|
|
999
|
+
* Calls the baseOrganismViewWillEnter() method.
|
|
1000
|
+
*/
|
|
1001
|
+
ngOnInit(): void;
|
|
1002
|
+
/**
|
|
1003
|
+
* Lifecycle hook called when the component is destroyed.
|
|
1004
|
+
* Calls the baseOrganismViewWillLeave() method.
|
|
1005
|
+
*/
|
|
1006
|
+
ngOnDestroy(): void;
|
|
1007
|
+
/**
|
|
1008
|
+
* Ionic lifecycle hook called when the view is about to enter and become the active view.
|
|
1009
|
+
* This is called regardless of whether it is the first load or cached view.
|
|
1010
|
+
* Delegates to baseOrganismViewWillEnter() for consistency across Angular and Ionic.
|
|
1011
|
+
*/
|
|
1012
|
+
ionViewWillEnter(): void;
|
|
1013
|
+
/**
|
|
1014
|
+
* Ionic lifecycle hook called when the view is about to leave and no longer be the active view.
|
|
1015
|
+
* This is called when navigating away from the current view.
|
|
1016
|
+
* Delegates to baseOrganismViewWillLeave() for consistency across Angular and Ionic.
|
|
1017
|
+
*/
|
|
1018
|
+
ionViewWillLeave(): void;
|
|
1019
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseOrganism, never>;
|
|
1020
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseOrganism, never, never, {}, {}, never, never, true, never>;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
781
1023
|
/**
|
|
782
1024
|
* Interface for route guard configuration with authentication and molecule support.
|
|
783
1025
|
* Used in route data configuration to define page-level authentication, child guards, and molecule components.
|
|
@@ -810,6 +1052,10 @@ interface IAsorRoute {
|
|
|
810
1052
|
I18nPath: string[];
|
|
811
1053
|
/** Array of molecule components to be used in this route */
|
|
812
1054
|
Molecules?: IMolecule[];
|
|
1055
|
+
/** Array of atom components to be used in this route */
|
|
1056
|
+
Atoms?: IAtom[];
|
|
1057
|
+
/** Array of organism components to be used in this route */
|
|
1058
|
+
Organisms?: IOrganism[];
|
|
813
1059
|
/** Array of component to be used in this route */
|
|
814
1060
|
Components?: IComponent[];
|
|
815
1061
|
/** Optional dataset creation configuration */
|
|
@@ -856,6 +1102,20 @@ interface ICreateDataSet {
|
|
|
856
1102
|
/** Optional creation options (encryption, storage type, etc.) */
|
|
857
1103
|
option?: CreateDataSetOption;
|
|
858
1104
|
}
|
|
1105
|
+
/**
|
|
1106
|
+
* Interface representing an Atom component in the Atomic Design pattern.
|
|
1107
|
+
* Atoms are the smallest UI components.
|
|
1108
|
+
*/
|
|
1109
|
+
interface IAtom {
|
|
1110
|
+
/** Array of i18n translation paths for this atom */
|
|
1111
|
+
I18nPath: string[];
|
|
1112
|
+
/** Optional state handler configuration */
|
|
1113
|
+
ConnectDataSet?: IConnectDataSet;
|
|
1114
|
+
/** The Angular component class extending BaseAtom */
|
|
1115
|
+
Atom: Type<BaseAtom> & ICompStatic;
|
|
1116
|
+
/** Optional extra data to pass to the atom component */
|
|
1117
|
+
ExtraData?: Data;
|
|
1118
|
+
}
|
|
859
1119
|
/**
|
|
860
1120
|
* Interface representing a Molecule component in the Atomic Design pattern.
|
|
861
1121
|
* Molecules are composite UI components made up of smaller atoms.
|
|
@@ -877,6 +1137,20 @@ interface IMolecule {
|
|
|
877
1137
|
/** Optional extra data to pass to the molecule component */
|
|
878
1138
|
ExtraData?: Data;
|
|
879
1139
|
}
|
|
1140
|
+
/**
|
|
1141
|
+
* Interface representing an Organism component in the Atomic Design pattern.
|
|
1142
|
+
* Organisms are composite UI components made up of molecules and atoms.
|
|
1143
|
+
*/
|
|
1144
|
+
interface IOrganism {
|
|
1145
|
+
/** Array of i18n translation paths for this organism */
|
|
1146
|
+
I18nPath: string[];
|
|
1147
|
+
/** Optional state handler configuration */
|
|
1148
|
+
ConnectDataSet?: IConnectDataSet;
|
|
1149
|
+
/** The Angular component class extending BaseOrganism */
|
|
1150
|
+
Organism: Type<BaseOrganism> & ICompStatic;
|
|
1151
|
+
/** Optional extra data to pass to the organism component */
|
|
1152
|
+
ExtraData?: Data;
|
|
1153
|
+
}
|
|
880
1154
|
/**
|
|
881
1155
|
* Interface representing a Component in the Atomic Design pattern.
|
|
882
1156
|
* Components are the smallest UI components.
|
|
@@ -935,6 +1209,19 @@ interface IComp {
|
|
|
935
1209
|
/** Called when the component view is about to leave/destroy */
|
|
936
1210
|
baseCompViewLeave(): void;
|
|
937
1211
|
}
|
|
1212
|
+
/**
|
|
1213
|
+
* Interface for BaseAtom
|
|
1214
|
+
*/
|
|
1215
|
+
interface IBaseAtom extends IComp {
|
|
1216
|
+
/**
|
|
1217
|
+
* Called when the atom view is about to enter/initialize
|
|
1218
|
+
*/
|
|
1219
|
+
baseAtomViewWillEnter(): void;
|
|
1220
|
+
/**
|
|
1221
|
+
* Called when the atom view is about to leave/destroy
|
|
1222
|
+
*/
|
|
1223
|
+
baseAtomViewWillLeave(): void;
|
|
1224
|
+
}
|
|
938
1225
|
/**
|
|
939
1226
|
* Interface for BaseMolecule
|
|
940
1227
|
*/
|
|
@@ -948,6 +1235,19 @@ interface IBaseMolecule extends IComp {
|
|
|
948
1235
|
*/
|
|
949
1236
|
baseMoleculeViewWillLeave(): void;
|
|
950
1237
|
}
|
|
1238
|
+
/**
|
|
1239
|
+
* Interface for BaseOrganism
|
|
1240
|
+
*/
|
|
1241
|
+
interface IBaseOrganism extends IComp {
|
|
1242
|
+
/**
|
|
1243
|
+
* Called when the organism view is about to enter/initialize
|
|
1244
|
+
*/
|
|
1245
|
+
baseOrganismViewWillEnter(): void;
|
|
1246
|
+
/**
|
|
1247
|
+
* Called when the organism view is about to leave/destroy
|
|
1248
|
+
*/
|
|
1249
|
+
baseOrganismViewWillLeave(): void;
|
|
1250
|
+
}
|
|
951
1251
|
/**
|
|
952
1252
|
* Interface for authorization response from the backend API.
|
|
953
1253
|
* Contains the authorization status indicating if the user is allowed to perform an action.
|
|
@@ -2127,69 +2427,19 @@ declare function BaseHandlerMixin<T extends object = any, TBase extends Construc
|
|
|
2127
2427
|
*/
|
|
2128
2428
|
declare function createFlattenedReactiveProxy<T>(propsStore: Record<string, any>): T;
|
|
2129
2429
|
|
|
2130
|
-
declare const
|
|
2430
|
+
declare const BaseStorageAtom_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
|
|
2131
2431
|
propsStore: any;
|
|
2132
2432
|
registryElement: _asor_studio_asor_core.RegistryElement;
|
|
2133
2433
|
storageHandlerDataChanges(prev: any, curr: any): void;
|
|
2134
|
-
}> & typeof
|
|
2434
|
+
}> & typeof BaseAtom;
|
|
2135
2435
|
/**
|
|
2136
|
-
* Base abstract class for
|
|
2137
|
-
* Extends
|
|
2436
|
+
* Base abstract class for Atom-level components with integrated storage handler functionality.
|
|
2437
|
+
* Extends BaseAtom with automatic state management, reactive props, and store synchronization.
|
|
2138
2438
|
*
|
|
2139
|
-
* This class combines the
|
|
2439
|
+
* This class combines the Atomic Design atom structure and i18n capabilities of BaseAtom
|
|
2140
2440
|
* with the storage handling features from BaseHandlerMixin.
|
|
2141
|
-
*
|
|
2142
|
-
* Storage features:
|
|
2143
|
-
* - Automatic dataset creation from route configuration
|
|
2144
|
-
* - Reactive connection to state store
|
|
2145
|
-
* - Proxy-based prop-to-store synchronization
|
|
2146
|
-
* - Support for nested object updates
|
|
2147
|
-
* - Full object/array assignment reactivity (e.g. this.props.list = [...])
|
|
2148
|
-
*
|
|
2149
|
-
* @Directive - Can be extended by Angular components
|
|
2150
|
-
* @abstract - Must be extended, cannot be instantiated directly
|
|
2151
|
-
*
|
|
2152
|
-
* @example
|
|
2153
|
-
* // Route configuration with storage:
|
|
2154
|
-
* {
|
|
2155
|
-
* path: 'user-profile',
|
|
2156
|
-
* component: UserProfileComponent,
|
|
2157
|
-
* data: {
|
|
2158
|
-
* I18nPath: ['/common', '/user'],
|
|
2159
|
-
* CreateDataSet: {
|
|
2160
|
-
* name: 'userProfile',
|
|
2161
|
-
* data: { name: '', email: '' },
|
|
2162
|
-
* option: CreateDataSetOption.CREATE_IF_NOT_EXISTS
|
|
2163
|
-
* },
|
|
2164
|
-
* ConnectDataSet: {
|
|
2165
|
-
* propStructure: {
|
|
2166
|
-
* name: ['userProfile', 'name'],
|
|
2167
|
-
* email: ['userProfile', 'email']
|
|
2168
|
-
* }
|
|
2169
|
-
* }
|
|
2170
|
-
* } as IAsorRoute
|
|
2171
|
-
* }
|
|
2172
|
-
*
|
|
2173
|
-
* @example
|
|
2174
|
-
* // Component implementation:
|
|
2175
|
-
* @Component({
|
|
2176
|
-
* selector: 'app-user-profile',
|
|
2177
|
-
* templateUrl: './user-profile.component.html'
|
|
2178
|
-
* })
|
|
2179
|
-
* export class UserProfileComponent extends BaseStorageHandlerComp {
|
|
2180
|
-
*
|
|
2181
|
-
* storageHandlerDataChanges(data: any): void {
|
|
2182
|
-
* console.log('Store data updated:', data);
|
|
2183
|
-
* // React to store changes
|
|
2184
|
-
* }
|
|
2185
|
-
*
|
|
2186
|
-
* updateUserName(newName: string): void {
|
|
2187
|
-
* // This automatically updates the store
|
|
2188
|
-
* this.props.name = newName;
|
|
2189
|
-
* }
|
|
2190
|
-
* }
|
|
2191
2441
|
*/
|
|
2192
|
-
declare abstract class
|
|
2442
|
+
declare abstract class BaseStorageAtom<T extends object = Record<string, any>> extends BaseStorageAtom_base implements IStorageHandler<T> {
|
|
2193
2443
|
/**
|
|
2194
2444
|
* Typed props object for type-safe state management.
|
|
2195
2445
|
* Returns a flattened reactive proxy over propsStore so that both
|
|
@@ -2201,9 +2451,13 @@ declare abstract class BaseStorageComponent<T extends object = Record<string, an
|
|
|
2201
2451
|
* Override baseCompViewLeave to unregister from store
|
|
2202
2452
|
*/
|
|
2203
2453
|
baseCompViewLeave(): void;
|
|
2454
|
+
/**
|
|
2455
|
+
* Override baseAtomViewWillLeave to unregister from store
|
|
2456
|
+
*/
|
|
2457
|
+
baseAtomViewWillLeave(): void;
|
|
2204
2458
|
constructor();
|
|
2205
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
2206
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
2459
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseStorageAtom<any>, never>;
|
|
2460
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageAtom<any>, never, never, {}, {}, never, never, true, never>;
|
|
2207
2461
|
}
|
|
2208
2462
|
|
|
2209
2463
|
declare const BaseStorageMolecule_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
|
|
@@ -2303,6 +2557,118 @@ declare abstract class BaseStorageMolecule<T extends object = Record<string, any
|
|
|
2303
2557
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageMolecule<any>, never, never, {}, {}, never, never, true, never>;
|
|
2304
2558
|
}
|
|
2305
2559
|
|
|
2560
|
+
declare const BaseStorageOrganism_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
|
|
2561
|
+
propsStore: any;
|
|
2562
|
+
registryElement: _asor_studio_asor_core.RegistryElement;
|
|
2563
|
+
storageHandlerDataChanges(prev: any, curr: any): void;
|
|
2564
|
+
}> & typeof BaseOrganism;
|
|
2565
|
+
/**
|
|
2566
|
+
* Base abstract class for Organism-level components with integrated storage handler functionality.
|
|
2567
|
+
* Extends BaseOrganism with automatic state management, reactive props, and store synchronization.
|
|
2568
|
+
*
|
|
2569
|
+
* This class combines the Atomic Design organism structure and i18n capabilities of BaseOrganism
|
|
2570
|
+
* with the storage handling features from BaseHandlerMixin.
|
|
2571
|
+
*/
|
|
2572
|
+
declare abstract class BaseStorageOrganism<T extends object = Record<string, any>> extends BaseStorageOrganism_base implements IStorageHandler<T> {
|
|
2573
|
+
/**
|
|
2574
|
+
* Typed props object for type-safe state management.
|
|
2575
|
+
* Returns a flattened reactive proxy over propsStore so that both
|
|
2576
|
+
* read and write operations (including full object/array assignment)
|
|
2577
|
+
* are forwarded through the reactive proxy, triggering state updates.
|
|
2578
|
+
*/
|
|
2579
|
+
get props(): T;
|
|
2580
|
+
/**
|
|
2581
|
+
* Override baseCompViewLeave to unregister from store
|
|
2582
|
+
*/
|
|
2583
|
+
baseCompViewLeave(): void;
|
|
2584
|
+
/**
|
|
2585
|
+
* Override baseOrganismViewWillLeave to unregister from store
|
|
2586
|
+
*/
|
|
2587
|
+
baseOrganismViewWillLeave(): void;
|
|
2588
|
+
constructor();
|
|
2589
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseStorageOrganism<any>, never>;
|
|
2590
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageOrganism<any>, never, never, {}, {}, never, never, true, never>;
|
|
2591
|
+
}
|
|
2592
|
+
|
|
2593
|
+
declare const BaseStorageComponent_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
|
|
2594
|
+
propsStore: any;
|
|
2595
|
+
registryElement: _asor_studio_asor_core.RegistryElement;
|
|
2596
|
+
storageHandlerDataChanges(prev: any, curr: any): void;
|
|
2597
|
+
}> & typeof BaseComponent;
|
|
2598
|
+
/**
|
|
2599
|
+
* Base abstract class for Page/Component-level components with integrated storage handler functionality.
|
|
2600
|
+
* Extends BaseComponent with automatic state management, reactive props, and store synchronization.
|
|
2601
|
+
*
|
|
2602
|
+
* This class combines the lifecycle management and i18n capabilities of BaseComponent
|
|
2603
|
+
* with the storage handling features from BaseHandlerMixin.
|
|
2604
|
+
*
|
|
2605
|
+
* Storage features:
|
|
2606
|
+
* - Automatic dataset creation from route configuration
|
|
2607
|
+
* - Reactive connection to state store
|
|
2608
|
+
* - Proxy-based prop-to-store synchronization
|
|
2609
|
+
* - Support for nested object updates
|
|
2610
|
+
* - Full object/array assignment reactivity (e.g. this.props.list = [...])
|
|
2611
|
+
*
|
|
2612
|
+
* @Directive - Can be extended by Angular components
|
|
2613
|
+
* @abstract - Must be extended, cannot be instantiated directly
|
|
2614
|
+
*
|
|
2615
|
+
* @example
|
|
2616
|
+
* // Route configuration with storage:
|
|
2617
|
+
* {
|
|
2618
|
+
* path: 'user-profile',
|
|
2619
|
+
* component: UserProfileComponent,
|
|
2620
|
+
* data: {
|
|
2621
|
+
* I18nPath: ['/common', '/user'],
|
|
2622
|
+
* CreateDataSet: {
|
|
2623
|
+
* name: 'userProfile',
|
|
2624
|
+
* data: { name: '', email: '' },
|
|
2625
|
+
* option: CreateDataSetOption.CREATE_IF_NOT_EXISTS
|
|
2626
|
+
* },
|
|
2627
|
+
* ConnectDataSet: {
|
|
2628
|
+
* propStructure: {
|
|
2629
|
+
* name: ['userProfile', 'name'],
|
|
2630
|
+
* email: ['userProfile', 'email']
|
|
2631
|
+
* }
|
|
2632
|
+
* }
|
|
2633
|
+
* } as IAsorRoute
|
|
2634
|
+
* }
|
|
2635
|
+
*
|
|
2636
|
+
* @example
|
|
2637
|
+
* // Component implementation:
|
|
2638
|
+
* @Component({
|
|
2639
|
+
* selector: 'app-user-profile',
|
|
2640
|
+
* templateUrl: './user-profile.component.html'
|
|
2641
|
+
* })
|
|
2642
|
+
* export class UserProfileComponent extends BaseStorageHandlerComp {
|
|
2643
|
+
*
|
|
2644
|
+
* storageHandlerDataChanges(data: any): void {
|
|
2645
|
+
* console.log('Store data updated:', data);
|
|
2646
|
+
* // React to store changes
|
|
2647
|
+
* }
|
|
2648
|
+
*
|
|
2649
|
+
* updateUserName(newName: string): void {
|
|
2650
|
+
* // This automatically updates the store
|
|
2651
|
+
* this.props.name = newName;
|
|
2652
|
+
* }
|
|
2653
|
+
* }
|
|
2654
|
+
*/
|
|
2655
|
+
declare abstract class BaseStorageComponent<T extends object = Record<string, any>> extends BaseStorageComponent_base implements IStorageHandler<T> {
|
|
2656
|
+
/**
|
|
2657
|
+
* Typed props object for type-safe state management.
|
|
2658
|
+
* Returns a flattened reactive proxy over propsStore so that both
|
|
2659
|
+
* read and write operations (including full object/array assignment)
|
|
2660
|
+
* are forwarded through the reactive proxy, triggering state updates.
|
|
2661
|
+
*/
|
|
2662
|
+
get props(): T;
|
|
2663
|
+
/**
|
|
2664
|
+
* Override baseCompViewLeave to unregister from store
|
|
2665
|
+
*/
|
|
2666
|
+
baseCompViewLeave(): void;
|
|
2667
|
+
constructor();
|
|
2668
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BaseStorageComponent<any>, never>;
|
|
2669
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStorageComponent<any>, never, never, {}, {}, never, never, true, never>;
|
|
2670
|
+
}
|
|
2671
|
+
|
|
2306
2672
|
/**
|
|
2307
2673
|
* Service for managing and distributing HTTP error notifications across the application.
|
|
2308
2674
|
* Implements a centralized error notification system using RxJS observables.
|
|
@@ -2681,5 +3047,5 @@ declare class AsorWidgetComponent {
|
|
|
2681
3047
|
static ɵcmp: i0.ɵɵComponentDeclaration<AsorWidgetComponent, "asor-core-widget", never, { "mode": { "alias": "mode"; "required": false; }; }, {}, never, never, true, never>;
|
|
2682
3048
|
}
|
|
2683
3049
|
|
|
2684
|
-
export { GlobalEnum_d as AsorGlobalEnum, StateConstants_d as AsorStorage, AsorWidgetComponent, AuthGuard, AuthUtility, BaseComponent, BaseHandlerMixin, BaseMolecule, BaseStorageComponent, BaseStorageMolecule, CacheInterceptor, CachePathUtility, CacheUtility, CollectionUtils, ConfigCache, ConfigConst, ConsoleLogsConfig, ConsoleLogsUtility, CookieUtils, ErrorInterceptor, HttpRequestHandler, MockHttpInterceptor, MockOrchestratorService, MockRequestMapping, NotifyErrorService, ObjectUtils, RandomUtils, RoutingUtility, StateConst, StateService, StringUtils, TranslatePipe, TranslateUtility, createFlattenedReactiveProxy };
|
|
2685
|
-
export type { AsorWidgetMode, Constructor, CreateDataSetOption, DataElement, DataMethod, EncryptType, GenerateType, IAsorRoute, IAuth, IBaseMolecule, IComp, ICompStatic, IComponent, IConnectDataSet, IConsoleLoggable, ICreateDataSet, IHttpAuthSubscribe, IHttpFormError, IHttpRequest, IHttpRequestHandlerConfig, IHttpResponseError, IHttpSubscribe, IMolecule, IPath, IRequestMapping, IStorageHandler, LogClassConfig, LogEntry, LogLevel, RegistryElement, RegistryEntry, StateHandlerConfig, StoreType, UpdateDataSetOption };
|
|
3050
|
+
export { GlobalEnum_d as AsorGlobalEnum, StateConstants_d as AsorStorage, AsorWidgetComponent, AuthGuard, AuthUtility, BaseAtom, BaseComponent, BaseHandlerMixin, BaseMolecule, BaseOrganism, BaseStorageAtom, BaseStorageComponent, BaseStorageMolecule, BaseStorageOrganism, CacheInterceptor, CachePathUtility, CacheUtility, CollectionUtils, ConfigCache, ConfigConst, ConsoleLogsConfig, ConsoleLogsUtility, CookieUtils, ErrorInterceptor, HttpRequestHandler, MockHttpInterceptor, MockOrchestratorService, MockRequestMapping, NotifyErrorService, ObjectUtils, RandomUtils, RoutingUtility, StateConst, StateService, StringUtils, TranslatePipe, TranslateUtility, createFlattenedReactiveProxy };
|
|
3051
|
+
export type { AsorWidgetMode, Constructor, CreateDataSetOption, DataElement, DataMethod, EncryptType, GenerateType, IAsorRoute, IAtom, IAuth, IBaseAtom, IBaseMolecule, IBaseOrganism, IComp, ICompStatic, IComponent, IConnectDataSet, IConsoleLoggable, ICreateDataSet, IHttpAuthSubscribe, IHttpFormError, IHttpRequest, IHttpRequestHandlerConfig, IHttpResponseError, IHttpSubscribe, IMolecule, IOrganism, IPath, IRequestMapping, IStorageHandler, LogClassConfig, LogEntry, LogLevel, RegistryElement, RegistryEntry, StateHandlerConfig, StoreType, UpdateDataSetOption };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@asor-studio/asor-core",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"angular",
|
|
6
6
|
"library",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"tslib": "^2.3.0"
|
|
25
25
|
},
|
|
26
26
|
"sideEffects": false,
|
|
27
|
+
"author": "robrosc",
|
|
27
28
|
"license": "SEE LICENSE IN LICENSE",
|
|
28
29
|
"publishConfig": {
|
|
29
30
|
"access": "public",
|