@rockrms/obsidian-framework 18.1.0 → 18.2.4

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 (51) hide show
  1. package/package.json +1 -1
  2. package/types/Controls/Internal/EmailEditor/api.d.ts +2 -0
  3. package/types/Controls/Internal/EmailEditor/borderPicker.partial.obs.d.ts +39 -0
  4. package/types/Controls/Internal/EmailEditor/borderStylePicker.partial.obs.d.ts +37 -0
  5. package/types/Controls/Internal/EmailEditor/buttonWidthPicker.partial.obs.d.ts +28 -0
  6. package/types/Controls/Internal/EmailEditor/componentPropertyPanel.partial.obs.d.ts +17 -0
  7. package/types/Controls/Internal/EmailEditor/contentToggle.partial.obs.d.ts +38 -0
  8. package/types/Controls/Internal/EmailEditor/emailDesigner.partial.obs.d.ts +17 -3
  9. package/types/Controls/Internal/EmailEditor/emailIFrame.partial.obs.d.ts +17 -3
  10. package/types/Controls/Internal/EmailEditor/fontFamilyPicker.partial.obs.d.ts +17 -0
  11. package/types/Controls/Internal/EmailEditor/hrefPicker.partial.obs.d.ts +26 -0
  12. package/types/Controls/Internal/EmailEditor/letterCasePicker.partial.obs.d.ts +76 -0
  13. package/types/Controls/Internal/EmailEditor/lineHeightPicker2.partial.obs.d.ts +75 -0
  14. package/types/Controls/Internal/EmailEditor/percentRangeSlider.partial.obs.d.ts +55 -0
  15. package/types/Controls/Internal/EmailEditor/pixelBox.partial.obs.d.ts +75 -0
  16. package/types/Controls/Internal/EmailEditor/properties/buttonWidthProperty.partial.obs.d.ts +3 -3
  17. package/types/Controls/Internal/EmailEditor/properties/colorPickerProperty.partial.obs.d.ts +3 -3
  18. package/types/Controls/Internal/EmailEditor/propertyPanels/buttonComponentPropertyPanel.partial.obs.d.ts +21 -5
  19. package/types/Controls/Internal/EmailEditor/propertyPanels/codeComponentPropertyPanel.partial.obs.d.ts +2 -3
  20. package/types/Controls/Internal/EmailEditor/propertyPanels/dividerComponentPropertyPanel.partial.obs.d.ts +9 -0
  21. package/types/Controls/Internal/EmailEditor/propertyPanels/globalPropertyPanel.partial.obs.d.ts +35 -2
  22. package/types/Controls/Internal/EmailEditor/providers.partial.d.ts +3 -21
  23. package/types/Controls/Internal/EmailEditor/shorthandBorderStylePicker.partial.obs.d.ts +37 -0
  24. package/types/Controls/Internal/EmailEditor/shorthandColorPicker.partial.obs.d.ts +82 -0
  25. package/types/Controls/Internal/EmailEditor/shorthandDropDownList.partial.obs.d.ts +91 -0
  26. package/types/Controls/Internal/EmailEditor/shorthandPixelBox.partial.obs.d.ts +82 -0
  27. package/types/Controls/Internal/EmailEditor/sidePanel.partial.obs.d.ts +31 -1
  28. package/types/Controls/Internal/EmailEditor/textAlignmentPicker.partial.obs.d.ts +76 -0
  29. package/types/Controls/Internal/EmailEditor/textFormatPicker2.partial.obs.d.ts +104 -0
  30. package/types/Controls/Internal/EmailEditor/types.partial.d.ts +507 -5
  31. package/types/Controls/Internal/EmailEditor/utils.partial.d.ts +63 -115
  32. package/types/Controls/checkBox.obs.d.ts +3 -9
  33. package/types/Controls/doughnutChart.obs.d.ts +364 -0
  34. package/types/Controls/htmlEditor.obs.d.ts +25 -0
  35. package/types/Core/Controls/chart.d.ts +6 -0
  36. package/types/Enums/Group/appliesToPlacementConfiguration.d.ts +13 -0
  37. package/types/PageState/index.d.ts +1 -0
  38. package/types/PageState/state.d.ts +0 -1
  39. package/types/SystemGuids/serviceJob.d.ts +4 -2
  40. package/types/Utility/dom.d.ts +10 -0
  41. package/types/Utility/lava.d.ts +2 -0
  42. package/types/Utility/linq.d.ts +5 -20
  43. package/types/ViewModels/Blocks/Communication/Chat/ChatConfiguration/chatConfigurationBag.d.ts +3 -0
  44. package/types/ViewModels/Blocks/Communication/Chat/ChatView/chatPersonDataBag.d.ts +3 -0
  45. package/types/ViewModels/Blocks/Core/DefinedTypeList/definedTypeListOptionsBag.d.ts +0 -2
  46. package/types/ViewModels/Blocks/Engagement/StepProgramDetail/stepStatusBag.d.ts +1 -4
  47. package/types/ViewModels/Blocks/Event/RegistrationEntry/persistSessionResponseBag.d.ts +34 -0
  48. package/types/ViewModels/Blocks/Group/GroupPlacement/personFiltersBag.d.ts +56 -0
  49. package/types/ViewModels/Blocks/Group/GroupPlacement/placementConfigurationSettingsBag.d.ts +4 -0
  50. package/types/ViewModels/Blocks/Reporting/DynamicData/gridResultsBag.d.ts +0 -8
  51. package/types/ViewModels/Rest/Controls/emailEditorGetGroupOptionsBag.d.ts +36 -0
