spiderly 19.8.3 → 19.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/agent/docs/angular-customization/SKILL.md +389 -0
  2. package/agent/docs/angular-customization/references/controls.generated.md +23 -0
  3. package/agent/docs/angular-customization/references/helper-functions.generated.md +39 -0
  4. package/agent/docs/angular-customization/references/ui-control-types.generated.md +24 -0
  5. package/agent/docs/angular-customization/references/validators.generated.md +13 -0
  6. package/agent/docs/authorization/SKILL.md +385 -0
  7. package/agent/docs/authorization/references/api-error-codes.generated.md +17 -0
  8. package/agent/docs/authorization/references/security-endpoints.generated.md +24 -0
  9. package/agent/docs/backend-hooks/SKILL.md +231 -0
  10. package/agent/docs/backend-localization/SKILL.md +170 -0
  11. package/agent/docs/backend-testing/SKILL.md +65 -0
  12. package/agent/docs/custom-endpoints/SKILL.md +409 -0
  13. package/agent/docs/e2e-testing/SKILL.md +139 -0
  14. package/agent/docs/entity-design/SKILL.md +346 -0
  15. package/agent/docs/entity-design/references/attributes.generated.md +53 -0
  16. package/agent/docs/file-storage/SKILL.md +262 -0
  17. package/agent/docs/filtering-patterns/SKILL.md +127 -0
  18. package/agent/docs/filtering-patterns/references/match-mode-codes.generated.md +15 -0
  19. package/agent/docs/frontend-localization/SKILL.md +120 -0
  20. package/agent/docs/mapper-customization/SKILL.md +105 -0
  21. package/agent/manifest.json +34 -0
  22. package/agent/skills/add-entity/SKILL.md +158 -0
  23. package/agent/skills/deployment/SKILL.md +551 -0
  24. package/agent/skills/ef-migrations/SKILL.md +49 -0
  25. package/agent/skills/report-gap/SKILL.md +110 -0
  26. package/agent/skills/report-gap/scripts/build-issue-url.mjs +82 -0
  27. package/agent/skills/spiderly-upgrade/SKILL.md +165 -0
  28. package/agent/skills/verify-ui/SKILL.md +148 -0
  29. package/agent/skills/verify-ui/scripts/get-admin-token.mjs +134 -0
  30. package/fesm2022/spiderly.mjs +14 -8
  31. package/fesm2022/spiderly.mjs.map +1 -1
  32. package/lib/components/auth/login/login.component.d.ts +1 -1
  33. package/lib/components/spiderly-data-table/spiderly-data-table.component.d.ts +29 -3
  34. package/lib/errors/api-error-codes.d.ts +1 -0
  35. package/package.json +1 -1
@@ -29,5 +29,5 @@ export declare class SpiderlyLoginComponent extends BaseFormComponent implements
29
29
  initLoginFormGroup(model: Login): void;
30
30
  sendLoginVerificationEmail(): void;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<SpiderlyLoginComponent, never>;
32
- static ɵcmp: i0.ɵɵComponentDeclaration<SpiderlyLoginComponent, "spiderly-login", never, { "providerIcons": { "alias": "providerIcons"; "required": false; }; }, {}, never, never, true, never>;
32
+ static ɵcmp: i0.ɵɵComponentDeclaration<SpiderlyLoginComponent, "spiderly-login", never, { "providerIcons": { "alias": "providerIcons"; "required": false; }; }, {}, never, ["[loginExtra]"], true, never>;
33
33
  }
@@ -120,7 +120,7 @@ export declare class SpiderlyDataTableComponent implements OnInit, AfterViewInit
120
120
  getStyleForBodyColumn(col: Column<any>): string;
121
121
  getClassForAction(action: Action): string;
122
122
  getStyleForAction(action: Action): string;
123
- getMethodForAction(action: Action, rowData: any): void;
123
+ getMethodForAction(action: Action, rowData: any, event: MouseEvent): void;
124
124
  getRowData(rowData: any, col: Column): string;
125
125
  colTrackByFn(index: any, item: any): any;
126
126
  actionTrackByFn(index: any, item: Action): string;
@@ -142,14 +142,22 @@ export declare class Action {
142
142
  icon?: string;
143
143
  style?: string;
144
144
  styleClass?: string;
145
- onClick?: (id: number) => void;
145
+ /**
146
+ * Fired when a custom action is clicked. Receives an {@link ActionClickEvent} with the
147
+ * row id, the full row object, the clicked DOM element (use it to anchor an overlay/popover),
148
+ * and the original `MouseEvent`.
149
+ *
150
+ * Only fires for custom actions — the built-in `field` values `'Details'` and `'Delete'`
151
+ * are handled internally and never invoke `onClick`.
152
+ */
153
+ onClick?: (event: ActionClickEvent) => void;
146
154
  constructor({ name, field, icon, style, styleClass, onClick, }?: {
147
155
  name?: string;
148
156
  field?: string;
149
157
  icon?: string;
150
158
  style?: string;
151
159
  styleClass?: string;
152
- onClick?: (id: number) => void;
160
+ onClick?: (event: ActionClickEvent) => void;
153
161
  });
154
162
  }
155
163
  export declare class Column<T = any> {
@@ -182,6 +190,24 @@ export declare class Column<T = any> {
182
190
  sortable?: boolean;
183
191
  });
184
192
  }
193
+ /**
194
+ * Payload passed to {@link Action.onClick} when a custom row action is clicked.
195
+ * Every field is populated by the data table, so consumers can rely on them being present.
196
+ */
197
+ export interface ActionClickEvent {
198
+ /** The clicked row's id (`row[idField]`). */
199
+ id: number;
200
+ /** The full row object the action belongs to. */
201
+ row: any;
202
+ /**
203
+ * The clicked action element — pass it as the anchor when opening an overlay/popover.
204
+ * Captured at click time on purpose: `originalEvent.currentTarget` is reset to null once
205
+ * dispatch ends, so it would already be null inside an async handler.
206
+ */
207
+ element: HTMLElement;
208
+ /** The original DOM click event. */
209
+ originalEvent: MouseEvent;
210
+ }
185
211
  export declare class RowClickEvent {
186
212
  index?: number;
187
213
  id?: number;
@@ -10,5 +10,6 @@ export declare const ApiErrorCodes: {
10
10
  readonly ConcurrencyConflict: "concurrency_conflict";
11
11
  readonly EmailNotVerified: "email_not_verified";
12
12
  readonly ExternalProviderNotConfigured: "external_provider_not_configured";
13
+ readonly ExternalEmailMissing: "external_email_missing";
13
14
  };
14
15
  export type ApiErrorCode = (typeof ApiErrorCodes)[keyof typeof ApiErrorCodes];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spiderly",
3
- "version": "19.8.3",
3
+ "version": "19.8.5",
4
4
  "author": "Filip Trivan",
5
5
  "license": "MIT",
6
6
  "description": "Spiderly Angular Library to use in combination with Spiderly.",