@asor-studio/asor-core 1.0.7 → 1.0.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/index.d.ts CHANGED
@@ -2016,6 +2016,21 @@ declare function BaseHandlerMixin<T extends object = any, TBase extends Construc
2016
2016
  propsStore: T;
2017
2017
  storageHandlerDataChanges(prev: T, curr: T): void;
2018
2018
  }> & TBase;
2019
+ /**
2020
+ * Creates a flattened reactive proxy over a nested propsStore structure.
2021
+ *
2022
+ * The propsStore has shape: { rootKey1: { prop1: val, prop2: val }, rootKey2: { ... } }
2023
+ * This proxy flattens it so that accessing `proxy.prop1` reads from the correct rootKey,
2024
+ * and — critically — setting `proxy.prop1 = newValue` writes through the reactive proxy
2025
+ * on propsStore, triggering onChange and state updates.
2026
+ *
2027
+ * Without this proxy, `this.props.x = value` would write to a throwaway plain object
2028
+ * and the reactive set trap would never fire.
2029
+ *
2030
+ * @param propsStore - The reactive proxy wrapping the nested props structure
2031
+ * @returns A flattened proxy typed as T
2032
+ */
2033
+ declare function createFlattenedReactiveProxy<T>(propsStore: Record<string, any>): T;
2019
2034
 
2020
2035
  declare const BaseStorageComponent_base: _asor_studio_asor_core.Constructor<IStorageHandler<any> & {
2021
2036
  propsStore: any;
@@ -2033,6 +2048,7 @@ declare const BaseStorageComponent_base: _asor_studio_asor_core.Constructor<ISto
2033
2048
  * - Reactive connection to state store
2034
2049
  * - Proxy-based prop-to-store synchronization
2035
2050
  * - Support for nested object updates
2051
+ * - Full object/array assignment reactivity (e.g. this.props.list = [...])
2036
2052
  *
2037
2053
  * @Directive - Can be extended by Angular components
2038
2054
  * @abstract - Must be extended, cannot be instantiated directly
@@ -2080,9 +2096,9 @@ declare const BaseStorageComponent_base: _asor_studio_asor_core.Constructor<ISto
2080
2096
  declare abstract class BaseStorageComponent<T extends object = Record<string, any>> extends BaseStorageComponent_base implements IStorageHandler<T> {
2081
2097
  /**
2082
2098
  * Typed props object for type-safe state management.
2083
- * This provides strongly-typed access to the propsStore from the mixin.
2084
- * The propsStore is flattened from a nested structure grouped by dataset root
2085
- * to a flat structure with direct property access while maintaining proxy reactivity.
2099
+ * Returns a flattened reactive proxy over propsStore so that both
2100
+ * read and write operations (including full object/array assignment)
2101
+ * are forwarded through the reactive proxy, triggering state updates.
2086
2102
  */
2087
2103
  get props(): T;
2088
2104
  constructor();
@@ -2106,6 +2122,7 @@ declare const BaseStorageMolecule_base: _asor_studio_asor_core.Constructor<IStor
2106
2122
  * - Reactive connection to state store
2107
2123
  * - Proxy-based prop-to-store synchronization
2108
2124
  * - Support for nested object updates
2125
+ * - Full object/array assignment reactivity (e.g. this.props.list = [...])
2109
2126
  *
2110
2127
  * @Directive - Can be extended by Angular components
2111
2128
  * @abstract - Must be extended, cannot be instantiated directly
@@ -2167,9 +2184,9 @@ declare const BaseStorageMolecule_base: _asor_studio_asor_core.Constructor<IStor
2167
2184
  declare abstract class BaseStorageMolecule<T extends object = Record<string, any>> extends BaseStorageMolecule_base implements IStorageHandler<T> {
2168
2185
  /**
2169
2186
  * Typed props object for type-safe state management.
2170
- * This provides strongly-typed access to the propsStore from the mixin.
2171
- * The propsStore is flattened from a nested structure grouped by dataset root
2172
- * to a flat structure with direct property access while maintaining proxy reactivity.
2187
+ * Returns a flattened reactive proxy over propsStore so that both
2188
+ * read and write operations (including full object/array assignment)
2189
+ * are forwarded through the reactive proxy, triggering state updates.
2173
2190
  */
2174
2191
  get props(): T;
2175
2192
  constructor();
@@ -2527,9 +2544,10 @@ declare class AsorWidgetComponent {
2527
2544
  toggleSlider(): void;
2528
2545
  setHeight(height: number): void;
2529
2546
  selectTab(tab: 'console' | 'storage' | 'cache' | 'other'): void;
2547
+ onTabChange(event: Event): void;
2530
2548
  static ɵfac: i0.ɵɵFactoryDeclaration<AsorWidgetComponent, never>;
2531
2549
  static ɵcmp: i0.ɵɵComponentDeclaration<AsorWidgetComponent, "asor-core-widget", never, { "mode": { "alias": "mode"; "required": false; }; }, {}, never, never, true, never>;
2532
2550
  }
2533
2551
 
2534
- 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, NotifyErrorService, ObjectUtils, RandomUtils, RoutingUtility, StateConst, StateService, StringUtils, TranslatePipe, TranslateUtility };
2552
+ 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, NotifyErrorService, ObjectUtils, RandomUtils, RoutingUtility, StateConst, StateService, StringUtils, TranslatePipe, TranslateUtility, createFlattenedReactiveProxy };
2535
2553
  export type { AsorWidgetMode, Constructor, CreateDataSetOption, DataElement, DataMethod, EncryptType, GenerateType, IAsorRoute, IAuth, IComp, ICompStatic, IComponent, IConnectDataSet, IConsoleLoggable, ICreateDataSet, IHttpAuthSubscribe, IHttpFormError, IHttpRequest, IHttpRequestHandlerConfig, IHttpResponseError, IHttpSubscribe, IMolecule, IPath, IStorageHandler, LogClassConfig, LogEntry, LogLevel, RegistryEntry, StateHandlerConfig, StoreType, UpdateDataSetOption };
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@asor-studio/asor-core",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "peerDependencies": {
5
- "@angular/common": "^20.3.0",
6
- "@angular/core": "^20.3.0"
5
+ "@angular/common": "^20.3.0 || ^21.0.0",
6
+ "@angular/core": "^20.3.0 || ^21.0.0",
7
+ "crypto-js": "^4.2.0"
7
8
  },
8
9
  "dependencies": {
9
10
  "tslib": "^2.3.0"