@@ -0,0 +1,13 @@
1
+ /** Represents the different modes Person Filters can apply to when configuring Group Placements. */
2
+ export declare const AppliesToPlacementConfiguration: {
3
+ /** Person Filters should only be applied in the "People To Place" Panel. */
4
+ readonly PeopleToPlace: 0;
5
+ /** Person Filters should only be applied in the "Destination Groups" Panel. */
6
+ readonly DestinationGroupMembers: 1;
7
+ /** Person Filters should be applied to all people. */
8
+ readonly AllPeople: 2;
9
+ };
10
+ /** Represents the different modes Person Filters can apply to when configuring Group Placements. */
11
+ export declare const AppliesToPlacementConfigurationDescription: Record<number, string>;
12
+ /** Represents the different modes Person Filters can apply to when configuring Group Placements. */
13
+ export type AppliesToPlacementConfiguration = typeof AppliesToPlacementConfiguration[keyof typeof AppliesToPlacementConfiguration];
@@ -9,6 +9,7 @@ export type PageDebugTiming = {
9
9
  export declare class Store {
10
10
  state: Readonly<State>;
11
11
  constructor();
12
+ /** @deprecated since v18.0 - This function will be removed in the future. */
12
13
  setAreSecondaryBlocksShown(areSecondaryBlocksShown: boolean): void;
13
14
  initialize(pageConfig: PageConfig): void;
14
15
  addPageDebugTiming(timing: PageDebugTiming): void;
@@ -2,7 +2,6 @@ import { Guid } from "@Obsidian/Types";
2
2
  import { DebugTiming } from "@Obsidian/ViewModels/Utility/debugTiming";
3
3
  import { CurrentPersonBag } from "@Obsidian/ViewModels/Crm/currentPersonBag";
4
4
  export type State = {
5
- areSecondaryBlocksShown: boolean;
6
5
  currentPerson: CurrentPersonBag | null;
7
6
  isAnonymousVisitor: boolean;
8
7
  pageParameters: Record<string, string>;
@@ -164,12 +164,14 @@ export declare const ServiceJob: {
164
164
  DataMigrations180PopulateCommunicationrecipientDelivereddatetime: string;
165
165
  /** The Job to run Post v18.0 Data Migrations to swap Block. */
166
166
  DataMigrations180SwapObsidianBlocks: string;
167
- /** The job to run Post v18.0 Data Migrations to update an existing index on the CommunicationRecipient table. */
168
- DataMigrations180UpdateCommunicationrecipientIndex: string;
169
167
  /** The job to run Post v18.0 Data Migrations to update the Manage My Account Page block setting for the recently-chopped Email Preference Entry block. */
170
168
  DataMigrations180UpdateEmailPreferenceEntryBlockManageMyAccountPage: string;
171
169
  /** The job to run Post v18.0 Data Migrations to update the Nameless Locations. */
172
170
  DataMigrations180UpdateNamelessLocations: string;
171
+ /** The job to run Post v18.1 Data Migrations to add a new index to the FinancialBatch table. */
172
+ DataMigrations181AddFinancialbatchIndex: string;
173
+ /** The job to run Post v18.1 Data Migrations to add indexes to improve communication prep performance. */
174
+ DataMigrations181AddIndexesForCommunicationPrep: string;
173
175
  /**
174
176
  * The Post Update Data Migration Job to chop the Schedule Detail, Asset Storage Provider Detail, Page Short Link Detail, Streak Type Detail,
175
177
  * Following Event Type Detail, Financial Batch Detail
@@ -86,3 +86,13 @@ export declare function removeWhiteSpaceFromElementAndChildElements(element: Ele
86
86
  * This is important for applying :empty styles.
87
87
  */
88
88
  export declare function removeWhiteSpaceFromChildElements(element: Document | Element, selector?: string): void;
89
+ /**
90
+ * Replaces an element's tag name with a new tag name, preserving attributes and children.
91
+ *
92
+ * Does not copy event listeners.
93
+ *
94
+ * @param oldElement The element to be replaced.
95
+ * @param newTagName The new tag name to use.
96
+ * @returns The newly created element with the new tag name.
97
+ */
98
+ export declare function replaceTagName<K extends keyof HTMLElementTagNameMap>(oldElement: HTMLElement, newTagName: K): HTMLElement;
@@ -1,4 +1,6 @@
1
1
  export declare function resolveMergeFields(template: string, mergeFields: Record<string, unknown>): string;
2
+ /** Determines whether the string potentially has lava variable {{ }} fields in it. */
3
+ export declare function hasLavaVariableFields(template: string): boolean;
2
4
  /** Determines whether the string potentially has lava command {% %} fields in it. */
3
5
  export declare function hasLavaCommandFields(template: string): boolean;
4
6
  /** Determines whether the string potentially has lava shortcode {[ ]} fields in it. */
@@ -199,6 +199,11 @@ export declare class Enumerable<T> {
199
199
  * @param iterableFactory - A factory function that produces an iterable.
200
200
  */
201
201
  constructor(iterableFactory: () => Iterable<T>);
202
+ /**
203
+ * Creates an empty Enumerable.
204
+ * @returns A new empty Enumerable instance.
205
+ */
206
+ static empty<T>(): Enumerable<T>;
202
207
  /**
203
208
  * Creates an Enumerable from a regular iterable (e.g., Array, Set).
204
209
  * @param iterable - An iterable to create the Enumerable from.
@@ -433,26 +438,6 @@ export declare class Enumerable<T> {
433
438
  * Enumerable.from([{x: 1}, {x: 5}]).min(e => e.x); // 1
434
439
  */
435
440
  min(selector: (item: T) => number): number | undefined;
436
- /**
437
- * Returns the maximum element of the sequence.
438
- *
439
- * @template T The type of the elements in the sequence.
440
- * @param selector A function to project each element to a numeric, comparable value.
441
- * @returns The maximum element or `undefined` if the sequence is empty.
442
- *
443
-
444
- let maxItem = selector(first.value);
445
-
446
- for (let next = self.next(); !next.done; next = self.next()) {
447
- const value = selector(next.value);
448
- if (value > maxItem) {
449
- maxItem = value;
450
- }
451
- }
452
-
453
- return maxItem;
454
- }
455
-
456
441
  /**
457
442
  * Filters the sequence and returns only elements of the specified type.
458
443
  * @template U The target type to filter by.
@@ -37,6 +37,9 @@ export type ChatConfigurationBag = {
37
37
  /** Gets or sets the list of data views that will be used to populate badges in the external chat application. */
38
38
  chatBadgeDataViews?: ListItemBag[] | null;
39
39
 
40
+ /** Gets or sets the data view that will be used to determine who has direct message access. */
41
+ directMessageAccessDataView?: ListItemBag | null;
42
+
40
43
  /** Gets or sets the system default for whether individuals can receive direct messages from anybody in the system. */
41
44
  isOpenDirectMessagingAllowed: boolean;
42
45
  };
@@ -35,6 +35,9 @@ export type ChatPersonDataBag = {
35
35
  /** Gets or sets a value indicating whether the individual is required to complete age verification before using chat features. */
36
36
  isAgeVerificationRequired: boolean;
37
37
 
38
+ /** Gets or sets a value indicating whether direct messaging is allowed for the individual. */
39
+ isDirectMessagingAllowed: boolean;
40
+
38
41
  /** Gets or sets the unique token used for authentication or session tracking in chat. */
39
42
  token?: string | null;
40
43
 
@@ -23,6 +23,4 @@
23
23
 
24
24
  /** The additional configuration options for the Defined Type List block. */
25
25
  export type DefinedTypeListOptionsBag = {
26
- /** Determines if the category column should be displayed. */
27
- showCategoryColumn: boolean;
28
26
  };
@@ -26,10 +26,7 @@ import { Guid } from "@Obsidian/Types";
26
26
  /** The step status details for the Step Program Detail workflow trigger grid. */
27
27
  export type StepStatusBag = {
28
28
  /** Gets or sets the unique identifier. */
29
- guid?: Guid | null;
30
-
31
- /** Gets or sets the Step Status identifier. */
32
- id: number;
29
+ guid: Guid;
33
30
 
34
31
  /** Gets or sets a value indicating whether this status is active. */
35
32
  isActive: boolean;
@@ -0,0 +1,34 @@
1
+ //------------------------------------------------------------------------------
2
+ // <auto-generated>
3
+ // This code was generated by the Rock.CodeGeneration project
4
+ // Changes to this file will be lost when the code is regenerated.
5
+ // </auto-generated>
6
+ //------------------------------------------------------------------------------
7
+ // <copyright>
8
+ // Copyright by the Spark Development Network
9
+ //
10
+ // Licensed under the Rock Community License (the "License");
11
+ // you may not use this file except in compliance with the License.
12
+ // You may obtain a copy of the License at
13
+ //
14
+ // http://www.rockrms.com/license
15
+ //
16
+ // Unless required by applicable law or agreed to in writing, software
17
+ // distributed under the License is distributed on an "AS IS" BASIS,
18
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ // See the License for the specific language governing permissions and
20
+ // limitations under the License.
21
+ // </copyright>
22
+ //
23
+
24
+ /** Represents a response containing session persistence details for the Registration Entry block. */
25
+ export type PersistSessionResponseBag = {
26
+ /** Gets or sets the expiration date and time for the registration session. */
27
+ expirationDateTime?: string | null;
28
+
29
+ /** Gets or sets a value indicating whether the timeout is disabled for the registration instance. */
30
+ isTimeoutDisabled: boolean;
31
+
32
+ /** Gets or sets the number of spots remaining for the registration instance. */
33
+ spotsRemaining?: number | null;
34
+ };
@@ -0,0 +1,56 @@
1
+ //------------------------------------------------------------------------------
2
+ // <auto-generated>
3
+ // This code was generated by the Rock.CodeGeneration project
4
+ // Changes to this file will be lost when the code is regenerated.
5
+ // </auto-generated>
6
+ //------------------------------------------------------------------------------
7
+ // <copyright>
8
+ // Copyright by the Spark Development Network
9
+ //
10
+ // Licensed under the Rock Community License (the "License");
11
+ // you may not use this file except in compliance with the License.
12
+ // You may obtain a copy of the License at
13
+ //
14
+ // http://www.rockrms.com/license
15
+ //
16
+ // Unless required by applicable law or agreed to in writing, software
17
+ // distributed under the License is distributed on an "AS IS" BASIS,
18
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ // See the License for the specific language governing permissions and
20
+ // limitations under the License.
21
+ // </copyright>
22
+ //
23
+
24
+ import { AppliesToPlacementConfiguration } from "@Obsidian/Enums/Group/appliesToPlacementConfiguration";
25
+ import { ComparisonType } from "@Obsidian/Enums/Reporting/comparisonType";
26
+ import { ListItemBag } from "@Obsidian/ViewModels/Utility/listItemBag";
27
+
28
+ /** Represents the Person Filters defined from the Placement Configuration Modal. */
29
+ export type PersonFiltersBag = {
30
+ /** Gets or sets the age value used for filtering. */
31
+ age?: number | null;
32
+
33
+ /** Gets or sets the comparison type used when filtering by age. */
34
+ ageComparisonType?: ComparisonType | null;
35
+
36
+ /** Gets or sets the delimited age range used when the comparison type is Between. */
37
+ ageRangeDelimited?: string | null;
38
+
39
+ /** Gets or sets the placement subset to which the person filters apply. */
40
+ appliesToPlacementConfiguration?: AppliesToPlacementConfiguration | null;
41
+
42
+ /** Gets or sets the campuses selected for filtering. */
43
+ campuses?: ListItemBag[] | null;
44
+
45
+ /** Gets or sets the selected gender filter. */
46
+ gender?: number | null;
47
+
48
+ /** Gets or sets the selected grade used for filtering. */
49
+ grade?: ListItemBag | null;
50
+
51
+ /** Gets or sets the comparison type used when filtering by grade. */
52
+ gradeComparisonType?: ComparisonType | null;
53
+
54
+ /** Gets or sets the data views used to filter people. */
55
+ persistedDataViews?: ListItemBag[] | null;
56
+ };
@@ -21,6 +21,7 @@
21
21
  // </copyright>
22
22
  //
23
23
 
24
+ import { PersonFiltersBag } from "@Obsidian/ViewModels/Blocks/Group/GroupPlacement/personFiltersBag";
24
25
  import { ListItemBag } from "@Obsidian/ViewModels/Utility/listItemBag";
25
26
 
26
27
  /**
@@ -55,6 +56,9 @@ export type PlacementConfigurationSettingsBag = {
55
56
  */
56
57
  includedRegistrationInstanceIds?: string[] | null;
57
58
 
59
+ /** Gets or sets the person-level filters used to limit which people are included in placement. */
60
+ personFilters?: PersonFiltersBag | null;
61
+
58
62
  /**
59
63
  * Gets or sets a value indicating whether [show registration instance name].
60
64
  * Note this setting only applies when in Template Mode
@@ -77,14 +77,6 @@ export type GridResultsBag = {
77
77
  /** Gets or sets whether the query returns a list of people. */
78
78
  isPersonReport: boolean;
79
79
 
80
- /**
81
- * Gets or sets the field that will be used to uniquely identify each row.
82
- *
83
- * This may be a simple field name (i.e. "id") or a dot-separated path to the
84
- * key value within a particular field's object (i.e. "person.idKey").
85
- */
86
- keyField?: string | null;
87
-
88
80
  /**
89
81
  * Gets or sets the field that will contain the person key.
90
82
  *
@@ -0,0 +1,36 @@
1
+ //------------------------------------------------------------------------------
2
+ // <auto-generated>
3
+ // This code was generated by the Rock.CodeGeneration project
4
+ // Changes to this file will be lost when the code is regenerated.
5
+ // </auto-generated>
6
+ //------------------------------------------------------------------------------
7
+ // <copyright>
8
+ // Copyright by the Spark Development Network
9
+ //
10
+ // Licensed under the Rock Community License (the "License");
11
+ // you may not use this file except in compliance with the License.
12
+ // You may obtain a copy of the License at
13
+ //
14
+ // http://www.rockrms.com/license
15
+ //
16
+ // Unless required by applicable law or agreed to in writing, software
17
+ // distributed under the License is distributed on an "AS IS" BASIS,
18
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ // See the License for the specific language governing permissions and
20
+ // limitations under the License.
21
+ // </copyright>
22
+ //
23
+
24
+ import { Guid } from "@Obsidian/Types";
25
+
26
+ /** Bag containing the information needed to get a group from the Email Editor control. */
27
+ export type EmailEditorGetGroupOptionsBag = {
28
+ /** Gets or sets the group unique identifier used for retrieving the group. */
29
+ groupGuid: Guid;
30
+
31
+ /**
32
+ * Gets or sets the security grant token to use when performing
33
+ * authorization checks.
34
+ */
35
+ securityGrantToken?: string | null;
36
+ };