lucid-extension-sdk 0.0.46 → 0.0.50

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lucid-extension-sdk",
3
- "version": "0.0.46",
3
+ "version": "0.0.50",
4
4
  "description": "Utility classes for writing Lucid Software editor extensions",
5
5
  "main": "sdk/index.js",
6
6
  "types": "sdk/index.d.ts",
@@ -0,0 +1,88 @@
1
+ import { HorizontalBadgePos, VerticalBadgePos } from '../properties/datagraphic/badgeposition';
2
+ /**
3
+ * When configuring a field on a LucidCardBlock to be displayed as a data graphic, one of these values specifies
4
+ * the function to convert the field value to the data graphic settings. The definition of these functions is in
5
+ * LucidCardsLibrary.registerStencilDisplayTypes.
6
+ */
7
+ export declare enum FieldDisplayType {
8
+ /**
9
+ * Text badge with the full text of the field.
10
+ * Black text on a light gray background in the upper-right of the card.
11
+ */
12
+ BasicTextBadge = "BasicTextBadge",
13
+ /**
14
+ * Given a name (usually of a user), puts a text badge with their initials (first letter of each name)
15
+ * at the bottom-left of the card, black text on a light gray background.
16
+ */
17
+ InitializedString = "InitializedString",
18
+ /**
19
+ * Given a number, display the number in the bottom-left of the card. If the number is higher than 999,
20
+ * display 999.
21
+ */
22
+ StandardEstimation = "StandardEstimation"
23
+ }
24
+ export declare const isFieldDisplayType: (x: unknown) => x is FieldDisplayType;
25
+ /**
26
+ * When configuring a field on a LucidCardBlock to be displayed as a data graphic, this click handler value
27
+ * specifies what to do when the user clicks on the data graphic produced.
28
+ */
29
+ export declare enum OnClickHandlerKeys {
30
+ /**
31
+ * Display the UI panel to edit fields on the data associated with the card
32
+ */
33
+ BasicEditPanel = "BasicEditPanel"
34
+ }
35
+ export declare const isOnClickHandlerKey: (x: unknown) => x is OnClickHandlerKeys.BasicEditPanel;
36
+ export interface StencilConfig {
37
+ /**
38
+ * How should we generate the stencil/data graphic from the specified field value?
39
+ * These are registered in LucidCardsLibrary.registerStencilDisplayTypes.
40
+ */
41
+ displayType: FieldDisplayType;
42
+ /**
43
+ * For displayType values that support it, you may provide an override for the
44
+ * background color for this data. If this is not provided, the background color
45
+ * will default to the background color of the card itself, darkened 5%.
46
+ *
47
+ * This may be provided as a literal color hex, e.g. "#00ff00ff" or as a formula
48
+ * by starting the string with "=", e.g. "=darken("#ffffff", 0.5)"
49
+ */
50
+ backgroundColor?: string;
51
+ /**
52
+ * Each display type has its default location on the card. You can override those
53
+ * default locations by setting these values.
54
+ */
55
+ horizontalPosition?: HorizontalBadgePos;
56
+ /**
57
+ * Each display type has its default location on the card. You can override those
58
+ * default locations by setting these values.
59
+ */
60
+ verticalPosition?: VerticalBadgePos;
61
+ /**
62
+ * If specified, what behavior should happen when the user clicks on the data graphic
63
+ * generated via the above displayType?
64
+ */
65
+ onClickHandlerKey?: OnClickHandlerKeys;
66
+ }
67
+ /**
68
+ * Configuration settings for how to display a particular field on the card itself.
69
+ * Currently only used for adding custom data graphics with stencils.
70
+ */
71
+ export interface LucidCardFieldDisplaySettings {
72
+ stencilConfig?: StencilConfig;
73
+ }
74
+ /** @ignore */
75
+ export declare type SerializedLucidCardFieldDisplaySettings = {
76
+ 'StencilConfig'?: {
77
+ /** Since renamed to displayType, but we can't change the serialized name */
78
+ 'getterKey': FieldDisplayType;
79
+ 'bg'?: string;
80
+ 'h'?: HorizontalBadgePos;
81
+ 'v'?: VerticalBadgePos;
82
+ 'onClickHandlerKey'?: OnClickHandlerKeys;
83
+ };
84
+ };
85
+ /** @ignore */
86
+ export declare function serializeLucidCardFieldDisplaySettings(settings: LucidCardFieldDisplaySettings): SerializedLucidCardFieldDisplaySettings;
87
+ /** @ignore */
88
+ export declare function deserializeLucidCardFieldDisplaySettings(settings: SerializedLucidCardFieldDisplaySettings): LucidCardFieldDisplaySettings;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeLucidCardFieldDisplaySettings = exports.serializeLucidCardFieldDisplaySettings = exports.isOnClickHandlerKey = exports.OnClickHandlerKeys = exports.isFieldDisplayType = exports.FieldDisplayType = void 0;
4
+ const validators_1 = require("../validators/validators");
5
+ /**
6
+ * When configuring a field on a LucidCardBlock to be displayed as a data graphic, one of these values specifies
7
+ * the function to convert the field value to the data graphic settings. The definition of these functions is in
8
+ * LucidCardsLibrary.registerStencilDisplayTypes.
9
+ */
10
+ var FieldDisplayType;
11
+ (function (FieldDisplayType) {
12
+ /**
13
+ * Text badge with the full text of the field.
14
+ * Black text on a light gray background in the upper-right of the card.
15
+ */
16
+ FieldDisplayType["BasicTextBadge"] = "BasicTextBadge";
17
+ /**
18
+ * Given a name (usually of a user), puts a text badge with their initials (first letter of each name)
19
+ * at the bottom-left of the card, black text on a light gray background.
20
+ */
21
+ FieldDisplayType["InitializedString"] = "InitializedString";
22
+ /**
23
+ * Given a number, display the number in the bottom-left of the card. If the number is higher than 999,
24
+ * display 999.
25
+ */
26
+ FieldDisplayType["StandardEstimation"] = "StandardEstimation";
27
+ })(FieldDisplayType = exports.FieldDisplayType || (exports.FieldDisplayType = {}));
28
+ exports.isFieldDisplayType = (0, validators_1.enumValidator)(FieldDisplayType);
29
+ /**
30
+ * When configuring a field on a LucidCardBlock to be displayed as a data graphic, this click handler value
31
+ * specifies what to do when the user clicks on the data graphic produced.
32
+ */
33
+ var OnClickHandlerKeys;
34
+ (function (OnClickHandlerKeys) {
35
+ /**
36
+ * Display the UI panel to edit fields on the data associated with the card
37
+ */
38
+ OnClickHandlerKeys["BasicEditPanel"] = "BasicEditPanel";
39
+ })(OnClickHandlerKeys = exports.OnClickHandlerKeys || (exports.OnClickHandlerKeys = {}));
40
+ exports.isOnClickHandlerKey = (0, validators_1.enumValidator)(OnClickHandlerKeys);
41
+ /** @ignore */
42
+ function serializeLucidCardFieldDisplaySettings(settings) {
43
+ return {
44
+ 'StencilConfig': settings.stencilConfig && {
45
+ 'getterKey': settings.stencilConfig.displayType,
46
+ 'bg': settings.stencilConfig.backgroundColor,
47
+ 'h': settings.stencilConfig.horizontalPosition,
48
+ 'v': settings.stencilConfig.verticalPosition,
49
+ 'onClickHandlerKey': settings.stencilConfig.onClickHandlerKey,
50
+ },
51
+ };
52
+ }
53
+ exports.serializeLucidCardFieldDisplaySettings = serializeLucidCardFieldDisplaySettings;
54
+ /** @ignore */
55
+ function deserializeLucidCardFieldDisplaySettings(settings) {
56
+ return {
57
+ stencilConfig: settings['StencilConfig'] && {
58
+ displayType: settings['StencilConfig']['getterKey'],
59
+ backgroundColor: settings['StencilConfig']['bg'],
60
+ horizontalPosition: settings['StencilConfig']['h'],
61
+ verticalPosition: settings['StencilConfig']['v'],
62
+ onClickHandlerKey: settings['StencilConfig']['onClickHandlerKey'],
63
+ },
64
+ };
65
+ }
66
+ exports.deserializeLucidCardFieldDisplaySettings = deserializeLucidCardFieldDisplaySettings;
@@ -5,6 +5,7 @@ import { isString } from '../checks';
5
5
  import { isSerializedFieldTypeDefinition } from '../data/fieldtypedefinition/fieldtypedefinition';
