@itwin/appui-abstract 3.0.0-dev.145 → 3.0.0-dev.149

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.
@@ -0,0 +1,10 @@
1
+ /** @packageDocumentation
2
+ * @module Utilities
3
+ */
4
+ import { BeUiEvent } from "@itwin/core-bentley";
5
+ /** iTwin.js UI UiEvent class is a subclass of BeEvent with argument type safety.
6
+ * @public
7
+ */
8
+ export declare class UiEvent<TEventArgs> extends BeUiEvent<TEventArgs> {
9
+ }
10
+ //# sourceMappingURL=UiEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEvent.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEvent.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,qBAAa,OAAO,CAAC,UAAU,CAAE,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAI"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Utilities
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.UiEvent = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ /** iTwin.js UI UiEvent class is a subclass of BeEvent with argument type safety.
13
+ * @public
14
+ */
15
+ class UiEvent extends core_bentley_1.BeUiEvent {
16
+ }
17
+ exports.UiEvent = UiEvent;
18
+ //# sourceMappingURL=UiEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEvent.js","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEvent.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAAgD;AAEhD;;GAEG;AACH,MAAa,OAAoB,SAAQ,wBAAqB;CAAI;AAAlE,0BAAkE","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\n\r\n/** iTwin.js UI UiEvent class is a subclass of BeEvent with argument type safety.\r\n * @public\r\n */\r\nexport class UiEvent<TEventArgs> extends BeUiEvent<TEventArgs> { }\r\n"]}
@@ -0,0 +1,47 @@
1
+ /** @packageDocumentation
2
+ * @module Utilities
3
+ */
4
+ import { UiEvent } from "./UiEvent";
5
+ /** UiSync Event arguments. Contains a set of lower case event Ids.
6
+ * @public
7
+ */
8
+ export interface UiSyncEventArgs {
9
+ eventIds: Set<string>;
10
+ }
11
+ /** UiSync Event class.
12
+ * @public
13
+ */
14
+ export declare class UiSyncEvent extends UiEvent<UiSyncEventArgs> {
15
+ }
16
+ /** This class is used to send eventIds to interested UI components so the component can determine if it needs
17
+ * to refresh its display by calling setState on itself.
18
+ * @public
19
+ */
20
+ export declare class UiEventDispatcher {
21
+ private _syncEventTimerId;
22
+ private _eventIds;
23
+ private _eventIdAdded;
24
+ private _uiSyncEvent;
25
+ private _timeoutPeriod;
26
+ private _secondaryTimeoutPeriod;
27
+ constructor();
28
+ /** @internal - used for testing only */
29
+ setTimeoutPeriod(period: number): void;
30
+ /** The current timeout period */
31
+ get timeoutPeriod(): number;
32
+ /** Return set of event ids that will be sent to listeners/. */
33
+ get syncEventIds(): Set<string>;
34
+ /** Return UiSyncEvent so callers can register an event callback. */
35
+ get onSyncUiEvent(): UiSyncEvent;
36
+ /** Immediately trigger sync event processing. */
37
+ dispatchImmediateSyncUiEvent(eventId: string): void;
38
+ /** Save eventId in Set for processing. */
39
+ dispatchSyncUiEvent(eventId: string): void;
40
+ /** Save multiple eventIds in Set for processing. */
41
+ dispatchSyncUiEvents(eventIds: string[]): void;
42
+ /** Trigger registered event processing when timer has expired and no addition eventId are added. */
43
+ checkForAdditionalIds(): void;
44
+ /** Checks to see if an eventId of interest is contained in the set of eventIds */
45
+ hasEventOfInterest(eventIds: Set<string>, idsOfInterest: string[]): boolean;
46
+ }
47
+ //# sourceMappingURL=UiEventDispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEventDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO,CAAC,eAAe,CAAC;CAAI;AAE7D;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,uBAAuB,CAAC;;IAUhC,wCAAwC;IAEjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAe7C,iCAAiC;IACjC,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,+DAA+D;IAC/D,IAAW,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,CAErC;IAED,oEAAoE;IACpE,IAAW,aAAa,IAAI,WAAW,CAEtC;IAED,iDAAiD;IAC1C,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM1D,0CAA0C;IACnC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAcjD,oDAAoD;IAC7C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAerD,oGAAoG;IAC7F,qBAAqB;IA+B5B,kFAAkF;IAC3E,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE;CAMzE"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Utilities
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.UiEventDispatcher = exports.UiSyncEvent = void 0;
11
+ // cSpell:ignore configurableui
12
+ const UiEvent_1 = require("./UiEvent");
13
+ /** UiSync Event class.
14
+ * @public
15
+ */
16
+ class UiSyncEvent extends UiEvent_1.UiEvent {
17
+ }
18
+ exports.UiSyncEvent = UiSyncEvent;
19
+ /** This class is used to send eventIds to interested UI components so the component can determine if it needs
20
+ * to refresh its display by calling setState on itself.
21
+ * @public
22
+ */
23
+ class UiEventDispatcher {
24
+ constructor() {
25
+ this._eventIds = new Set();
26
+ this._eventIdAdded = false;
27
+ this._uiSyncEvent = new UiSyncEvent();
28
+ this._timeoutPeriod = 100;
29
+ this._secondaryTimeoutPeriod = this._timeoutPeriod / 2;
30
+ }
31
+ /** @internal - used for testing only */
32
+ /* istanbul ignore next */
33
+ setTimeoutPeriod(period) {
34
+ this._timeoutPeriod = period;
35
+ this._secondaryTimeoutPeriod = Math.floor(this._timeoutPeriod / 2);
36
+ if (this._secondaryTimeoutPeriod < 1)
37
+ this._secondaryTimeoutPeriod = 1;
38
+ if (this._syncEventTimerId) {
39
+ window.clearTimeout(this._syncEventTimerId);
40
+ this._syncEventTimerId = undefined;
41
+ }
42
+ if (this._eventIds)
43
+ this._eventIds.clear();
44
+ this._eventIdAdded = false;
45
+ }
46
+ /** The current timeout period */
47
+ get timeoutPeriod() {
48
+ return this._timeoutPeriod;
49
+ }
50
+ /** Return set of event ids that will be sent to listeners/. */
51
+ get syncEventIds() {
52
+ return this._eventIds;
53
+ }
54
+ /** Return UiSyncEvent so callers can register an event callback. */
55
+ get onSyncUiEvent() {
56
+ return this._uiSyncEvent;
57
+ }
58
+ /** Immediately trigger sync event processing. */
59
+ dispatchImmediateSyncUiEvent(eventId) {
60
+ const eventIds = new Set();
61
+ eventIds.add(eventId.toLowerCase());
62
+ this.onSyncUiEvent.emit({ eventIds });
63
+ }
64
+ /** Save eventId in Set for processing. */
65
+ dispatchSyncUiEvent(eventId) {
66
+ // istanbul ignore if
67
+ if (0 === this._timeoutPeriod) {
68
+ return;
69
+ }
70
+ this.syncEventIds.add(eventId.toLowerCase());
71
+ if (!this._syncEventTimerId) { // if there is not a timer active, create one
72
+ this._syncEventTimerId = window.setTimeout(() => { this.checkForAdditionalIds(); }, this._timeoutPeriod);
73
+ }
74
+ else {
75
+ this._eventIdAdded = true;
76
+ }
77
+ }
78
+ /** Save multiple eventIds in Set for processing. */
79
+ dispatchSyncUiEvents(eventIds) {
80
+ // istanbul ignore if
81
+ if (0 === this._timeoutPeriod) {
82
+ return;
83
+ }
84
+ eventIds.forEach((id) => this.syncEventIds.add(id.toLowerCase()));
85
+ // istanbul ignore else
86
+ if (!this._syncEventTimerId) { // if there is not a timer active, create one
87
+ this._syncEventTimerId = window.setTimeout(() => { this.checkForAdditionalIds(); }, this._timeoutPeriod);
88
+ }
89
+ else {
90
+ this._eventIdAdded = true;
91
+ }
92
+ }
93
+ /** Trigger registered event processing when timer has expired and no addition eventId are added. */
94
+ checkForAdditionalIds() {
95
+ /* istanbul ignore else */
96
+ if (!this._eventIdAdded) {
97
+ // istanbul ignore else
98
+ if (this._syncEventTimerId) {
99
+ window.clearTimeout(this._syncEventTimerId);
100
+ this._syncEventTimerId = undefined;
101
+ }
102
+ this._eventIdAdded = false;
103
+ // istanbul ignore else
104
+ if (this.syncEventIds.size > 0) {
105
+ const eventIds = new Set();
106
+ this.syncEventIds.forEach((value) => eventIds.add(value));
107
+ this._eventIds.clear();
108
+ this.onSyncUiEvent.emit({ eventIds });
109
+ }
110
+ return;
111
+ }
112
+ // istanbul ignore next
113
+ if (this._syncEventTimerId) {
114
+ window.clearTimeout(this._syncEventTimerId);
115
+ this._syncEventTimerId = undefined;
116
+ }
117
+ // istanbul ignore next
118
+ this._eventIdAdded = false;
119
+ // if events have been added before the initial timer expired wait half that time to see if events are still being added.
120
+ // istanbul ignore next
121
+ this._syncEventTimerId = window.setTimeout(() => { this.checkForAdditionalIds(); }, this._secondaryTimeoutPeriod);
122
+ }
123
+ /** Checks to see if an eventId of interest is contained in the set of eventIds */
124
+ hasEventOfInterest(eventIds, idsOfInterest) {
125
+ /* istanbul ignore else */
126
+ if ((idsOfInterest.length > 0) && idsOfInterest.some((value) => eventIds.has(value.toLowerCase())))
127
+ return true;
128
+ return false;
129
+ }
130
+ }
131
+ exports.UiEventDispatcher = UiEventDispatcher;
132
+ //# sourceMappingURL=UiEventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEventDispatcher.js","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEventDispatcher.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n// cSpell:ignore configurableui\r\nimport { UiEvent } from \"./UiEvent\";\r\n\r\n/** UiSync Event arguments. Contains a set of lower case event Ids.\r\n * @public\r\n */\r\nexport interface UiSyncEventArgs {\r\n eventIds: Set<string>;\r\n}\r\n\r\n/** UiSync Event class.\r\n * @public\r\n */\r\nexport class UiSyncEvent extends UiEvent<UiSyncEventArgs> { }\r\n\r\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\r\n * to refresh its display by calling setState on itself.\r\n * @public\r\n */\r\nexport class UiEventDispatcher {\r\n private _syncEventTimerId: number | undefined;\r\n private _eventIds: Set<string>;\r\n private _eventIdAdded;\r\n private _uiSyncEvent: UiSyncEvent;\r\n private _timeoutPeriod;\r\n private _secondaryTimeoutPeriod;\r\n\r\n constructor() {\r\n this._eventIds = new Set<string>();\r\n this._eventIdAdded = false;\r\n this._uiSyncEvent = new UiSyncEvent();\r\n this._timeoutPeriod = 100;\r\n this._secondaryTimeoutPeriod = this._timeoutPeriod / 2;\r\n }\r\n\r\n /** @internal - used for testing only */\r\n /* istanbul ignore next */\r\n public setTimeoutPeriod(period: number): void {\r\n this._timeoutPeriod = period;\r\n this._secondaryTimeoutPeriod = Math.floor(this._timeoutPeriod / 2);\r\n if (this._secondaryTimeoutPeriod < 1)\r\n this._secondaryTimeoutPeriod = 1;\r\n if (this._syncEventTimerId) {\r\n window.clearTimeout(this._syncEventTimerId);\r\n this._syncEventTimerId = undefined;\r\n }\r\n if (this._eventIds)\r\n this._eventIds.clear();\r\n\r\n this._eventIdAdded = false;\r\n }\r\n\r\n /** The current timeout period */\r\n public get timeoutPeriod(): number {\r\n return this._timeoutPeriod;\r\n }\r\n /** Return set of event ids that will be sent to listeners/. */\r\n public get syncEventIds(): Set<string> {\r\n return this._eventIds;\r\n }\r\n\r\n /** Return UiSyncEvent so callers can register an event callback. */\r\n public get onSyncUiEvent(): UiSyncEvent {\r\n return this._uiSyncEvent;\r\n }\r\n\r\n /** Immediately trigger sync event processing. */\r\n public dispatchImmediateSyncUiEvent(eventId: string): void {\r\n const eventIds = new Set<string>();\r\n eventIds.add(eventId.toLowerCase());\r\n this.onSyncUiEvent.emit({ eventIds });\r\n }\r\n\r\n /** Save eventId in Set for processing. */\r\n public dispatchSyncUiEvent(eventId: string): void {\r\n // istanbul ignore if\r\n if (0 === this._timeoutPeriod) {\r\n return;\r\n }\r\n\r\n this.syncEventIds.add(eventId.toLowerCase());\r\n if (!this._syncEventTimerId) { // if there is not a timer active, create one\r\n this._syncEventTimerId = window.setTimeout(() => {this.checkForAdditionalIds();}, this._timeoutPeriod);\r\n } else {\r\n this._eventIdAdded = true;\r\n }\r\n }\r\n\r\n /** Save multiple eventIds in Set for processing. */\r\n public dispatchSyncUiEvents(eventIds: string[]): void {\r\n // istanbul ignore if\r\n if (0 === this._timeoutPeriod) {\r\n return;\r\n }\r\n\r\n eventIds.forEach((id) => this.syncEventIds.add(id.toLowerCase()));\r\n // istanbul ignore else\r\n if (!this._syncEventTimerId) { // if there is not a timer active, create one\r\n this._syncEventTimerId = window.setTimeout(() => {this.checkForAdditionalIds();}, this._timeoutPeriod);\r\n } else {\r\n this._eventIdAdded = true;\r\n }\r\n }\r\n\r\n /** Trigger registered event processing when timer has expired and no addition eventId are added. */\r\n public checkForAdditionalIds() {\r\n /* istanbul ignore else */\r\n if (!this._eventIdAdded) {\r\n // istanbul ignore else\r\n if (this._syncEventTimerId) {\r\n window.clearTimeout(this._syncEventTimerId);\r\n this._syncEventTimerId = undefined;\r\n }\r\n this._eventIdAdded = false;\r\n // istanbul ignore else\r\n if (this.syncEventIds.size > 0) {\r\n const eventIds = new Set<string>();\r\n this.syncEventIds.forEach((value) => eventIds.add(value));\r\n this._eventIds.clear();\r\n this.onSyncUiEvent.emit({ eventIds });\r\n }\r\n return;\r\n }\r\n\r\n // istanbul ignore next\r\n if (this._syncEventTimerId) {\r\n window.clearTimeout(this._syncEventTimerId);\r\n this._syncEventTimerId = undefined;\r\n }\r\n // istanbul ignore next\r\n this._eventIdAdded = false;\r\n // if events have been added before the initial timer expired wait half that time to see if events are still being added.\r\n // istanbul ignore next\r\n this._syncEventTimerId = window.setTimeout(() => {this.checkForAdditionalIds();}, this._secondaryTimeoutPeriod);\r\n }\r\n\r\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\r\n public hasEventOfInterest(eventIds: Set<string>, idsOfInterest: string[]) {\r\n /* istanbul ignore else */\r\n if ((idsOfInterest.length > 0) && idsOfInterest.some((value: string): boolean => eventIds.has(value.toLowerCase())))\r\n return true;\r\n return false;\r\n }\r\n}\r\n"]}
@@ -41,6 +41,8 @@ export * from "./appui-abstract/utils/isLetter";
41
41
  export * from "./appui-abstract/utils/IconSpecUtilities";
