@sprucelabs/heartwood-view-controllers 129.5.18 → 129.5.19
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/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema.d.ts +3 -0
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema.js +49 -0
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema.d.ts +3 -0
- package/build/.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema.js +50 -0
- package/build/.spruce/schemas/schemas.types.d.ts +1923 -1798
- package/build/controllerMap.d.ts +2 -0
- package/build/controllerMap.js +2 -0
- package/build/esm/.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema.d.ts +3 -0
- package/build/esm/.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema.js +44 -0
- package/build/esm/.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema.d.ts +3 -0
- package/build/esm/.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema.js +48 -0
- package/build/esm/.spruce/schemas/schemas.types.d.ts +1923 -1798
- package/build/esm/controllerMap.d.ts +2 -0
- package/build/esm/controllerMap.js +2 -0
- package/build/esm/index.d.ts +4 -0
- package/build/esm/index.js +4 -0
- package/build/esm/schemas/v2021_02_11/tree.builder.d.ts +74 -0
- package/build/esm/schemas/v2021_02_11/tree.builder.js +74 -0
- package/build/esm/types/heartwood.types.d.ts +5 -0
- package/build/esm/viewControllers/trees/Tree.vc.d.ts +8 -0
- package/build/esm/viewControllers/trees/Tree.vc.js +31 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +12 -5
- package/build/schemas/v2021_02_11/tree.builder.d.ts +74 -0
- package/build/schemas/v2021_02_11/tree.builder.js +76 -0
- package/build/types/heartwood.types.d.ts +5 -0
- package/build/viewControllers/trees/Tree.vc.d.ts +8 -0
- package/build/viewControllers/trees/Tree.vc.js +30 -0
- package/package.json +1 -1
|
@@ -27,6 +27,7 @@ import StatsViewController from './viewControllers/reporting/Stats.vc';
|
|
|
27
27
|
import SwipeCardViewController from './viewControllers/SwipeCard.vc';
|
|
28
28
|
import TalkingSprucebotViewController from './viewControllers/TalkingSprucebot.vc';
|
|
29
29
|
import ToolBeltViewController from './viewControllers/ToolBelt.vc';
|
|
30
|
+
import TreeViewController from './viewControllers/trees/Tree.vc';
|
|
30
31
|
import WebRtcPlayerViewController from './viewControllers/webRtcStreaming/WebRtcPlayer.vc';
|
|
31
32
|
export declare const CORE_CONTROLLER_MAP: {
|
|
32
33
|
form: typeof FormViewController;
|
|
@@ -60,4 +61,5 @@ export declare const CORE_CONTROLLER_MAP: {
|
|
|
60
61
|
'line-graph': typeof LineGraphViewController;
|
|
61
62
|
'lock-screen': typeof LockScreenSkillViewController;
|
|
62
63
|
'web-rtc-player': typeof WebRtcPlayerViewController;
|
|
64
|
+
tree: typeof TreeViewController;
|
|
63
65
|
};
|
|
@@ -27,6 +27,7 @@ import StatsViewController from './viewControllers/reporting/Stats.vc.js';
|
|
|
27
27
|
import SwipeCardViewController from './viewControllers/SwipeCard.vc.js';
|
|
28
28
|
import TalkingSprucebotViewController from './viewControllers/TalkingSprucebot.vc.js';
|
|
29
29
|
import ToolBeltViewController from './viewControllers/ToolBelt.vc.js';
|
|
30
|
+
import TreeViewController from './viewControllers/trees/Tree.vc.js';
|
|
30
31
|
import WebRtcPlayerViewController from './viewControllers/webRtcStreaming/WebRtcPlayer.vc.js';
|
|
31
32
|
export const CORE_CONTROLLER_MAP = {
|
|
32
33
|
form: FormViewController,
|
|
@@ -60,4 +61,5 @@ export const CORE_CONTROLLER_MAP = {
|
|
|
60
61
|
'line-graph': LineGraphViewController,
|
|
61
62
|
'lock-screen': LockScreenSkillViewController,
|
|
62
63
|
'web-rtc-player': WebRtcPlayerViewController,
|
|
64
|
+
tree: TreeViewController,
|
|
63
65
|
};
|
package/build/esm/index.d.ts
CHANGED
|
@@ -68,6 +68,8 @@ export { default as lockScreenAssert } from './tests/utilities/lockScreenAssert'
|
|
|
68
68
|
export { default as SpyViewControllerExporter } from './tests/SpyViewControllerExporter';
|
|
69
69
|
export { default as FakeStorage } from './tests/FakeStorage';
|
|
70
70
|
export { default as PolarAreaViewController } from './viewControllers/PolarAreaViewController.vc';
|
|
71
|
+
export { default as TreeViewController } from './viewControllers/trees/Tree.vc';
|
|
72
|
+
export * from './viewControllers/trees/Tree.vc';
|
|
71
73
|
export { default as AuthenticatorImpl } from './auth/Authenticator';
|
|
72
74
|
export * from './auth/Authenticator';
|
|
73
75
|
export { default as buildBigForm } from './builders/buildBigForm';
|
|
@@ -166,6 +168,8 @@ export { default as webRtcPlayerSchema } from './.spruce/schemas/heartwoodViewCo
|
|
|
166
168
|
export { default as webRtcCropPointSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/webRtcCropPoint.schema';
|
|
167
169
|
export { default as statusIndicatorSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/statusIndicator.schema';
|
|
168
170
|
export { default as statusIndicatorColorsSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/statusIndicatorColors.schema';
|
|
171
|
+
export { default as treeSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema';
|
|
172
|
+
export { default as treeNodeSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema';
|
|
169
173
|
export { default as ViewControllerExporter } from './viewControllers/ViewControllerExporter';
|
|
170
174
|
export { default as ViewControllerImporter } from './viewControllers/ViewControllerImporter';
|
|
171
175
|
export { default as ViewControllerFactory } from './viewControllers/ViewControllerFactory';
|
package/build/esm/index.js
CHANGED
|
@@ -68,6 +68,8 @@ export { default as lockScreenAssert } from './tests/utilities/lockScreenAssert.
|
|
|
68
68
|
export { default as SpyViewControllerExporter } from './tests/SpyViewControllerExporter.js';
|
|
69
69
|
export { default as FakeStorage } from './tests/FakeStorage.js';
|
|
70
70
|
export { default as PolarAreaViewController } from './viewControllers/PolarAreaViewController.vc.js';
|
|
71
|
+
export { default as TreeViewController } from './viewControllers/trees/Tree.vc.js';
|
|
72
|
+
export * from './viewControllers/trees/Tree.vc.js';
|
|
71
73
|
export { default as AuthenticatorImpl } from './auth/Authenticator.js';
|
|
72
74
|
export * from './auth/Authenticator.js';
|
|
73
75
|
export { default as buildBigForm } from './builders/buildBigForm.js';
|
|
@@ -166,6 +168,8 @@ export { default as webRtcPlayerSchema } from './.spruce/schemas/heartwoodViewCo
|
|
|
166
168
|
export { default as webRtcCropPointSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/webRtcCropPoint.schema.js';
|
|
167
169
|
export { default as statusIndicatorSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/statusIndicator.schema.js';
|
|
168
170
|
export { default as statusIndicatorColorsSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/statusIndicatorColors.schema.js';
|
|
171
|
+
export { default as treeSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema.js';
|
|
172
|
+
export { default as treeNodeSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema.js';
|
|
169
173
|
export { default as ViewControllerExporter } from './viewControllers/ViewControllerExporter.js';
|
|
170
174
|
export { default as ViewControllerImporter } from './viewControllers/ViewControllerImporter.js';
|
|
171
175
|
export { default as ViewControllerFactory } from './viewControllers/ViewControllerFactory.js';
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
fields: {
|
|
5
|
+
id: {
|
|
6
|
+
type: "id";
|
|
7
|
+
};
|
|
8
|
+
controller: {
|
|
9
|
+
type: "raw";
|
|
10
|
+
label: string;
|
|
11
|
+
options: {
|
|
12
|
+
valueType: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
onClickNode: {
|
|
16
|
+
type: "raw";
|
|
17
|
+
label: string;
|
|
18
|
+
options: {
|
|
19
|
+
valueType: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
onClickDeleteNode: {
|
|
23
|
+
type: "raw";
|
|
24
|
+
label: string;
|
|
25
|
+
options: {
|
|
26
|
+
valueType: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
nodes: {
|
|
30
|
+
type: "schema";
|
|
31
|
+
isArray: true;
|
|
32
|
+
minArrayLength: number;
|
|
33
|
+
isRequired: true;
|
|
34
|
+
options: {
|
|
35
|
+
schema: {
|
|
36
|
+
id: string;
|
|
37
|
+
fields: {
|
|
38
|
+
id: {
|
|
39
|
+
type: "id";
|
|
40
|
+
isRequired: true;
|
|
41
|
+
};
|
|
42
|
+
label: {
|
|
43
|
+
type: "text";
|
|
44
|
+
isRequired: true;
|
|
45
|
+
};
|
|
46
|
+
childrenIds: {
|
|
47
|
+
type: "id";
|
|
48
|
+
isArray: true;
|
|
49
|
+
minArrayLength: number;
|
|
50
|
+
};
|
|
51
|
+
isSelected: {
|
|
52
|
+
type: "boolean";
|
|
53
|
+
};
|
|
54
|
+
onClickDelete: {
|
|
55
|
+
type: "raw";
|
|
56
|
+
label: string;
|
|
57
|
+
options: {
|
|
58
|
+
valueType: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
onClick: {
|
|
62
|
+
type: "raw";
|
|
63
|
+
label: string;
|
|
64
|
+
options: {
|
|
65
|
+
valueType: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
export default _default;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { buildSchema } from '@sprucelabs/schema';
|
|
2
|
+
export default buildSchema({
|
|
3
|
+
id: 'tree',
|
|
4
|
+
name: 'Tree',
|
|
5
|
+
fields: {
|
|
6
|
+
id: {
|
|
7
|
+
type: 'id',
|
|
8
|
+
},
|
|
9
|
+
controller: {
|
|
10
|
+
type: 'raw',
|
|
11
|
+
label: 'Controller',
|
|
12
|
+
options: {
|
|
13
|
+
valueType: 'HeartwoodTypes.ViewController<HeartwoodTypes.Tree>',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
onClickNode: {
|
|
17
|
+
type: 'raw',
|
|
18
|
+
label: 'Node click handler',
|
|
19
|
+
options: {
|
|
20
|
+
valueType: '(nodeId: string) => void | Promise<void>',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
onClickDeleteNode: {
|
|
24
|
+
type: 'raw',
|
|
25
|
+
label: 'Delete node click handler',
|
|
26
|
+
options: {
|
|
27
|
+
valueType: '(nodeId: string) => void | Promise<void>',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
nodes: {
|
|
31
|
+
type: 'schema',
|
|
32
|
+
isArray: true,
|
|
33
|
+
minArrayLength: 0,
|
|
34
|
+
isRequired: true,
|
|
35
|
+
options: {
|
|
36
|
+
schema: buildSchema({
|
|
37
|
+
id: 'treeNode',
|
|
38
|
+
fields: {
|
|
39
|
+
id: {
|
|
40
|
+
type: 'id',
|
|
41
|
+
isRequired: true,
|
|
42
|
+
},
|
|
43
|
+
label: {
|
|
44
|
+
type: 'text',
|
|
45
|
+
isRequired: true,
|
|
46
|
+
},
|
|
47
|
+
childrenIds: {
|
|
48
|
+
type: 'id',
|
|
49
|
+
isArray: true,
|
|
50
|
+
minArrayLength: 0,
|
|
51
|
+
},
|
|
52
|
+
isSelected: {
|
|
53
|
+
type: 'boolean',
|
|
54
|
+
},
|
|
55
|
+
onClickDelete: {
|
|
56
|
+
type: 'raw',
|
|
57
|
+
label: 'Delete click handler',
|
|
58
|
+
options: {
|
|
59
|
+
valueType: '() => void | Promise<void>',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
onClick: {
|
|
63
|
+
type: 'raw',
|
|
64
|
+
label: 'Node click handler',
|
|
65
|
+
options: {
|
|
66
|
+
valueType: '() => void | Promise<void>',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
}),
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
});
|
|
@@ -40,6 +40,7 @@ import StatsViewController, { StatsViewControllerOptions } from '../viewControll
|
|
|
40
40
|
import SwipeCardViewControllerImpl, { SwipeCardPassthroughMethods, SwipeViewControllerOptions } from '../viewControllers/SwipeCard.vc';
|
|
41
41
|
import TalkingSprucebotViewController, { TalkingSprucebotViewControllerOptions } from '../viewControllers/TalkingSprucebot.vc';
|
|
42
42
|
import ToolBeltViewController, { ToolBeltViewControllerOptions } from '../viewControllers/ToolBelt.vc';
|
|
43
|
+
import TreeViewController, { TreeViewControllerOptions } from '../viewControllers/trees/Tree.vc';
|
|
43
44
|
import ViewControllerFactory from '../viewControllers/ViewControllerFactory';
|
|
44
45
|
export * from './calendar.types';
|
|
45
46
|
import '@sprucelabs/mercury-core-events';
|
|
@@ -279,6 +280,8 @@ export type TalkingSprucebot = SpruceSchemas.HeartwoodViewControllers.v2021_02_1
|
|
|
279
280
|
export type NavigationRoute = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.NavigationRoute;
|
|
280
281
|
export type LayoutStyle = NonNullable<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.SkillViewLayout['style']>;
|
|
281
282
|
export type Video = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Video;
|
|
283
|
+
export type Tree = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Tree;
|
|
284
|
+
export type TreeNode = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.TreeNode;
|
|
282
285
|
export type LayoutColumn = Card[];
|
|
283
286
|
export type ListColumnWidth = NonNullable<List['columnWidths']>[number];
|
|
284
287
|
export type DragAndDropListSortHandler = NonNullable<List['onDragAndDropSort']>;
|
|
@@ -374,6 +377,7 @@ export interface ViewControllerMap {
|
|
|
374
377
|
progress: ProgressViewController;
|
|
375
378
|
ratings: RatingsViewController;
|
|
376
379
|
stats: StatsViewController;
|
|
380
|
+
tree: TreeViewController;
|
|
377
381
|
}
|
|
378
382
|
export interface ViewControllerOptionsMap {
|
|
379
383
|
'active-record-card': ActiveRecordCardViewControllerOptions;
|
|
@@ -408,6 +412,7 @@ export interface ViewControllerOptionsMap {
|
|
|
408
412
|
progress: ProgressViewControllerOptions;
|
|
409
413
|
ratings: RatingsViewControllerOptions;
|
|
410
414
|
stats: StatsViewControllerOptions;
|
|
415
|
+
tree: TreeViewControllerOptions;
|
|
411
416
|
}
|
|
412
417
|
export interface SkillViewControllerMap {
|
|
413
418
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Tree, ViewControllerOptions } from '../../types/heartwood.types';
|
|
2
|
+
import AbstractViewController from '../Abstract.vc';
|
|
3
|
+
export default class TreeViewController extends AbstractViewController<Tree> {
|
|
4
|
+
private model;
|
|
5
|
+
constructor(options: ViewControllerOptions & TreeViewControllerOptions);
|
|
6
|
+
render(): Tree;
|
|
7
|
+
}
|
|
8
|
+
export type TreeViewControllerOptions = Omit<Tree, 'controller'>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { assertOptions } from '@sprucelabs/schema';
|
|
11
|
+
import removeUniversalViewOptions from '../../utilities/removeUniversalViewOptions.js';
|
|
12
|
+
import AbstractViewController from '../Abstract.vc.js';
|
|
13
|
+
export default class TreeViewController extends AbstractViewController {
|
|
14
|
+
constructor(options) {
|
|
15
|
+
super(options);
|
|
16
|
+
this.model = removeUniversalViewOptions(assertOptions(options, ['nodes']));
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
return {
|
|
20
|
+
nodes: this.model.nodes.map((node) => (Object.assign(Object.assign({}, node), { onClick: () => __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
var _a, _b, _c;
|
|
22
|
+
yield ((_a = node.onClick) === null || _a === void 0 ? void 0 : _a.call(node));
|
|
23
|
+
yield ((_c = (_b = this.model).onClickNode) === null || _c === void 0 ? void 0 : _c.call(_b, node.id));
|
|
24
|
+
}), onClickDelete: () => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
yield ((_a = node.onClickDelete) === null || _a === void 0 ? void 0 : _a.call(node));
|
|
27
|
+
yield ((_c = (_b = this.model).onClickDeleteNode) === null || _c === void 0 ? void 0 : _c.call(_b, node.id));
|
|
28
|
+
}) }))),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
package/build/index.d.ts
CHANGED
|
@@ -68,6 +68,8 @@ export { default as lockScreenAssert } from './tests/utilities/lockScreenAssert'
|
|
|
68
68
|
export { default as SpyViewControllerExporter } from './tests/SpyViewControllerExporter';
|
|
69
69
|
export { default as FakeStorage } from './tests/FakeStorage';
|
|
70
70
|
export { default as PolarAreaViewController } from './viewControllers/PolarAreaViewController.vc';
|
|
71
|
+
export { default as TreeViewController } from './viewControllers/trees/Tree.vc';
|
|
72
|
+
export * from './viewControllers/trees/Tree.vc';
|
|
71
73
|
export { default as AuthenticatorImpl } from './auth/Authenticator';
|
|
72
74
|
export * from './auth/Authenticator';
|
|
73
75
|
export { default as buildBigForm } from './builders/buildBigForm';
|
|
@@ -166,6 +168,8 @@ export { default as webRtcPlayerSchema } from './.spruce/schemas/heartwoodViewCo
|
|
|
166
168
|
export { default as webRtcCropPointSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/webRtcCropPoint.schema';
|
|
167
169
|
export { default as statusIndicatorSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/statusIndicator.schema';
|
|
168
170
|
export { default as statusIndicatorColorsSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/statusIndicatorColors.schema';
|
|
171
|
+
export { default as treeSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema';
|
|
172
|
+
export { default as treeNodeSchema } from './.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema';
|
|
169
173
|
export { default as ViewControllerExporter } from './viewControllers/ViewControllerExporter';
|
|
170
174
|
export { default as ViewControllerImporter } from './viewControllers/ViewControllerImporter';
|
|
171
175
|
export { default as ViewControllerFactory } from './viewControllers/ViewControllerFactory';
|
package/build/index.js
CHANGED
|
@@ -17,11 +17,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
17
17
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
18
|
};
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.
|
|
24
|
-
exports.MockToastMessageHandler = exports.toastMessageSchema = exports.navigationRouteSchema = exports.routerDestinationSchema = exports.navigationDropdownButtonSchema = exports.navigationButtonDropdownSchema = exports.chartDataSetSchema = void 0;
|
|
20
|
+
exports.buildForm = exports.buildBigForm = exports.AuthenticatorImpl = exports.TreeViewController = exports.PolarAreaViewController = exports.FakeStorage = exports.SpyViewControllerExporter = exports.lockScreenAssert = exports.MockActiveRecordCard = exports.activeRecordListAssert = exports.activeRecordCardAssert = exports.buildActiveRecordList = exports.buildActiveRecordCard = exports.AbstractInputViewController = exports.AutocompleteInputViewController = exports.AbstractCalendarEventViewController = exports.RatingsViewController = exports.ProgressViewController = exports.StatsViewController = exports.FeedViewController = exports.ActiveRecordListViewController = exports.ActiveRecordCardViewController = exports.TalkingSprucebotViewController = exports.ButtonBarViewController = exports.CalendarViewController = exports.SwipeCardViewControllerImpl = exports.SwipeViewControllerImpl = exports.WebRtcPlayerViewController = exports.PagerViewController = exports.ProgressNavigatorViewController = exports.CountdownTimerViewController = exports.FormBuilderCardViewControllerImpl = exports.LoginCardViewController = exports.LoginViewController = exports.LineGraphViewController = exports.BarChartViewController = exports.ToolBeltViewController = exports.FormViewControllerImpl = exports.ListCellViewController = exports.ListRowViewController = exports.ListViewController = exports.NavigationViewController = exports.LockScreenSkillViewController = exports.DialogViewController = exports.ConfirmViewController = exports.CardViewControllerImpl = exports.ButtonGroupViewController = exports.AbstractAppController = exports.AbstractViewController = exports.AbstractSkillViewController = void 0;
|
|
21
|
+
exports.criticalErrorSchema = exports.sprucebotTypedMessageSentenceSchema = exports.sprucebotTypedMessageAvatarSchema = exports.selectInputChoiceSchema = exports.calendarEventColorOverrideSchema = exports.themeFontsSchema = exports.fontSettingSchema = exports.fontFamilySchema = exports.cardStylesSchema = exports.cardStyleSchema = exports.portalSchema = exports.listTextInputSchema = exports.listSelectInputSchema = exports.listCellButtonSchema = exports.dropdownButtonSchema = exports.bigFormSectionSchema = exports.textInputSchema = exports.phoneInputSchema = exports.inputSchema = exports.dropdownSchema = exports.sprucebotTypedMessageSchema = exports.talkingSprucebotSchema = exports.sprucebotAvatarSchema = exports.formBuilderImportExportObjectSchema = exports.videoSchema = exports.listCellSchema = exports.listRowSchema = exports.listSchema = exports.skillViewLayoutSchema = exports.cardSectionSchema = exports.cardHeaderSchema = exports.cardFooterSchema = exports.cardBodySchema = exports.cardSchema = exports.formSectionSchema = exports.formSchema = exports.textSchema = exports.lockScreenSchema = exports.dialogSchema = exports.buttonSchema = exports.lineIconSchema = exports.fancyIconSchema = exports.selectInputSchema = exports.skillViewSchema = exports.bigFormSchema = exports.controlBarSchema = exports.calendarEventColorsSchema = exports.WebRtcConnectionImpl = exports.MockRtcPeerConnection = exports.WebRtcStreamerImpl = void 0;
|
|
22
|
+
exports.SpyDevice = exports.StubStorage = exports.ViewControllerFactory = exports.ViewControllerImporter = exports.ViewControllerExporter = exports.treeNodeSchema = exports.treeSchema = exports.statusIndicatorColorsSchema = exports.statusIndicatorSchema = exports.webRtcCropPointSchema = exports.webRtcPlayerSchema = exports.pagerSchema = exports.polarAreaDataItemSchema = exports.polarAreaSchema = exports.inputButtonSchema = exports.mapPinSchema = exports.mapSchema = exports.latLngSchema = exports.formBuilderImportExportPageSchema = exports.autocompleteSuggestionSchema = exports.autocompleteInputSchema = exports.feedSchema = exports.calendarShiftSchema = exports.receiptTotalSchema = exports.receiptSectionSchema = exports.receiptLineItemSchema = exports.receiptHeaderSchema = exports.receiptSchema = exports.listDateInputSchema = exports.calendarSelectedDateSchema = exports.calendarEventSchema = exports.ratingsInputSchema = exports.listRatingsInputSchema = exports.ratingsSchema = exports.progressSchema = exports.statsStatSchema = exports.statsSchema = exports.toggleInputSchema = exports.listToggleInputSchema = exports.addressInputSchema = exports.buttonBarButtonSchema = exports.buttonBarSchema = exports.toolBeltToolSchema = exports.toolBeltSchema = exports.calendarTimeSchema = exports.calendarPersonSchema = exports.calendarSchema = exports.themePropsSchema = exports.themeSchema = exports.cardFooterButtonSchema = void 0;
|
|
23
|
+
exports.progressDetailsSchema = exports.progressNavigatorStepSchema = exports.progressNavigatorSchema = exports.countdownTimerSchema = exports.permissionContractReferenceSchema = exports.navigationButtonSchema = exports.navigationSchema = exports.ToolBeltStateMachine = exports.removeUniversalViewOptions = exports.buildSkillViewLayout = exports.splitCardsIntoColumns = exports.listUtil = exports.mapInteractor = exports.mapAssert = exports.renderUtil = exports.routerTestPatcher = exports.dialogTestPatcher = exports.confirmTestPatcher = exports.calendarSeeder = exports.interactionUtil = exports.talkingSprucebotInteractor = exports.webRtcInteractor = exports.feedInteractor = exports.countdownTimerInteractor = exports.countdownTimerAssert = exports.calendarInteractor = exports.interactor = exports.normalizeScopeFromVc = exports.autocompleteInteractor = exports.chartAssert = exports.progressNavigatorAssert = exports.generateCropPointValues = exports.webRtcAssert = exports.formAssert = exports.autocompleteAssert = exports.listAssert = exports.buttonAssert = exports.deviceAssert = exports.navigationAssert = exports.toolBeltAssert = exports.toastAssert = exports.vcPluginAssert = exports.vcDurationAssert = exports.pagerAssert = exports.vcAssert = exports.vcAssertUtil = exports.feedAssert = exports.normalizeFormSectionFieldNamesUtil = exports.ViewControllerError = exports.MockAudioController = void 0;
|
|
24
|
+
exports.MockToastMessageHandler = exports.toastMessageSchema = exports.navigationRouteSchema = exports.routerDestinationSchema = exports.navigationDropdownButtonSchema = exports.navigationButtonDropdownSchema = exports.chartDataSetSchema = exports.chartDataPointSchema = exports.lineGraphSchema = exports.barChartSchema = void 0;
|
|
25
25
|
__exportStar(require("./constants"), exports);
|
|
26
26
|
__exportStar(require("./types/heartwood.types"), exports);
|
|
27
27
|
__exportStar(require("./utilities/removeUniversalViewOptions"), exports);
|
|
@@ -138,6 +138,9 @@ var FakeStorage_1 = require("./tests/FakeStorage");
|
|
|
138
138
|
Object.defineProperty(exports, "FakeStorage", { enumerable: true, get: function () { return __importDefault(FakeStorage_1).default; } });
|
|
139
139
|
var PolarAreaViewController_vc_1 = require("./viewControllers/PolarAreaViewController.vc");
|
|
140
140
|
Object.defineProperty(exports, "PolarAreaViewController", { enumerable: true, get: function () { return __importDefault(PolarAreaViewController_vc_1).default; } });
|
|
141
|
+
var Tree_vc_1 = require("./viewControllers/trees/Tree.vc");
|
|
142
|
+
Object.defineProperty(exports, "TreeViewController", { enumerable: true, get: function () { return __importDefault(Tree_vc_1).default; } });
|
|
143
|
+
__exportStar(require("./viewControllers/trees/Tree.vc"), exports);
|
|
141
144
|
var Authenticator_1 = require("./auth/Authenticator");
|
|
142
145
|
Object.defineProperty(exports, "AuthenticatorImpl", { enumerable: true, get: function () { return __importDefault(Authenticator_1).default; } });
|
|
143
146
|
__exportStar(require("./auth/Authenticator"), exports);
|
|
@@ -332,6 +335,10 @@ var statusIndicator_schema_1 = require("./.spruce/schemas/heartwoodViewControlle
|
|
|
332
335
|
Object.defineProperty(exports, "statusIndicatorSchema", { enumerable: true, get: function () { return __importDefault(statusIndicator_schema_1).default; } });
|
|
333
336
|
var statusIndicatorColors_schema_1 = require("./.spruce/schemas/heartwoodViewControllers/v2021_02_11/statusIndicatorColors.schema");
|
|
334
337
|
Object.defineProperty(exports, "statusIndicatorColorsSchema", { enumerable: true, get: function () { return __importDefault(statusIndicatorColors_schema_1).default; } });
|
|
338
|
+
var tree_schema_1 = require("./.spruce/schemas/heartwoodViewControllers/v2021_02_11/tree.schema");
|
|
339
|
+
Object.defineProperty(exports, "treeSchema", { enumerable: true, get: function () { return __importDefault(tree_schema_1).default; } });
|
|
340
|
+
var treeNode_schema_1 = require("./.spruce/schemas/heartwoodViewControllers/v2021_02_11/treeNode.schema");
|
|
341
|
+
Object.defineProperty(exports, "treeNodeSchema", { enumerable: true, get: function () { return __importDefault(treeNode_schema_1).default; } });
|
|
335
342
|
var ViewControllerExporter_1 = require("./viewControllers/ViewControllerExporter");
|
|
336
343
|
Object.defineProperty(exports, "ViewControllerExporter", { enumerable: true, get: function () { return __importDefault(ViewControllerExporter_1).default; } });
|
|
337
344
|
var ViewControllerImporter_1 = require("./viewControllers/ViewControllerImporter");
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
fields: {
|
|
5
|
+
id: {
|
|
6
|
+
type: "id";
|
|
7
|
+
};
|
|
8
|
+
controller: {
|
|
9
|
+
type: "raw";
|
|
10
|
+
label: string;
|
|
11
|
+
options: {
|
|
12
|
+
valueType: string;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
onClickNode: {
|
|
16
|
+
type: "raw";
|
|
17
|
+
label: string;
|
|
18
|
+
options: {
|
|
19
|
+
valueType: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
onClickDeleteNode: {
|
|
23
|
+
type: "raw";
|
|
24
|
+
label: string;
|
|
25
|
+
options: {
|
|
26
|
+
valueType: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
nodes: {
|
|
30
|
+
type: "schema";
|
|
31
|
+
isArray: true;
|
|
32
|
+
minArrayLength: number;
|
|
33
|
+
isRequired: true;
|
|
34
|
+
options: {
|
|
35
|
+
schema: {
|
|
36
|
+
id: string;
|
|
37
|
+
fields: {
|
|
38
|
+
id: {
|
|
39
|
+
type: "id";
|
|
40
|
+
isRequired: true;
|
|
41
|
+
};
|
|
42
|
+
label: {
|
|
43
|
+
type: "text";
|
|
44
|
+
isRequired: true;
|
|
45
|
+
};
|
|
46
|
+
childrenIds: {
|
|
47
|
+
type: "id";
|
|
48
|
+
isArray: true;
|
|
49
|
+
minArrayLength: number;
|
|
50
|
+
};
|
|
51
|
+
isSelected: {
|
|
52
|
+
type: "boolean";
|
|
53
|
+
};
|
|
54
|
+
onClickDelete: {
|
|
55
|
+
type: "raw";
|
|
56
|
+
label: string;
|
|
57
|
+
options: {
|
|
58
|
+
valueType: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
onClick: {
|
|
62
|
+
type: "raw";
|
|
63
|
+
label: string;
|
|
64
|
+
options: {
|
|
65
|
+
valueType: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
export default _default;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const schema_1 = require("@sprucelabs/schema");
|
|
4
|
+
exports.default = (0, schema_1.buildSchema)({
|
|
5
|
+
id: 'tree',
|
|
6
|
+
name: 'Tree',
|
|
7
|
+
fields: {
|
|
8
|
+
id: {
|
|
9
|
+
type: 'id',
|
|
10
|
+
},
|
|
11
|
+
controller: {
|
|
12
|
+
type: 'raw',
|
|
13
|
+
label: 'Controller',
|
|
14
|
+
options: {
|
|
15
|
+
valueType: 'HeartwoodTypes.ViewController<HeartwoodTypes.Tree>',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
onClickNode: {
|
|
19
|
+
type: 'raw',
|
|
20
|
+
label: 'Node click handler',
|
|
21
|
+
options: {
|
|
22
|
+
valueType: '(nodeId: string) => void | Promise<void>',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
onClickDeleteNode: {
|
|
26
|
+
type: 'raw',
|
|
27
|
+
label: 'Delete node click handler',
|
|
28
|
+
options: {
|
|
29
|
+
valueType: '(nodeId: string) => void | Promise<void>',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
nodes: {
|
|
33
|
+
type: 'schema',
|
|
34
|
+
isArray: true,
|
|
35
|
+
minArrayLength: 0,
|
|
36
|
+
isRequired: true,
|
|
37
|
+
options: {
|
|
38
|
+
schema: (0, schema_1.buildSchema)({
|
|
39
|
+
id: 'treeNode',
|
|
40
|
+
fields: {
|
|
41
|
+
id: {
|
|
42
|
+
type: 'id',
|
|
43
|
+
isRequired: true,
|
|
44
|
+
},
|
|
45
|
+
label: {
|
|
46
|
+
type: 'text',
|
|
47
|
+
isRequired: true,
|
|
48
|
+
},
|
|
49
|
+
childrenIds: {
|
|
50
|
+
type: 'id',
|
|
51
|
+
isArray: true,
|
|
52
|
+
minArrayLength: 0,
|
|
53
|
+
},
|
|
54
|
+
isSelected: {
|
|
55
|
+
type: 'boolean',
|
|
56
|
+
},
|
|
57
|
+
onClickDelete: {
|
|
58
|
+
type: 'raw',
|
|
59
|
+
label: 'Delete click handler',
|
|
60
|
+
options: {
|
|
61
|
+
valueType: '() => void | Promise<void>',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
onClick: {
|
|
65
|
+
type: 'raw',
|
|
66
|
+
label: 'Node click handler',
|
|
67
|
+
options: {
|
|
68
|
+
valueType: '() => void | Promise<void>',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
}),
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
});
|
|
@@ -40,6 +40,7 @@ import StatsViewController, { StatsViewControllerOptions } from '../viewControll
|
|
|
40
40
|
import SwipeCardViewControllerImpl, { SwipeCardPassthroughMethods, SwipeViewControllerOptions } from '../viewControllers/SwipeCard.vc';
|
|
41
41
|
import TalkingSprucebotViewController, { TalkingSprucebotViewControllerOptions } from '../viewControllers/TalkingSprucebot.vc';
|
|
42
42
|
import ToolBeltViewController, { ToolBeltViewControllerOptions } from '../viewControllers/ToolBelt.vc';
|
|
43
|
+
import TreeViewController, { TreeViewControllerOptions } from '../viewControllers/trees/Tree.vc';
|
|
43
44
|
import ViewControllerFactory from '../viewControllers/ViewControllerFactory';
|
|
44
45
|
export * from './calendar.types';
|
|
45
46
|
import '@sprucelabs/mercury-core-events';
|
|
@@ -279,6 +280,8 @@ export type TalkingSprucebot = SpruceSchemas.HeartwoodViewControllers.v2021_02_1
|
|
|
279
280
|
export type NavigationRoute = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.NavigationRoute;
|
|
280
281
|
export type LayoutStyle = NonNullable<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.SkillViewLayout['style']>;
|
|
281
282
|
export type Video = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Video;
|
|
283
|
+
export type Tree = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Tree;
|
|
284
|
+
export type TreeNode = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.TreeNode;
|
|
282
285
|
export type LayoutColumn = Card[];
|
|
283
286
|
export type ListColumnWidth = NonNullable<List['columnWidths']>[number];
|
|
284
287
|
export type DragAndDropListSortHandler = NonNullable<List['onDragAndDropSort']>;
|
|
@@ -374,6 +377,7 @@ export interface ViewControllerMap {
|
|
|
374
377
|
progress: ProgressViewController;
|
|
375
378
|
ratings: RatingsViewController;
|
|
376
379
|
stats: StatsViewController;
|
|
380
|
+
tree: TreeViewController;
|
|
377
381
|
}
|
|
378
382
|
export interface ViewControllerOptionsMap {
|
|
379
383
|
'active-record-card': ActiveRecordCardViewControllerOptions;
|
|
@@ -408,6 +412,7 @@ export interface ViewControllerOptionsMap {
|
|
|
408
412
|
progress: ProgressViewControllerOptions;
|
|
409
413
|
ratings: RatingsViewControllerOptions;
|
|
410
414
|
stats: StatsViewControllerOptions;
|
|
415
|
+
tree: TreeViewControllerOptions;
|
|
411
416
|
}
|
|
412
417
|
export interface SkillViewControllerMap {
|
|
413
418
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Tree, ViewControllerOptions } from '../../types/heartwood.types';
|
|
2
|
+
import AbstractViewController from '../Abstract.vc';
|
|
3
|
+
export default class TreeViewController extends AbstractViewController<Tree> {
|
|
4
|
+
private model;
|
|
5
|
+
constructor(options: ViewControllerOptions & TreeViewControllerOptions);
|
|
6
|
+
render(): Tree;
|
|
7
|
+
}
|
|
8
|
+
export type TreeViewControllerOptions = Omit<Tree, 'controller'>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const schema_1 = require("@sprucelabs/schema");
|
|
7
|
+
const removeUniversalViewOptions_1 = __importDefault(require("../../utilities/removeUniversalViewOptions"));
|
|
8
|
+
const Abstract_vc_1 = __importDefault(require("../Abstract.vc"));
|
|
9
|
+
class TreeViewController extends Abstract_vc_1.default {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
super(options);
|
|
12
|
+
this.model = (0, removeUniversalViewOptions_1.default)((0, schema_1.assertOptions)(options, ['nodes']));
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
return {
|
|
16
|
+
nodes: this.model.nodes.map((node) => ({
|
|
17
|
+
...node,
|
|
18
|
+
onClick: async () => {
|
|
19
|
+
await node.onClick?.();
|
|
20
|
+
await this.model.onClickNode?.(node.id);
|
|
21
|
+
},
|
|
22
|
+
onClickDelete: async () => {
|
|
23
|
+
await node.onClickDelete?.();
|
|
24
|
+
await this.model.onClickDeleteNode?.(node.id);
|
|
25
|
+
},
|
|
26
|
+
})),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = TreeViewController;
|
package/package.json
CHANGED