@dereekb/dbx-form 9.16.2 → 9.16.3

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.
@@ -6,7 +6,7 @@
6
6
 
7
7
  // MARK: Mixin
8
8
  @mixin core() {
9
- .example-custom-placeholder {
9
+ .dbx-form-repeat-array-drag-placeholder {
10
10
  background: #ccc;
11
11
  border: dotted 3px #999;
12
12
  min-height: 100px;
@@ -37,6 +37,10 @@
37
37
  padding: 6px;
38
38
  }
39
39
  }
40
+
41
+ .dbx-form-repeat-array-footer {
42
+ margin-top: 6px;
43
+ }
40
44
  }
41
45
  }
42
46
 
@@ -1,20 +1,55 @@
1
1
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
2
- import { FactoryWithInput, Maybe } from '@dereekb/util';
2
+ import { DecisionFunction, FactoryWithRequiredInput, IndexRef, Maybe } from '@dereekb/util';
3
3
  import { FieldArrayTypeConfig, FieldArrayType, FormlyFieldConfig, FormlyFieldProps } from '@ngx-formly/core';
4
4
  import * as i0 from "@angular/core";
5
- export interface DbxFormRepeatArrayConfig extends FormlyFieldProps {
6
- labelForField?: string | FactoryWithInput<string, FormlyFieldConfig>;
5
+ export interface DbxFormRepeatArrayPair<T = unknown> extends IndexRef {
6
+ value: T;
7
+ }
8
+ export interface DbxFormRepeatArrayFieldConfigPair<T = unknown> extends DbxFormRepeatArrayPair<T> {
9
+ fieldConfig: FormlyFieldConfig;
10
+ }
11
+ export interface DbxFormRepeatArrayConfig<T = unknown> extends Pick<FormlyFieldProps, 'maxLength' | 'label' | 'description'> {
12
+ labelForField?: string | FactoryWithRequiredInput<string, DbxFormRepeatArrayFieldConfigPair<T>>;
13
+ /**
14
+ * Text for the add button.
15
+ */
7
16
  addText?: string;
17
+ /**
18
+ * Text for the remove button.
19
+ */
8
20
  removeText?: string;
21
+ /**
22
+ * Whethe or not to disable rearranging items.
23
+ *
24
+ * False by default.
25
+ */
26
+ disableRearrange?: boolean;
27
+ /**
28
+ * Wether or not to show the add button.
29
+ *
30
+ * True by default.
31
+ */
32
+ allowAdd?: boolean;
33
+ /**
34
+ * Whether or not to allow removing items. Can optionally pass a decision function that decides whether or not a specific item can be removed.
35
+ */
36
+ allowRemove?: boolean | DecisionFunction<DbxFormRepeatArrayPair<T>>;
9
37
  }
10
- export declare class DbxFormRepeatArrayTypeComponent extends FieldArrayType<FieldArrayTypeConfig<DbxFormRepeatArrayConfig>> {
38
+ export declare class DbxFormRepeatArrayTypeComponent<T = unknown> extends FieldArrayType<FieldArrayTypeConfig<DbxFormRepeatArrayConfig>> {
39
+ private _labelForField;
40
+ private _allowRemove;
11
41
  get repeatArrayField(): DbxFormRepeatArrayConfig;
12
42
  get label(): string;
43
+ get description(): Maybe<string>;
13
44
  get addText(): string;
14
45
  get removeText(): string;
15
46
  get max(): Maybe<number>;
16
47
  get count(): number;
17
- get canAdd(): boolean;
48
+ get disableRearrange(): boolean;
49
+ get allowAdd(): boolean;
50
+ allowRemove(i: number): boolean;
51
+ get addItemDisabled(): boolean;
52
+ get canAddItem(): boolean;
18
53
  /**
19
54
  * Moves the target index up one value.
20
55
  *
@@ -24,7 +59,7 @@ export declare class DbxFormRepeatArrayTypeComponent extends FieldArrayType<Fiel
24
59
  moveDown(index: number): void;
25
60
  swapIndexes(currentIndex: number, targetIndex: number): void;
26
61
  drop(event: CdkDragDrop<unknown>): void;
27
- labelForItem(field: FormlyFieldConfig): string;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<DbxFormRepeatArrayTypeComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<DbxFormRepeatArrayTypeComponent, "ng-component", never, {}, {}, never, never, false>;
62
+ labelForItem(fieldConfig: FormlyFieldConfig, i: number): string;
63
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbxFormRepeatArrayTypeComponent<any>, never>;
64
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbxFormRepeatArrayTypeComponent<any>, "ng-component", never, {}, {}, never, never, false>;
30
65
  }
@@ -2,24 +2,25 @@ import { ArrayOrValue } from '@dereekb/util';
2
2
  import { FormlyFieldConfig } from '@ngx-formly/core';
3
3
  import { FieldConfig } from '../../field';
4
4
  import { DbxFormRepeatArrayConfig } from './array.field.component';
5
- export interface RepeatArrayFieldConfig extends DbxFormRepeatArrayConfig, FieldConfig {
6
- label?: string;
5
+ export interface RepeatArrayFieldConfig<T = unknown> extends DbxFormRepeatArrayConfig<T>, FieldConfig {
7
6
  repeatFieldGroup: ArrayOrValue<FormlyFieldConfig>;
8
- maxLength?: number;
9
7
  }
10
- export declare function repeatArrayField(config: RepeatArrayFieldConfig): {
8
+ export declare function repeatArrayField<T = unknown>(config: RepeatArrayFieldConfig<T>): {
11
9
  fieldArray: {
12
10
  fieldGroup: FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
13
11
  [additionalProperties: string]: any;
14
12
  }>[];
15
13
  };
16
14
  props: Partial<import("@ngx-formly/core").FormlyFieldProps> & Partial<FieldConfig> & Partial<import("../../field").LabeledFieldConfig> & Partial<import("../../field").AttributesFieldConfig> & Partial<import("../../field").DescriptionFieldConfig> & {
15
+ label: string | undefined;
16
+ description: string | undefined;
17
17
  maxLength: number | undefined;
18
- labelForField: string | import("@dereekb/util").FactoryWithInput<string, FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
19
- [additionalProperties: string]: any;
20
- }>> | undefined;
18
+ labelForField: string | import("@dereekb/util").FactoryWithRequiredInput<string, import("./array.field.component").DbxFormRepeatArrayFieldConfigPair<T>> | undefined;
21
19
  addText: string | undefined;
22
20
  removeText: string | undefined;
21
+ disableRearrange: boolean | undefined;
22
+ allowAdd: boolean | undefined;
23
+ allowRemove: boolean | import("@dereekb/util").DecisionFunction<import("./array.field.component").DbxFormRepeatArrayPair<T>> | undefined;
23
24
  };
24
25
  expressions: {
25
26
  [property: string]: string | import("rxjs").Observable<any> | ((field: FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-form/mapbox",
3
- "version": "9.16.2",
3
+ "version": "9.16.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.1.0",
6
6
  "@angular/core": "^14.1.0",
7
7
  "@angular/forms": "^14.0.0",
8
- "@dereekb/dbx-web": "9.16.2",
8
+ "@dereekb/dbx-web": "9.16.3",
9
9
  "@ngx-formly/core": "6.0.0-rc.2",
10
10
  "@ngx-formly/material": "6.0.0-rc.2",
11
11
  "@ng-web-apis/geolocation": "^2.0.0",
12
12
  "mapbox-gl": "^2.9.2",
13
- "@dereekb/dbx-web/mapbox": "9.16.2",
14
- "@dereekb/dbx-form": "9.16.2"
13
+ "@dereekb/dbx-web/mapbox": "9.16.3",
14
+ "@dereekb/dbx-form": "9.16.3"
15
15
  },
16
16
  "dependencies": {
17
17
  "tslib": "^2.3.0"
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-form",
3
- "version": "9.16.2",
3
+ "version": "9.16.3",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.0.0",
6
6
  "@angular/core": "^14.0.0",
7
7
  "lodash.clonedeep": "^4.5.0",
8
- "@dereekb/dbx-core": "9.16.2",
8
+ "@dereekb/dbx-core": "9.16.3",
9
9
  "@angular/material": "^14.0.0",
10
- "@dereekb/dbx-web": "9.16.2",
10
+ "@dereekb/dbx-web": "9.16.3",
11
11
  "@angular/forms": "^14.0.0",
12
12
  "@ngx-formly/core": "6.0.0-rc.2",
13
13
  "@ngx-formly/material": "6.0.0-rc.2",
14
14
  "change-case": "^4.1.2",
15
15
  "ngx-editor": "^15.0.0",
16
16
  "ngx-mat-intl-tel-input": "^5.0.0",
17
- "@dereekb/model": "9.16.2"
17
+ "@dereekb/model": "9.16.3"
18
18
  },
19
19
  "dependencies": {
20
20
  "tslib": "^2.3.0"