@mj-biz-apps/common-ng 5.33.2 → 5.35.0
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/LICENSE +183 -0
- package/README.md +12 -2
- package/dist/lib/components/address-editor/address-editor.component.d.ts +23 -0
- package/dist/lib/components/address-editor/address-editor.component.d.ts.map +1 -1
- package/dist/lib/components/address-editor/address-editor.component.js +207 -140
- package/dist/lib/components/address-editor/address-editor.component.js.map +1 -1
- package/dist/lib/components/contact-method-list/contact-method-list.component.d.ts +17 -10
- package/dist/lib/components/contact-method-list/contact-method-list.component.d.ts.map +1 -1
- package/dist/lib/components/contact-method-list/contact-method-list.component.js +104 -39
- package/dist/lib/components/contact-method-list/contact-method-list.component.js.map +1 -1
- package/dist/lib/components/identity-header/activity-identity.component.d.ts +36 -0
- package/dist/lib/components/identity-header/activity-identity.component.d.ts.map +1 -0
- package/dist/lib/components/identity-header/activity-identity.component.js +387 -0
- package/dist/lib/components/identity-header/activity-identity.component.js.map +1 -0
- package/dist/lib/components/identity-header/organization-identity.component.d.ts +26 -0
- package/dist/lib/components/identity-header/organization-identity.component.d.ts.map +1 -0
- package/dist/lib/components/identity-header/organization-identity.component.js +304 -0
- package/dist/lib/components/identity-header/organization-identity.component.js.map +1 -0
- package/dist/lib/components/identity-header/person-identity.component.d.ts +27 -0
- package/dist/lib/components/identity-header/person-identity.component.d.ts.map +1 -0
- package/dist/lib/components/identity-header/person-identity.component.js +330 -0
- package/dist/lib/components/identity-header/person-identity.component.js.map +1 -0
- package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.d.ts +14 -82
- package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.d.ts.map +1 -1
- package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.js +138 -151
- package/dist/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.js.map +1 -1
- package/dist/lib/components/relationship-graph/common-relationship-graph.component.d.ts +40 -0
- package/dist/lib/components/relationship-graph/common-relationship-graph.component.d.ts.map +1 -0
- package/dist/lib/components/relationship-graph/common-relationship-graph.component.js +403 -0
- package/dist/lib/components/relationship-graph/common-relationship-graph.component.js.map +1 -0
- package/dist/lib/components/relationship-list/relationship-list.component.d.ts +25 -55
- package/dist/lib/components/relationship-list/relationship-list.component.d.ts.map +1 -1
- package/dist/lib/components/relationship-list/relationship-list.component.js +509 -483
- package/dist/lib/components/relationship-list/relationship-list.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +29 -11
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +101 -29
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/custom/panels/__tests__/activity-header.panel.test.d.ts +3 -0
- package/dist/lib/custom/panels/__tests__/activity-header.panel.test.d.ts.map +1 -0
- package/dist/lib/custom/panels/__tests__/activity-header.panel.test.js +123 -0
- package/dist/lib/custom/panels/__tests__/activity-header.panel.test.js.map +1 -0
- package/dist/lib/custom/panels/activity-content.panel.d.ts +30 -0
- package/dist/lib/custom/panels/activity-content.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/activity-content.panel.js +309 -0
- package/dist/lib/custom/panels/activity-content.panel.js.map +1 -0
- package/dist/lib/custom/panels/activity-files.panel.d.ts +33 -0
- package/dist/lib/custom/panels/activity-files.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/activity-files.panel.js +222 -0
- package/dist/lib/custom/panels/activity-files.panel.js.map +1 -0
- package/dist/lib/custom/panels/activity-header.panel.d.ts +11 -0
- package/dist/lib/custom/panels/activity-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/activity-header.panel.js +54 -0
- package/dist/lib/custom/panels/activity-header.panel.js.map +1 -0
- package/dist/lib/custom/panels/activity-hierarchy.panel.d.ts +22 -0
- package/dist/lib/custom/panels/activity-hierarchy.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/activity-hierarchy.panel.js +120 -0
- package/dist/lib/custom/panels/activity-hierarchy.panel.js.map +1 -0
- package/dist/lib/custom/panels/activity-links.panel.d.ts +33 -0
- package/dist/lib/custom/panels/activity-links.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/activity-links.panel.js +210 -0
- package/dist/lib/custom/panels/activity-links.panel.js.map +1 -0
- package/dist/lib/custom/panels/activity-type-hierarchy.panel.d.ts +22 -0
- package/dist/lib/custom/panels/activity-type-hierarchy.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/activity-type-hierarchy.panel.js +113 -0
- package/dist/lib/custom/panels/activity-type-hierarchy.panel.js.map +1 -0
- package/dist/lib/custom/panels/bizapps-form-panel.d.ts +19 -0
- package/dist/lib/custom/panels/bizapps-form-panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/bizapps-form-panel.js +29 -0
- package/dist/lib/custom/panels/bizapps-form-panel.js.map +1 -0
- package/dist/lib/custom/panels/organization-addresses.panel.d.ts +12 -0
- package/dist/lib/custom/panels/organization-addresses.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/organization-addresses.panel.js +57 -0
- package/dist/lib/custom/panels/organization-addresses.panel.js.map +1 -0
- package/dist/lib/custom/panels/organization-contact-methods.panel.d.ts +11 -0
- package/dist/lib/custom/panels/organization-contact-methods.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/organization-contact-methods.panel.js +56 -0
- package/dist/lib/custom/panels/organization-contact-methods.panel.js.map +1 -0
- package/dist/lib/custom/panels/organization-header.panel.d.ts +11 -0
- package/dist/lib/custom/panels/organization-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/organization-header.panel.js +54 -0
- package/dist/lib/custom/panels/organization-header.panel.js.map +1 -0
- package/dist/lib/custom/panels/organization-hierarchy.panel.d.ts +12 -0
- package/dist/lib/custom/panels/organization-hierarchy.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/organization-hierarchy.panel.js +57 -0
- package/dist/lib/custom/panels/organization-hierarchy.panel.js.map +1 -0
- package/dist/lib/custom/panels/organization-relationships.panel.d.ts +17 -0
- package/dist/lib/custom/panels/organization-relationships.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/organization-relationships.panel.js +163 -0
- package/dist/lib/custom/panels/organization-relationships.panel.js.map +1 -0
- package/dist/lib/custom/panels/person-addresses.panel.d.ts +12 -0
- package/dist/lib/custom/panels/person-addresses.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/person-addresses.panel.js +57 -0
- package/dist/lib/custom/panels/person-addresses.panel.js.map +1 -0
- package/dist/lib/custom/panels/person-contact-methods.panel.d.ts +11 -0
- package/dist/lib/custom/panels/person-contact-methods.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/person-contact-methods.panel.js +56 -0
- package/dist/lib/custom/panels/person-contact-methods.panel.js.map +1 -0
- package/dist/lib/custom/panels/person-header.panel.d.ts +12 -0
- package/dist/lib/custom/panels/person-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/person-header.panel.js +55 -0
- package/dist/lib/custom/panels/person-header.panel.js.map +1 -0
- package/dist/lib/custom/panels/person-relationships.panel.d.ts +17 -0
- package/dist/lib/custom/panels/person-relationships.panel.d.ts.map +1 -0
- package/dist/lib/custom/panels/person-relationships.panel.js +163 -0
- package/dist/lib/custom/panels/person-relationships.panel.js.map +1 -0
- package/dist/lib/data/__tests__/directory-stats.test.d.ts +2 -0
- package/dist/lib/data/__tests__/directory-stats.test.d.ts.map +1 -0
- package/dist/lib/data/__tests__/directory-stats.test.js +79 -0
- package/dist/lib/data/__tests__/directory-stats.test.js.map +1 -0
- package/dist/lib/data/directory-queries.d.ts +10 -0
- package/dist/lib/data/directory-queries.d.ts.map +1 -0
- package/dist/lib/data/directory-queries.js +104 -0
- package/dist/lib/data/directory-queries.js.map +1 -0
- package/dist/lib/data/directory-stats.d.ts +24 -0
- package/dist/lib/data/directory-stats.d.ts.map +1 -0
- package/dist/lib/data/directory-stats.js +137 -0
- package/dist/lib/data/directory-stats.js.map +1 -0
- package/dist/lib/data/directory-types.d.ts +33 -0
- package/dist/lib/data/directory-types.d.ts.map +1 -0
- package/dist/lib/data/directory-types.js +2 -0
- package/dist/lib/data/directory-types.js.map +1 -0
- package/dist/lib/data/entity-names.d.ts +21 -0
- package/dist/lib/data/entity-names.d.ts.map +1 -0
- package/dist/lib/data/entity-names.js +21 -0
- package/dist/lib/data/entity-names.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivity/mjbizappscommonactivity.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivity/mjbizappscommonactivity.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivity/mjbizappscommonactivity.form.component.js +210 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivity/mjbizappscommonactivity.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityFile/mjbizappscommonactivityfile.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityFile/mjbizappscommonactivityfile.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityFile/mjbizappscommonactivityfile.form.component.js +63 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityFile/mjbizappscommonactivityfile.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityLink/mjbizappscommonactivitylink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityLink/mjbizappscommonactivitylink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityLink/mjbizappscommonactivitylink.form.component.js +69 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityLink/mjbizappscommonactivitylink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncConnection/mjbizappscommonactivitysyncconnection.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncConnection/mjbizappscommonactivitysyncconnection.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncConnection/mjbizappscommonactivitysyncconnection.form.component.js +112 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncConnection/mjbizappscommonactivitysyncconnection.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncRule/mjbizappscommonactivitysyncrule.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncRule/mjbizappscommonactivitysyncrule.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncRule/mjbizappscommonactivitysyncrule.form.component.js +77 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivitySyncRule/mjbizappscommonactivitysyncrule.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityType/mjbizappscommonactivitytype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityType/mjbizappscommonactivitytype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityType/mjbizappscommonactivitytype.form.component.js +156 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonActivityType/mjbizappscommonactivitytype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js +24 -6
- package/dist/lib/generated/Entities/mjBizAppsCommonAddress/mjbizappscommonaddress.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js +2 -2
- package/dist/lib/generated/Entities/mjBizAppsCommonAddressType/mjbizappscommonaddresstype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js +5 -9
- package/dist/lib/generated/Entities/mjBizAppsCommonContactMethod/mjbizappscommoncontactmethod.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js +2 -2
- package/dist/lib/generated/Entities/mjBizAppsCommonContactType/mjbizappscommoncontacttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js +83 -37
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganization/mjbizappscommonorganization.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js +2 -2
- package/dist/lib/generated/Entities/mjBizAppsCommonOrganizationType/mjbizappscommonorganizationtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js +73 -35
- package/dist/lib/generated/Entities/mjBizAppsCommonPerson/mjbizappscommonperson.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js +5 -9
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationship/mjbizappscommonrelationship.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js +2 -2
- package/dist/lib/generated/Entities/mjBizAppsCommonRelationshipType/mjbizappscommonrelationshiptype.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +22 -16
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +19 -1
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/open-record.d.ts +5 -0
- package/dist/lib/open-record.d.ts.map +1 -0
- package/dist/lib/open-record.js +15 -0
- package/dist/lib/open-record.js.map +1 -0
- package/dist/lib/pages/activities-dashboard.page.d.ts +53 -0
- package/dist/lib/pages/activities-dashboard.page.d.ts.map +1 -0
- package/dist/lib/pages/activities-dashboard.page.js +663 -0
- package/dist/lib/pages/activities-dashboard.page.js.map +1 -0
- package/dist/lib/pages/common-dashboard.page.d.ts +42 -0
- package/dist/lib/pages/common-dashboard.page.d.ts.map +1 -0
- package/dist/lib/pages/common-dashboard.page.js +662 -0
- package/dist/lib/pages/common-dashboard.page.js.map +1 -0
- package/dist/lib/pages/organizations-list.page.d.ts +19 -0
- package/dist/lib/pages/organizations-list.page.d.ts.map +1 -0
- package/dist/lib/pages/organizations-list.page.js +202 -0
- package/dist/lib/pages/organizations-list.page.js.map +1 -0
- package/dist/lib/pages/people-list.page.d.ts +21 -0
- package/dist/lib/pages/people-list.page.d.ts.map +1 -0
- package/dist/lib/pages/people-list.page.js +209 -0
- package/dist/lib/pages/people-list.page.js.map +1 -0
- package/dist/lib/sections/common-sections.component.d.ts +43 -0
- package/dist/lib/sections/common-sections.component.d.ts.map +1 -0
- package/dist/lib/sections/common-sections.component.js +167 -0
- package/dist/lib/sections/common-sections.component.js.map +1 -0
- package/dist/public-api.d.ts +16 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +20 -2
- package/dist/public-api.js.map +1 -1
- package/package.json +19 -12
- package/dist/lib/custom/Organization/organization-form.component.d.ts +0 -24
- package/dist/lib/custom/Organization/organization-form.component.d.ts.map +0 -1
- package/dist/lib/custom/Organization/organization-form.component.js +0 -244
- package/dist/lib/custom/Organization/organization-form.component.js.map +0 -1
- package/dist/lib/custom/Person/person-form.component.d.ts +0 -24
- package/dist/lib/custom/Person/person-form.component.d.ts.map +0 -1
- package/dist/lib/custom/Person/person-form.component.js +0 -229
- package/dist/lib/custom/Person/person-form.component.js.map +0 -1
|
@@ -1,78 +1,89 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter, inject, ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { CompositeKey, RunView } from '@memberjunction/core';
|
|
4
|
+
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
5
|
+
import { HierarchyTreeComponent } from '@memberjunction/ng-hierarchy-tree';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
6
|
-
function
|
|
7
|
-
i0.ɵɵ
|
|
8
|
-
i0.ɵɵ
|
|
8
|
+
function OrgHierarchyTreeComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
10
|
+
i0.ɵɵelementStart(0, "mj-hierarchy-tree", 6);
|
|
11
|
+
i0.ɵɵlistener("Navigate", function OrgHierarchyTreeComponent_Conditional_10_Template_mj_hierarchy_tree_Navigate_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.Navigate.emit($event)); });
|
|
12
|
+
i0.ɵɵelementEnd();
|
|
13
|
+
} if (rf & 2) {
|
|
14
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
15
|
+
i0.ɵɵproperty("Config", ctx_r1.treeConfig);
|
|
16
|
+
} }
|
|
17
|
+
function OrgHierarchyTreeComponent_Conditional_11_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
19
|
+
i0.ɵɵelement(1, "i", 8);
|
|
9
20
|
i0.ɵɵtext(2, " Loading hierarchy... ");
|
|
10
|
-
i0.ɵɵ
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
11
22
|
} }
|
|
12
|
-
function
|
|
13
|
-
i0.ɵɵ
|
|
14
|
-
i0.ɵɵ
|
|
15
|
-
i0.ɵɵtext(2, " No
|
|
16
|
-
i0.ɵɵ
|
|
23
|
+
function OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementStart(0, "div", 9);
|
|
25
|
+
i0.ɵɵelement(1, "i", 3);
|
|
26
|
+
i0.ɵɵtext(2, " No parent or subsidiary organizations found. ");
|
|
27
|
+
i0.ɵɵelementEnd();
|
|
17
28
|
} }
|
|
18
|
-
function
|
|
19
|
-
const
|
|
20
|
-
i0.ɵɵ
|
|
21
|
-
i0.ɵɵ
|
|
22
|
-
i0.ɵɵ
|
|
23
|
-
i0.ɵɵ
|
|
24
|
-
i0.ɵɵ
|
|
25
|
-
i0.ɵɵ
|
|
29
|
+
function OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
31
|
+
i0.ɵɵelementStart(0, "div", 18);
|
|
32
|
+
i0.ɵɵlistener("click", function OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_Conditional_1_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.OnNavigateToOrg(ctx_r1.ParentNode, $event)); });
|
|
33
|
+
i0.ɵɵelementStart(1, "div", 13);
|
|
34
|
+
i0.ɵɵelement(2, "i", 14);
|
|
35
|
+
i0.ɵɵelementEnd();
|
|
36
|
+
i0.ɵɵelementStart(3, "div")(4, "div", 15);
|
|
26
37
|
i0.ɵɵtext(5);
|
|
27
|
-
i0.ɵɵ
|
|
28
|
-
i0.ɵɵ
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
i0.ɵɵelementStart(6, "div", 16);
|
|
29
40
|
i0.ɵɵtext(7);
|
|
30
|
-
i0.ɵɵ
|
|
41
|
+
i0.ɵɵelementEnd()()();
|
|
31
42
|
} if (rf & 2) {
|
|
32
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
|
43
|
+
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
33
44
|
i0.ɵɵadvance(5);
|
|
34
45
|
i0.ɵɵtextInterpolate(ctx_r1.ParentNode.Name);
|
|
35
46
|
i0.ɵɵadvance(2);
|
|
36
47
|
i0.ɵɵtextInterpolate1("Parent \u00B7 ", ctx_r1.ParentNode.OrganizationType || "");
|
|
37
48
|
} }
|
|
38
|
-
function
|
|
39
|
-
const
|
|
40
|
-
i0.ɵɵ
|
|
41
|
-
i0.ɵɵ
|
|
42
|
-
i0.ɵɵ
|
|
43
|
-
i0.ɵɵ
|
|
44
|
-
i0.ɵɵ
|
|
45
|
-
i0.ɵɵ
|
|
49
|
+
function OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_For_11_Template(rf, ctx) { if (rf & 1) {
|
|
50
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
51
|
+
i0.ɵɵelementStart(0, "div", 19);
|
|
52
|
+
i0.ɵɵlistener("click", function OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_For_11_Template_div_click_0_listener($event) { const child_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.OnNavigateToOrg(child_r5, $event)); });
|
|
53
|
+
i0.ɵɵelementStart(1, "div", 13);
|
|
54
|
+
i0.ɵɵelement(2, "i", 14);
|
|
55
|
+
i0.ɵɵelementEnd();
|
|
56
|
+
i0.ɵɵelementStart(3, "div")(4, "div", 15);
|
|
46
57
|
i0.ɵɵtext(5);
|
|
47
|
-
i0.ɵɵ
|
|
48
|
-
i0.ɵɵ
|
|
58
|
+
i0.ɵɵelementEnd();
|
|
59
|
+
i0.ɵɵelementStart(6, "div", 16);
|
|
49
60
|
i0.ɵɵtext(7);
|
|
50
|
-
i0.ɵɵ
|
|
61
|
+
i0.ɵɵelementEnd()()();
|
|
51
62
|
} if (rf & 2) {
|
|
52
|
-
const
|
|
53
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
|
63
|
+
const child_r5 = ctx.$implicit;
|
|
64
|
+
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
54
65
|
i0.ɵɵclassProp("tree-indent-deep", ctx_r1.ParentNode !== null);
|
|
55
66
|
i0.ɵɵadvance(5);
|
|
56
|
-
i0.ɵɵtextInterpolate(
|
|
67
|
+
i0.ɵɵtextInterpolate(child_r5.Name);
|
|
57
68
|
i0.ɵɵadvance(2);
|
|
58
|
-
i0.ɵɵtextInterpolate1("Child \u00B7 ",
|
|
69
|
+
i0.ɵɵtextInterpolate1("Child \u00B7 ", child_r5.OrganizationType || "");
|
|
59
70
|
} }
|
|
60
|
-
function
|
|
61
|
-
i0.ɵɵ
|
|
62
|
-
i0.ɵɵconditionalCreate(1,
|
|
63
|
-
i0.ɵɵ
|
|
64
|
-
i0.ɵɵ
|
|
65
|
-
i0.ɵɵ
|
|
66
|
-
i0.ɵɵ
|
|
71
|
+
function OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
72
|
+
i0.ɵɵelementStart(0, "div", 10);
|
|
73
|
+
i0.ɵɵconditionalCreate(1, OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_Conditional_1_Template, 8, 2, "div", 11);
|
|
74
|
+
i0.ɵɵelementStart(2, "div", 12)(3, "div", 13);
|
|
75
|
+
i0.ɵɵelement(4, "i", 14);
|
|
76
|
+
i0.ɵɵelementEnd();
|
|
77
|
+
i0.ɵɵelementStart(5, "div")(6, "div", 15);
|
|
67
78
|
i0.ɵɵtext(7);
|
|
68
|
-
i0.ɵɵ
|
|
69
|
-
i0.ɵɵ
|
|
79
|
+
i0.ɵɵelementEnd();
|
|
80
|
+
i0.ɵɵelementStart(8, "div", 16);
|
|
70
81
|
i0.ɵɵtext(9);
|
|
71
|
-
i0.ɵɵ
|
|
72
|
-
i0.ɵɵrepeaterCreate(10,
|
|
73
|
-
i0.ɵɵ
|
|
82
|
+
i0.ɵɵelementEnd()()();
|
|
83
|
+
i0.ɵɵrepeaterCreate(10, OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_For_11_Template, 8, 4, "div", 17, _forTrack0);
|
|
84
|
+
i0.ɵɵelementEnd();
|
|
74
85
|
} if (rf & 2) {
|
|
75
|
-
const ctx_r1 = i0.ɵɵnextContext(
|
|
86
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
76
87
|
i0.ɵɵadvance();
|
|
77
88
|
i0.ɵɵconditional(ctx_r1.ParentNode ? 1 : -1);
|
|
78
89
|
i0.ɵɵadvance();
|
|
@@ -84,40 +95,29 @@ function OrgHierarchyTreeComponent_Conditional_1_Conditional_1_Template(rf, ctx)
|
|
|
84
95
|
i0.ɵɵadvance();
|
|
85
96
|
i0.ɵɵrepeater(ctx_r1.ChildNodes);
|
|
86
97
|
} }
|
|
87
|
-
function
|
|
88
|
-
i0.ɵɵconditionalCreate(0,
|
|
98
|
+
function OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
i0.ɵɵconditionalCreate(0, OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_0_Template, 3, 0, "div", 9)(1, OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Conditional_1_Template, 12, 5, "div", 10);
|
|
89
100
|
} if (rf & 2) {
|
|
90
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
101
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
91
102
|
i0.ɵɵconditional(!ctx_r1.ParentNode && ctx_r1.ChildNodes.length === 0 ? 0 : 1);
|
|
92
103
|
} }
|
|
104
|
+
function OrgHierarchyTreeComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
105
|
+
i0.ɵɵconditionalCreate(0, OrgHierarchyTreeComponent_Conditional_11_Conditional_0_Template, 3, 0, "div", 7)(1, OrgHierarchyTreeComponent_Conditional_11_Conditional_1_Template, 2, 1);
|
|
106
|
+
} if (rf & 2) {
|
|
107
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
108
|
+
i0.ɵɵconditional(ctx_r1.Loading ? 0 : 1);
|
|
109
|
+
} }
|
|
93
110
|
/**
|
|
94
111
|
* Tree-view component that renders the parent/current/child org hierarchy.
|
|
95
112
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* highlighted, and all direct child organizations. Clicking a parent or child
|
|
99
|
-
* node emits a navigation event.
|
|
100
|
-
*
|
|
101
|
-
* Indentation levels are controlled by CSS classes rather than nested DOM
|
|
102
|
-
* elements, which works cleanly with Angular's `@if`/`@for` block syntax.
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* ```html
|
|
106
|
-
* <bizapps-org-hierarchy-tree
|
|
107
|
-
* [OrganizationID]="orgRecord.ID"
|
|
108
|
-
* (Navigate)="onNavigate($event)">
|
|
109
|
-
* </bizapps-org-hierarchy-tree>
|
|
110
|
-
* ```
|
|
113
|
+
* Supports both an interactive **Visual Org Chart Canvas** powered by `@memberjunction/ng-hierarchy-tree`
|
|
114
|
+
* and a compact **Outline List** with segmented switcher and UserInfoEngine preference persistence.
|
|
111
115
|
*/
|
|
112
116
|
export class OrgHierarchyTreeComponent {
|
|
113
|
-
/** Angular change-detection reference, injected for manual triggering after async ops. */
|
|
114
117
|
cdr = inject(ChangeDetectorRef);
|
|
115
|
-
/** Backing field for the OrganizationID input property. */
|
|
116
118
|
_organizationID = '';
|
|
117
|
-
/**
|
|
118
|
-
|
|
119
|
-
* Setting this value triggers an asynchronous data reload of parent and child orgs.
|
|
120
|
-
*/
|
|
119
|
+
/** Active view mode ('chart' for visual canvas, 'outline' for compact list) */
|
|
120
|
+
ViewMode = 'chart';
|
|
121
121
|
set OrganizationID(value) {
|
|
122
122
|
const prev = this._organizationID;
|
|
123
123
|
this._organizationID = value;
|
|
@@ -125,41 +125,40 @@ export class OrgHierarchyTreeComponent {
|
|
|
125
125
|
this.loadHierarchy();
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
/** Returns the current organization ID. */
|
|
129
128
|
get OrganizationID() { return this._organizationID; }
|
|
130
|
-
/**
|
|
131
|
-
* Emitted when the user clicks a parent or child organization node.
|
|
132
|
-
* The event payload is a {@link RecordNavigationEvent} targeting the clicked org record.
|
|
133
|
-
*/
|
|
134
129
|
Navigate = new EventEmitter();
|
|
135
|
-
/**
|
|
136
|
-
* The parent organization tree node, or `null` if the current org has no parent.
|
|
137
|
-
*/
|
|
138
130
|
ParentNode = null;
|
|
139
|
-
/**
|
|
140
|
-
* The tree node representing the currently-viewed organization.
|
|
141
|
-
*/
|
|
142
131
|
CurrentNode = null;
|
|
143
|
-
/**
|
|
144
|
-
* Array of direct child organization tree nodes.
|
|
145
|
-
*/
|
|
146
132
|
ChildNodes = [];
|
|
147
|
-
/**
|
|
148
|
-
* Whether the component is currently loading hierarchy data.
|
|
149
|
-
*/
|
|
150
133
|
Loading = false;
|
|
151
|
-
/**
|
|
152
|
-
* The root tree node (set to CurrentNode after loading). Used in the template
|
|
153
|
-
* to determine whether the hierarchy has been loaded at all.
|
|
154
|
-
*/
|
|
155
134
|
TreeRoot = null;
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
135
|
+
ngOnInit() {
|
|
136
|
+
this.loadViewPreference();
|
|
137
|
+
}
|
|
138
|
+
loadViewPreference() {
|
|
139
|
+
const pref = UserInfoEngine.Instance.GetSetting('mj.orgHierarchy.viewMode');
|
|
140
|
+
if (pref === 'outline' || pref === 'chart') {
|
|
141
|
+
this.ViewMode = pref;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
SetViewMode(mode) {
|
|
145
|
+
this.ViewMode = mode;
|
|
146
|
+
UserInfoEngine.Instance.SetSettingDebounced('mj.orgHierarchy.viewMode', mode);
|
|
147
|
+
this.cdr.detectChanges();
|
|
148
|
+
}
|
|
149
|
+
get treeConfig() {
|
|
150
|
+
return {
|
|
151
|
+
EntityName: 'MJ_BizApps_Common: Organizations',
|
|
152
|
+
ParentField: 'ParentID',
|
|
153
|
+
SubtitleField: 'OrganizationType',
|
|
154
|
+
DefaultIcon: 'fa-solid fa-building',
|
|
155
|
+
DefaultColor: '#38bdf8',
|
|
156
|
+
FocusRecordID: this._organizationID || undefined,
|
|
157
|
+
Height: '440px',
|
|
158
|
+
ShowSearch: true,
|
|
159
|
+
ShowToolbar: true
|
|
160
|
+
};
|
|
161
|
+
}
|
|
163
162
|
async loadHierarchy() {
|
|
164
163
|
this.Loading = true;
|
|
165
164
|
this.ParentNode = null;
|
|
@@ -169,7 +168,6 @@ export class OrgHierarchyTreeComponent {
|
|
|
169
168
|
this.cdr.detectChanges();
|
|
170
169
|
try {
|
|
171
170
|
const rv = new RunView();
|
|
172
|
-
// First, load the current organization
|
|
173
171
|
const currentResult = await rv.RunView({
|
|
174
172
|
EntityName: 'MJ_BizApps_Common: Organizations',
|
|
175
173
|
ExtraFilter: `ID='${this._organizationID}'`,
|
|
@@ -181,12 +179,11 @@ export class OrgHierarchyTreeComponent {
|
|
|
181
179
|
const currentOrg = currentResult.Results[0];
|
|
182
180
|
this.CurrentNode = this.buildTreeNode(currentOrg, true);
|
|
183
181
|
this.TreeRoot = this.CurrentNode;
|
|
184
|
-
// Load parent and children in parallel
|
|
185
182
|
const parentID = currentOrg.ParentID;
|
|
186
183
|
const batchViews = this.buildBatchQueries(parentID);
|
|
187
184
|
if (batchViews.length > 0) {
|
|
188
|
-
const
|
|
189
|
-
this.processBatchResults(
|
|
185
|
+
const results = await rv.RunViews(batchViews);
|
|
186
|
+
this.processBatchResults(results, parentID);
|
|
190
187
|
}
|
|
191
188
|
}
|
|
192
189
|
catch (err) {
|
|
@@ -197,13 +194,6 @@ export class OrgHierarchyTreeComponent {
|
|
|
197
194
|
this.cdr.detectChanges();
|
|
198
195
|
}
|
|
199
196
|
}
|
|
200
|
-
/**
|
|
201
|
-
* Builds the array of RunView parameter objects for batch loading.
|
|
202
|
-
* Includes a parent org query (if parentID exists) and a children query.
|
|
203
|
-
*
|
|
204
|
-
* @param parentID - The parent organization ID, or null if none
|
|
205
|
-
* @returns Array of RunView parameter objects for batch execution
|
|
206
|
-
*/
|
|
207
197
|
buildBatchQueries(parentID) {
|
|
208
198
|
const queries = [];
|
|
209
199
|
if (parentID) {
|
|
@@ -216,39 +206,25 @@ export class OrgHierarchyTreeComponent {
|
|
|
216
206
|
queries.push({
|
|
217
207
|
EntityName: 'MJ_BizApps_Common: Organizations',
|
|
218
208
|
ExtraFilter: `ParentID='${this._organizationID}'`,
|
|
209
|
+
OrderBy: 'Name ASC',
|
|
219
210
|
ResultType: 'entity_object'
|
|
220
211
|
});
|
|
221
212
|
return queries;
|
|
222
213
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
processBatchResults(batchResults, parentID) {
|
|
230
|
-
let childResultIndex = 0;
|
|
231
|
-
if (parentID && batchResults.length > 0) {
|
|
232
|
-
const parentResult = batchResults[0];
|
|
233
|
-
if (parentResult.Success && parentResult.Results.length > 0) {
|
|
234
|
-
this.ParentNode = this.buildTreeNode(parentResult.Results[0], false);
|
|
214
|
+
processBatchResults(results, parentID) {
|
|
215
|
+
let resultIndex = 0;
|
|
216
|
+
if (parentID && results[resultIndex]?.Success) {
|
|
217
|
+
const parentOrgs = results[resultIndex].Results;
|
|
218
|
+
if (parentOrgs.length > 0) {
|
|
219
|
+
this.ParentNode = this.buildTreeNode(parentOrgs[0], false);
|
|
235
220
|
}
|
|
236
|
-
|
|
221
|
+
resultIndex++;
|
|
237
222
|
}
|
|
238
|
-
if (
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
this.ChildNodes = childResult.Results.map(org => this.buildTreeNode(org, false));
|
|
242
|
-
}
|
|
223
|
+
if (results[resultIndex]?.Success) {
|
|
224
|
+
const childOrgs = results[resultIndex].Results;
|
|
225
|
+
this.ChildNodes = childOrgs.map(org => this.buildTreeNode(org, false));
|
|
243
226
|
}
|
|
244
227
|
}
|
|
245
|
-
/**
|
|
246
|
-
* Constructs an OrgTreeNode from a loaded organization entity object.
|
|
247
|
-
*
|
|
248
|
-
* @param org - The organization entity instance
|
|
249
|
-
* @param isCurrent - Whether this node represents the currently-viewed org
|
|
250
|
-
* @returns A new OrgTreeNode populated from the entity fields
|
|
251
|
-
*/
|
|
252
228
|
buildTreeNode(org, isCurrent) {
|
|
253
229
|
return {
|
|
254
230
|
ID: org.ID,
|
|
@@ -258,16 +234,10 @@ export class OrgHierarchyTreeComponent {
|
|
|
258
234
|
Children: []
|
|
259
235
|
};
|
|
260
236
|
}
|
|
261
|
-
/**
|
|
262
|
-
* Handles click on a tree node (parent or child) and emits a navigation event.
|
|
263
|
-
*
|
|
264
|
-
* @param node - The OrgTreeNode that was clicked
|
|
265
|
-
* @param event - The mouse event, used to detect ctrl/meta key for new-tab behavior
|
|
266
|
-
*/
|
|
267
237
|
OnNavigateToOrg(node, event) {
|
|
268
|
-
if (node
|
|
238
|
+
if (!node)
|
|
269
239
|
return;
|
|
270
|
-
|
|
240
|
+
event.stopPropagation();
|
|
271
241
|
const navEvent = {
|
|
272
242
|
Kind: 'record',
|
|
273
243
|
EntityName: 'MJ_BizApps_Common: Organizations',
|
|
@@ -277,19 +247,36 @@ export class OrgHierarchyTreeComponent {
|
|
|
277
247
|
this.Navigate.emit(navEvent);
|
|
278
248
|
}
|
|
279
249
|
static ɵfac = function OrgHierarchyTreeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || OrgHierarchyTreeComponent)(); };
|
|
280
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OrgHierarchyTreeComponent, selectors: [["bizapps-org-hierarchy-tree"]], inputs: { OrganizationID: "OrganizationID" }, outputs: { Navigate: "Navigate" }, decls:
|
|
281
|
-
i0.ɵɵ
|
|
250
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: OrgHierarchyTreeComponent, selectors: [["bizapps-org-hierarchy-tree"]], inputs: { OrganizationID: "OrganizationID" }, outputs: { Navigate: "Navigate" }, decls: 12, vars: 5, consts: [[1, "bizapps-view-switcher-bar"], ["role", "group", "aria-label", "Organization hierarchy view mode", 1, "bizapps-view-segmented-group"], ["type", "button", 1, "bizapps-view-segment-btn", 3, "click"], [1, "fa-solid", "fa-sitemap"], [1, "fa-solid", "fa-list-tree"], [3, "Config"], [3, "Navigate", "Config"], [1, "loading-state"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "empty-state"], [1, "hierarchy-tree"], [1, "tree-item"], [1, "tree-item", "tree-item--current"], [1, "tree-icon"], [1, "fa-solid", "fa-building"], [1, "tree-name"], [1, "tree-type"], [1, "tree-item", "tree-indent-child", 3, "tree-indent-deep"], [1, "tree-item", 3, "click"], [1, "tree-item", "tree-indent-child", 3, "click"]], template: function OrgHierarchyTreeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
251
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "button", 2);
|
|
252
|
+
i0.ɵɵlistener("click", function OrgHierarchyTreeComponent_Template_button_click_2_listener() { return ctx.SetViewMode("chart"); });
|
|
253
|
+
i0.ɵɵelement(3, "i", 3);
|
|
254
|
+
i0.ɵɵelementStart(4, "span");
|
|
255
|
+
i0.ɵɵtext(5, "Visual Org Chart");
|
|
256
|
+
i0.ɵɵelementEnd()();
|
|
257
|
+
i0.ɵɵelementStart(6, "button", 2);
|
|
258
|
+
i0.ɵɵlistener("click", function OrgHierarchyTreeComponent_Template_button_click_6_listener() { return ctx.SetViewMode("outline"); });
|
|
259
|
+
i0.ɵɵelement(7, "i", 4);
|
|
260
|
+
i0.ɵɵelementStart(8, "span");
|
|
261
|
+
i0.ɵɵtext(9, "Outline");
|
|
262
|
+
i0.ɵɵelementEnd()()()();
|
|
263
|
+
i0.ɵɵconditionalCreate(10, OrgHierarchyTreeComponent_Conditional_10_Template, 1, 1, "mj-hierarchy-tree", 5)(11, OrgHierarchyTreeComponent_Conditional_11_Template, 2, 1);
|
|
282
264
|
} if (rf & 2) {
|
|
283
|
-
i0.ɵɵ
|
|
284
|
-
|
|
265
|
+
i0.ɵɵadvance(2);
|
|
266
|
+
i0.ɵɵclassProp("active", ctx.ViewMode === "chart");
|
|
267
|
+
i0.ɵɵadvance(4);
|
|
268
|
+
i0.ɵɵclassProp("active", ctx.ViewMode === "outline");
|
|
269
|
+
i0.ɵɵadvance(4);
|
|
270
|
+
i0.ɵɵconditional(ctx.ViewMode === "chart" ? 10 : 11);
|
|
271
|
+
} }, dependencies: [CommonModule, HierarchyTreeComponent], styles: ["\n\n\n\n\n\n\n\n.bizapps-view-switcher-bar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n margin-bottom: 14px;\n}\n\n.bizapps-view-segmented-group[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 3px;\n background: var(--mj-bg-surface-sunken, #0b1220);\n border: 1px solid var(--mj-border-default, #223254);\n border-radius: 8px;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);\n}\n\n.bizapps-view-segment-btn[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 7px;\n padding: 5px 14px;\n border: none;\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary, #94a3b8);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);\n user-select: none;\n line-height: 1.4;\n}\n\n.bizapps-view-segment-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n opacity: 0.85;\n}\n\n.bizapps-view-segment-btn[_ngcontent-%COMP%]:hover:not(.active) {\n color: var(--mj-text-primary, #f1f5f9);\n background: rgba(255, 255, 255, 0.05);\n}\n\n.bizapps-view-segment-btn.active[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary, #0284c7);\n color: #ffffff;\n font-weight: 600;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35), 0 0 8px rgba(2, 132, 199, 0.3);\n}\n\n\n\n.loading-state[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 24px;\n color: var(--mj-text-muted, #64748b);\n font-size: 13px;\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n\n\n.hierarchy-tree[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n\n\n.tree-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: background-color 0.15s;\n}\n\n.tree-item[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card, #141f3d);\n}\n\n\n\n.tree-item--current[_ngcontent-%COMP%] {\n background: rgba(16, 185, 129, 0.12);\n border: 1px solid rgba(16, 185, 129, 0.35);\n cursor: default;\n}\n\n.tree-item--current[_ngcontent-%COMP%]:hover {\n background: rgba(16, 185, 129, 0.16);\n}\n\n.tree-item--current[_ngcontent-%COMP%] .tree-icon[_ngcontent-%COMP%] {\n background: #10b981;\n color: #041124;\n}\n\n.tree-item--current[_ngcontent-%COMP%] .tree-name[_ngcontent-%COMP%] {\n color: #10b981;\n font-weight: 700;\n}\n\n\n\n.tree-icon[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n min-width: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: var(--mj-bg-surface-sunken, #080d1a);\n color: var(--mj-text-secondary, #94a3b8);\n font-size: 11px;\n}\n\n\n\n.tree-name[_ngcontent-%COMP%] {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary, #f8fafc);\n line-height: 1.3;\n}\n\n.tree-type[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--mj-text-muted, #64748b);\n line-height: 1.3;\n}\n\n\n\n.tree-indent[_ngcontent-%COMP%] {\n margin-left: 24px;\n}\n\n.tree-indent-child[_ngcontent-%COMP%] {\n margin-left: 24px;\n}\n\n.tree-indent-deep[_ngcontent-%COMP%] {\n margin-left: 48px;\n}"] });
|
|
285
272
|
}
|
|
286
273
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(OrgHierarchyTreeComponent, [{
|
|
287
274
|
type: Component,
|
|
288
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'bizapps-org-hierarchy-tree', template: "@if (
|
|
275
|
+
args: [{ standalone: true, imports: [CommonModule, HierarchyTreeComponent], selector: 'bizapps-org-hierarchy-tree', template: "<!-- Segmented View Mode Switcher -->\n<div class=\"bizapps-view-switcher-bar\">\n <div class=\"bizapps-view-segmented-group\" role=\"group\" aria-label=\"Organization hierarchy view mode\">\n <button\n type=\"button\"\n class=\"bizapps-view-segment-btn\"\n [class.active]=\"ViewMode === 'chart'\"\n (click)=\"SetViewMode('chart')\">\n <i class=\"fa-solid fa-sitemap\"></i>\n <span>Visual Org Chart</span>\n </button>\n <button\n type=\"button\"\n class=\"bizapps-view-segment-btn\"\n [class.active]=\"ViewMode === 'outline'\"\n (click)=\"SetViewMode('outline')\">\n <i class=\"fa-solid fa-list-tree\"></i>\n <span>Outline</span>\n </button>\n </div>\n</div>\n\n@if (ViewMode === 'chart') {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n (Navigate)=\"Navigate.emit($event)\">\n </mj-hierarchy-tree>\n} @else {\n @if (Loading) {\n <div class=\"loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Loading hierarchy...\n </div>\n } @else {\n @if (!ParentNode && ChildNodes.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-sitemap\"></i> No parent or subsidiary organizations found.\n </div>\n } @else {\n <div class=\"hierarchy-tree\">\n <!-- Parent organization (if exists) -->\n @if (ParentNode) {\n <div class=\"tree-item\" (click)=\"OnNavigateToOrg(ParentNode, $event)\">\n <div class=\"tree-icon\"><i class=\"fa-solid fa-building\"></i></div>\n <div>\n <div class=\"tree-name\">{{ ParentNode.Name }}</div>\n <div class=\"tree-type\">Parent \u00B7 {{ ParentNode.OrganizationType || '' }}</div>\n </div>\n </div>\n }\n\n <!-- Current organization (highlighted) -->\n <div class=\"tree-item tree-item--current\" [class.tree-indent]=\"ParentNode !== null\">\n <div class=\"tree-icon\"><i class=\"fa-solid fa-building\"></i></div>\n <div>\n <div class=\"tree-name\">{{ CurrentNode?.Name }}</div>\n <div class=\"tree-type\">Current \u00B7 {{ CurrentNode?.OrganizationType || '' }}</div>\n </div>\n </div>\n\n <!-- Child organizations -->\n @for (child of ChildNodes; track child.ID) {\n <div class=\"tree-item tree-indent-child\"\n [class.tree-indent-deep]=\"ParentNode !== null\"\n (click)=\"OnNavigateToOrg(child, $event)\">\n <div class=\"tree-icon\"><i class=\"fa-solid fa-building\"></i></div>\n <div>\n <div class=\"tree-name\">{{ child.Name }}</div>\n <div class=\"tree-type\">Child \u00B7 {{ child.OrganizationType || '' }}</div>\n </div>\n </div>\n }\n </div>\n }\n }\n}\n", styles: ["/* ==============================\n OrgHierarchyTreeComponent Styles\n Tree view showing parent / current / child org hierarchy\n ============================== */\n\n/* View Switcher */\n.bizapps-view-switcher-bar {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n margin-bottom: 14px;\n}\n\n.bizapps-view-segmented-group {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 3px;\n background: var(--mj-bg-surface-sunken, #0b1220);\n border: 1px solid var(--mj-border-default, #223254);\n border-radius: 8px;\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);\n}\n\n.bizapps-view-segment-btn {\n display: inline-flex;\n align-items: center;\n gap: 7px;\n padding: 5px 14px;\n border: none;\n border-radius: 6px;\n background: transparent;\n color: var(--mj-text-secondary, #94a3b8);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1);\n user-select: none;\n line-height: 1.4;\n}\n\n.bizapps-view-segment-btn i {\n font-size: 12px;\n opacity: 0.85;\n}\n\n.bizapps-view-segment-btn:hover:not(.active) {\n color: var(--mj-text-primary, #f1f5f9);\n background: rgba(255, 255, 255, 0.05);\n}\n\n.bizapps-view-segment-btn.active {\n background: var(--mj-brand-primary, #0284c7);\n color: #ffffff;\n font-weight: 600;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35), 0 0 8px rgba(2, 132, 199, 0.3);\n}\n\n/* ---- Loading & empty states ---- */\n.loading-state,\n.empty-state {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 24px;\n color: var(--mj-text-muted, #64748b);\n font-size: 13px;\n}\n\n.empty-state i {\n font-size: 16px;\n}\n\n/* ---- Tree container ---- */\n.hierarchy-tree {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* ---- Individual tree item ---- */\n.tree-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n transition: background-color 0.15s;\n}\n\n.tree-item:hover {\n background: var(--mj-bg-surface-card, #141f3d);\n}\n\n/* ---- Current org highlight ---- */\n.tree-item--current {\n background: rgba(16, 185, 129, 0.12);\n border: 1px solid rgba(16, 185, 129, 0.35);\n cursor: default;\n}\n\n.tree-item--current:hover {\n background: rgba(16, 185, 129, 0.16);\n}\n\n.tree-item--current .tree-icon {\n background: #10b981;\n color: #041124;\n}\n\n.tree-item--current .tree-name {\n color: #10b981;\n font-weight: 700;\n}\n\n/* ---- Tree icon ---- */\n.tree-icon {\n width: 28px;\n height: 28px;\n min-width: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: var(--mj-bg-surface-sunken, #080d1a);\n color: var(--mj-text-secondary, #94a3b8);\n font-size: 11px;\n}\n\n/* ---- Tree text ---- */\n.tree-name {\n font-size: 13px;\n font-weight: 600;\n color: var(--mj-text-primary, #f8fafc);\n line-height: 1.3;\n}\n\n.tree-type {\n font-size: 11px;\n color: var(--mj-text-muted, #64748b);\n line-height: 1.3;\n}\n\n/* ---- Indentation levels ---- */\n.tree-indent {\n margin-left: 24px;\n}\n\n.tree-indent-child {\n margin-left: 24px;\n}\n\n.tree-indent-deep {\n margin-left: 48px;\n}\n"] }]
|
|
289
276
|
}], null, { OrganizationID: [{
|
|
290
277
|
type: Input
|
|
291
278
|
}], Navigate: [{
|
|
292
279
|
type: Output
|
|
293
280
|
}] }); })();
|
|
294
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OrgHierarchyTreeComponent, { className: "OrgHierarchyTreeComponent", filePath: "lib/components/org-hierarchy-tree/org-hierarchy-tree.component.ts", lineNumber:
|
|
281
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(OrgHierarchyTreeComponent, { className: "OrgHierarchyTreeComponent", filePath: "lib/components/org-hierarchy-tree/org-hierarchy-tree.component.ts", lineNumber: 38 }); })();
|
|
295
282
|
//# sourceMappingURL=org-hierarchy-tree.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-hierarchy-tree.component.js","sourceRoot":"","sources":["../../../../src/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.ts","../../../../src/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"org-hierarchy-tree.component.js","sourceRoot":"","sources":["../../../../src/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.ts","../../../../src/lib/components/org-hierarchy-tree/org-hierarchy-tree.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAU,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAuB,MAAM,mCAAmC,CAAC;;;;;ICkB5F,4CAEuC;IAAnC,qNAAY,4BAAqB,KAAC;IACtC,iBAAoB;;;IAFhB,0CAAqB;;;IAKrB,8BAA2B;IACvB,uBAA2C;IAAC,sCAChD;IAAA,iBAAM;;;IAGF,8BAAyB;IACrB,uBAAmC;IAAC,8DACxC;IAAA,iBAAM;;;;IAKE,+BAAqE;IAA9C,4OAAS,iDAAmC,KAAC;IAChE,+BAAuB;IAAA,wBAAoC;IAAA,iBAAM;IAE7D,AADJ,2BAAK,cACsB;IAAA,YAAqB;IAAA,iBAAM;IAClD,+BAAuB;IAAA,YAAgD;IAE/E,AADI,AAD2E,iBAAM,EAC3E,EACJ;;;IAHyB,eAAqB;IAArB,4CAAqB;IACrB,eAAgD;IAAhD,iFAAgD;;;;IAgB/E,+BAE6C;IAAzC,gQAAS,wCAA8B,KAAC;IACxC,+BAAuB;IAAA,wBAAoC;IAAA,iBAAM;IAE7D,AADJ,2BAAK,cACsB;IAAA,YAAgB;IAAA,iBAAM;IAC7C,+BAAuB;IAAA,YAA0C;IAEzE,AADI,AADqE,iBAAM,EACrE,EACJ;;;;IAPF,8DAA8C;IAInB,eAAgB;IAAhB,mCAAgB;IAChB,eAA0C;IAA1C,uEAA0C;;;IA7BjF,+BAA4B;IAExB,uIAAkB;IAYd,AADJ,+BAAoF,cACzD;IAAA,wBAAoC;IAAA,iBAAM;IAE7D,AADJ,2BAAK,cACsB;IAAA,YAAuB;IAAA,iBAAM;IACpD,+BAAuB;IAAA,YAAmD;IAElF,AADI,AAD8E,iBAAM,EAC9E,EACJ;IAGN,0IAUC;IACL,iBAAM;;;IA/BF,cAQC;IARD,4CAQC;IAGyC,cAAyC;IAAzC,yDAAyC;IAGpD,eAAuB;IAAvB,iFAAuB;IACvB,eAAmD;IAAnD,yHAAmD;IAKlF,cAUC;IAVD,gCAUC;;;IAjCP,AAJF,wHAA8C,oGAIrC;;;IAJT,8EAuCC;;;IAxCH,AAJF,0GAAe,0EAIN;;;IAJT,wCA6CC;;ADjDL;;;;;GAKG;AAQH,MAAM,OAAO,yBAAyB;IAC1B,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEhC,eAAe,GAAG,EAAE,CAAC;IAE7B,+EAA+E;IACxE,QAAQ,GAAwB,OAAO,CAAC;IAE/C,IACI,cAAc,CAAC,KAAa;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;IACD,IAAI,cAAc,KAAa,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEnD,QAAQ,GAAG,IAAI,YAAY,EAAuB,CAAC;IAEtD,UAAU,GAAuB,IAAI,CAAC;IACtC,WAAW,GAAuB,IAAI,CAAC;IACvC,UAAU,GAAkB,EAAE,CAAC;IAC/B,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAuB,IAAI,CAAC;IAEpC,QAAQ;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACtB,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,IAAyB;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,IAAW,UAAU;QACjB,OAAO;YACH,UAAU,EAAE,kCAAkC;YAC9C,WAAW,EAAE,UAAU;YACvB,aAAa,EAAE,kBAAkB;YACjC,WAAW,EAAE,sBAAsB;YACnC,YAAY,EAAE,SAAS;YACvB,aAAa,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;YAChD,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;SACpB,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAEzB,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YAEzB,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,OAAO,CAAoC;gBACtE,UAAU,EAAE,kCAAkC;gBAC9C,WAAW,EAAE,OAAO,IAAI,CAAC,eAAe,GAAG;gBAC3C,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;YAEjC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAEpD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,QAAuB;QAC7C,MAAM,OAAO,GAAuC,EAAE,CAAC;QAEvD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC;gBACT,UAAU,EAAE,kCAAkC;gBAC9C,WAAW,EAAE,OAAO,QAAQ,GAAG;gBAC/B,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;QACP,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACT,UAAU,EAAE,kCAAkC;YAC9C,WAAW,EAAE,aAAa,IAAI,CAAC,eAAe,GAAG;YACjD,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,eAAe;SAC9B,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,mBAAmB,CACvB,OAAiD,EACjD,QAAuB;QAEvB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,OAA8C,CAAC;YACvF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;YACD,WAAW,EAAE,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,OAA8C,CAAC;YACtF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,GAAsC,EAAE,SAAkB;QAC5E,OAAO;YACH,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,gBAAgB,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE;YAC5C,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,IAAwB,EAAE,KAAiB;QAC9D,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,QAAQ,GAA0B;YACpC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,kCAAkC;YAC9C,UAAU,EAAE,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACxD,YAAY,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;SAC/C,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;mHA/JQ,yBAAyB;6DAAzB,yBAAyB;YClC9B,AADJ,AADJ,8BAAuC,aACkE,gBAK9D;YAA/B,sGAAS,gBAAY,OAAO,CAAC,IAAC;YAC9B,uBAAmC;YACnC,4BAAM;YAAA,gCAAgB;YAC1B,AAD0B,iBAAO,EACxB;YACT,iCAIqC;YAAjC,sGAAS,gBAAY,SAAS,CAAC,IAAC;YAChC,uBAAqC;YACrC,4BAAM;YAAA,uBAAO;YAGzB,AADI,AADI,AADiB,iBAAO,EACf,EACP,EACJ;YAOJ,AALF,2GAA4B,6DAKnB;;YArBG,eAAqC;YAArC,kDAAqC;YAQrC,eAAuC;YAAvC,oDAAuC;YAQnD,eAoDC;YApDD,oDAoDC;4BD1Ca,YAAY,EAAE,sBAAsB;;iFAKrC,yBAAyB;cAPrC,SAAS;6BACM,IAAI,WACP,CAAC,YAAY,EAAE,sBAAsB,CAAC,YACrC,4BAA4B;;kBAYrC,KAAK;;kBAUL,MAAM;;kFAlBE,yBAAyB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import type { FormNavigationEvent } from '@memberjunction/ng-base-forms';
|
|
3
|
+
import { type GraphNode, type GraphEdge, type GraphLayoutMode, type GraphCategoryConfig, type HopExpandedEventArgs, type NodeSelectedEventArgs, type NodeNavigatedEventArgs, type LayoutChangedEventArgs, type ViewportTransformEventArgs } from '@memberjunction/ng-graph-view';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* `<bizapps-relationship-graph>` — Entity-aware relationship graph viewer for BizApps Common.
|
|
7
|
+
*
|
|
8
|
+
* Visualizes interconnections between People, Organizations, and linked roles.
|
|
9
|
+
* Performs smart, bounded queries to load local neighborhoods without overwhelming the database.
|
|
10
|
+
*/
|
|
11
|
+
export declare class CommonRelationshipGraphComponent implements OnInit, OnChanges {
|
|
12
|
+
private cdr;
|
|
13
|
+
PersonID?: string;
|
|
14
|
+
OrganizationID?: string;
|
|
15
|
+
Height: string;
|
|
16
|
+
Navigate: EventEmitter<FormNavigationEvent>;
|
|
17
|
+
Nodes: GraphNode[];
|
|
18
|
+
Edges: GraphEdge[];
|
|
19
|
+
FocalNodeID?: string;
|
|
20
|
+
LayoutMode: GraphLayoutMode;
|
|
21
|
+
IsLoading: boolean;
|
|
22
|
+
readonly GraphCategories: GraphCategoryConfig[];
|
|
23
|
+
private static graphCache;
|
|
24
|
+
private get PrefsKey();
|
|
25
|
+
ngOnInit(): void;
|
|
26
|
+
private LoadPrefs;
|
|
27
|
+
OnLayoutChanged(event: LayoutChangedEventArgs): void;
|
|
28
|
+
OnViewportTransform(event: ViewportTransformEventArgs): void;
|
|
29
|
+
private SavePrefs;
|
|
30
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
31
|
+
LoadGraphData(): Promise<void>;
|
|
32
|
+
private BuildGraphFromRelationships;
|
|
33
|
+
OnHopExpanded(event: HopExpandedEventArgs): Promise<void>;
|
|
34
|
+
private AppendIncrementalRelationships;
|
|
35
|
+
OnNodeSelected(_event: NodeSelectedEventArgs): void;
|
|
36
|
+
OnNodeNavigated(event: NodeNavigatedEventArgs): void;
|
|
37
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CommonRelationshipGraphComponent, never>;
|
|
38
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CommonRelationshipGraphComponent, "bizapps-relationship-graph", never, { "PersonID": { "alias": "PersonID"; "required": false; }; "OrganizationID": { "alias": "OrganizationID"; "required": false; }; "Height": { "alias": "Height"; "required": false; }; }, { "Navigate": "Navigate"; }, never, never, true, never>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=common-relationship-graph.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-relationship-graph.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/relationship-graph/common-relationship-graph.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EAEhB,MAAM,eAAe,CAAC;AAIvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAClC,MAAM,+BAA+B,CAAC;;AAIvC;;;;;GAKG;AACH,qBAgEa,gCAAiC,YAAW,MAAM,EAAE,SAAS;IACtE,OAAO,CAAC,GAAG,CAA6B;IAExB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,SAAU;IAEf,QAAQ,oCAA2C;IAE7D,KAAK,EAAE,SAAS,EAAE,CAAM;IACxB,KAAK,EAAE,SAAS,EAAE,CAAM;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,eAAe,CAAW;IACtC,SAAS,UAAS;IAEzB,SAAgB,eAAe,EAAE,mBAAmB,EAAE,CAGpD;IAEF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAiE;IAE1F,OAAO,KAAK,QAAQ,GAInB;IAEM,QAAQ,IAAI,IAAI;IAKvB,OAAO,CAAC,SAAS;IAcV,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAKpD,mBAAmB,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI;IAInE,OAAO,CAAC,SAAS;IAQV,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAMnC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD3C,OAAO,CAAC,2BAA2B;IAyGtB,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtE,OAAO,CAAC,8BAA8B;IAyE/B,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAInD,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;yCA3UlD,gCAAgC;2CAAhC,gCAAgC;CAqV5C"}
|