42
42
  export * from "./appui-abstract/utils/PointProps";
43
43
  export * from "./appui-abstract/utils/UiError";
44
+ export * from "./appui-abstract/utils/UiEventDispatcher";
45
+ export * from "./appui-abstract/utils/UiEvent";
44
46
  export * from "./appui-abstract/utils/filter/charCode";
45
47
  export * from "./appui-abstract/utils/filter/filters";
46
48
  export * from "./appui-abstract/utils/filter/strings";
@@ -1 +1 @@
1
- {"version":3,"file":"appui-abstract.d.ts","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAKA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
1
+ {"version":3,"file":"appui-abstract.d.ts","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAKA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
@@ -57,6 +57,8 @@ __exportStar(require("./appui-abstract/utils/isLetter"), exports);
57
57
  __exportStar(require("./appui-abstract/utils/IconSpecUtilities"), exports);
58
58
  __exportStar(require("./appui-abstract/utils/PointProps"), exports);
59
59
  __exportStar(require("./appui-abstract/utils/UiError"), exports);
60
+ __exportStar(require("./appui-abstract/utils/UiEventDispatcher"), exports);
61
+ __exportStar(require("./appui-abstract/utils/UiEvent"), exports);
60
62
  __exportStar(require("./appui-abstract/utils/filter/charCode"), exports);
61
63
  __exportStar(require("./appui-abstract/utils/filter/filters"), exports);
62
64
  __exportStar(require("./appui-abstract/utils/filter/strings"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"appui-abstract.js","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F,2DAAyC;AACzC,kEAAgD;AAEhD,2EAAyD;AACzD,mFAAiE;AAEjE,sEAAoD;AAEpD,8EAA4D;AAC5D,kFAAgE;AAEhE,sEAAoD;AACpD,gFAA8D;AAC9D,0EAAwD;AAExD,2EAAyD;AACzD,+EAA6D;AAC7D,sEAAoD;AACpD,8EAA4D;AAC5D,mEAAiD;AAEjD,iFAA+D;AAC/D,gFAA8D;AAC9D,0EAAwD;AACxD,sEAAoD;AACpD,0EAAwD;AACxD,oEAAkD;AAElD,iFAA+D;AAC/D,gFAA8D;AAE9D,0EAAwD;AACxD,2EAAyD;AACzD,6EAA2D;AAC3D,qEAAmD;AACnD,kFAAgE;AAChE,gFAA8D;AAC9D,oEAAkD;AAElD,oFAAkE;AAClE,2EAAyD;AACzD,mFAAiE;AAEjE,wEAAsD;AACtD,gFAA8D;AAE9D,2EAAyD;AACzD,mFAAiE;AAEjE,mEAAiD;AACjD,8DAA4C;AAC5C,kEAAgD;AAChD,2EAAyD;AACzD,oEAAkD;AAClD,iEAA+C;AAC/C,yEAAuD;AACvD,wEAAsD;AACtD,wEAAsD;AAEtD,8EAA4D;AAC5D,qEAAmD;AACnD,sEAAoD;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./appui-abstract/UiAdmin\";\r\nexport * from \"./appui-abstract/UiItemsManager\";\r\n\r\nexport * from \"./appui-abstract/backstage/BackstageItem\";\r\nexport * from \"./appui-abstract/backstage/BackstageItemsManager\";\r\n\r\nexport * from \"./appui-abstract/common/KeyboardKey\";\r\n\r\nexport * from \"./appui-abstract/content/ContentLayoutProps\";\r\nexport * from \"./appui-abstract/content/StandardContentLayouts\";\r\n\r\nexport * from \"./appui-abstract/dialogs/DialogItem\";\r\nexport * from \"./appui-abstract/dialogs/UiLayoutDataProvider\";\r\nexport * from \"./appui-abstract/dialogs/UiDataProvider\";\r\n\r\nexport * from \"./appui-abstract/items/AbstractItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractMenuItemProps\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/AbstractToolbarProps\";\r\nexport * from \"./appui-abstract/items/BadgeType\";\r\n\r\nexport * from \"./appui-abstract/items/ConditionalBooleanValue\";\r\nexport * from \"./appui-abstract/items/ConditionalStringValue\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/StageUsage\";\r\n\r\nexport * from \"./appui-abstract/notification/MessagePresenter\";\r\nexport * from \"./appui-abstract/notification/MessageSeverity\";\r\n\r\nexport * from \"./appui-abstract/properties/Description\";\r\nexport * from \"./appui-abstract/properties/EditorParams\";\r\nexport * from \"./appui-abstract/properties/PrimitiveTypes\";\r\nexport * from \"./appui-abstract/properties/Record\";\r\nexport * from \"./appui-abstract/properties/StandardEditorNames\";\r\nexport * from \"./appui-abstract/properties/StandardTypeNames\";\r\nexport * from \"./appui-abstract/properties/Value\";\r\n\r\nexport * from \"./appui-abstract/quantity/BaseQuantityDescription\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/toolbars/ToolbarItem\";\r\nexport * from \"./appui-abstract/toolbars/ToolbarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/utils/callbacks\";\r\nexport * from \"./appui-abstract/utils/misc\";\r\nexport * from \"./appui-abstract/utils/isLetter\";\r\nexport * from \"./appui-abstract/utils/IconSpecUtilities\";\r\nexport * from \"./appui-abstract/utils/PointProps\";\r\nexport * from \"./appui-abstract/utils/UiError\";\r\nexport * from \"./appui-abstract/utils/filter/charCode\";\r\nexport * from \"./appui-abstract/utils/filter/filters\";\r\nexport * from \"./appui-abstract/utils/filter/strings\";\r\n\r\nexport * from \"./appui-abstract/widget/AbstractWidgetProps\";\r\nexport * from \"./appui-abstract/widget/StagePanel\";\r\nexport * from \"./appui-abstract/widget/WidgetState\";\r\n\r\n/** @docs-package-description\r\n * The appui-abstract package contains abstractions for UI controls, such as toolbars, buttons and menus.\r\n * For more information, see [learning about appui-abstract]($docs/learning/ui/abstract/index.md).\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Abstractions used by appui-react package to create and manage the display Backstage menu items.\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes and interfaces used with Content Layouts.\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Interfaces and classes for generating UI items for Dialogs.\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Toolbar, Widget, Backstage or Context Menu\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Interfaces and enums for working with a message\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Properties system for data input and formatting.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for creating and managing items in the status bar.\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes for creating and managing items in a toolbar.\r\n */\r\n/**\r\n * @docs-group-description UiAdmin\r\n * Abstractions for UI controls, such as toolbars, buttons and menus and are callable from IModelApp.uiAdmin in core-frontend.\r\n */\r\n/**\r\n * @docs-group-description UiItemsProvider\r\n * Interface for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for creating and providing Widgets.\r\n */\r\n"]}
1
+ {"version":3,"file":"appui-abstract.js","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F,2DAAyC;AACzC,kEAAgD;AAEhD,2EAAyD;AACzD,mFAAiE;AAEjE,sEAAoD;AAEpD,8EAA4D;AAC5D,kFAAgE;AAEhE,sEAAoD;AACpD,gFAA8D;AAC9D,0EAAwD;AAExD,2EAAyD;AACzD,+EAA6D;AAC7D,sEAAoD;AACpD,8EAA4D;AAC5D,mEAAiD;AAEjD,iFAA+D;AAC/D,gFAA8D;AAC9D,0EAAwD;AACxD,sEAAoD;AACpD,0EAAwD;AACxD,oEAAkD;AAElD,iFAA+D;AAC/D,gFAA8D;AAE9D,0EAAwD;AACxD,2EAAyD;AACzD,6EAA2D;AAC3D,qEAAmD;AACnD,kFAAgE;AAChE,gFAA8D;AAC9D,oEAAkD;AAElD,oFAAkE;AAClE,2EAAyD;AACzD,mFAAiE;AAEjE,wEAAsD;AACtD,gFAA8D;AAE9D,2EAAyD;AACzD,mFAAiE;AAEjE,mEAAiD;AACjD,8DAA4C;AAC5C,kEAAgD;AAChD,2EAAyD;AACzD,oEAAkD;AAClD,iEAA+C;AAC/C,2EAAyD;AACzD,iEAA+C;AAC/C,yEAAuD;AACvD,wEAAsD;AACtD,wEAAsD;AAEtD,8EAA4D;AAC5D,qEAAmD;AACnD,sEAAoD;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./appui-abstract/UiAdmin\";\r\nexport * from \"./appui-abstract/UiItemsManager\";\r\n\r\nexport * from \"./appui-abstract/backstage/BackstageItem\";\r\nexport * from \"./appui-abstract/backstage/BackstageItemsManager\";\r\n\r\nexport * from \"./appui-abstract/common/KeyboardKey\";\r\n\r\nexport * from \"./appui-abstract/content/ContentLayoutProps\";\r\nexport * from \"./appui-abstract/content/StandardContentLayouts\";\r\n\r\nexport * from \"./appui-abstract/dialogs/DialogItem\";\r\nexport * from \"./appui-abstract/dialogs/UiLayoutDataProvider\";\r\nexport * from \"./appui-abstract/dialogs/UiDataProvider\";\r\n\r\nexport * from \"./appui-abstract/items/AbstractItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractMenuItemProps\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/AbstractToolbarProps\";\r\nexport * from \"./appui-abstract/items/BadgeType\";\r\n\r\nexport * from \"./appui-abstract/items/ConditionalBooleanValue\";\r\nexport * from \"./appui-abstract/items/ConditionalStringValue\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/StageUsage\";\r\n\r\nexport * from \"./appui-abstract/notification/MessagePresenter\";\r\nexport * from \"./appui-abstract/notification/MessageSeverity\";\r\n\r\nexport * from \"./appui-abstract/properties/Description\";\r\nexport * from \"./appui-abstract/properties/EditorParams\";\r\nexport * from \"./appui-abstract/properties/PrimitiveTypes\";\r\nexport * from \"./appui-abstract/properties/Record\";\r\nexport * from \"./appui-abstract/properties/StandardEditorNames\";\r\nexport * from \"./appui-abstract/properties/StandardTypeNames\";\r\nexport * from \"./appui-abstract/properties/Value\";\r\n\r\nexport * from \"./appui-abstract/quantity/BaseQuantityDescription\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/toolbars/ToolbarItem\";\r\nexport * from \"./appui-abstract/toolbars/ToolbarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/utils/callbacks\";\r\nexport * from \"./appui-abstract/utils/misc\";\r\nexport * from \"./appui-abstract/utils/isLetter\";\r\nexport * from \"./appui-abstract/utils/IconSpecUtilities\";\r\nexport * from \"./appui-abstract/utils/PointProps\";\r\nexport * from \"./appui-abstract/utils/UiError\";\r\nexport * from \"./appui-abstract/utils/UiEventDispatcher\";\r\nexport * from \"./appui-abstract/utils/UiEvent\";\r\nexport * from \"./appui-abstract/utils/filter/charCode\";\r\nexport * from \"./appui-abstract/utils/filter/filters\";\r\nexport * from \"./appui-abstract/utils/filter/strings\";\r\n\r\nexport * from \"./appui-abstract/widget/AbstractWidgetProps\";\r\nexport * from \"./appui-abstract/widget/StagePanel\";\r\nexport * from \"./appui-abstract/widget/WidgetState\";\r\n\r\n/** @docs-package-description\r\n * The appui-abstract package contains abstractions for UI controls, such as toolbars, buttons and menus.\r\n * For more information, see [learning about appui-abstract]($docs/learning/ui/abstract/index.md).\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Abstractions used by appui-react package to create and manage the display Backstage menu items.\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes and interfaces used with Content Layouts.\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Interfaces and classes for generating UI items for Dialogs.\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Toolbar, Widget, Backstage or Context Menu\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Interfaces and enums for working with a message\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Properties system for data input and formatting.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for creating and managing items in the status bar.\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes for creating and managing items in a toolbar.\r\n */\r\n/**\r\n * @docs-group-description UiAdmin\r\n * Abstractions for UI controls, such as toolbars, buttons and menus and are callable from IModelApp.uiAdmin in core-frontend.\r\n */\r\n/**\r\n * @docs-group-description UiItemsProvider\r\n * Interface for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for creating and providing Widgets.\r\n */\r\n"]}
@@ -0,0 +1,10 @@
1
+ /** @packageDocumentation
2
+ * @module Utilities
3
+ */
4
+ import { BeUiEvent } from "@itwin/core-bentley";
5
+ /** iTwin.js UI UiEvent class is a subclass of BeEvent with argument type safety.
6
+ * @public
7
+ */
8
+ export declare class UiEvent<TEventArgs> extends BeUiEvent<TEventArgs> {
9
+ }
10
+ //# sourceMappingURL=UiEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEvent.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEvent.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,qBAAa,OAAO,CAAC,UAAU,CAAE,SAAQ,SAAS,CAAC,UAAU,CAAC;CAAI"}
@@ -0,0 +1,14 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Utilities
7
+ */
8
+ import { BeUiEvent } from "@itwin/core-bentley";
9
+ /** iTwin.js UI UiEvent class is a subclass of BeEvent with argument type safety.
10
+ * @public
11
+ */
12
+ export class UiEvent extends BeUiEvent {
13
+ }
14
+ //# sourceMappingURL=UiEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEvent.js","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEvent.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD;;GAEG;AACH,MAAM,OAAO,OAAoB,SAAQ,SAAqB;CAAI","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\n\r\n/** iTwin.js UI UiEvent class is a subclass of BeEvent with argument type safety.\r\n * @public\r\n */\r\nexport class UiEvent<TEventArgs> extends BeUiEvent<TEventArgs> { }\r\n"]}
@@ -0,0 +1,47 @@
1
+ /** @packageDocumentation
2
+ * @module Utilities
3
+ */
4
+ import { UiEvent } from "./UiEvent";
5
+ /** UiSync Event arguments. Contains a set of lower case event Ids.
6
+ * @public
7
+ */
8
+ export interface UiSyncEventArgs {
9
+ eventIds: Set<string>;
10
+ }
11
+ /** UiSync Event class.
12
+ * @public
13
+ */
14
+ export declare class UiSyncEvent extends UiEvent<UiSyncEventArgs> {
15
+ }
16
+ /** This class is used to send eventIds to interested UI components so the component can determine if it needs
17
+ * to refresh its display by calling setState on itself.
18
+ * @public
19
+ */
20
+ export declare class UiEventDispatcher {
21
+ private _syncEventTimerId;
22
+ private _eventIds;
23
+ private _eventIdAdded;
24
+ private _uiSyncEvent;
25
+ private _timeoutPeriod;
26
+ private _secondaryTimeoutPeriod;
27
+ constructor();
28
+ /** @internal - used for testing only */
29
+ setTimeoutPeriod(period: number): void;
30
+ /** The current timeout period */
31
+ get timeoutPeriod(): number;
32
+ /** Return set of event ids that will be sent to listeners/. */
33
+ get syncEventIds(): Set<string>;
34
+ /** Return UiSyncEvent so callers can register an event callback. */
35
+ get onSyncUiEvent(): UiSyncEvent;
36
+ /** Immediately trigger sync event processing. */
37
+ dispatchImmediateSyncUiEvent(eventId: string): void;
38
+ /** Save eventId in Set for processing. */
39
+ dispatchSyncUiEvent(eventId: string): void;
40
+ /** Save multiple eventIds in Set for processing. */
41
+ dispatchSyncUiEvents(eventIds: string[]): void;
42
+ /** Trigger registered event processing when timer has expired and no addition eventId are added. */
43
+ checkForAdditionalIds(): void;
44
+ /** Checks to see if an eventId of interest is contained in the set of eventIds */
45
+ hasEventOfInterest(eventIds: Set<string>, idsOfInterest: string[]): boolean;
46
+ }
47
+ //# sourceMappingURL=UiEventDispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEventDispatcher.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEventDispatcher.ts"],"names":[],"mappings":"AAIA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,OAAO,CAAC,eAAe,CAAC;CAAI;AAE7D;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,uBAAuB,CAAC;;IAUhC,wCAAwC;IAEjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAe7C,iCAAiC;IACjC,IAAW,aAAa,IAAI,MAAM,CAEjC;IACD,+DAA+D;IAC/D,IAAW,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,CAErC;IAED,oEAAoE;IACpE,IAAW,aAAa,IAAI,WAAW,CAEtC;IAED,iDAAiD;IAC1C,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM1D,0CAA0C;IACnC,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAcjD,oDAAoD;IAC7C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAerD,oGAAoG;IAC7F,qBAAqB;IA+B5B,kFAAkF;IAC3E,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE;CAMzE"}
@@ -0,0 +1,127 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Utilities
7
+ */
8
+ // cSpell:ignore configurableui
9
+ import { UiEvent } from "./UiEvent";
10
+ /** UiSync Event class.
11
+ * @public
12
+ */
13
+ export class UiSyncEvent extends UiEvent {
14
+ }
15
+ /** This class is used to send eventIds to interested UI components so the component can determine if it needs
16
+ * to refresh its display by calling setState on itself.
17
+ * @public
18
+ */
19
+ export class UiEventDispatcher {
20
+ constructor() {
21
+ this._eventIds = new Set();
22
+ this._eventIdAdded = false;
23
+ this._uiSyncEvent = new UiSyncEvent();
24
+ this._timeoutPeriod = 100;
25
+ this._secondaryTimeoutPeriod = this._timeoutPeriod / 2;
26
+ }
27
+ /** @internal - used for testing only */
28
+ /* istanbul ignore next */
29
+ setTimeoutPeriod(period) {
30
+ this._timeoutPeriod = period;
31
+ this._secondaryTimeoutPeriod = Math.floor(this._timeoutPeriod / 2);
32
+ if (this._secondaryTimeoutPeriod < 1)
33
+ this._secondaryTimeoutPeriod = 1;
34
+ if (this._syncEventTimerId) {
35
+ window.clearTimeout(this._syncEventTimerId);
36
+ this._syncEventTimerId = undefined;
37
+ }
38
+ if (this._eventIds)
39
+ this._eventIds.clear();
40
+ this._eventIdAdded = false;
41
+ }
42
+ /** The current timeout period */
43
+ get timeoutPeriod() {
44
+ return this._timeoutPeriod;
45
+ }
46
+ /** Return set of event ids that will be sent to listeners/. */
47
+ get syncEventIds() {
48
+ return this._eventIds;
49
+ }
50
+ /** Return UiSyncEvent so callers can register an event callback. */
51
+ get onSyncUiEvent() {
52
+ return this._uiSyncEvent;
53
+ }
54
+ /** Immediately trigger sync event processing. */
55
+ dispatchImmediateSyncUiEvent(eventId) {
56
+ const eventIds = new Set();
57
+ eventIds.add(eventId.toLowerCase());
58
+ this.onSyncUiEvent.emit({ eventIds });
59
+ }
60
+ /** Save eventId in Set for processing. */
61
+ dispatchSyncUiEvent(eventId) {
62
+ // istanbul ignore if
63
+ if (0 === this._timeoutPeriod) {
64
+ return;
65
+ }
66
+ this.syncEventIds.add(eventId.toLowerCase());
67
+ if (!this._syncEventTimerId) { // if there is not a timer active, create one
68
+ this._syncEventTimerId = window.setTimeout(() => { this.checkForAdditionalIds(); }, this._timeoutPeriod);
69
+ }
70
+ else {
71
+ this._eventIdAdded = true;
72
+ }
73
+ }
74
+ /** Save multiple eventIds in Set for processing. */
75
+ dispatchSyncUiEvents(eventIds) {
76
+ // istanbul ignore if
77
+ if (0 === this._timeoutPeriod) {
78
+ return;
79
+ }
80
+ eventIds.forEach((id) => this.syncEventIds.add(id.toLowerCase()));
81
+ // istanbul ignore else
82
+ if (!this._syncEventTimerId) { // if there is not a timer active, create one
83
+ this._syncEventTimerId = window.setTimeout(() => { this.checkForAdditionalIds(); }, this._timeoutPeriod);
84
+ }
85
+ else {
86
+ this._eventIdAdded = true;
87
+ }
88
+ }
89
+ /** Trigger registered event processing when timer has expired and no addition eventId are added. */
90
+ checkForAdditionalIds() {
91
+ /* istanbul ignore else */
92
+ if (!this._eventIdAdded) {
93
+ // istanbul ignore else
94
+ if (this._syncEventTimerId) {
95
+ window.clearTimeout(this._syncEventTimerId);
96
+ this._syncEventTimerId = undefined;
97
+ }
98
+ this._eventIdAdded = false;
99
+ // istanbul ignore else
100
+ if (this.syncEventIds.size > 0) {
101
+ const eventIds = new Set();
102
+ this.syncEventIds.forEach((value) => eventIds.add(value));
103
+ this._eventIds.clear();
104
+ this.onSyncUiEvent.emit({ eventIds });
105
+ }
106
+ return;
107
+ }
108
+ // istanbul ignore next
109
+ if (this._syncEventTimerId) {
110
+ window.clearTimeout(this._syncEventTimerId);
111
+ this._syncEventTimerId = undefined;
112
+ }
113
+ // istanbul ignore next
114
+ this._eventIdAdded = false;
115
+ // if events have been added before the initial timer expired wait half that time to see if events are still being added.
116
+ // istanbul ignore next
117
+ this._syncEventTimerId = window.setTimeout(() => { this.checkForAdditionalIds(); }, this._secondaryTimeoutPeriod);
118
+ }
119
+ /** Checks to see if an eventId of interest is contained in the set of eventIds */
120
+ hasEventOfInterest(eventIds, idsOfInterest) {
121
+ /* istanbul ignore else */
122
+ if ((idsOfInterest.length > 0) && idsOfInterest.some((value) => eventIds.has(value.toLowerCase())))
123
+ return true;
124
+ return false;
125
+ }
126
+ }
127
+ //# sourceMappingURL=UiEventDispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UiEventDispatcher.js","sourceRoot":"","sources":["../../../../src/appui-abstract/utils/UiEventDispatcher.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n// cSpell:ignore configurableui\r\nimport { UiEvent } from \"./UiEvent\";\r\n\r\n/** UiSync Event arguments. Contains a set of lower case event Ids.\r\n * @public\r\n */\r\nexport interface UiSyncEventArgs {\r\n eventIds: Set<string>;\r\n}\r\n\r\n/** UiSync Event class.\r\n * @public\r\n */\r\nexport class UiSyncEvent extends UiEvent<UiSyncEventArgs> { }\r\n\r\n/** This class is used to send eventIds to interested UI components so the component can determine if it needs\r\n * to refresh its display by calling setState on itself.\r\n * @public\r\n */\r\nexport class UiEventDispatcher {\r\n private _syncEventTimerId: number | undefined;\r\n private _eventIds: Set<string>;\r\n private _eventIdAdded;\r\n private _uiSyncEvent: UiSyncEvent;\r\n private _timeoutPeriod;\r\n private _secondaryTimeoutPeriod;\r\n\r\n constructor() {\r\n this._eventIds = new Set<string>();\r\n this._eventIdAdded = false;\r\n this._uiSyncEvent = new UiSyncEvent();\r\n this._timeoutPeriod = 100;\r\n this._secondaryTimeoutPeriod = this._timeoutPeriod / 2;\r\n }\r\n\r\n /** @internal - used for testing only */\r\n /* istanbul ignore next */\r\n public setTimeoutPeriod(period: number): void {\r\n this._timeoutPeriod = period;\r\n this._secondaryTimeoutPeriod = Math.floor(this._timeoutPeriod / 2);\r\n if (this._secondaryTimeoutPeriod < 1)\r\n this._secondaryTimeoutPeriod = 1;\r\n if (this._syncEventTimerId) {\r\n window.clearTimeout(this._syncEventTimerId);\r\n this._syncEventTimerId = undefined;\r\n }\r\n if (this._eventIds)\r\n this._eventIds.clear();\r\n\r\n this._eventIdAdded = false;\r\n }\r\n\r\n /** The current timeout period */\r\n public get timeoutPeriod(): number {\r\n return this._timeoutPeriod;\r\n }\r\n /** Return set of event ids that will be sent to listeners/. */\r\n public get syncEventIds(): Set<string> {\r\n return this._eventIds;\r\n }\r\n\r\n /** Return UiSyncEvent so callers can register an event callback. */\r\n public get onSyncUiEvent(): UiSyncEvent {\r\n return this._uiSyncEvent;\r\n }\r\n\r\n /** Immediately trigger sync event processing. */\r\n public dispatchImmediateSyncUiEvent(eventId: string): void {\r\n const eventIds = new Set<string>();\r\n eventIds.add(eventId.toLowerCase());\r\n this.onSyncUiEvent.emit({ eventIds });\r\n }\r\n\r\n /** Save eventId in Set for processing. */\r\n public dispatchSyncUiEvent(eventId: string): void {\r\n // istanbul ignore if\r\n if (0 === this._timeoutPeriod) {\r\n return;\r\n }\r\n\r\n this.syncEventIds.add(eventId.toLowerCase());\r\n if (!this._syncEventTimerId) { // if there is not a timer active, create one\r\n this._syncEventTimerId = window.setTimeout(() => {this.checkForAdditionalIds();}, this._timeoutPeriod);\r\n } else {\r\n this._eventIdAdded = true;\r\n }\r\n }\r\n\r\n /** Save multiple eventIds in Set for processing. */\r\n public dispatchSyncUiEvents(eventIds: string[]): void {\r\n // istanbul ignore if\r\n if (0 === this._timeoutPeriod) {\r\n return;\r\n }\r\n\r\n eventIds.forEach((id) => this.syncEventIds.add(id.toLowerCase()));\r\n // istanbul ignore else\r\n if (!this._syncEventTimerId) { // if there is not a timer active, create one\r\n this._syncEventTimerId = window.setTimeout(() => {this.checkForAdditionalIds();}, this._timeoutPeriod);\r\n } else {\r\n this._eventIdAdded = true;\r\n }\r\n }\r\n\r\n /** Trigger registered event processing when timer has expired and no addition eventId are added. */\r\n public checkForAdditionalIds() {\r\n /* istanbul ignore else */\r\n if (!this._eventIdAdded) {\r\n // istanbul ignore else\r\n if (this._syncEventTimerId) {\r\n window.clearTimeout(this._syncEventTimerId);\r\n this._syncEventTimerId = undefined;\r\n }\r\n this._eventIdAdded = false;\r\n // istanbul ignore else\r\n if (this.syncEventIds.size > 0) {\r\n const eventIds = new Set<string>();\r\n this.syncEventIds.forEach((value) => eventIds.add(value));\r\n this._eventIds.clear();\r\n this.onSyncUiEvent.emit({ eventIds });\r\n }\r\n return;\r\n }\r\n\r\n // istanbul ignore next\r\n if (this._syncEventTimerId) {\r\n window.clearTimeout(this._syncEventTimerId);\r\n this._syncEventTimerId = undefined;\r\n }\r\n // istanbul ignore next\r\n this._eventIdAdded = false;\r\n // if events have been added before the initial timer expired wait half that time to see if events are still being added.\r\n // istanbul ignore next\r\n this._syncEventTimerId = window.setTimeout(() => {this.checkForAdditionalIds();}, this._secondaryTimeoutPeriod);\r\n }\r\n\r\n /** Checks to see if an eventId of interest is contained in the set of eventIds */\r\n public hasEventOfInterest(eventIds: Set<string>, idsOfInterest: string[]) {\r\n /* istanbul ignore else */\r\n if ((idsOfInterest.length > 0) && idsOfInterest.some((value: string): boolean => eventIds.has(value.toLowerCase())))\r\n return true;\r\n return false;\r\n }\r\n}\r\n"]}
@@ -41,6 +41,8 @@ export * from "./appui-abstract/utils/isLetter";
41
41
  export * from "./appui-abstract/utils/IconSpecUtilities";
42
42
  export * from "./appui-abstract/utils/PointProps";
43
43
  export * from "./appui-abstract/utils/UiError";
44
+ export * from "./appui-abstract/utils/UiEventDispatcher";
45
+ export * from "./appui-abstract/utils/UiEvent";
44
46
  export * from "./appui-abstract/utils/filter/charCode";
45
47
  export * from "./appui-abstract/utils/filter/filters";
46
48
  export * from "./appui-abstract/utils/filter/strings";
@@ -1 +1 @@
1
- {"version":3,"file":"appui-abstract.d.ts","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAKA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
1
+ {"version":3,"file":"appui-abstract.d.ts","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAKA,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG"}
@@ -45,6 +45,8 @@ export * from "./appui-abstract/utils/isLetter";
45
45
  export * from "./appui-abstract/utils/IconSpecUtilities";
46
46
  export * from "./appui-abstract/utils/PointProps";
47
47
  export * from "./appui-abstract/utils/UiError";
48
+ export * from "./appui-abstract/utils/UiEventDispatcher";
49
+ export * from "./appui-abstract/utils/UiEvent";
48
50
  export * from "./appui-abstract/utils/filter/charCode";
49
51
  export * from "./appui-abstract/utils/filter/filters";
50
52
  export * from "./appui-abstract/utils/filter/strings";
@@ -1 +1 @@
1
- {"version":3,"file":"appui-abstract.js","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./appui-abstract/UiAdmin\";\r\nexport * from \"./appui-abstract/UiItemsManager\";\r\n\r\nexport * from \"./appui-abstract/backstage/BackstageItem\";\r\nexport * from \"./appui-abstract/backstage/BackstageItemsManager\";\r\n\r\nexport * from \"./appui-abstract/common/KeyboardKey\";\r\n\r\nexport * from \"./appui-abstract/content/ContentLayoutProps\";\r\nexport * from \"./appui-abstract/content/StandardContentLayouts\";\r\n\r\nexport * from \"./appui-abstract/dialogs/DialogItem\";\r\nexport * from \"./appui-abstract/dialogs/UiLayoutDataProvider\";\r\nexport * from \"./appui-abstract/dialogs/UiDataProvider\";\r\n\r\nexport * from \"./appui-abstract/items/AbstractItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractMenuItemProps\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/AbstractToolbarProps\";\r\nexport * from \"./appui-abstract/items/BadgeType\";\r\n\r\nexport * from \"./appui-abstract/items/ConditionalBooleanValue\";\r\nexport * from \"./appui-abstract/items/ConditionalStringValue\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/StageUsage\";\r\n\r\nexport * from \"./appui-abstract/notification/MessagePresenter\";\r\nexport * from \"./appui-abstract/notification/MessageSeverity\";\r\n\r\nexport * from \"./appui-abstract/properties/Description\";\r\nexport * from \"./appui-abstract/properties/EditorParams\";\r\nexport * from \"./appui-abstract/properties/PrimitiveTypes\";\r\nexport * from \"./appui-abstract/properties/Record\";\r\nexport * from \"./appui-abstract/properties/StandardEditorNames\";\r\nexport * from \"./appui-abstract/properties/StandardTypeNames\";\r\nexport * from \"./appui-abstract/properties/Value\";\r\n\r\nexport * from \"./appui-abstract/quantity/BaseQuantityDescription\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/toolbars/ToolbarItem\";\r\nexport * from \"./appui-abstract/toolbars/ToolbarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/utils/callbacks\";\r\nexport * from \"./appui-abstract/utils/misc\";\r\nexport * from \"./appui-abstract/utils/isLetter\";\r\nexport * from \"./appui-abstract/utils/IconSpecUtilities\";\r\nexport * from \"./appui-abstract/utils/PointProps\";\r\nexport * from \"./appui-abstract/utils/UiError\";\r\nexport * from \"./appui-abstract/utils/filter/charCode\";\r\nexport * from \"./appui-abstract/utils/filter/filters\";\r\nexport * from \"./appui-abstract/utils/filter/strings\";\r\n\r\nexport * from \"./appui-abstract/widget/AbstractWidgetProps\";\r\nexport * from \"./appui-abstract/widget/StagePanel\";\r\nexport * from \"./appui-abstract/widget/WidgetState\";\r\n\r\n/** @docs-package-description\r\n * The appui-abstract package contains abstractions for UI controls, such as toolbars, buttons and menus.\r\n * For more information, see [learning about appui-abstract]($docs/learning/ui/abstract/index.md).\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Abstractions used by appui-react package to create and manage the display Backstage menu items.\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes and interfaces used with Content Layouts.\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Interfaces and classes for generating UI items for Dialogs.\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Toolbar, Widget, Backstage or Context Menu\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Interfaces and enums for working with a message\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Properties system for data input and formatting.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for creating and managing items in the status bar.\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes for creating and managing items in a toolbar.\r\n */\r\n/**\r\n * @docs-group-description UiAdmin\r\n * Abstractions for UI controls, such as toolbars, buttons and menus and are callable from IModelApp.uiAdmin in core-frontend.\r\n */\r\n/**\r\n * @docs-group-description UiItemsProvider\r\n * Interface for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for creating and providing Widgets.\r\n */\r\n"]}
1
+ {"version":3,"file":"appui-abstract.js","sourceRoot":"","sources":["../../src/appui-abstract.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAEhD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,qCAAqC,CAAC;AAEpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAEhE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AAExD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,+CAA+C,CAAC;AAE9D,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,oCAAoC,CAAC;AACnD,cAAc,iDAAiD,CAAC;AAChE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,mDAAmD,CAAC;AAClE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,uCAAuC,CAAC;AACtD,cAAc,+CAA+C,CAAC;AAE9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AAEjE,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC;AACzD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AAEpD;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./appui-abstract/UiAdmin\";\r\nexport * from \"./appui-abstract/UiItemsManager\";\r\n\r\nexport * from \"./appui-abstract/backstage/BackstageItem\";\r\nexport * from \"./appui-abstract/backstage/BackstageItemsManager\";\r\n\r\nexport * from \"./appui-abstract/common/KeyboardKey\";\r\n\r\nexport * from \"./appui-abstract/content/ContentLayoutProps\";\r\nexport * from \"./appui-abstract/content/StandardContentLayouts\";\r\n\r\nexport * from \"./appui-abstract/dialogs/DialogItem\";\r\nexport * from \"./appui-abstract/dialogs/UiLayoutDataProvider\";\r\nexport * from \"./appui-abstract/dialogs/UiDataProvider\";\r\n\r\nexport * from \"./appui-abstract/items/AbstractItemProps\";\r\nexport * from \"./appui-abstract/items/AbstractMenuItemProps\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/AbstractToolbarProps\";\r\nexport * from \"./appui-abstract/items/BadgeType\";\r\n\r\nexport * from \"./appui-abstract/items/ConditionalBooleanValue\";\r\nexport * from \"./appui-abstract/items/ConditionalStringValue\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/ProvidedItem\";\r\nexport * from \"./appui-abstract/items/RelativePosition\";\r\nexport * from \"./appui-abstract/items/StageUsage\";\r\n\r\nexport * from \"./appui-abstract/notification/MessagePresenter\";\r\nexport * from \"./appui-abstract/notification/MessageSeverity\";\r\n\r\nexport * from \"./appui-abstract/properties/Description\";\r\nexport * from \"./appui-abstract/properties/EditorParams\";\r\nexport * from \"./appui-abstract/properties/PrimitiveTypes\";\r\nexport * from \"./appui-abstract/properties/Record\";\r\nexport * from \"./appui-abstract/properties/StandardEditorNames\";\r\nexport * from \"./appui-abstract/properties/StandardTypeNames\";\r\nexport * from \"./appui-abstract/properties/Value\";\r\n\r\nexport * from \"./appui-abstract/quantity/BaseQuantityDescription\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/toolbars/ToolbarItem\";\r\nexport * from \"./appui-abstract/toolbars/ToolbarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/statusbar/StatusBarItem\";\r\nexport * from \"./appui-abstract/statusbar/StatusBarItemsManager\";\r\n\r\nexport * from \"./appui-abstract/utils/callbacks\";\r\nexport * from \"./appui-abstract/utils/misc\";\r\nexport * from \"./appui-abstract/utils/isLetter\";\r\nexport * from \"./appui-abstract/utils/IconSpecUtilities\";\r\nexport * from \"./appui-abstract/utils/PointProps\";\r\nexport * from \"./appui-abstract/utils/UiError\";\r\nexport * from \"./appui-abstract/utils/UiEventDispatcher\";\r\nexport * from \"./appui-abstract/utils/UiEvent\";\r\nexport * from \"./appui-abstract/utils/filter/charCode\";\r\nexport * from \"./appui-abstract/utils/filter/filters\";\r\nexport * from \"./appui-abstract/utils/filter/strings\";\r\n\r\nexport * from \"./appui-abstract/widget/AbstractWidgetProps\";\r\nexport * from \"./appui-abstract/widget/StagePanel\";\r\nexport * from \"./appui-abstract/widget/WidgetState\";\r\n\r\n/** @docs-package-description\r\n * The appui-abstract package contains abstractions for UI controls, such as toolbars, buttons and menus.\r\n * For more information, see [learning about appui-abstract]($docs/learning/ui/abstract/index.md).\r\n */\r\n/**\r\n * @docs-group-description Backstage\r\n * Abstractions used by appui-react package to create and manage the display Backstage menu items.\r\n */\r\n/**\r\n * @docs-group-description ContentView\r\n * Classes and interfaces used with Content Layouts.\r\n */\r\n/**\r\n * @docs-group-description Dialog\r\n * Interfaces and classes for generating UI items for Dialogs.\r\n */\r\n/**\r\n * @docs-group-description Item\r\n * Classes for working with an Item in a Toolbar, Widget, Backstage or Context Menu\r\n */\r\n/**\r\n * @docs-group-description Notification\r\n * Interfaces and enums for working with a message\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Properties system for data input and formatting.\r\n */\r\n/**\r\n * @docs-group-description StatusBar\r\n * Classes for creating and managing items in the status bar.\r\n */\r\n/**\r\n * @docs-group-description Toolbar\r\n * Classes for creating and managing items in a toolbar.\r\n */\r\n/**\r\n * @docs-group-description UiAdmin\r\n * Abstractions for UI controls, such as toolbars, buttons and menus and are callable from IModelApp.uiAdmin in core-frontend.\r\n */\r\n/**\r\n * @docs-group-description UiItemsProvider\r\n * Interface for specifying UI items to be inserted at runtime.\r\n */\r\n/**\r\n * @docs-group-description Utilities\r\n * Various utility classes for working with a UI.\r\n */\r\n/**\r\n * @docs-group-description Widget\r\n * Classes for creating and providing Widgets.\r\n */\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/appui-abstract",
3
- "version": "3.0.0-dev.145",
3
+ "version": "3.0.0-dev.149",
4
4
  "description": "iTwin.js UI abstractions",
5
5
  "main": "lib/cjs/appui-abstract.js",
6
6
  "module": "lib/esm/appui-abstract.js",
@@ -22,16 +22,16 @@
22
22
  "url": "http://www.bentley.com"
23
23
  },
24
24
  "peerDependencies": {
25
- "@itwin/core-bentley": "^3.0.0-dev.145"
25
+ "@itwin/core-bentley": "^3.0.0-dev.149"
26
26
  },
27
27
  "//devDependencies": [
28
28
  "NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
29
29
  "NOTE: All tools used by scripts in this package must be listed as devDependencies"
30
30
  ],
31
31
  "devDependencies": {
32
- "@itwin/build-tools": "3.0.0-dev.145",
33
- "@itwin/core-bentley": "3.0.0-dev.145",
34
- "@itwin/eslint-plugin": "3.0.0-dev.145",
32
+ "@itwin/build-tools": "3.0.0-dev.149",
33
+ "@itwin/core-bentley": "3.0.0-dev.149",
34
+ "@itwin/eslint-plugin": "3.0.0-dev.149",
35
35
  "@types/chai": "^4.1.4",
36
36
  "@types/chai-as-promised": "^7",
37
37
  "@types/chai-jest-snapshot": "^1.3.0",