6
6
  import { FieldConstraintType, SerializedFieldDefinition } from '../data/serializedfield/serializedfielddefinition';
7
7
  import { isSerializedFieldType, SerializedFieldType } from '../data/serializedfield/serializedfields';
8
+ import { CardIntegrationConfig } from './cardintegrationconfig';
8
9
  /** For fields with Option or ApiOption type, the label and value for each available option */
9
10
  export interface ExtensionCardFieldOption {
10
11
  label: string;
@@ -72,25 +73,6 @@ export declare const isSerializedExtensionCardFieldDefinition: (subject: unknown
72
73
  export declare function deserializeCardFieldDefinition(field: SerializedExtensionCardFieldDefinition): ExtensionCardFieldDefinition;
73
74
  /** @ignore */
74
75
  export declare function deserializeCardFieldArrayDefinition(fields: SerializedExtensionCardFieldDefinition[]): ExtensionCardFieldDefinition[];
75
- export interface CardIntegrationConfig {
76
- /**
77
- * The data fields to be displayed on cards, as data-linked text fields
78
- */
79
- fieldNames: string[];
80
- /**
81
- * The field name to use as the displayed ID of the card, if any
82
- */
83
- idFieldName?: string;
84
- }
85
- /** @ignore */
86
- export declare type SerializedCardIntegrationConfig = {
87
- 'f': string[];
88
- 'id'?: string;
89
- };
90
- /** @ignore */
91
- export declare function serializeCardIntegrationConfig(config: CardIntegrationConfig): SerializedCardIntegrationConfig;
92
- /** @ignore */
93
- export declare function deserializeCardIntegrationConfig(raw: SerializedCardIntegrationConfig): CardIntegrationConfig;
94
76
  export interface CardIntegration {
95
77
  /**
96
78
  * Label used to identify the integration, e.g. "Jira", which will be used in menu items, etc.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deserializeCardIntegrationConfig = exports.serializeCardIntegrationConfig = exports.deserializeCardFieldArrayDefinition = exports.deserializeCardFieldDefinition = exports.isSerializedExtensionCardFieldDefinition = exports.isSerializedFieldConstraint = exports.isSerializedFieldOptions = exports.isSerializedFieldOption = exports.deserializeFieldOption = exports.serializeCardFieldArrayDefinition = exports.serializeCardFieldDefinition = exports.serializeCardFieldOption = void 0;
3
+ exports.deserializeCardFieldArrayDefinition = exports.deserializeCardFieldDefinition = exports.isSerializedExtensionCardFieldDefinition = exports.isSerializedFieldConstraint = exports.isSerializedFieldOptions = exports.isSerializedFieldOption = exports.deserializeFieldOption = exports.serializeCardFieldArrayDefinition = exports.serializeCardFieldDefinition = exports.serializeCardFieldOption = void 0;
4
4
  const schemadefinition_1 = require("../../data/schemadefinition");
5
5
  const checks_1 = require("../checks");
6
6
  const fieldtypedefinition_1 = require("../data/fieldtypedefinition/fieldtypedefinition");
@@ -64,19 +64,3 @@ function deserializeCardFieldArrayDefinition(fields) {
64
64
  return fields.map(deserializeCardFieldDefinition);
65
65
  }
66
66
  exports.deserializeCardFieldArrayDefinition = deserializeCardFieldArrayDefinition;
67
- /** @ignore */
68
- function serializeCardIntegrationConfig(config) {
69
- return {
70
- 'f': config.fieldNames,
71
- 'id': config.idFieldName,
72
- };
73
- }
74
- exports.serializeCardIntegrationConfig = serializeCardIntegrationConfig;
75
- /** @ignore */
76
- function deserializeCardIntegrationConfig(raw) {
77
- return {
78
- fieldNames: raw['f'],
79
- idFieldName: raw['id'],
80
- };
81
- }
82
- exports.deserializeCardIntegrationConfig = deserializeCardIntegrationConfig;
@@ -0,0 +1,25 @@
1
+ import { LucidCardFieldDisplaySettings, SerializedLucidCardFieldDisplaySettings } from './cardfielddisplaysettings';
2
+ export interface CardIntegrationConfig {
3
+ /**
4
+ * The data fields to be displayed on cards, as data-linked text fields
5
+ */
6
+ fieldNames: string[];
7
+ /**
8
+ * The data fields to be displayed on cards as data graphics
9
+ */
10
+ fieldDisplaySettings?: Map<string, LucidCardFieldDisplaySettings>;
11
+ /**
12
+ * The field name to use as the displayed ID of the card, if any
13
+ */
14
+ idFieldName?: string;
15
+ }
16
+ /** @ignore */
17
+ export declare type SerializedCardIntegrationConfig = {
18
+ 'f': string[];
19
+ 'fd'?: [string, SerializedLucidCardFieldDisplaySettings][];
20
+ 'id'?: string;
21
+ };
22
+ /** @ignore */
23
+ export declare function serializeCardIntegrationConfig(config: CardIntegrationConfig): SerializedCardIntegrationConfig;
24
+ /** @ignore */
25
+ export declare function deserializeCardIntegrationConfig(raw: SerializedCardIntegrationConfig): CardIntegrationConfig;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeCardIntegrationConfig = exports.serializeCardIntegrationConfig = void 0;
4
+ const cardfielddisplaysettings_1 = require("./cardfielddisplaysettings");
5
+ /** @ignore */
6
+ function serializeCardIntegrationConfig(config) {
7
+ return {
8
+ 'f': config.fieldNames,
9
+ 'fd': config.fieldDisplaySettings
10
+ ? [...config.fieldDisplaySettings].map(([key, settings]) => [
11
+ key,
12
+ (0, cardfielddisplaysettings_1.serializeLucidCardFieldDisplaySettings)(settings),
13
+ ])
14
+ : undefined,
15
+ 'id': config.idFieldName,
16
+ };
17
+ }
18
+ exports.serializeCardIntegrationConfig = serializeCardIntegrationConfig;
19
+ /** @ignore */
20
+ function deserializeCardIntegrationConfig(raw) {
21
+ return {
22
+ fieldNames: raw['f'],
23
+ fieldDisplaySettings: raw['fd']
24
+ ? new Map(raw['fd'].map(([key, settings]) => [key, (0, cardfielddisplaysettings_1.deserializeLucidCardFieldDisplaySettings)(settings)]))
25
+ : undefined,
26
+ idFieldName: raw['id'],
27
+ };
28
+ }
29
+ exports.deserializeCardIntegrationConfig = deserializeCardIntegrationConfig;
@@ -4,8 +4,7 @@ import { LiteralFieldType, SerializedLiteralFieldType } from './literalfieldtype
4
4
  import { NDimensionalFieldTypeArray, SerializedNDimensionalFieldTypeArray } from './ndimensionalfieldtypearray';
5
5
  import { ScalarFieldTypeEnum } from './scalarfieldtype';
6
6
  export declare type AnyFieldTypeArrayDefinition = FieldTypeArray | NDimensionalFieldTypeArray;
7
- export declare function isAnyFieldTypeArray(fieldType: BaseFieldTypeDefinition): fieldType is AnyFieldTypeArrayDefinition;
8
- export declare type BaseFieldTypeDefinition = ScalarFieldTypeEnum | LiteralFieldType | AnyFieldTypeArrayDefinition | CollectionEnumFieldType;
7
+ export declare type BaseFieldTypeDefinition = ScalarFieldTypeEnum | LiteralFieldType | FieldTypeArray | NDimensionalFieldTypeArray | CollectionEnumFieldType;
9
8
  export declare type SerializedBaseFieldTypeDefinition = ScalarFieldTypeEnum | SerializedLiteralFieldType | SerializedFieldTypeArray | SerializedNDimensionalFieldTypeArray | SerializedCollectionEnumFieldType;
10
9
  export declare function isBaseFieldTypeDefinition(fieldType: any): fieldType is BaseFieldTypeDefinition;
11
10
  export declare function serializeBaseFieldTypeDefinition(baseFieldType: BaseFieldTypeDefinition): SerializedBaseFieldTypeDefinition;
@@ -1,20 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSerializedBaseFieldTypeDefinition = exports.deserializeBaseFieldTypeDefinition = exports.serializeBaseFieldTypeDefinition = exports.isBaseFieldTypeDefinition = exports.isAnyFieldTypeArray = void 0;
3
+ exports.isSerializedBaseFieldTypeDefinition = exports.deserializeBaseFieldTypeDefinition = exports.serializeBaseFieldTypeDefinition = exports.isBaseFieldTypeDefinition = void 0;
4
4
  const checks_1 = require("../../checks");
5
5
  const collectionenumfieldtype_1 = require("./collectionenumfieldtype");
6
6
  const fieldtypearray_1 = require("./fieldtypearray");
7
7
  const literalfieldtype_1 = require("./literalfieldtype");
8
8
  const ndimensionalfieldtypearray_1 = require("./ndimensionalfieldtypearray");
9
9
  const scalarfieldtype_1 = require("./scalarfieldtype");
10
- function isAnyFieldTypeArray(fieldType) {
11
- return fieldType instanceof fieldtypearray_1.FieldTypeArray || fieldType instanceof ndimensionalfieldtypearray_1.NDimensionalFieldTypeArray;
12
- }
13
- exports.isAnyFieldTypeArray = isAnyFieldTypeArray;
14
10
  function isBaseFieldTypeDefinition(fieldType) {
15
11
  return ((0, scalarfieldtype_1.isScalarFieldTypeEnum)(fieldType) ||
16
12
  (0, literalfieldtype_1.isLiteralFieldType)(fieldType) ||
17
- isAnyFieldTypeArray(fieldType) ||
13
+ fieldType instanceof fieldtypearray_1.FieldTypeArray ||
14
+ fieldType instanceof ndimensionalfieldtypearray_1.NDimensionalFieldTypeArray ||
18
15
  (0, collectionenumfieldtype_1.isCollectionEnumFieldType)(fieldType));
19
16
  }
20
17
  exports.isBaseFieldTypeDefinition = isBaseFieldTypeDefinition;
@@ -1,3 +1,4 @@
1
+ import { FieldTypeDefinition } from './fieldtypedefinition';
1
2
  export declare const CollectionEnumFieldTypeKey = "COLLECTION_ENUM";
2
3
  /**
3
4
  * Contains the field names of all valid fields for a groovy metadata collection.
@@ -22,7 +23,7 @@ export declare class CollectionEnumFieldType {
22
23
  constructor(collectionId: string);
23
24
  serialize(): SerializedCollectionEnumFieldType;
24
25
  }
25
- export declare const isCollectionEnumFieldType: (fieldType: any) => fieldType is CollectionEnumFieldType;
26
+ export declare const isCollectionEnumFieldType: (fieldType: FieldTypeDefinition) => fieldType is CollectionEnumFieldType;
26
27
  export declare type SerializedCollectionEnumFieldType = {
27
28
  [CollectionEnumFieldTypeKey]: string;
28
29
  };
@@ -1,17 +1,22 @@
1
1
  import { CollectionEnumFieldType, SerializedCollectionEnumFieldType } from './collectionenumfieldtype';
2
2
  import { LiteralFieldType, SerializedLiteralFieldType } from './literalfieldtype';
3
3
  import { ScalarFieldTypeEnum } from './scalarfieldtype';
4
- export declare class FieldTypeArray {
5
- readonly validTypesArray: (ScalarFieldTypeEnum | CollectionEnumFieldType | LiteralFieldType | FieldTypeArray)[];
6
- constructor(validTypesArray: (ScalarFieldTypeEnum | CollectionEnumFieldType | LiteralFieldType | FieldTypeArray)[]);
7
- getInnerTypes(): (CollectionEnumFieldType | ScalarFieldTypeEnum | LiteralFieldType | FieldTypeArray)[];
8
- getInnerNonArrayTypes(): (CollectionEnumFieldType | ScalarFieldTypeEnum | LiteralFieldType | FieldTypeArray)[];
4
+ export declare abstract class BaseFieldTypeArray<Type> {
5
+ readonly validTypesArray: Type[];
6
+ constructor(validTypesArray: Type[]);
7
+ protected abstract serializeType(t: Type): SerializedFieldTypeArraySubTypes;
8
+ getInnerTypes(): Type[];
9
+ getInnerNonArrayTypes(): Exclude<Type, BaseFieldTypeArray<Type>>[];
9
10
  serialize(): SerializedFieldTypeArray;
10
11
  }
11
- export declare function isValidTypeForFieldTypeArray(fieldType: any): fieldType is ScalarFieldTypeEnum | LiteralFieldType | CollectionEnumFieldType | FieldTypeArray;
12
+ export declare type FieldTypeArraySubTypes = ScalarFieldTypeEnum | CollectionEnumFieldType | LiteralFieldType | FieldTypeArray;
13
+ export declare type SerializedFieldTypeArraySubTypes = ScalarFieldTypeEnum | SerializedLiteralFieldType | SerializedFieldTypeArray | SerializedCollectionEnumFieldType;
14
+ export declare class FieldTypeArray extends BaseFieldTypeArray<FieldTypeArraySubTypes> {
15
+ protected serializeType(t: FieldTypeArraySubTypes): string | SerializedCollectionEnumFieldType | ScalarFieldTypeEnum | SerializedFieldTypeArray;
16
+ }
12
17
  export declare type SerializedFieldTypeArray = {
13
18
  'ND': false;
14
- 'validTypes': (ScalarFieldTypeEnum | SerializedLiteralFieldType | SerializedFieldTypeArray | SerializedCollectionEnumFieldType)[];
19
+ 'validTypes': SerializedFieldTypeArraySubTypes[];
15
20
  };
16
21
  export declare function isSerializedFieldTypeArray(fieldType: any, validateTypeCheck: (t: unknown) => boolean): fieldType is SerializedFieldTypeArray;
17
22
  export declare function deserializeFieldTypeArray(serializedFieldTypeArray: SerializedFieldTypeArray): FieldTypeArray;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deserializeFieldTypeArray = exports.isSerializedFieldTypeArray = exports.isValidTypeForFieldTypeArray = exports.FieldTypeArray = void 0;
3
+ exports.deserializeFieldTypeArray = exports.isSerializedFieldTypeArray = exports.FieldTypeArray = exports.BaseFieldTypeArray = void 0;
4
4
  const checks_1 = require("../../checks");
5
5
  const collectionenumfieldtype_1 = require("./collectionenumfieldtype");
6
6
  const literalfieldtype_1 = require("./literalfieldtype");
7
7
  const scalarfieldtype_1 = require("./scalarfieldtype");
8
- class FieldTypeArray {
8
+ class BaseFieldTypeArray {
9
9
  constructor(validTypesArray) {
10
10
  this.validTypesArray = validTypesArray;
11
11
  }
@@ -13,23 +13,22 @@ class FieldTypeArray {
13
13
  return this.validTypesArray;
14
14
  }
15
15
  getInnerNonArrayTypes() {
16
- return this.validTypesArray.filter((innerType) => (0, scalarfieldtype_1.isScalarFieldTypeEnum)(innerType) || (0, literalfieldtype_1.isLiteralFieldType)(innerType));
16
+ return this.validTypesArray.filter((innerType) => !(innerType instanceof BaseFieldTypeArray));
17
17
  }
18
18
  serialize() {
19
19
  return {
20
20
  'ND': false,
21
- 'validTypes': this.validTypesArray.map((t) => ((0, scalarfieldtype_1.isScalarFieldTypeEnum)(t) ? t : t.serialize())),
21
+ 'validTypes': this.validTypesArray.map((t) => this.serializeType(t)),
22
22
  };
23
23
  }
24
24
  }
25
- exports.FieldTypeArray = FieldTypeArray;
26
- function isValidTypeForFieldTypeArray(fieldType) {
27
- return ((0, scalarfieldtype_1.isScalarFieldTypeEnum)(fieldType) ||
28
- (0, literalfieldtype_1.isLiteralFieldType)(fieldType) ||
29
- (0, collectionenumfieldtype_1.isCollectionEnumFieldType)(fieldType) ||
30
- fieldType instanceof FieldTypeArray);
25
+ exports.BaseFieldTypeArray = BaseFieldTypeArray;
26
+ class FieldTypeArray extends BaseFieldTypeArray {
27
+ serializeType(t) {
28
+ return (0, scalarfieldtype_1.isScalarFieldTypeEnum)(t) ? t : t.serialize();
29
+ }
31
30
  }
32
- exports.isValidTypeForFieldTypeArray = isValidTypeForFieldTypeArray;
31
+ exports.FieldTypeArray = FieldTypeArray;
33
32
  function isSerializedFieldTypeArray(fieldType, validateTypeCheck) {
34
33
  return ((0, checks_1.isObject)(fieldType) &&
35
34
  (0, checks_1.isBoolean)(fieldType['ND']) &&
@@ -1,13 +1,8 @@
1
1
  import { BaseFieldTypeDefinition, SerializedBaseFieldTypeDefinition } from './basefieldtypedefinition';
2
- import { NDimensionalFieldTypeArray } from './ndimensionalfieldtypearray';
3
- import { ScalarFieldTypeEnum } from './scalarfieldtype';
4
2
  export declare type FieldTypeDefinition = BaseFieldTypeDefinition | BaseFieldTypeDefinition[];
5
3
  export declare function fieldTypesEqual(a: FieldTypeDefinition, b: FieldTypeDefinition, checkEnumCollectionId?: boolean): boolean;
6
- export declare function isSubtypeOfFieldType(subType: FieldTypeDefinition, superTypes: FieldTypeDefinition): boolean;
7
- export declare const AnyFieldType: (ScalarFieldTypeEnum | NDimensionalFieldTypeArray)[];
8
- export declare function isAnyFieldType(type: FieldTypeDefinition): boolean;
9
- export declare const serializeFieldTypeDefinition: (fieldType: FieldTypeDefinition) => SerializedFieldTypeDefinition;
4
+ export declare function serializeFieldTypeDefinition(fieldType: BaseFieldTypeDefinition): SerializedBaseFieldTypeDefinition;
5
+ export declare function serializeFieldTypeDefinition(fieldType: FieldTypeDefinition): SerializedFieldTypeDefinition;
10
6
  export declare const deserializeFieldTypeDefinition: (serializedFieldType: SerializedFieldTypeDefinition) => FieldTypeDefinition;
11
- export declare const SerializedAnyFieldType: SerializedFieldTypeDefinition;
12
7
  export declare type SerializedFieldTypeDefinition = SerializedBaseFieldTypeDefinition | SerializedBaseFieldTypeDefinition[];
13
8
  export declare function isSerializedFieldTypeDefinition(definition: any): definition is SerializedFieldTypeDefinition;
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSerializedFieldTypeDefinition = exports.SerializedAnyFieldType = exports.deserializeFieldTypeDefinition = exports.serializeFieldTypeDefinition = exports.isAnyFieldType = exports.AnyFieldType = exports.isSubtypeOfFieldType = exports.fieldTypesEqual = void 0;
3
+ exports.isSerializedFieldTypeDefinition = exports.deserializeFieldTypeDefinition = exports.serializeFieldTypeDefinition = exports.fieldTypesEqual = void 0;
4
4
  const checks_1 = require("../../checks");
5
5
  const basefieldtypedefinition_1 = require("./basefieldtypedefinition");
6
6
  const collectionenumfieldtype_1 = require("./collectionenumfieldtype");
7
7
  const fieldtypearray_1 = require("./fieldtypearray");
8
8
  const literalfieldtype_1 = require("./literalfieldtype");
9
9
  const ndimensionalfieldtypearray_1 = require("./ndimensionalfieldtypearray");
10
- const scalarfieldtype_1 = require("./scalarfieldtype");
11
10
  function fieldTypesEqual(a, b, checkEnumCollectionId = true) {
12
11
  if (a === b) {
13
12
  return true;
@@ -54,90 +53,14 @@ function fieldTypesEqual(a, b, checkEnumCollectionId = true) {
54
53
  return true;
55
54
  }
56
55
  exports.fieldTypesEqual = fieldTypesEqual;
57
- function isSubtypeOfFieldType(subType, superTypes) {
58
- if (!(0, checks_1.isArray)(superTypes)) {
59
- superTypes = [superTypes];
60
- }
61
- if ((0, checks_1.isArray)(subType)) {
62
- return subType.every((one) => isSubtypeOfFieldType(one, superTypes));
63
- }
64
- if (superTypes.includes(scalarfieldtype_1.ScalarFieldTypeEnum.ANY)) {
65
- return true;
66
- }
67
- if ((0, scalarfieldtype_1.isScalarFieldTypeEnum)(subType)) {
68
- return superTypes.includes(subType);
69
- }
70
- if ((0, literalfieldtype_1.isLiteralFieldType)(subType)) {
71
- if (superTypes.includes(subType.getScalarFieldType())) {
72
- return true;
73
- }
74
- const superLiteralTypes = superTypes.filter(literalfieldtype_1.isLiteralFieldType);
75
- if (superLiteralTypes.find((superLiteralType) => subType.getLiteral() === superLiteralType.getLiteral())) {
76
- return true;
77
- }
78
- const superArrayTypes = superTypes.filter(basefieldtypedefinition_1.isAnyFieldTypeArray);
79
- for (const superArrayType of superArrayTypes) {
80
- if (isSubtypeOfFieldType(subType, superArrayType.getInnerTypes())) {
81
- return true;
82
- }
83
- }
84
- return false;
85
- }
86
- if ((0, collectionenumfieldtype_1.isCollectionEnumFieldType)(subType)) {
87
- return superTypes.filter(collectionenumfieldtype_1.isCollectionEnumFieldType).some((ce) => ce.collectionId === subType.collectionId);
88
- }
89
- if ((0, ndimensionalfieldtypearray_1.isNDimensionalFieldTypeArray)(subType)) {
90
- const superNArrayTypes = superTypes.filter(ndimensionalfieldtypearray_1.isNDimensionalFieldTypeArray);
91
- return !!superNArrayTypes.find((superNArrayType) => isSubtypeOfFieldType(subType.validTypesArray, superNArrayType.validTypesArray));
92
- }
93
- const subTypeArrayInnerTypes = subType.getInnerTypes();
94
- const superArrayTypes = superTypes.filter(basefieldtypedefinition_1.isAnyFieldTypeArray);
95
- for (const superArrayType of superArrayTypes) {
96
- if (isSubtypeOfFieldType(subTypeArrayInnerTypes, superArrayType.getInnerTypes())) {
97
- return true;
98
- }
99
- }
100
- return false;
101
- }
102
- exports.isSubtypeOfFieldType = isSubtypeOfFieldType;
103
- exports.AnyFieldType = [...scalarfieldtype_1.AnyScalarFieldType, new ndimensionalfieldtypearray_1.NDimensionalFieldTypeArray(scalarfieldtype_1.AnyScalarFieldType)];
104
- function isAnyFieldType(type) {
105
- let nArray;
106
- if (type === scalarfieldtype_1.ScalarFieldTypeEnum.ANY ||
107
- type === exports.AnyFieldType ||
108
- ((0, checks_1.isArray)(type) &&
109
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.NUMBER) &&
110
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.STRING) &&
111
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.BOOLEAN) &&
112
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.COLOR) &&
113
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.DATE) &&
114
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.NULL) &&
115
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.DICTIONARY) &&
116
- type.includes(scalarfieldtype_1.ScalarFieldTypeEnum.CURRENCY) &&
117
- !type.some(literalfieldtype_1.isLiteralFieldType) &&
118
- (nArray = type.find(ndimensionalfieldtypearray_1.isNDimensionalFieldTypeArray)) &&
119
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.NUMBER) &&
120
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.STRING) &&
121
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.BOOLEAN) &&
122
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.COLOR) &&
123
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.DATE) &&
124
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.DICTIONARY) &&
125
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.NULL) &&
126
- nArray.validTypesArray.includes(scalarfieldtype_1.ScalarFieldTypeEnum.CURRENCY) &&
127
- !nArray.validTypesArray.some(literalfieldtype_1.isLiteralFieldType))) {
128
- return true;
129
- }
130
- return false;
131
- }
132
- exports.isAnyFieldType = isAnyFieldType;
133
- const serializeFieldTypeDefinition = (fieldType) => {
56
+ function serializeFieldTypeDefinition(fieldType) {
134
57
  if ((0, checks_1.isArray)(fieldType)) {
135
58
  return fieldType.map(basefieldtypedefinition_1.serializeBaseFieldTypeDefinition);
136
59
  }
137
60
  else {
138
61
  return (0, basefieldtypedefinition_1.serializeBaseFieldTypeDefinition)(fieldType);
139
62
  }
140
- };
63
+ }
141
64
  exports.serializeFieldTypeDefinition = serializeFieldTypeDefinition;
142
65
  const deserializeFieldTypeDefinition = (serializedFieldType) => {
143
66
  if ((0, checks_1.isArray)(serializedFieldType)) {
@@ -146,7 +69,6 @@ const deserializeFieldTypeDefinition = (serializedFieldType) => {
146
69
  return (0, basefieldtypedefinition_1.deserializeBaseFieldTypeDefinition)(serializedFieldType);
147
70
  };
148
71
  exports.deserializeFieldTypeDefinition = deserializeFieldTypeDefinition;
149
- exports.SerializedAnyFieldType = (0, exports.serializeFieldTypeDefinition)(exports.AnyFieldType);
150
72
  function isSerializedFieldTypeDefinition(definition) {
151
73
  if ((0, checks_1.isArray)(definition)) {
152
74
  return definition.every(basefieldtypedefinition_1.isSerializedBaseFieldTypeDefinition);
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaskManagementCardIntegration = void 0;
4
4
  const cardintegration_1 = require("../core/cardintegration/cardintegration");
5
+ const cardintegrationconfig_1 = require("../core/cardintegration/cardintegrationconfig");
5
6
  const collectiondefinition_1 = require("../data/collectiondefinition");
6
7
  const collectionproxy_1 = require("../data/collectionproxy");
7
8
  class TaskManagementCardIntegration {
@@ -26,7 +27,7 @@ class TaskManagementCardIntegration {
26
27
  const getDefaultConfigActionName = TaskManagementCardIntegration.nextHookName();
27
28
  this.client.registerAction(getDefaultConfigActionName, async (param) => {
28
29
  const collection = new collectionproxy_1.CollectionProxy(param['c'], this.client);
29
- return (0, cardintegration_1.serializeCardIntegrationConfig)(await card.getDefaultConfig(collection));
30
+ return (0, cardintegrationconfig_1.serializeCardIntegrationConfig)(await card.getDefaultConfig(collection));
30
31
  });
31
32
  let showIntroActionName = undefined;
32
33
  if (card.showIntro) {